@charset "UTF-8";

/*loading
---------------------------------------------------------*/
#loading {
	opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9000;
    overflow: hidden;  /* ここでマスク */
    pointer-events: none;
}
.first_acs #loading{
	opacity: 1;
}

#loading .loading_inner {
    width: 100%;
    height: 100%;
    /*clip-path: inset(0 0 0 0);  全面表示 */
    /*transition: clip-path 0.8s ease;  左から消えるアニメーション */
    opacity: 1;
    transition: opacity 0.8s ease;
}
#loading.fadeout .loading_inner {
    opacity: 0;/* フェードアウト用 */
}

.loading_bg{
	background:url("../images/top/load_bg@2x.jpg")no-repeat center center;
	background-size: cover;
	width: 100vw;
	height: 100vh;
}

#loading .loading_inbox {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 60%;
	max-width: 360px;
}
#loading .loading_inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/load_shadow@2x.png) no-repeat top left;
	background-size: 100% auto;
	width: 150%;
	height: 150%;
	top:-25%;
	left: -25%;
	z-index: -1;
}
#loading .castle_box{
	position: relative;
	z-index: 2;
}
#loading .castle_box .kira{
	position: absolute;
	top:0;
	left: 0;
}
#loading .castle_box .kira.type1{
	animation: star-anim 2s infinite;
}
#loading .castle_box .kira.type2{
	animation: star-anim 2s 0.5s infinite;
}
#loading .castle_box .kira.type3{
	animation: star-anim 2s 1s infinite;
}
#loading .castle_box .kira.type4{
	animation: star-anim 2s 1.5s infinite;
}
#loading .txt{
	position: relative;
	margin-top:min(40px,4vw);
	z-index: 2;
}
@keyframes star-anim {
0% {opacity:0;}
50% {opacity:1;}
100% {opacity:0;}	
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#loading .loading_inbox .txt{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
}





/*メインイメージ
---------------------------------------------------------*/
.m_img_area{
	position: relative;
	width: 100%;
	height: 100vh;
    z-index: 501;
	overflow: hidden;
}
.m_img_area::before{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to bottom,  #ffffff 0%,#e2f4f4 100%);
	background-size: 100% auto;
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
	z-index: -999;
}
.m_img_deco{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	z-index: -999;
}
.m_img_deco img{
	width: 100%;
	height: auto;
}

.m_img_area > .logo{
	position: absolute;
	top: 80px;
	left: 0;
	width: 12%;
	text-align: center;
	padding: 0 2.2%;
	box-sizing: border-box;
}
.m_img_area .m_img{
    position: relative;
    z-index: 0;
}
.m_img_area .m_img .m_slide_wrap {
	position: relative;
	width: 100%;
}
.m_img_area .m_img .m_slider {
	position: relative;
	z-index: 0;
}
.m_img_area .m_img .m_slider .swiper-slide{
	position: relative;
	height: 100vh;
	z-index: 0;
	overflow: hidden;
}
.m_img_area .m_img .m_slider .swiper-slide .bg{
	position: relative;
	width: 88%;
	margin-left: auto;
	height: calc(100% - 55px);
	z-index: 0;
	overflow: hidden!important;
}
.m_img_area .m_img .m_slider .swiper-slide .bg::before{
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-repeat: no-repeat;
	background-size: cover;
	transition: transform 18.5s linear;	/*m_sliderの「delay×2 + speed」*/
}
.m_img_area .m_slider .slide1 .bg::before {
	background-image: url("../images/top/m_img1@2x.jpg");
	background-position: top center;
}
.m_img_area .m_slider .slide2 .bg::before {
	background-image: url("../images/top/m_img2@2x.jpg");
	background-position: center center;
}
.m_img_area .m_slider .slide3 .bg::before {
	background-image: url("../images/top/m_img3@2x.jpg");
	background-position: center center;
}
.m_img_area .m_slider .slide4 .bg::before {
	background-image: url("../images/top/m_img4@2x.jpg");
	background-position: center center;
}

.m_img_area .m_img .abs{
	position: absolute;
	width: 48%;
	max-width: 620px;
	top: 50%;
	transform: translateY(-50%);
	left: 35.5%;
	z-index: 999;
	aspect-ratio: 620 / 360;
}
.m_img_area .m_img .abs1,
.m_img_area .m_img .abs2{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: auto;
}
.abs_line{
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%!important;
}
.abs_line .svg-container {
	position: relative;
	width: 100%;
	max-width: 620px;
	height: 360px;
}
.abs_line svg {
	width: 100%;
	height: 100%;
	display: block;
}
.m_img_area .draw-line {
	animation: drawLine 5s linear forwards;
	animation-delay: 3.5s; /* ← 開始を遅らせる*/
}

@keyframes drawLine {
  from {
    stroke-dashoffset: 4000;
  }
  to {
    stroke-dashoffset: 0;
  }
}

.m_img_area .m_img .m_copy{
	position: absolute;
	width: 35%;
	max-width: 448px;
	bottom: 0;
	left: 3.4%;
}

/*ドット*/
.m_img .dotto {
    width: 105px;
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: 2.5%;
	margin-top: -30px;
}
.m_img .dotto .swiper-pagination-bullet {
	cursor: pointer;
	display: block;
	width: 7px;
    height: 7px;
	border-radius: 50%;
	background:rgba(36,33,19,0.5);
	transition: all 0.4s;
}
.m_img .dotto .swiper-pagination-bullet-active {
	background: #41b4b5;
}

/* load分遅らせる */
.m_img_deco .fadeup_en,
.m_img .abs .fadein{
	transition-delay: 2.8s; 
}
.m_img .abs .abs2.fadein{
	transition-delay: 3.8s; 
}

/* PC調整
------------------------------------------*/
@media only screen and (max-height: 1200px) and (min-width: 960px) {
.m_img_area .m_slider .slide2 .bg::before {
	background-image: url("../images/top/m_img2_change@2x.jpg");
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area,
.m_img_area_inbox,
.m_img_area .m_img{
	height: 71vw!important;
}
.m_img_area .m_img .m_slider .swiper-slide{
	height: 60vw!important;
}
	
.m_img_area > .logo{
	top:12vw;
}
.m_img_area .m_img .m_slider .swiper-slide .bg{
	height: calc(100% - 5vw);
}

/*ドット*/
.m_img .dotto {
    width: 10vw;
	margin-top: -3vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area .m_img .m_slider .swiper-slide .bg{
	width: 93%;
	height: calc(100% - 0);
}
.m_img_area .m_slider .slide1 .bg::before {
	background-image: url("../images/top/m_img1_sp@2x.jpg");
	background-position: center center;
}
.m_img_area .m_slider .slide2 .bg::before {background-image: url("../images/top/m_img2_sp@2x.jpg");}
.m_img_area .m_slider .slide3 .bg::before {background-image: url("../images/top/m_img3_sp@2x.jpg");}
.m_img_area .m_slider .slide4 .bg::before {background-image: url("../images/top/m_img4_sp@2x.jpg");}

.m_img_area .m_img .abs{
	width: 78%;
	left: 15%;
}
.m_img_area .m_img .m_copy{
	width: 70%;
	bottom: -4vw;
	left: -2vw;
}

/*ドット*/
.m_img .dotto {
    width: 17vw;
	margin-top: -7vw;
}
}




/* top_spmenu
---------------------------------------------------------*/
.top_spmenu{
	position: relative;
	background: linear-gradient(to bottom,  rgba(226,244,244,1) 0%,rgba(255,255,255,1) 50%); 
	padding-top: 6%;
}
.top_spmenu .inbox{
	width: 104%;
	margin-left: -2%;
	background: #41b4b5;
	border-radius: 10px;
	padding: 10% 5%;
	box-sizing: border-box;
}
.top_spmenu .med{
	position: relative;
	z-index: 10;
}



/* news
---------------------------------------------------------*/
#news .bg{
	background: linear-gradient(to bottom,  rgba(226,244,244,1) 0%,rgba(255,255,255,1) 50%); 
	padding: 70px 0 90px;
}
.wp_flex{
	display: flex;
    justify-content: space-between;
}
.wp_flex .flex_l{
	width: 20%;
}
.wp_flex .flex_l .ft_co{
	font-size: min(350%,5vw);
	line-height: 1em;
}
.wp_flex .flex_l .btn{
	position: relative;
	padding-left:2.1em;
	box-sizing: border-box;
	font-size: min(110%,1.5vw);
	margin-top: 1em;
}
.wp_flex .flex_l .btn:hover{
	color: #41b4b5;
}
.wp_flex .flex_l .btn i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition: 0.4s;
}
.wp_flex .flex_l .btn:hover i{
	color: #ededec;
	background: #41b4b5;
	transition: 0.4s;
}

.wp_flex .flex_r{
	width: 80%;
}
.wp_flex .flex_r ul{
	display: flex;
    justify-content: space-between;
}
.wp_flex .flex_r ul li{
	width: 31%;
	max-width: 290px;
}
.wp_flex .flex_r ul li .com_wp_day{
	margin-bottom: .5em;
}
.wp_flex .flex_r ul li .com_wp_tit{
	margin-bottom: .8em;
	transition: 0.4s;
}
.wp_flex .flex_r ul li:hover .com_wp_tit{
	color: #41b4b5;
	transition: 0.4s;
}
.wp_flex .flex_r ul li .txt{
	font-size:95%;
	letter-spacing: 0.1em;
	color: #66645a;
	line-height: 1.8em;
}
.wp_flex .flex_r ul li .img{
	margin-bottom: 1em;
}



/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#news .bg{
	padding: 4vw 0 6vw;
}
.wp_flex .flex_r ul li .txt{
	font-size: 88%;
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#news .bg{
	padding: 9% 0 9%;
	background: none;
}
	
#news .slide_wrap,
#blog .slide_wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#news .flow_slide,
#blog .flow_slide {
	width: 100%;	
}
#news .flow_slide .swiper-slide,
#blog .flow_slide .swiper-slide {
	width: auto !important; 
}
#news .flow_slide .swiper-scrollbar,
#blog .flow_slide .swiper-scrollbar {
	position: relative;
	width: 100%;
	height:8px!important;
	background-color: #e2f4f4!important;
	border-radius: 0!important;
}
#news .flow_slide .swiper-scrollbar-drag,
#blog .flow_slide .swiper-scrollbar-drag {
	background-color: #41b4b5!important;
	height: 8px!important;
	border-radius: 0!important;
}
	
.wp_flex{
	width: 900px;
	padding-bottom: 1.2em;
}
.wp_flex .flex_l{
	width: 18%;
}
.wp_flex .flex_l .ft_co{
	font-size: 260%;
}
.wp_flex .flex_l .btn{
	font-size: 88%;
	margin-top: .9em;
}
.wp_flex .flex_r{
	width: 80%;
}
.wp_flex .flex_r ul li{
	width: 31%;
	max-width: 100%;
}
.wp_flex .flex_r ul li .txt{
	font-size: 75%;
}
}




/* wp
---------------------------------------------------------*/
.com_wp_day{
	font-size:120%;
	line-height: 1em;
}
.com_wp_tit{
    font-size: min(115%,2vw);
	letter-spacing: 0.08em;
	line-height: 1.6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_wp_tit{
	letter-spacing: 0.01em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_wp_day{
	font-size:110%;
}
.com_wp_tit{
    font-size: 100%;
}
}




/* about
---------------------------------------------------------*/
#about .bg{
	background: #f9f7ee;
	padding-top: 60px;
}
/*box1*/
#about .box1{
	display: flex;
    justify-content: space-between;
}
#about .box1 .flex_l{
	width: 35%;
}
#about .box1 .flex_l address{
	margin: 1.5em 0 .9em;
	line-height: 1.5em;
	text-align: center;
}
#about .box1 .flex_l .com_btn_s{
	margin-bottom: 1.3em;
}
#about .box1 .flex_r{
	width: 62%;
}
#about .box1 .flex_r .bg_white{
	background: #fff;
	border-radius: 10px;
	padding: 30px 4%;
	box-sizing: border-box;
}
#about .box1 .flex_r .bg_white_inbox{
	display: flex;
    justify-content: space-between;
	max-width: 660px;
	margin: 0 auto;
}
#about .box1 .flex_r .box_l{
	position: relative;
	width: 58%;
}
#about .box1 .flex_r .box_l .com_index1{
	position: absolute;
	top:0;
	left: 0;
}
#about .box1 .flex_r .box_r{
	width: 35%;
}
#about .box1 .flex_r .com_index1{
	margin-bottom: .8em;
}

/*box2*/
#about .box2{
	display: flex;
    justify-content: space-between;
    align-items: center;
	max-width: 1209px;
	margin: 40px auto 0;
}
#about .box2 .com_tel{
	width: 20%;
}
#about .box2 .yoyaku{
	width: 41%;
}
#about .box2 .txt{
	width: 35%;
	font-size:90%;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
/*box2*/
#about .box2{
	flex-wrap: wrap;
	justify-content: center;
}
#about .box2 .com_tel{
	width: 100%;
	max-width: 268px;
}
#about .box2 .yoyaku{
	width: 41%;
}
#about .box2 .txt{
	width: 100%;
	margin-top: 2em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#about .bg{
	padding-top: 6vw;
}
/*box1*/
#about .box1 .flex_l{
	width: 45%;
	margin-left: -1%;
}
#about .box1 .flex_r{
	width: 52%;
	margin-right: -1%;
}
#about .box1 .flex_r .bg_white{
	padding: 6% 7%;
}
#about .box1 .flex_r .bg_white_inbox{
	display: block;
	max-width: 100%;
}
#about .box1 .flex_r .box_l{
	width: 100%;
	margin-bottom: 8%;
}
#about .box1 .flex_r .box_r{
	width: 100%;
}

/*box2*/
#about .box2{
	flex-wrap: wrap;
	justify-content: center;
	margin: 4% auto 0;
}
#about .box2 .com_tel{
	width: 40%;
	max-width: 268px;
}
#about .box2 .yoyaku{
	width: 60%;
}
#about .box2 .txt{
	width: 100%;
	margin-top: 1.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#about .bg{
	padding-top: 10%;
}
/*box1*/
#about .box1{
	display: block;
}
#about .box1 .flex_l{
	width: 100%;
	margin-bottom: 8%;
}
#about .box1 .flex_l address{
	font-size:88%;
}

#about .box1 .flex_r{
	width: 100%;
}
#about .box1 .flex_r .bg_white{
	padding: 6% 5%;
}
#about .box1 .flex_r .bg_white_inbox{
	display: block;
	max-width: 100%;
}
#about .box1 .flex_r .box_l{
	width: 100%;
	margin-bottom: 8%;
}
#about .box1 .flex_r .box_r{
	width: 100%;
}

/*box2*/
#about .box2{
	display: block;
	margin: 10% auto 0;
}
#about .box2 .com_tel{
	width: 100%;
}
#about .box2 .yoyaku{
	width: 100%;
	margin: 6% 0;
}
#about .box2 .txt{
	width: 100%;
	font-size: 88%;
}
}















/* relief
---------------------------------------------------------*/
#relief .bg{
	position: relative;
	margin-bottom: 120px;
}
#relief .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: #f9f7ee;
	background-size: 100% auto;
	width: 100%;
	height: 60px;
	top:0;
	left: 0;
	z-index: -1;
}

/*rel_slide*/
#relief .rel_slide{
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 1%,rgba(255,255,255,1) 40%,rgba(244,250,251,1) 40%,rgba(244,250,251,1) 40%,rgba(244,250,251,1) 100%);
}
#relief .rel_slide li{
	width: min(300px,30vw);
	margin-right: 10px;
}
#relief .rel_slide li.zure{
	margin-top: 25px!important;
}

/*top_index1*/
#relief .top_index1 .linetxt{
	width: min(1410px,130vw);
	margin-left: -2%;
}
#medical .top_index1 .linetxt{
	width: min(1483px,130vw);
}
#message .top_index1 .linetxt{
	width: min(1437px,130vw);
}
/*左から右に表示*/
.reveal_container {
	overflow: hidden;
	position: relative;
	width: min(1410px,130vw);          /* 表示領域の幅 */
	height: min(225px,21vw); /* 表示領域の高さ */
}
#message .reveal_container {
	width: min(1437px,130vw);   /* 表示領域の幅 */
	height: min(156px,15vw);   /* 表示領域の高さ */
}
.reveal {
  clip-path: inset(0 100% 0 0); /* 最初は右側を完全に隠す */
  transition: clip-path 1.5s linear;
}
.reveal_container.anime_on .reveal {
  clip-path: inset(0 0 0 0);   /* 左から右に徐々に表示 */
}

/*右から左に表示*/
#medical .reveal_container {
  width: min(1483px,130vw);        /* 表示領域の幅 */
	height: min(278px,25vw);/* 表示領域の高さ */
}
#medical .reveal {
  clip-path: inset(0 0 0 100%); /* 左側を隠す */
  transition: clip-path 1.5s linear;
}
#medical .reveal_container.anime_on .reveal {
  clip-path: inset(0 0 0 0);   /* 全部表示 */
}

.top_index1 .ft_zen{
    font-size: min(170%,2.3vw);
	letter-spacing: 0.13em;
	line-height: 1.5em;
	padding-top: .5em;
	padding-left: .5em;
}
.top_index2{
    font-size: min(350%,4.7vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
}

/*lead*/
#relief .lead{
	position: relative;
	padding-bottom: 60px;
}
#relief .lead .lead_l{
	position: absolute;
	top: 20px;
	left: 0;
}
#relief .lead .lead_r{
	padding-top: 190px;
	text-align: right;
}
#relief .lead .lead_r .lead_r_inbox{
	position: relative;
	width: 67.5%;
	margin-left: auto;
}
#relief .lead .lead_r .top_index2{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	text-align: left;
}
#relief .lead .lead_r .img{
	width: 43.5%;
	margin-left: auto;
	margin-right: 1.2%;
	display: inline-block;
}

.rel_over{
	overflow: hidden;
}

/*re_flex*/
.re_flex{
	display: flex;
    justify-content: space-between;
}

/*relief01*/
#relief .relief01{
	position: relative;
	padding-bottom: 160px;
}
#relief .relief01 .fadeup_en_return{
	position: absolute;
	bottom:0;
	left: 0;
	z-index: -2;
	width: 100%!important;
	height: auto!important;
}
#relief .relief01 .fadeup_en_return img{
	width: 100%!important;
	height: auto!important;
}

#relief .relief01 .w1250{
	position: relative;
	z-index: 2;
}
#relief .relief01 .re_flex{
	flex-flow: row-reverse;
}
#relief .relief01 .img_r{
	width: 44%;
	margin-right: -1.2%;
	padding-top: 60px;
}
#relief .relief01 .txt_l{
	width: 50%;
	text-align: right;
}
#relief .relief01 .txt_l_inbox{
	max-width: 605px;
	margin-left: auto;
	text-align: left;
}
#relief .relief01 .txt_l .re_index1{
	margin-top: -0.5em;
}
#relief .relief01 .txt_l .re_index2{
	color: #41b4b5;
}

/*relief02*/
#relief .relief02_slider {
	position: relative;
	z-index: 0;
	width: 80%;
	margin: 0 auto;
}
#relief .relief02_slider .swiper-slide img {
	transform: rotate(-10deg);
	transition: transform 1.0s;
}
#relief .relief02_slider .swiper-slide[class*=-active] img {
	transform: rotate(0deg);
}
#relief .relief02 .img_l{
	width: 47%;
}
#relief .relief02 .txt_r{
	width: 48.5%;
}
#relief .relief02 .txt_r .indexbox{
	position: relative;
}
#relief .relief02 .txt_r .indexbox .index_l{
	padding-top: 50px;
}
#relief .relief02 .txt_r .indexbox .index_r{
	position: absolute;
	top: -50px;
	right: -7.8%;
	width: 52%;
}
#relief .relief02 .txt_r .re_index2{	color: #b49b4d;}

/*relief03*/
#relief .relief03{
	position: relative;
	margin-top: 80px;
	padding-top: 70px;
	padding-bottom: 120px;
	overflow: hidden;
}
#relief .relief03 .fadeup_en{
	position: absolute;
	top:0;
	left: 0;
	width: 100%!important;
	height: auto!important;
}
#relief .relief03 .fadeup_en img{
	width: 100%!important;
	height: auto!important;
}
#relief .relief03::after{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); 
	background-size: 100% auto;
	width: 100%;
	height: 200px;
	bottom: 0;
	left: 0;
}
#relief .relief03 .w1250{
	position: relative;
	z-index: 2;
}

#relief .relief03 .re_flex{
	flex-flow: row-reverse;
	align-items: center;	
}
#relief .relief03 .re_flex .img_r{
	width: 80%;
	margin-right: -10%;
}
#relief .relief03 .re_flex .txt_l{
	width: 28%;
	text-align: right;
}
#relief .relief03 .re_flex .txt_l .txt_l_inbox{
	text-align: left;
	max-width: 335px;
	margin-left: auto;
}
#relief .relief03 .re_flex .txt_l .re_index2{	color: #fd8f8d;}

#relief .relief03 .col2{
	margin: 45px auto 0;
	max-width: 1100px;
	display: flex;
    justify-content: space-between;
}
#relief .relief03 .col2 li{
	width: 50%;
	border-right: 1px dashed #d3d3d0;
	box-sizing: border-box;
}
#relief .relief03 .col2 li:nth-child(1){
	padding-right: 4%;
}
#relief .relief03 .col2 li:nth-child(2){
	border-right: none;
	padding-left: 4%;
	text-align: right;
}
#relief .relief03 .col2 li .col2_inbox{
	text-align: left;
	max-width: 482px;
}
#relief .relief03 .col2 li:nth-child(2) .col2_inbox{
	margin-left: auto;
}
#relief .relief03 .col2 .ft_zen{
	position: relative;
	padding-left: 4.35em;
	box-sizing: border-box;
	font-size: min(180%,2.8vw);
	letter-spacing: 0.08em;
	line-height: 1.8em;
	margin-bottom: 1em;
}
#relief .relief03 .col2 .ft_zen::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/re_abs6.svg")no-repeat top left;
	background-size: 100% auto;
	width: 3.4em;
	height: 2.8em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	aspect-ratio: 90 / 75;
}
#relief .relief03 .col2 li:nth-child(2) .ft_zen::before{
	background-image: url("../images/top/re_abs7.svg");}

/*見出し*/
.re_index1{
    font-size: min(800%,12vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #fff;
	text-shadow:
	-1px -1px 0 rgba(36,33,19,0.60),
	1px -1px 0 rgba(36,33,19,0.60),
	-1px  1px 0 rgba(36,33,19,0.60),
	1px  1px 0 rgba(36,33,19,0.60);
	margin-bottom: .1em;
}
.re_index2{
	font-size: min(140%,2.2vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	color: #41b4b5;
	margin-bottom: .2em;
}
.re_index3{
	font-size: min(220%,3.6vw);
	letter-spacing: 0.115em;
	line-height: 1.6em;
	margin-bottom: .7em;
}

/*relief_col2*/
.relief_col2{
	display: flex;
    justify-content: space-between;
}
.relief_col2 section{
	width: 48%;
	max-width: 550px;
}
.relief_col2 .imgbox{
	position: relative;
}
.relief_col2 .imgbox .abs{
	position: absolute;
	width: 31.5%;
	max-width: 170px;
	aspect-ratio: 1 / 1;
	right: 5%;
}
.relief_col2 section:nth-child(1) .imgbox .abs{
	bottom: -30px;
}
.relief_col2 section:nth-child(2) .imgbox .abs{
	top: -30px;
}
.relief_col2 .txtbox{
	position: relative;
	z-index: 2;
	max-width: 482px;
	margin: 0 auto;
}
.relief_col2 .txtbox .re_index1{
	margin-top: -0.6em;
}
#relief section:nth-child(2) .re_index2{color: #b46451;}

#relief .com_btn1{
	margin-top: 35px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#relief .bg{
	margin-bottom: 10%;
}
#relief .bg::before{
	height: 6vw;
}

/*rel_slide*/
#relief .rel_slide li.zure{
	margin-top: 3vw!important;
}

/*top_index1*/
#relief .top_index1 .linetxt{
	margin-left: -1%;
}

/*lead*/
#relief .lead{
	padding-bottom: 4%;
}
#relief .lead .lead_l{
	top: 3vw;
}
#relief .lead .lead_r{
	padding-top: 22vw;
}
#relief .lead .lead_r .lead_r_inbox{
	width: 72%;
}
#relief .lead .lead_r .top_index2{
	top: 45%;
}
#relief .lead .lead_r .img{
	width: 43.5%;
	margin-right: -3%;
}

/*relief01*/
#relief .relief01{
	padding-bottom:12%;
}
#relief .relief01 .re_flex{
	display: block;
}
#relief .relief01 .img_r{
	float: right;
	width: 44%;
	margin-right: 0;
	padding-top: 8vw;
	margin-left: 4%;
	margin-bottom: 4%;
}
#relief .relief01 .txt_l{
	width: 100%;
}
#relief .relief01 .txt_l_inbox{
	max-width: 100%;
}
	
/*relief02*/
#relief .relief02 .img_l{
	margin-left: -2%;
}
#relief .relief02 .txt_r{
	width: 51%;
}
#relief .relief02 .txt_r .indexbox .index_l{
	padding-top: 5vw;
}
#relief .relief02 .txt_r .indexbox .index_r{
	top: -7vw;
	right: -6%;
	width: 60%;
}

/*relief03*/
#relief .relief03{
	margin-top: 1vw;
	padding-top: 9vw;
	padding-bottom: 10vw;
}
#relief .relief03::after{
	height: 20vw;
}
#relief .relief03 .re_flex .img_r{
	width: 70%;
	margin-right: -4.5%;
}
#relief .relief03 .re_flex .txt_l{
	width: 32%;
}
#relief .relief03 .col2{
	margin: 3% auto 0;
}
#relief .relief03 .col2 li:nth-child(1){
	padding-right: 3%;
}
#relief .relief03 .col2 li:nth-child(2){
	padding-left: 3%;
}
#relief .relief03 .col2 .ft_zen{
	padding-left: 4em;
	line-height: 1.6em;
	letter-spacing: normal;
}
#relief .relief03 .col2 .ft_zen::before{
	width: 3.2em;
}
#relief .com_btn1{
	margin-top: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#relief .bg{
	margin-top: -4vw;
	margin-bottom: 15%;
}
#relief .bg::before{
	height: 15vw;
}

/*rel_slide*/
#relief .rel_slide li{
	width: 40vw;
	margin-right: 1.5vw;
}
#relief .rel_slide li.zure{
	margin-top: 4vw!important;
}

/*top_index1*/
.reveal_container {
	height: 33vw; /* 表示領域の高さ */
}
#message .reveal_container {
	height: 22vw; /* 表示領域の高さ */
}
#medical .reveal_container {
	height:38vw; /* 表示領域の高さ */
}
	
#relief .top_index1 .linetxt{
	width: 200vw;
	margin-left: -1%;
}
#medical .top_index1 .linetxt{
	width: 200vw;
}
#message .top_index1 .linetxt{
	width: 200vw;
}
.top_index1 .ft_zen{
    font-size: 100%;
	letter-spacing: 0.1em;
	padding-left: 1em;
}
.reveal_container {
  width: 200vw;
}
#message .reveal_container {
  width: 200vw;
}
#medical .reveal_container {
  width: 200vw;
}
.top_index2{
    font-size: 170%;
}

/*lead*/
#relief .lead{
	padding-bottom: 0;
	margin-bottom: -4%;
}
#relief .lead .lead_l{
	position: static;
}
#relief .lead .lead_r{
	padding-top: 18%;
}
#relief .lead .lead_r .lead_r_inbox{
	width: 100%;
}
#relief .lead .lead_r .top_index2{
	position: static;
	padding-left: 4%;
}
#relief .lead .lead_r .img{
	position: absolute;
	top: -33vw;
	right: -2%;
	width: 43.5%;
}

/*re_flex*/
.re_flex{
	display: block;
}

/*relief01*/
#relief .relief01{
	margin-top: 12%;
	padding-bottom: 75vw;
}
#relief .relief01 .img_r{
	width:100%;
	margin-right: 0;
	padding-top: 0;
}
#relief .relief01 .txt_l{
	width: 100%;
}
#relief .relief01 .txt_l_inbox{
	max-width: 100%;
}

/*relief02*/
#relief .relief02{
	margin-top: -60vw;
}
#relief .relief02_slider {
	width: 100%;
	margin-bottom: 6%;
}
#relief .relief02 .img_l{
	width: 80%;
	margin: 0 auto;
}
#relief .relief02 .txt_r{
	width: 100%;
}
#relief .relief02 .txt_r .indexbox .index_l{
	padding-top: 0;
}
#relief .relief02 .txt_r .indexbox .index_r{
	top: 3vw;
	right: -4%;
	width: 60%;
}

/*relief03*/
#relief .relief03{
	margin-top: 5%;
	padding-top: 9vw;
	padding-bottom: 15%;
}
#relief .relief03::after{
	height: 50vw;
}
#relief .relief03 .re_flex .img_r{
	width: 100%;
	margin-right: -10%;
}
#relief .relief03 .re_flex .txt_l{
	width: 100%;
	margin-top: -12vw;
}
#relief .relief03 .re_flex .txt_l .txt_l_inbox{
	max-width: 100%;
}
#relief .relief03 .col2{
	margin: 8% auto 0;
	display: block;
}
#relief .relief03 .col2 li{
	width: 100%;
	border-right:none;
	border-bottom: 1px dashed #d3d3d0;
}
#relief .relief03 .col2 li:nth-child(1){
	padding-right: 0;
	padding-bottom: 8%;
	margin-bottom: 8%;
}
#relief .relief03 .col2 li:nth-child(2){
	padding-left: 0;
	border-bottom: none;
}
#relief .relief03 .col2 li .col2_inbox{
	max-width: 100%;
}
#relief .relief03 .col2 .ft_zen{
	padding-left: 4.35em;
	font-size: 120%;
	line-height: 1.6em;
	margin-bottom: .6em;
}

/*見出し*/
.re_index1{
    font-size: 500%;
	margin-bottom: 0.05em;
}
.re_index2{
	font-size: 100%;
	margin-bottom: .3em;
}
.re_index3{
	font-size: 160%;
	letter-spacing: 0.01em;
	line-height: 1.4em;
	margin-bottom: .5em;
}

/*relief_col2*/
.relief_col2{
	display: block;
}
.relief_col2 section{
	width: 100%;
	max-width: 100%;
	margin-bottom: 12%;
}
.relief_col2 section:last-child{
	margin-bottom: 0;
}
.relief_col2 .imgbox{
	width: 90%;
	margin: 0 auto;
}
.relief_col2 section:nth-child(1) .imgbox .abs{
	bottom: -5vw;
}
.relief_col2 section:nth-child(2) .imgbox .abs{
	top: -5vw;
}
.relief_col2 .txtbox{
	max-width: 100%;
}
#relief .com_btn1{
	margin-top: 6%!important;
}
}






/* medical
---------------------------------------------------------*/
#medical .bg{
	background:url("../images/top/med_bg@2x.jpg")no-repeat center center;
	background-size: cover;
	padding-bottom: 110px;
}
#medical .w1220{
	position: relative;
}
#medical .abs{
	position: absolute;
	top: -80px;
	left: 4.4%;
	width: 14%;
	z-index: 2;
}
#medical .lead{
	position: relative;
	margin-bottom: 75px;
}
#medical .lead .lead_r{
	position: absolute;
	top: -90px;
	right: -7%;
	text-align: right;
}
#medical .lead .lead_r .ft_zen{
	padding-right: 3em;
	box-sizing: border-box;
}
#medical .lead .lead_l{
	width: 71%;
	padding-top: 170px;
	text-align: right;
}
#medical .lead .lead_l .lead_l_index{
	display: inline-block;
	text-align: left;
	margin-left: auto;
}
#medical .lead .lead_l .lead_l_index .top_index2{
	margin-bottom: .4em;
}
#medical .lead .top_index2 span{color: #ffffb0;}

#medical .med_list1{
	display: flex;
    justify-content: space-between;
	margin-bottom: 55px;
}
#medical .med_list1 li{
	width: 32%;
	max-width: 380px;
	text-align: center;
	transition: 0.4s;
}
#medical .med_list1 li:hover{
	margin-top: -1em;
	transition: 0.4s;
}
#medical .med_list1 li .med_list1_bg{
	position: relative;
}
#medical .med_list1 li .med_list1_bg::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 30px);
	bottom: 0;
	left: 0;
	border-radius: 10px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.3));
}
#medical .med_list1 li .med_list1_inbox{
	position: relative;
	z-index: 2;
	padding: 0 8% 60px 9%;
	box-sizing: border-box;
}
#medical .med_list1 li .icon{
	display: inline-block;
	background: #ffd0ad;
	width: 50%;
	max-width: 135px;
	border-radius: 100px;
	margin: 0 auto 10px;
	transition: 0.4s;
}
#medical .med_list1 li:hover .icon{
	background:#ffbe8c;
	transition: 0.4s;
}
#medical .med_list1 li .txt{
	text-align: left;
}
#medical .med_list1 li i{
	position: absolute;
	bottom: 2.5em;
	right: 2.5em;
}
#medical .med_list1 li .ft_zen{
    font-size: min(200%,3vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#medical .med_list1 li .ft_co{
	font-size:115%;
	line-height: 1em;
	letter-spacing: 0.05em;
	margin: .5em 0 1em;
}

/*med_list2*/
#medical .med_list2{
	display: flex;
    justify-content: space-between;
	max-width: 1170px;
	margin: 0 auto 80px;
}
#medical .med_list2 li{
	width: 33.333%;
}
#medical .med_list2 li .med_list2_inbox{
	position: relative;
	display: flex;
    justify-content: space-between;
	align-items: center;
	transition: 0.4s;
	height: min(9em,10vw);
}
#medical .med_list2 li .icon{
	position: absolute;
	width: 35.5%;
	top: 0;
	left: 0;
	transition: 0.4s;
}
#medical .med_list2 li:hover .icon{
	top: -1em;
	transition: 0.4s;
}
#medical .med_list2 li .icon img{
	background: #ffd0ad;
	border-radius: 100px;
	transition: 0.4s;	
}
#medical .med_list2 li:hover .icon img{
	background:#ffbe8c;
	transition: 0.4s;
}
#medical .med_list2 li .icon i{
	position: absolute;
	bottom: 1em;
	right: 0;
}
#medical .med_list2 li .txt{
	width: 59%;
	margin-left: auto;
	margin-right: 0;
}
#medical .med_list2 li .txt p{
    font-size: min(100%,1.8vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: .5em;
}
#medical .med_list2 li .txt .ft_zen{
    font-size: min(170%,2.5vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
}

#medical .med_list1 .icon-arrow1,
#medical .med_list2 .icon-arrow1{
	color:#ffa25b;
}

#medical .box1{
	text-align: center;
	border-top:1px solid #fff;
	padding-top: 80px;
}
#medical .box1 .txt{
	margin-bottom: 1.5em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#medical .med_list2 li .txt p{
	letter-spacing: normal;
}
#medical .med_list2 li .txt .ft_zen{
	letter-spacing: normal;
}
#medical .lead .lead_r{
	right: -2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#medical .bg{
	padding-bottom: 10%;
}
#medical .abs{
	top: -6vw;
	left: 3%;
}
#medical .lead{
	margin-bottom: 5%;
}
#medical .lead .lead_r{
	top: -10vw;
	right: -1%;
}
#medical .lead .lead_r .ft_zen{
	padding-right: 3em;
}
#medical .lead .lead_l{
	width: 100%;
	padding-top: 11vw;
}
#medical .lead .lead_l .lead_l_index{
	display: block;
}
	
#medical .med_list1{
	margin-bottom: 5%;
}
#medical .med_list1 li .med_list1_bg::before{
	height: calc(100% - 4vw);
}
#medical .med_list1 li .med_list1_inbox{
	padding: 0 8% 15% 9%;
}
#medical .med_list1 li i{
	bottom: 2em;
	right: 2em;
}
#medical .med_list1 li .ft_co{
	letter-spacing: normal;
}
#medical .med_list1 li .icon{
	margin: 0 auto 2%;
}

/*med_list2*/
#medical .med_list2{
	margin: 0 auto 6%;
}
#medical .med_list2 li .icon{
	width: 30%;
}
#medical .med_list2 li:hover .icon{
	top: -.5em;
}
#medical .med_list2 li .icon i{
	bottom: 0;
	right: 0;
}
#medical .med_list2 li .txt{
	width: 62%;
}
#medical .med_list2 li .txt p{
	margin-bottom: .3em;
}
#medical .med_list2 li .txt .ft_zen{
	letter-spacing: normal;
}

#medical .box1{
	padding-top: 8%;
}
#medical .box1 .txt{
	margin-bottom: 1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#medical .bg{
	padding-bottom: 15%;
}
#medical .abs{
	top: -5vw;
	left: 4%;
	width: 25%;
}
#medical .lead{
	margin-bottom: 8%;
}
#medical .lead .lead_r{
	top: -20vw;
	right: -2%;
}
#medical .lead .lead_r .ft_zen{
	padding-right: 0;
}
#medical .lead .lead_l{
	width: 100%;
	padding-top: 30vw;
}
#medical .med_list1{
	display: block;
	margin-bottom: 10%;
}
#medical .med_list1 li{
	width: 100%;
	max-width:100%;
	margin-bottom: 4%;
}
#medical .med_list1 li:hover{
	margin-top: 0;
}
#medical .med_list1 li:last-child{
	margin-bottom: 0;
}
#medical .med_list1 li .med_list1_bg::before{
	height: calc(100% - 5vw);
}
#medical .med_list1 li .med_list1_inbox{
	padding: 0 8% 10%;
}
#medical .med_list1 li .icon{
	width: 5em;
	margin: 0 auto 0.5%;
}
#medical .med_list1 li i{
	bottom: 2em;
	right: 2em;
}
#medical .med_list1 li .ft_zen{
    font-size: 160%;
}
#medical .med_list1 li .ft_co{
	font-size:100%;
	margin: .4em 0 .8em;
}

/*med_list2*/
#medical .med_list2{
	width: 100%;
	display: block;
	margin: 0 auto 8%;
	text-align: center;
}
#medical .med_list2 li{
	width: 95%;
	padding-bottom: 6%;
	margin: 0 auto 6%;
	text-align: left;
	border-bottom: rgba(255,255,255,0.7) 1px solid;
}
#medical .med_list2 li .med_list2_inbox:hover{
	margin-top: 0;
}
#medical .med_list2 li .med_list2_inbox{
	margin: 0 auto;
	width: 18em;
	height: 4em;
}
#medical .med_list2 li .icon{
	width: 23%;
}
#medical .med_list2 li:hover .icon{
	top: 0;
}
#medical .med_list2 li .icon i{
	bottom: 0;
	right: 0;
}
#medical .med_list2 li .txt{
	width: 70%;
}
#medical .med_list2 li .txt p{
    font-size: 88%;
	margin-bottom: .2em;
}
#medical .med_list2 li .txt .ft_zen{
    font-size: 140%;
}

#medical .box1{
	border-top: none;
	padding-top: 0;
}
#medical .box1 .txt{
	margin-bottom: 1em;
}
}






/* message
---------------------------------------------------------*/
#message{
	position: relative;
	padding-bottom: 160px;
}
#message::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/dr_abs1@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: 12.5%;
	max-width: 183px;
	height: 122px;
	bottom: 0;
	left: 1.5%;
	z-index: -1;
}
#message::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/dr_abs2@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 46%;
	max-width: 690px;
	height: 170px;
	bottom: 0;
	right: 0;
	z-index: -1;
}
#message .w1250{
	padding-top: 50px;
}
#message .linetxt{
	margin-left: -4%;
}
#message .max_1500{
	position: relative;
	padding-bottom: 45px;
}
#message .imgbox li{
	position: absolute;
	width: 23.7%;
	max-width: 355px;
	text-align: right;
}
#message .imgbox li:nth-child(1){
	bottom:0;
	left: 0;
}
#message .imgbox li:nth-child(2){
	top: 50px;
	right: 0;
}
#message .imgbox li .ft_zen{
	display: inline-block;
    font-size: min(110%,1.8vw);
	letter-spacing: 0.18em;
	line-height: 1em;
	margin-top: 1.8em;
	margin-right: 1em;
}
#message .imgbox li .ft_zen h3{
	display: flex;
    justify-content: start;
    align-items: center;
}
#message .imgbox li h3 span{
	display: inline-block;
}
#message .imgbox li h3 span:nth-child(2){
	font-size:140%;
	padding-left: .8em;
	box-sizing: border-box;
}

#message .txtbox{
	width: 44%;
	max-width: 465px;
	margin: 0 auto;
}
#message .txtbox .top_index2{
	margin-bottom: .6em;
}
#message .txtbox .com_btn1{
	margin-top: 2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#message{
	padding-bottom: 12%;
}
#message .w1250{
	padding-top: 4%;
}
#message .linetxt{
	margin-left: -3%;
}
#message .max_1500{
	padding-bottom: 0;
}
#message .imgbox li{
	width: 22%;
}
#message .imgbox li:nth-child(2){
	top: 5%;
}
#message .imgbox li .ft_zen{
	letter-spacing: normal;
	margin-top: 1.2em;
	margin-right:6%;
}
#message .txtbox{
	width:50%;
	padding-left: 1%;
	box-sizing: border-box;
}
#message .txtbox .top_index2{
	margin-bottom: .4em;
}
#message .txtbox .com_btn1{
	margin-top: 1.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#message{
	padding-bottom:20%;
}
#message::before{
	width: 16.5%;
	left: 0;
}
#message::after{
	width: 50%;
}
#message .w1250{
	padding-top: 5%;
}
#message .linetxt{
	margin-left: -4%;
}
#message .max_1500{
	padding-bottom: 0;
}
#message .imgbox{
	display: flex;
    justify-content: space-between;
	margin-bottom: 8%;
}
#message .imgbox li{
	position: static;
	width: 48%;
}
#message .imgbox li:nth-child(1){
	padding-top: 10vw;
}
#message .imgbox li:nth-child(2){
}
#message .imgbox li .ft_zen{
    font-size: 80%;
	margin-top: 1.3em;
}
#message .txtbox{
	width: 90%;
	max-width:100%;
	margin: 0 auto;
	text-align: left;
}
#message .txtbox .top_index2{
	display: inline-block;
	margin: 0 auto .5em;
	text-align: left;
	letter-spacing: 0.05em;
}
#message .txtbox .txt{
	text-align: left;
}
#message .txtbox .com_btn1{
	margin-top: 6%;
}
}





/* blog
---------------------------------------------------------*/
#blog .bg{
	background: #f4fafb;
	padding: 75px 0 40px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#blog .bg{
	padding: 6% 0 3%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#blog .bg{
	padding: 10% 0 8%;
}
}






/* bnr
---------------------------------------------------------*/
#bnr .w1000{
	padding-top: 65px;
	padding-bottom: 65px;
}
#bnr dt{
	float: left;
	width: 47.5%;
}
#bnr dd{
	float: right;
	width: 48%;
	transition: 0.4s;
}
#bnr dd:hover{
	opacity: .8;
	transition: 0.4s;
}
#bnr dd a{
	position: relative;
	display: block;
	aspect-ratio: 480 / 146;
}
#bnr dd a .abs{
	position: absolute;
	display: block!important;
	width: 41%;
	max-width: 196px;
	aspect-ratio: 196 / 40;
	left: -3.5%;
	top:25%;
	transform: translateY(-50%);
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#bnr .w1000{
	padding-top: 6%;
	padding-bottom: 6%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#bnr .w1000{
	padding-top: 8%;
	padding-bottom: 8%;
}
#bnr dt{
	float: none;
	width: 85%;
	margin: 0 auto 5%;
}
#bnr dd{
	float: none;
	width: 100%;
}
}






/* instagram
---------------------------------------------------------*/
#instagram .bg{
background: linear-gradient(to bottom, rgba(243,245,241,1) 0%,rgba(243,245,241,0) 100%);
}
#instagram .w1020{
	position: relative;
	padding-top: 70px;
	margin-bottom: 55px;
	z-index: 2;
}
#instagram .title .ft_co{
	position: relative;
	font-size: min(215%,3vw);
	line-height: 1em;
	padding-left: 2.1em;
	box-sizing: border-box;
	margin-bottom: .8em;
}
#instagram .title .ft_co::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/insta_icon@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 1.3em;
	height: 1.3em;
	top: 48%;
	transform: translateY(-50%);
	left: 0;
}
#instagram .title .ft_zen{
	font-size: min(170%,2.5vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
}

#instagram .btn{
	position: absolute;
	top: 30px;
	right: 0;
	width: min(218px,24vw);
	height: min(218px,24vw);
	letter-spacing: normal;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;	
}
#instagram .btn a{
	position: relative;
	padding-bottom: 2.3em;
	line-height: 1.7em;
	padding-top: .6em;
}
#instagram .btn:hover a{
	color: #8f5934;
}
#instagram .btn i{
	position: absolute;
	display: inline-block;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 3.2em;
	height: 3.2em;
	color: #8f5934;
}
#instagram .btn .img{
	position: absolute;
	top:0;
	left: 0;
	animation: rotate 20s linear infinite;
	transform-origin: 50% 50%;
}
@keyframes rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
#instagram .insta_slide li{
	width: min(280px,26vw);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#instagram .w1020{
	padding-top: 8%;
	margin-bottom: 6%;
}
#instagram .btn{
	top: 3vw;
	right: 2%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#instagram .w1020{
	padding-top: 10%;
	margin-bottom: 5%;
}
#instagram .title .ft_co{
	font-size: 160%;
	padding-left: 1.9em;
	margin-bottom: .5em;
}
#instagram .title .ft_zen{
	font-size: 95%;
	letter-spacing: 0.05em;
	line-height: 1.7em;
}
#instagram .btn{
	font-size:3vw;
	right: 2%;
	top: 10vw;
	width: 30vw;
	height: 30vw;
}
#instagram .btn a{
	padding-bottom: 2em;
	letter-spacing: normal;
	line-height: 1.4em;
}
#instagram .btn i{
	width: 3em;
	height: 3em;
}
#instagram .insta_slide li{
	width: 38vw;
}
}






/* recruit
---------------------------------------------------------*/
#recruit .bg{
	background: url("../images/top/rec_bg@2x.png")no-repeat top left;
	background-size: 55% auto;
	padding-top: 40px;
	text-align: right;
}
#recruit .bg .inbox{
	position: relative;
	width:78.5%;
	margin-left: auto;
	display: flex;	
	flex-flow: row-reverse;
}
#recruit .bg .inbox::before{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to right,  rgba(210,157,88,0.8) 0%,rgba(220,151,148,1) 100%); 
	background-size: 100% auto;
	width: 80%;
	height: 76%;
	bottom: 0;
	left: 0;
	border-radius: 60px 0 0 0;
	mix-blend-mode:multiply;
}
#recruit .bg .inbox > div{
	position: relative;
	z-index: 2;
}
#recruit .bg .inbox .img_r{
	width: 61%;
	margin-left: auto;
}
#recruit .bg .inbox .txt_l{
	position: relative;
	width: 39%;
}
#recruit .bg .inbox .txt_l_inbox{
	position: absolute;
	top: 65%;
	transform: translateY(-50%);
	right: 0;
	display: inline-block;
	text-align: left;
	font-size: min(100%,1.3vw);
}
#recruit .bg .inbox .txt_l p:nth-child(1){
	font-size: 320%;
	line-height: 1em;
}
#recruit .bg .inbox .txt_l p:nth-child(1) a{
	position: relative;
	padding-right: 1.1em;
	box-sizing: border-box;
}
#recruit .bg .inbox .txt_l p:nth-child(1) i{
	position: absolute;
	top: 57%;
	transform: translateY(-50%);
	right: 0;
	font-size: 23%!important;
	color: #a29181;
	transition: 0.4s;
}
#recruit .bg .inbox:hover .txt_l p:nth-child(1) i{
	right: -1em;
	transition: 0.4s;
	color: #fff;
	background: #4f3923;
}
#recruit .bg .inbox .txt_l p:nth-child(2){
	font-size: 140%;
	line-height: 1em;
	margin: 1em 0;
}
#recruit .bg .inbox .txt_l p:nth-child(3){
	font-size: 125%;
	letter-spacing: 0.05em;
	line-height: 1.7em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#recruit .bg{
	padding-top: 4%;
}
#recruit .bg .inbox::before{
	border-radius: 40px 0 0 0;
}
#recruit .bg .inbox .img_r{
	width: 65%;
	margin-right: -4%;
}
#recruit .bg .inbox .txt_l{
	width: 40%;
}
#recruit .bg .inbox .txt_l p:nth-child(3){
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#recruit .bg{
	background-size:100% auto;
	padding-top: 25vw;
}
#recruit .bg .inbox{
	display: block;
	width: 100%;
}
#recruit .bg .inbox::before{
	width: 105%;
	height: 76%;
	bottom: 0;
	left: 0;
	border-radius: 50px 0 0 0;
}
#recruit .bg .inbox .img_r{
	width: 100%;
	margin-left: auto;
	margin-bottom: 1%;
}
#recruit .bg .inbox .txt_l{
	width: 80%;
	margin: 0 auto;
	padding-bottom: 8%;
}
#recruit .bg .inbox .txt_l_inbox{
	position: static;
	display: block;
	transform: translateY(0);
	font-size: 100%;
}
#recruit .bg .inbox .txt_l p:nth-child(1){
	font-size: 200%;
}
#recruit .bg .inbox .txt_l p:nth-child(2){
	font-size: 120%;
	margin: .7em 0 .6em;
}
#recruit .bg .inbox .txt_l p:nth-child(3){
	font-size: 100%;
	line-height: 1.6em;
}
}