@charset "UTF-8";

/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	position: relative;
	z-index: 501;
}
.m_img_area,
.m_img_area .com_slide_tate .vertical_slide1,
.m_img_area .com_slide_tate .vertical_slide2 {
	height: 100vh;
	min-height: 850px;
}
.m_img_area::before,
.m_img_area::after {
	z-index: 2;
}
.m_img_area .m_menu{
	position: absolute;
	bottom: min(50px,3vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 90%;
	max-width: 1230px;
	font-size: min(100%,1.5vw);
}
.m_img_area .m_menu li{
	position: relative;
	background: #fff;
	width: 32.5%;
}
.m_img_area .m_menu li::before{
	position: absolute;
	display: block;
	content: "";
	background:url("../images/top/m_menu_l@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: 40%;
	height: 160px;
	bottom: 0;
	left: 0;
	transition: 0.4s;
}
.m_img_area .m_menu li::after{
	position: absolute;
	display: block;
	content: "";
	background:url("../images/top/m_menu_r@2x.png")no-repeat top right -2px;
	background-size: 100% auto;
	width: 40%;
	height: 160px;
	top: 0;
	right: 0;
	transition: 0.4s;
}
.m_img_area .m_menu li:hover::before,
.m_img_area .m_menu li:hover::after{
	width: 120%;
	transition: 0.4s;
}
.m_img_area .m_menu li a{
	display: block;
	position: relative;
	z-index: 2;
	padding: 1.2em 0 .6em;
}
.m_img_area .m_menu li a .min30{
	margin-top: .2em;
}
.m_img_area .m_menu li a .min30 strong{
	font-size:130%;
}
.m_img_area .m_menu li a .icon-arrow{
	font-size:90%;
}
.m_img_area .m_menu li:nth-child(1) a .icon-arrow::before,
.m_img_area .m_menu li:nth-child(2) a .icon-arrow::before{
	transform: rotate(90deg)!important;
}

.m_copy1,
.m_copy2{
	position: absolute;
	left: 0;
	right: 0;
	width: 88%;
	margin: 0 auto;
	text-align: right;
	z-index: 2;
}
.m_copy1{
	bottom: 50%;
	transform: translateY(-50%);
	/*bottom: 500px;*/
	font-size: min(240%,2.6vw);
	line-height: 1.6em;
}
.m_copy2{
	top: 55%;
	transform: translateY(-50%);
	/*bottom: 300px;*/
	font-size: min(400%,4.4vw);
	line-height: 1.4em;
	color: #fff;
	mix-blend-mode: difference!important;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.m_img_area,
.m_img_area .com_slide_tate .vertical_slide1,
.m_img_area .com_slide_tate .vertical_slide2 {
	height: 100vh!important;
	min-height: 60vw!important;
}
.m_img_area .m_menu li a{
	padding: 1em 0 .2em;
}
.m_img_area .m_menu li a .min30{
	letter-spacing: -0.1em;
	margin-bottom: .1em;
}
.m_img_area .m_menu li a .icon-arrow{
	font-size: 70%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area{
	height: 240vw!important;
	min-height: 240vw!important;
	margin-bottom: 2vw;
	background: url(../images/top/m_sp_grd@2x.png) no-repeat bottom right #004150;
	background-size: 100% auto;
}
.m_img_area .com_slide_tate .vertical_slide1{
	height: 110vw!important;
	min-height: 110vw!important;
	max-height: 110vw!important;
}
.m_img_area .com_slide_tate .vertical_slide1 .img_area::before{
	background-size: 120% auto;
}
.m_img_area .com_slide_tate .vertical_slide1 .slide1 .img_area::before{
	background-position: center right;
}
.m_img_area .com_slide_tate .vertical_slide1 .slide4 .img_area::before{
	background-position: center left;
}
.m_img_area .com_slide_tate .vertical_slide1 .slide5 .img_area::before{
	background-position: center right 80%;
}
.m_img_area .com_slide_tate .vertical_slide2 {
	position: relative;
	height: 130vw!important;
	min-height: 130vw!important;
	max-height: 130vw!important;
}	
.m_img_area .com_slide_tate .vertical_slide2::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(0,65,80,0) 0%,rgba(0,65,80,0.99) 99%,rgba(0,65,80,1) 100%);
	background-size: 100% auto;
	width: 100%;
	height: 20vw;
	top:60vw;
	left: 0;
	z-index: 5;
}
.m_img_area .com_slide_tate .vertical_slide2 .img_area{
	position: relative;
}
.m_img_area .com_slide_tate .vertical_slide2 .img_area::before{
	background-size: auto 100vw;
	background-position: top -20vw center;
}
	
	
.m_img_area .m_menu{
	display: block;
	bottom: 5vw;
	width: 90%;
	font-size: 90%!important;
}
.m_img_area .m_menu li{
	width:100%;
	margin-bottom: 2vw;
}
.m_img_area .m_menu li:last-child{
	margin-bottom: 0;
}
.m_img_area .m_menu li a{
	padding: 1em 0 .9em;
}
.m_img_area .m_menu .min20{
	display: inline-block;
	line-height: 1.4em!important;
}
.m_img_area .m_menu li a .min30{
	margin: .1em 0 0;
}
.m_img_area .m_menu li a .min30 strong{
	font-size:130%;
}
.m_img_area .m_menu li a .icon-arrow{
	position: absolute;
	bottom: .5em;
	right:.5em;
	font-size:90%;
}

.m_copy1,
.m_copy2{
	width: 91%;
	transform: translateY(0);
}
.m_copy1{
	bottom:100vw;
	font-size: 5vw;
}
.m_copy2{
	top:auto;
	bottom:110vw;
	font-size: 8.5vw;
}
}



/*com_slide_tate
---------------------------------------------------------*/
.top_slide1 .com_slide_tate .vertical_slide1 .slide1 .img_area::before {background-image: url("../images/top/slide_l1@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide2 .img_area::before {background-image: url("../images/top/slide_l2@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide3 .img_area::before {background-image: url("../images/top/slide_l3@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide2 .slide1 .img_area::before {background-image: url("../images/top/slide_r1@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide2 .slide2 .img_area::before {background-image: url("../images/top/slide_r2@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide2 .slide3 .img_area::before {background-image: url("../images/top/slide_r3@2x.jpg");}

.m_img_area .com_slide_tate .vertical_slide1 .slide1 .img_area::before {background-image: url("../images/top/m_img1@2x.jpg");}
.m_img_area .com_slide_tate .vertical_slide1 .slide2 .img_area::before {background-image: url("../images/top/m_img2@2x.jpg");}
.m_img_area .com_slide_tate .vertical_slide1 .slide3 .img_area::before {background-image: url("../images/top/m_img3@2x.jpg");}
.m_img_area .com_slide_tate .vertical_slide1 .slide4 .img_area::before {background-image: url("../images/top/m_img4@2x.jpg");}
.m_img_area .com_slide_tate .vertical_slide1 .slide5 .img_area::before {background-image: url("../images/top/m_img5@2x.jpg");}

.m_img_area .com_slide_tate .vertical_slide2 .slide1 .img_area::before {background-image: url("../images/top/m_img2bo@2x.jpg");}/*1*/
.m_img_area .com_slide_tate .vertical_slide2 .slide2 .img_area::before {background-image: url("../images/top/m_img1bo@2x.jpg");}/*5*/
.m_img_area .com_slide_tate .vertical_slide2 .slide3 .img_area::before {background-image: url("../images/top/m_img5bo@2x.jpg");}/*4*/
.m_img_area .com_slide_tate .vertical_slide2 .slide4 .img_area::before {background-image: url("../images/top/m_img4bo@2x.jpg");}/*3*/
.m_img_area .com_slide_tate .vertical_slide2 .slide5 .img_area::before {background-image: url("../images/top/m_img3bo@2x.jpg");}/*2*/

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.top_slide1 .com_slide_tate .vertical_slide1 .slide1 .img_area::before {background-image: url("../images/top/slide_l1@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide2 .img_area::before {background-image: url("../images/top/slide_l2@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide3 .img_area::before {background-image: url("../images/top/slide_l3@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide4 .img_area::before {background-image: url("../images/top/slide_r1@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide5 .img_area::before {background-image: url("../images/top/slide_r2@2x.jpg");}
.top_slide1 .com_slide_tate .vertical_slide1 .slide6 .img_area::before {background-image: url("../images/top/slide_r3@2x.jpg");}
}



/* lead
---------------------------------------------------------*/
#lead .flex_box{
	padding: min(70px,5vw) 0 min(70px,4vw);
}
#lead .flex1{
	width:24%;
}
#lead .flex1 .ft_co{
	font-size:250%;
	line-height: 1em;
}
#lead .flex1 dl{
	margin: .5em 0;
}
#lead .flex1 dl dt,
#lead .flex1 dl dd{
	display: inline-block;
	line-height: 1em;
}
#lead .flex1 dl dd{
	padding: .4em .5em .55em;
	box-sizing: border-box;
	margin-left: .5em;
}
#lead .flex2{
	width: 18%;
}
#lead .flex3{
	width: 31.5%;
}
#lead .flex4{
	width: 20.5%;
}
#lead .flex4 .flex4_btn{
	position: relative;
	display: block;
	background: #05615f;
	border-radius: 10px;
	margin-bottom: 20px;
	text-align: center;
	line-height: 1em;
	font-size:min(120%,2vw);
	padding: 1em 0;
	transition: 0.4s;
}
#lead .flex4 .flex4_btn:hover{
	background: #067875;
	transition: 0.4s;
}
#lead .flex4 .flex4_btn::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/kado@2x.png")no-repeat top right;
	background-size: 100% auto;
	width: .8em;
	height:.8em;
	top:0;
	right: 0;
}
#lead .flex4 .flex4_btn span{
	display:block;
}
#lead .flex4 .flex4_btn i{
	display: block;
	font-size:150%;
	margin: 0 auto .7rem;
}
#lead .flex4 .second .flex4_btn i{
	display: block;
	font-size:120%;
	margin: 0 auto .7rem;
}
#lead .com_btn1{
	margin-top: .3em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1150px) {
#lead .flex1{
	width:34%;
}
#lead .flex2{
	width: 24%;
}
#lead .flex3{
	width: 38.5%;
}
#lead .flex4{
	width: 60%;
	display: flex;
    justify-content: space-between;
	margin: 3% auto 0;
}
#lead .flex4 > div{
	width: 48%;
}
#lead .flex4 .flex4_btn i{
	height: 1.5rem;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#lead .flex1{
	width:34%;
}
#lead .flex2{
	width: 24%;
}
#lead .flex3{
	width: 38.5%;
}
#lead .flex4{
	width: 60%;
	display: flex;
    justify-content: space-between;
	margin: 3% auto 0;
}
#lead .flex4 > div{
	width: 48%;
}
#lead .flex4 .flex4_btn i{
	height: 1.5rem;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#lead .flex_box{
	padding: 12% 0;
}
#lead .flex1{
	width: 40%;
}
#lead .flex1 .ft_co{
	font-size:250%;
	line-height: 1em;
}
#lead .flex1 dl{
	font-size:120%;
	margin: .5em 0;
}
#lead .flex1 dl dt,
#lead .flex1 dl dd{
	display: inline-block;
	line-height: 1em;
}
#lead .flex1 dl dd{
	padding: .4em .5em;
	margin-left: 0;
	margin-top: .2em;
}
#lead .com_btn1.sp_only{
	text-align: center;
	margin-top: 1em;
	width: 100%;
}	
	
#lead .flex2{
	width: 60%;
}
#lead .flex2 img{
	width: 100%;
	height: auto;
}
#lead .flex3{
	width: 100%;
	margin: 8% 0;
}
#lead .flex3 .com_schedule img{
	width: 100%;
	height: auto;
}
#lead .flex4{
	width:100%;
	display: block;
}
#lead .flex4 .flex4_btn{
	display: flex;
    justify-content: center;
    align-items: center;
	flex-wrap: wrap;	
	font-size: 110%;
	padding: 0;
	height: 3.5em;
	border-radius: 5px;
	margin-bottom: 2%;
}
#lead .flex4 .flex4_btn span{
	display:inline-block;
}
#lead .flex4 .flex4_btn i{
	display:inline-block;
	font-size:120%;
	margin: 0 .2em 0 0!important;
}
}








/* core
---------------------------------------------------------*/
#core .bg_white{
	padding: min(145px,11vw) 0 min(130px,10vw);
}
#core .title {
	margin-bottom: min(60px,4vw);
}
#core .title .co15{
	margin-bottom: 2em;
}
#core .title .min43 span{
	font-size:115%;
}
#core .title p:last-child{
	margin-top: 2em;
}
#core .bg{
	position: relative;
	padding: min(110px,7vw) 0 min(85px,6.5vw);
	margin-bottom: 60px;
}
#core .bg .img{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
    justify-content: space-between;
}
#core .bg .img div{
	width: 33.333%;
	background: url("../images/top/nayami1@2x.jpg")no-repeat center center;
	background-size: cover;
}
#core .bg .img div:nth-child(2){
	background-image: url("../images/top/nayami2@2x.jpg");}
#core .bg .img div:nth-child(3){
	background-image: url("../images/top/nayami3@2x.jpg");background-position: center right;}

#core .bg .w1500{
	position: relative;
	z-index: 2;
}
#core .bg .flex_box{
	max-width: 1120px;
	margin: min(3em,4vw) auto;
}
#core .bg .flex_box > li{
	position: relative;
	width: 48%;
	text-align: left;
	padding-left: 1.8em;
	box-sizing: border-box;
	margin-top: 1em;
}
#core .bg .flex_box > li::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e805';	
	left: 0;
	top:0;
	color: #d9ba7c;
}
#core .bg .flex_box > li:nth-child(-n+2){
	margin-top: 0;
}

#core .txt1{
	margin-bottom: min(2.5em,2.5vw);
}
#core .txt2{
    justify-content: center;
	max-width: 950px;
	margin: 0 auto;
}
#core .txt2 li{
	position: relative;
	padding-left: 4em;
	box-sizing: border-box;
	margin-right: 3em;
}
#core .txt2 li:last-child{
	margin-right: 0;
}
#core .txt2 li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/nayami_abs1@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 3.5em;
	height:3.5em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	opacity: 0;
	transition: 2s;
}
#core .txt2 li:nth-child(2)::before{
	background-image: url("../images/top/nayami_abs2@2x.png");}
#core .txt2 li:nth-child(3)::before{
	background-image: url("../images/top/nayami_abs3@2x.png");}

#core .txt2.anime_on li::before{
	opacity: 1;
	transition: 2s;
}
#core .txt3{
	margin-top: min(90px,7vw);
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1100px) {
#core .txt2 li{
	padding-left: 3em;
	margin-right: 1em;
}
#core .txt2 li::before{
	width: 2.5em;
	height:2.5em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#core .txt2 li{
	padding-left: 3em;
	margin-right: 1em;
}
#core .txt2 li::before{
	width: 2.5em;
	height:2.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#core .bg_white{
	padding: 15% 0 15%;
}
#core .title {
	margin-bottom: 8%;
}
#core .title .co15{
	margin-bottom: 1em;
}
#core .title p:last-child{
	margin-top: 1em;
}
#core .title p:last-child strong{
	display: inline-block;
	transform: rotate(90deg);
}
#core .bg{
	position: relative;
	padding: 10% 0;
	margin-bottom: 10%;
}
#core .bg .com_slide2{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#core .bg .com_slide2,
#core .bg .com_slide2 .swiper-wrapper,
#core .bg .com_slide2 .swiper-wrapper .swiper-slide,
#core .bg .com_slide2 .swiper-wrapper .swiper-slide img{
width: auto!important;
height: 100%!important;
margin: 0 auto!important;
}
#core .bg .com_slide2 .swiper-slide {
	opacity: 0 !important;
}
#core .bg .com_slide2 .swiper-slide-active {
	opacity: 1 !important;
}
	
#core .bg .flex_box{
	display: inline-block;
	margin: 8% auto;
}
#core .bg .flex_box > li{
	width: 100%;
	padding-left: 1.4em;
	margin-top: .5em!important;
}
#core .bg .flex_box > li:nth-child(1){
	margin-top: 0!important;
}

#core .txt1{
	margin-bottom: 10%;
}
#core .txt2{
	display: inline-block;
	margin: 0 auto;
	text-align: center;
}
#core .txt2 li{
	padding-left: 4.5em;
	margin-right: auto;
	text-align: left;
	margin-bottom: 2em;
	line-height: 1.5em;
}
#core .txt2 li:last-child{
	margin-right: auto;
	margin-bottom: 0;
}
#core .txt2 li::before{
	width: 3em;
	height:3em;
}
#core .txt3{
	margin-top: 10%;
}
}







/* contact
---------------------------------------------------------*/
#contact .box1{
	padding-top: min(150px,12vw);
}
#contact .com_index1{
	margin-bottom: min(70px,5vw);
}

#contact iframe{
	position: relative;
	z-index: 5;
	display: block;
	margin: min(100px,8vw) auto 0;
	width: 80%;
	max-width: 800px;
	height: min(445px,40vw);
	filter: drop-shadow(0 0 15px rgba(0,0,0,0.5));
}
#contact .btn{
	text-align: right;
	padding: 2em 0;
}
#contact .btn .inbox{
	display: inline-block;
	text-align: left;
}
#contact .btn .inbox .ft_co{
	position: relative;
	z-index: 5;
}
#contact .btn .inbox .com_btn1 {
	position: relative;
}
#contact .btn .inbox .com_btn1::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 12em;
	height: 12em;
	top: -10%;
	transform: translateY(-50%); 
	right: 2.6em;
	border-radius: 300px;
	opacity: .06;
}
#contact .btn .inbox p,
#contact .btn .inbox div{
	position: relative;
	z-index: 3;
}
#contact .bg{
	position: relative;
	background: #004150;
	margin-top: -300px;
	padding-top: 430px;
	padding-bottom: min(150px,13vw);
	transition: 1s;
}
#contact .bg::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/concept1@2x.jpg")no-repeat top left;
	background-size: 100% auto;
	width: 85%;
	max-width: 1293px;
	height: 1033px;
	top: 0;
	left: 0;
}
#contact .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/reason_abs4@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 60%;
	height: 1000px;
	bottom: 0;
	right: 0;
}
#contact .bg .w1320{
	position: relative;
	z-index: 2;
}
#contact .box2{
	position: relative;
	margin-bottom: min(120px,10vw);
}
#contact .box2::before{
	position: absolute;
	display: block;
	content: "";
	background:rgba(255,255,255,0.50);
	background-size: 100% auto;
	width: 1px;
	height: 0;
	top:-120px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 3;
	transition:1s;
}
#contact .box2.anime_on::before{
	height: 95px;
	transition:1s;
}
#contact .box2 .txt1{
	margin-bottom: min(1.3em,1.3vw);
}
#contact .box2 .txt2{
	margin-bottom: min(6.8em,6.8vw);
}
#contact .box2 .txt3{
	margin-bottom: min(2em,2vw);
}
#contact .box3 .com_index4 .co215{	color: #0d4a59;}

#contact .box3 .flex_box{
	width: 96%;
	max-width: 1320px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
#contact .box3 .flex_box li{
	width: 32.5%;
	max-width: 420px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.6));
}
#contact .box3 .flex_box li .inbox{
	background: #fff;
}
#contact .box3 .flex_box li .img{
	position: relative;
	aspect-ratio: 420 / 240;
	overflow:hidden;
}
#contact .box3 .flex_box li .img img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	aspect-ratio: 420 / 240;
	transition: 0.4s;
}
#contact .box3 .flex_box li:hover .img img{
	transform: scale(1.1);
	transition: 0.4s;
}
#contact .box3 .flex_box li .txt{
	position: relative;
	padding: min(35px,3vw) 0 min(65px,6vw);
}
#contact .box3 .flex_box li .txt .icon{
	position: absolute;
	top: min(-60px,-4vw);
	right: 4%;
	width: min(90px,9vw);
}
#contact .box3 .flex_box li .txt .co110{
	position: absolute;
	bottom: -.55em;
	left: 4%;
}
#contact .box3 .flex_box li .com_btn1{
	margin-top: 1em;
	text-align: right;
}
#contact li .min25{font-size: min(150%,2.3vw);}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#contact .box1{
	padding-top: 15%;
}
#contact .com_index1{
	margin-bottom:8%;
}
#contact iframe{
	margin:10% auto 6%;
	width: 100%;
	height: 50vw;
}
#contact .btn{
	padding: 0;
	text-align: center;
}
#contact .btn .inbox{
	text-align: center;
}
#contact .btn .inbox .co13{
	margin-bottom: .3em;
}	
#contact .btn .inbox i{
	position: static;
	transform: translateY(0);
	margin: 2em auto 0;
}
#contact .btn .inbox .com_btn1::before{
	display: none;
}
#contact .bg{
	background-size: 100% auto;
	margin-top: -40vw;
	padding-top: 60vw;
	padding-bottom:15%;
}
#contact .bg::after{
	width: 100%;
}
#contact .bg::before{
	width: 100%;
}
#contact .box2{
	margin-bottom: 10%;
}
#contact .box2::before{
	top:-20vw;
}
#contact .box2.anime_on::before{
	height: 16vw;
}

#contact .box3 .flex_box{
	width: 90%;
	display: block;
}
#contact .box3 .flex_box li{
	width: 90%;
	max-width:100%;
	margin: 0 auto 8%;
}
#contact .box3 .flex_box li:last-child{
	margin-bottom: 0;
}
#contact .box3 .flex_box li .img{
	width: 100%;
	height: auto;
}
#contact .box3 .flex_box li .img img{
	width: 100%;
	height: auto;
}	
#contact .box3 .flex_box li .txt{
	padding: 4vw 0 5vw;
}
#contact .box3 .flex_box li .txt .icon{
	top: -15vw;
	right: 2%;
	width: 20vw;
}
#contact .box3 .flex_box li .txt .co110{
	bottom: -.55em;
	left: 4%;
}
#contact li .min25{font-size: 125%;}
}







/* counseling
---------------------------------------------------------*/
#counseling .box1{
	padding: min(160px,13vw) 0 min(50px,3vw);
	background: linear-gradient(to bottom,  rgba(251,248,242,0) 0%,rgba(251,248,242,0) 1%,rgba(251,248,242,1) 100%);
}
#counseling .box1 .inbox{
	position: relative;
}
#counseling .box1 .inbox .img{
	min-height:30em;
}
#counseling .box1 .inbox .img li{
	width: 27%;
}
#counseling .box1 .inbox .txt{
	position: absolute;
	top:50%;
	transform: translateY(-50%); 
	left: 0;
	right: 0;
	margin: 0 auto;
}
#counseling .box1 .inbox .txt .min47{
	margin-bottom: .5em;
}
#counseling .box1 .inbox .txt p{
	line-height: 2.2em;
}

#counseling .box2{
	background: #fbf8f2;
	padding-bottom: min(100px,8vw);
}
#counseling .box2 .com_index4{
	margin-bottom: 2rem;
}
#counseling .box2 ul{
	position: relative;
	max-width: 1050px;
	padding-bottom: min(80px,6vw);
	margin: 0 auto min(80px,6vw);
}
#counseling .box2 ul::before{
	position: absolute;
	display: block;
	content: "";
	background: #4a4137;
	background-size: 100% auto;
	width: 100%;
	max-width: 850px;
	height: 1px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#counseling .box2 ul li{
	width: 32%;
	max-width:300px;
	margin-top: 70px;
}
#counseling .box2 ul li:nth-child(-n+3){
	margin-top: 0;
}
#counseling .box2 ul li p{
	text-align: center;
}
#counseling .box2 ul li .img{
	position: relative;
}
#counseling .box2 ul li .img div{
	width: calc(100% - 8.7em);
	margin: 0 auto 1em;
}
#counseling .box2 ul li .img dt{
	position: absolute;
	top:0;
	left: 3em;
	display: block;
	color: #c4a871;
}
#counseling .box2 ul li .img dd{
	position: absolute;
	top:0;
	left: 0;
	display: block;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
}
#counseling .box2 .com_btn2{
	margin-top: 2.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#counseling .box1{
	padding:15% 0 8%;
}
#counseling .box1 .com_index1{
	margin-bottom: 5%;
}
#counseling .box1 .inbox .img{
	min-height:auto;
}
#counseling .box1 .inbox .img li{
	position: absolute;
	width: 40%;
}
#counseling .box1 .inbox .img li:nth-child(1){
	top:0;
	left: 0;
}
#counseling .box1 .inbox .img li:nth-child(2){
	bottom: auto;
	right: 0;
	top: 50vw;
}
#counseling .box1 .inbox .txt{
	position: static;
	transform: translateY(0); 
}
#counseling .box1 .inbox .txt .min47{
	margin-bottom: .5em;
	width: 55%;
	margin: 10vw 0 20vw auto;
}
#counseling .box1 .inbox .txt p{
	display: block;
	width: 53%;
	line-height: 1.8em;
	text-align: left;
}
	
#counseling .box2{
	padding-bottom:10%;
}
#counseling .box2 ul{
	display: block;
	padding-bottom:8%;
	margin: 0 auto 8%;
}
#counseling .box2 ul li{
	width: 100%;
	max-width:100%;
	margin-top: 10%!important;
	display: flex;
    justify-content: space-between;
}
#counseling .box2 ul li:nth-child(1){
	margin-top: 0!important;
}
#counseling .box2 ul li .img{
	width: 45%;
	margin-left: -2%;
}
#counseling .box2 ul li p{
	display: block;
	width: 53%;
	text-align: left;
}
#counseling .box2 ul li .img div{
	width: 6em;
	margin: 0 0 0 auto;
}
#counseling .box2 ul li .img dt{
	font-size:120%;
	left: 2.1em;
}
#counseling .box2 ul li .img dd{
	font-size:150%;
}
#counseling .box2 ul li p{
	font-size:95%;
	line-height: 1.6em;
}
#counseling .box2 .com_btn2{
	margin-top: 1.5em;
}
}










/* chigai
---------------------------------------------------------*/
#chigai .w1300{
	padding-top: min(150px,13vw);
}
#chigai .chigai_title{
	margin-bottom: min(60px,5vw);
}
#chigai .chigai_title .ft_min{
	margin-bottom: min(1.5em,2vw);
}
#chigai .chigai_title .fs25 span{
	position: relative;
}
#chigai .chigai_title .fs25 span::before{
	position: absolute;
	display: block;
	content: "";
	background:url(../images/top/chon.svg)no-repeat top center;
	background-size: 100% auto;
	width: .15em;
	height: .4em;
	left: 0;
	right: 0;
	margin: 0 auto;
	top:-.5em;
}
#chigai .inbox{
	background: #fff;
	filter: drop-shadow(0 0 20px rgba(0,0,0,0.05));
	padding: 80px 4%;
	box-sizing: border-box;
}
#chigai .inbox .txt1{
	margin-bottom: .5em;
}
#chigai .inbox .flex_box{
	max-width: 950px;
	margin: 2em auto;
}
#chigai .inbox .flex_box li{
	width: 32.8%;
	background: #fafaf9;
	padding: min(40px,2vw) 1% min(50px,3vw);
	box-sizing: border-box;
}
#chigai .inbox .flex_box li.beige3{
	border:1px solid #d9ba7c;
	background: #fdfcf8;
}
#chigai .inbox .flex_box .ft_min{
	margin-bottom: min(.8em,.8vw);
} 

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#chigai .w1300{
	padding-top:15%;
}
#chigai .chigai_title{
	margin-bottom:8%;
}
#chigai .chigai_title .ft_min{
	margin-bottom: 3vw;
}
#chigai .inbox{
	padding: 10% 4% 15%;
}
#chigai .inbox .txt1{
	margin-bottom: .2em;
}
#chigai .inbox .flex_box{
	display: block;
	margin: 8% auto;
}
#chigai .inbox .flex_box li{
	width:100%;
	margin-bottom: 4%;
	padding: 5% 4%;
}
#chigai .inbox .flex_box li:last-child{
	margin-bottom: 0;
}
}








/* price
---------------------------------------------------------*/
#price {
	margin-bottom: min(150px,11vw);
}
#price section{
	position: relative;
	margin-bottom: min(100px,8vw);
}
#price section:last-of-type{
	margin-bottom: 0;
}
#price h2{
	position: relative;
	padding-top: min(110px,9vw);
	margin-bottom: min(2em,2.5vw);
}
#price h2::before{
	position: absolute;
	display: block;
	content: "";
	background: #b59555;
	background-size: 100% auto;
	width: 1px;
	height: 0;
	top:min(-30px,-2vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: .5;
	transition: 1s;
}
#price h2.anime_on::before{
	height: min(110px,9vw);
	transition: 1s;
}
#price section .co145{
	position: absolute;
	top: -.2em;
	right: 0;
	color: #f4ead8;
}

#price table{
	position: relative;
	z-index: 2;
	width: 100%;
	margin-bottom: 1.5em;
}
#price table th{
	width: 76%;
	background: rgba(249,245,235,0.80);
	border-bottom: 1px solid #fff;
	text-align: left;
}
#price table th .flex_box{
    align-items: center;
}
#price table th .flex_box div:nth-child(1){
	width: 41%;
	box-sizing: border-box;
	padding: min(2.5rem,2vw) min(2rem,2vw);
	letter-spacing: -0.1em;
}
#price table th .flex_box div:nth-child(2){
	width: 59%;
	border-left: 1px solid #dbd9d7;
	box-sizing: border-box;
	padding-left: min(2.5rem,2vw);
	padding-right: 1rem;
	line-height: 1.4em;
}
#price table td{
	width: 24%;
	background:rgba(247,241,229,0.80);
	text-align: right;
	border-bottom: 1px solid #fff;
	padding: min(2rem,2.5vw) min(1.5rem,1.5vw);
	box-sizing: border-box;
}
#price table td span{
	font-size:150%;
	letter-spacing: 0.05em;
}
#price .txt1 .fs16{
	letter-spacing: normal;
	margin-top: .5em;
}
#price .flt_box .img_r{
	width: 40%;
	float: right;
	margin-left: 4%;
	margin-bottom: 1rem;
}
#price .flt_box .txt_l{
	width: 100%;
	padding-left: 2.2rem;
	box-sizing: border-box;
}
#price .flt_box .txt_l .txt2 dt{
	margin-bottom: .5em;
}

#price .flt_box .txt_l .txt3 {
	margin: min(2.5em,2.5vw) 0;
}
#price .flt_box .txt_l .txt3 li{
	position: relative;
	padding-left: 2.5em;
	box-sizing: border-box;
	margin-bottom: min(1.8em,1.8vw);
	letter-spacing: normal;
}
#price .flt_box .txt_l .txt3 li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/price1.svg")no-repeat top left;
	background-size: 100% auto;
	width: 2.5em;
	height:2.5em;
	top:-0.3em;
	left: -0.7em;
}
#price .flt_box .txt_l .txt3 li:nth-child(2)::before{
	background-image: url("../images/top/price2.svg");}

#price .flt_box .txt_l .txt3 li:last-child{
	margin-bottom: 0;
}
#price .flt_box .txt_l .com_btn2{
	margin-top: 3em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1100px) {
#price .flt_box .txt_l{
	padding-left:0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 

#price .flt_box .txt_l{
	padding-left:0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#price {
	margin-bottom: 15%;
}
#price section{
	margin-bottom: 10%;
}
#price h2{
	padding-top: 12vw;
	margin-bottom: 8%;
}
#price h2.anime_on::before{
	height: 15vw;
}
#price section .co145{
	top: 0;
}
#price table{
	display: block;
	margin-bottom: 5%;
}
#price table th{
	display: block;
	width:100%;
	border-bottom: none;
	padding: 4% 4%;
	box-sizing: border-box;
	text-align: center;
}
#price table th .flex_box{
	display: block;
}
#price table th .flex_box div:nth-child(1){
	width:100%;
	letter-spacing: normal;
	padding: 0 4% 3%;
	box-sizing: border-box;
	font-size:120%;
}
#price table th .flex_box div:nth-child(2){
	width:100%;
	border-top: 1px solid #dbd9d7;
	border-left: none;
	padding-left:0;
	padding-right:0;
	padding-top: 4%;
	box-sizing: border-box;
	font-size:95%;
}
#price table td{
	display: block;
	width:100%;
	text-align: center;
	border-bottom: 5px solid #fff;
	padding: 4% 4%;
}
#price table td span{
	font-size:130%;
}
	
#price .txt1 .fs16{
	letter-spacing: 0.05em;
	margin-top: .2em;
}
#price .flt_box .img_r{
	float: none;
	width: 70%;
	margin: 0 auto 5%;
}
#price .flt_box .txt_l{
	padding-left: 0;
}
#price .flt_box .txt_l .txt2 dt{
	margin-bottom: .4em;
}

#price .flt_box .txt_l .txt3 {
	margin: 8% auto;
}
#price .flt_box .txt_l .txt3 li{
	display: inline-block;
	padding-left: 2.7em;
	text-align: left;
	margin-bottom: 1em;
}
#price .flt_box .txt_l .txt3 li:last-child{
	margin-bottom: 0;
}
#price .flt_box .txt_l .txt3 li{
	letter-spacing: 0.05em;
}
#price .flt_box .txt_l .txt3 li::before{
	top:0.3em;
}
#price .flt_box .txt_l .com_btn2{
	margin-top: 6%;
}
}







/* koube
---------------------------------------------------------*/
#koube {
	position: relative;
	z-index: 2;
}
#koube .bg{
	background: linear-gradient(to right,  rgba(236,220,189,0) 0%,rgba(236,220,189,1)70%); 
	padding: 0 0 min(140px,12vw);
}
#koube .txt1{
	max-width: 1260px;
	margin: 0 auto;
	position: relative;
	padding-top: min(110px,9vw);
	padding-left: 2em;
}
#koube .txt1 .img{
	position: absolute;
	top:-90px;
	right: 0;
	width:41%;
}
#koube .txt1 .txt{
	width: 53%;
	text-align: right;
}
#koube .txt1 .txt .txt_inbox{
	width: 37em;
	display: inline-block;
	margin-left: auto;
	margin-right: 0;
	text-align: left;
}
#koube .txt1 .txt h2 span{
	display: inline-block;
}
#koube .txt1 .txt h2 span.min50{
	margin-bottom: .5em;
}

#koube .txt1 .txt dt span{
	display: inline-block;
}
#koube .txt1 .txt dt span.min25{
	margin-bottom: .6em;
}

#koube .maru{
	max-width: 1080px;
	margin: min(70px,5vw) auto min(60px,4vw);
}
#koube .maru li{
	position: relative;
	width: 32%;
	max-width: 320px;
	aspect-ratio: 1 / 1;
	background: url("../images/top/koube1@2x.png")no-repeat center center;
	background-size: cover;
}
#koube .maru li:nth-child(2){
	background-image: url("../images/top/koube2@2x.png");}
#koube .maru li:nth-child(3){
	background-image: url("../images/top/koube3@2x.png");}

#koube .maru li .inbox{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}
#koube .maru li p:has(+ p){
	margin-bottom: min(.5rem,.5vw);
}
#koube .maru li p.min35{
	line-height: 1em;
}
#koube .txt2{
	margin-bottom: 1.5em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1100px) {
#koube .txt1{
	padding-left: 0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#koube .txt1{
	padding-top:5vw;
	padding-left: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#koube .bg{
	padding: 0 0 15%;
}
#koube .txt1{
	padding-top: 85vw;
	padding-left: 0;
}
#koube .txt1 .img{
	position: absolute;
	top:-10vw;
	right: 0;
	left: 0;
	margin: 0 auto;
	width:100%;
}
#koube .txt1 .txt{
	width: 100%;
}
#koube .txt1 .txt .txt_inbox{
	width: 100%;
	display: block;
	text-align: center;
}
#koube .txt1 .txt h2 span.min50 strong{
	letter-spacing: -0.05em;
}
#koube .txt1 .txt dt{
	line-height: 1.4em;
}

#koube .maru{
	margin: 8% auto;
	justify-content: center;
}
#koube .maru li{
	width: 49%;
	margin-right: 2%;
}
#koube .maru li:nth-child(2n),
#koube .maru li:last-child{
	margin-right: 0;
}
#koube .maru li:nth-child(3){
	margin-top: -5%;
}
#koube .maru li .inbox{
	font-size:3.2vw;
	line-height: 1.6em;
}
#koube .maru li p:has(+ p){
	margin-bottom: 2vw;
}
#koube .txt2{
	margin-bottom: 1em;
}
}









/* greeting
---------------------------------------------------------*/
#greeting .w1500{
	padding-top: min(120px,10vw);
	padding-bottom: min(130px,11vw);
}
#greeting .com_index1{
	margin-bottom: min(50px,4vw);
}
#greeting .inbox{
	position: relative;
}
#greeting .inbox .img_l{
	width: 79%;
	margin-left: -11%;
}
#greeting .inbox .txt_r{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	width: 64%;
	max-width: 710px;
}
#greeting .inbox .txt_r .txt1{
	margin-bottom: min(.8em,1.5vw);
}
#greeting .inbox .txt_r .txt2{
	margin-top: min(.4em,.4vw);
}
#greeting .inbox .txt_r .com_btn2{
	margin-top: min(2.5em,3vw);
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#greeting .inbox .img_l{
	margin-left: -15vw;
}
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1250px) {
#greeting .inbox .img_l{
	margin-left: -18vw;
}
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#greeting .inbox .img_l{
	margin-left: -18vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#greeting .w1500{
	padding-top:15%;
	padding-bottom:15%;
}
#greeting .com_index1{
	margin-bottom: 5%;
}
#greeting .inbox .img_l{
	width: 100%;
	margin-left:auto;
	margin-bottom: 5%;
}
#greeting .inbox .txt_r{
	position: static;
	transform: translateY(0);
	width: 100%;
	max-width:100%;
	text-align: center;
}
#greeting .inbox .txt_r .txt1{
	margin-bottom: 6%;
	letter-spacing: -0.1em;
}
#greeting .inbox .txt_r .txt2{
	letter-spacing: -0.05em;
}
#greeting .inbox .txt_r .com_btn2{
	margin-top: 7%;
}
#greeting .min25{
	font-size:115%;
}
#greeting .min43{
	font-size:155%;
}
#team .min43{
	font-size:145%;
}
}







/* team
---------------------------------------------------------*/
#team{
	margin-bottom: min(100px,8vw);
}
#team .team_title1{
	position: relative;
	width:calc(100% + .6em);
	margin-left: -.3em;
	color: #d3cdc7;
	text-align: left;
	margin-bottom: -.3em;
}
#team .team_title1::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/logo_beige.svg")no-repeat top right;
	background-size: 100% auto;
	width: 1.3em;
	height: 1.3em;
	top:0;
	right: 0;
}
#team .flex_box{
	position: relative;
	z-index: 2;
	flex-flow: row-reverse;
}
#team .flex_box .img_r{
	width: 49%;
}
#team .flex_box .txt_l{
	width: 48%;
	padding-top: min(130px,11vw);
}
#team .flex_box .txt_l .min43{
	margin: min(1em,1.5vw) 0;
}
#team .com_btn2_list{
	margin-top: 2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#team .flex_box .img_r{
	width: 40%;
	margin-right: -3%;
}
#team .flex_box .txt_l{
	width:60%;
	padding-top: 7vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#team .com_slide .swiper-slide{
	width: 40vw!important;
	aspect-ratio: 250 / 280!important;
	margin-right: 3vw;
}
#team{
	margin-bottom: 15%;
	text-align: center;
}
#team .team_title1{
	display: inline-block;
	margin: 0 auto 2%;
	width: 4.5em;
	z-index: 10;
	position: relative;
}
#team .team_title1::before{
	width: 1.6em;
	height: 1.6em;
	top:1.1em;
	right: 0;
}
#team .flex_box{
	display: block;
}
#team .flex_box .img_r{
	width: 100%;
}
#team .flex_box .txt_l{
	width: 100%;
	padding-top: 5%;
}
#team .flex_box .txt_l .min43{
	margin: 3vw 0;
}
#team .com_btn2_list{
	margin-top: 6%;
}
}










/* medical
---------------------------------------------------------*/
#medical .bg{
	background: #fbf8f2;
	padding-top: min(150px,13vw);
}
#medical .medi_title{
	margin-bottom: min(70px,5vw);
}
#medical .medi_title .min47{
	margin: .7em 0 .5em;
}
#medical .flex_box{
    justify-content: start;
	border-bottom: 1px solid #d1cac4;
	padding-bottom: min(100px,8vw);
}
#medical .flex_box li{
	width: 23%;
	margin-right: 2.666%;
	margin-top: min(40px,3vw);
}
#medical .flex_box li:nth-child(4n){
	margin-right:0;
}
#medical .flex_box li:nth-child(-n+4){
	margin-top: 0;
}
#medical .flex_box li .img{
	position: relative;
	aspect-ratio: 270 / 180;
	margin-bottom: .3em;
	background: #fff;
}
#medical .flex_box li .img::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/med1@2x.jpg")no-repeat top center;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	aspect-ratio: 270 / 180;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	transition: 0.4s;
	z-index: 2;
}
#medical .flex_box li:hover .img::before{
	opacity: 1;
	transition: 0.4s;
}
#medical .flex_box li.med2 .img::before{
	background-image: url("../images/top/med2@2x.jpg");}
#medical .flex_box li.med2 .img::before{
	background-image: url("../images/top/med2@2x.jpg");}
#medical .flex_box li.med3 .img::before{
	background-image: url("../images/top/med3@2x.jpg");}
#medical .flex_box li.med4 .img::before{
	background-image: url("../images/top/med4@2x.jpg");}
#medical .flex_box li.med5 .img::before{
	background-image: url("../images/top/med5@2x.jpg");}
#medical .flex_box li.med6 .img::before{
	background-image: url("../images/top/med6@2x.jpg");}
#medical .flex_box li.med7 .img::before{
	background-image: url("../images/top/med7@2x.jpg");}
#medical .flex_box li.med8 .img::before{
	background-image: url("../images/top/med8@2x.jpg");}
#medical .flex_box li.med9 .img::before{
	background-image: url("../images/top/med9@2x.jpg");}
#medical .flex_box li.med10 .img::before{
	background-image: url("../images/top/med10@2x.jpg");}
#medical .flex_box li.med11 .img::before{
	background-image: url("../images/top/med11@2x.jpg");}
#medical .flex_box li.med12 .img::before{
	background-image: url("../images/top/med12@2x.jpg");}

#medical .flex_box li i{
	top:auto;
	transform: translateY(0);
	bottom: -3px;
	right: -3px;
	background: #534a41;
	border:none;
	color: #fff;
	z-index: 3;
}
#medical .flex_box li .txt{
	position: absolute;
	top: 47%;
	transform: translateY(-50%);
	right: 0;
	left: 0;
	margin: 0 auto;
	text-align: center;
}
#medical .flex_box li .txt .min21{
	font-size: min(155%,2vw);
	letter-spacing: normal;
	line-height: 1.2em;
}
#medical .flex_box li .txt .icon{
	width:min(6em,6vw);
	margin: 0 auto .8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#medical .bg{
	padding-top: 15%;
}
#medical .medi_title{
	margin-bottom: 8%;
}
#medical .medi_title .min47{
	margin: .5em 0 .3em;
}
#medical .flex_box{
	padding-bottom: 8%;
}
#medical .flex_box li{
	width: 48%;
	margin-right: 4%;
	margin-top: 6%!important;
}
#medical .flex_box li:nth-child(2n){
	margin-right:0;
}
#medical .flex_box li:nth-child(-n+2){
	margin-top: 0!important;
}
#medical .flex_box li .txt{
	top: 47%;
}
#medical .flex_box li .txt .min21{
	font-size: 4vw;
	line-height: 1.3em;
}
#medical .flex_box li .txt .icon{
	width: 12vw;
	margin: 0 auto 1vw;
}
#medical .flex_box li a{
	display: block;
	line-height: 1.5em!important;
}
}







/* gaku
---------------------------------------------------------*/
#gaku .bg{
	position: relative;
background: linear-gradient(to bottom, #fbf8f2 0%,rgba(217,186,124,.9) 100%);
	padding: min(80px,6vw) 0 230px;
}
#gaku .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/su2@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 50%;
	height: 1000px;
	bottom: 0;
	right: 0;
	opacity: 0;
	transition: 6s;
}
#gaku .bg.anime_on::before{
	opacity: 1;
	transition: 6s;
}
#gaku .w1030{
	position: relative;
	z-index: 2;
}
#gaku .gaku_title{
	margin-bottom: min(60px,4vw);
}
#gaku .gaku_title .min19{
	margin-bottom: min(1.5em,1.5vw);
}
#gaku .flt_box{
	max-width: 1030px;
	margin: 0 auto min(100px,8vw);
}
#gaku .flt_box .img_l{
	float: left;
	width: 37%;
}
#gaku .flt_box .txt_r{
	float: right;
	width: 59%;
}
#gaku .flt_box .txt_r .com_btn2{
	margin-top: 2em;
}
#gaku .gaku_title2 .co150{
	color: #d9ba7c;
	margin-bottom: -1.2em;
	opacity: .3;
	line-height: 0.8em;
}
#gaku .gaku_title2 dl{
	position: relative;
	z-index: 5;
}
#gaku .gaku_title2 dd{
	margin: 0 0 1.2em;
}
#gaku .bnr{
	position: relative;
	z-index: 2;
	max-width: 600px;
	width: 70%;
	margin: 0 auto;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.3));
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#gaku .bg{
	padding-bottom: 120px;
}
#gaku .flt_box{
	margin: 0 auto 7vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#gaku .bg{
	padding: 10% 0 40vw;
}
#gaku .bg::before{
	width: 55%;
}
#gaku .gaku_title{
	margin-bottom: 6%;
}
#gaku .gaku_title .min43{
	line-height: 1.5em;
}
#gaku .flt_box{
	margin-bottom: 10%;
}
#gaku .flt_box .img_l{
	float: none;
	width: 75%;
	margin: 0 auto 4%;
}
#gaku .flt_box .txt_r{
	float: none;
	width: 100%;
}
#gaku .flt_box .txt_r .com_btn2{
	margin-top: 6%;
}
#gaku .gaku_title2 .co150{
	margin-left: -0.1em;
}
#gaku .gaku_title2 dd{
	margin: .2em 0 1.4em;
}
#gaku .bnr{
	width: 100%;
}
}










/* case
---------------------------------------------------------*/
#case{
	position: relative;
	z-index: 5;
	margin-top: -130px;
}
.case_bg{
	background: #fcfaf6;
	padding-bottom: min(170px,15vw);
}
#case .inbox{
	position: relative;
	padding: 0 4%;
	box-sizing: border-box;
}
#case .inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(255,249,249,1) 0%,rgba(252,250,246,1) 100%);
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 1.5em);
	bottom: 0;
	left: 0;
}
#case .inbox_inbox{
	position: relative;
	z-index: 5;
}

#case .case_title{
	text-align: right;
	margin-top: -1em;
	margin-bottom: min(70px,5vw);
}
#case .case_title .co150{
	color: #f4ead8;
	line-height: .8em;
}
#case .flex_box{
	max-width: 1190px;
	margin: 0 auto min(100px,8vw);
}
#case .flex_box > li{
	width: 32%;
	max-width: 350px;
}
#case .flex_box .img li:last-child{
	display: none;
}
#case .flex_box .before_after{
	margin-bottom: .8em;
}

#case .before_after {
	width: 100%;
	display: flex;
    justify-content: space-between;
    align-items: center;
	overflow-y: scroll !important;
}

/* 真ん中の丸 */
.icv__circle{
	position: relative;
    width:80px!important;
    height:80px!important;
    border:none!important;
    border-radius:50%;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    background:rgba(255,255,255,.5);
}
.icv__circle::before{
	position: absolute;
	display: block;
	content: "";
	background: #4a4137;
	background-size: 100% auto;
	width: 2px;
	height: 100%;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;	
}
.icv__control-line{
    width:2px !important;
    background:#4a4137 !important;
}
.icv__arrow-wrapper{
    width:0;
    height:0;
    border-top: 6px solid transparent;
    border-bottom:6px solid transparent;
}
.icv__theme-wrapper .icv__arrow-wrapper:first-child{
    border-right:10px solid #4a4137;
    border-left:none;
}
.icv__theme-wrapper .icv__arrow-wrapper:last-child{
    border-left:10px solid #4a4137;
    border-right:none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#case{
	margin-top: -80px;
}
.case_bg{
	padding-bottom:10vw;
}
#case .flex_box{
	margin: 0 auto 5vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#case{
	margin-top: -30vw;
}
.case_bg{
	padding-bottom: 15%;
}
#case .inbox{
	padding: 0 4%;
}
#case .case_title{
	margin-bottom: 5%;
	text-align: center;
}
#case .case_title .co150{
	margin-bottom: .2em;
}
#case .flex_box{
	display: block;
	margin: 0 auto 10%;
}
#case .flex_box > li{
	width: 100%;
	max-width: 100%;
	margin-bottom: 8%;
}
#case .flex_box .before_after li:last-child{
	margin-bottom: 0;
}
#case .flex_box .before_after{
	width: 80%;
	margin: 0 auto 4%;
}
	

/* 真ん中の丸 */
.icv__circle{
    width: 70px!important;
    height:70px!important;
}
}







/* qa
---------------------------------------------------------*/
#qa .w1200{
	padding-top: min(160px,14vw);
	padding-bottom: min(120px,10vw);
}
#qa .com_index1{
	margin-bottom: min(120px,10vw);
}
#qa .com_btn2{
	margin-top: min(50px,4vw);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#qa .w1200{
	padding-top: 15%;
	padding-bottom:15%;
}
#qa .com_index1{
	margin-bottom: 10%;
}
#qa .com_btn2{
	margin-top: 6%;
}
}



/* first
---------------------------------------------------------*/
#first .bg{
	position: relative;
	padding-top: min(140px,12vw);
	padding-bottom: min(100px,8vw);
}
#first .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/contact@2x.jpg")no-repeat top center #fcfaf6;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	opacity: 0;
	transition: 1.5s;
}
#first .bg.anime_on::before{
	opacity: 1;
	transition: 1.5s;
}
#first .w1190{
	position: relative;
	z-index: 2;
}
#first .first_title{
	position: relative;
	padding-bottom: min(60px,4vw);
	margin-bottom: min(60px,4vw);
}
#first .first_title::before{
	position: absolute;
	display: block;
	content: "";
	background: #4a4137;
	background-size: 100% auto;
	width: 100%;
	max-width: 400px;
	height: 1px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#first .first_title .ft_co{
	margin-bottom: 2em;
}
#first .first_title .min47{
	margin-bottom: .4em;
}
#first .first_title2 .min30{
	margin-bottom: .7em;
}
#first .com_contact{
	margin: min(50px,3vw) auto min(70px,5vw);
}

#first .box1 .flex1{
	width: 28%;
}
#first .box1 .flex1 dl{
	justify-content: start;
    align-items: center;
	margin-bottom: 1em;
}
#first .box1 .flex1 dd{
	padding: .2em .5em;
	box-sizing: border-box;
	margin-left: .5em;
}
#first .box1 .flex1 address{
	margin-bottom: 1em;
}
#first .box1 .flex2{
	width: 34%;
}
#first .box1 .flex2 iframe,
#first .box1 .flex3 iframe{
	height: min(350px,35vw)!important;
}
#first .box1 .flex3{
	width: 33%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#first .box1 .flex1{
	width: 100%;
	margin-bottom: 1em;
}
#first .box1 .flex2{
	width: 48%;
}
#first .box1 .flex3{
	width: 48%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#first .bg{
	padding-top:15%;
	padding-bottom: 15%;
}
#first .first_title{
	padding-bottom: 6%;
	margin-bottom: 6%;
}
#first .first_title .ft_co{
	margin-bottom: 1em;
}
#first .com_contact{
	margin: min(50px,3vw) auto min(70px,5vw);
}
	
#first .box1 .flex1{
	width:100%;
	text-align: left;
}
#first .box1 .flex1 dl{
	width: 100%;
	margin: 0 auto .5em;
	text-align: left;
}
#first .box1 .flex1 address{
	margin-bottom: 1em;
	text-align: left;
}
#first .box1 .flex1 .com_acc{
	text-align: left;
}
#first .box1 .flex2{
	width: 100%;
	margin: 5% auto;
}
#first .box1 .flex2 iframe,
#first .box1 .flex3 iframe{
	height: 70vw!important;
}
#first .box1 .flex3{
	width: 100%;
}
}







/* wp
---------------------------------------------------------*/
#wp .w1185{
	padding-top: min(100px,8vw);
	padding-bottom: min(100px,8vw);
}
#wp .col2_inbox{
	width: 48%;
	max-width: 530px;
}
#wp .col2_inbox .min35{
	text-align: center;
	margin-bottom: 1em;
}
#wp .col2_inbox li{
	border-bottom: 1px solid #e8e5e2;
	padding: 1.5em 0;
}
#wp .col2_inbox li:first-child{
	border-top: 1px solid #e8e5e2;
}
#wp .col2_inbox li .min19{
	margin: .7em 0;
}
#wp .col2_inbox li a{
	text-decoration: underline;
}
#wp .col2_inbox li a:hover{
	text-decoration: none;
}
#wp .col2_inbox .com_btn1{
	margin-top: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#wp .w1185{
	padding-top: 15%;
	padding-bottom: 15%;
}
#wp .col2_inbox{
	width: 100%;
	max-width: 100%;
	margin-bottom: 15%;
}
#wp .col2_inbox:last-child{
	margin-bottom:0;
}
#wp .col2_inbox .min35{
	margin-bottom: .5em;
}
#wp .col2_inbox .com_btn1{
	margin-top: 6%;
}
}










/* link
---------------------------------------------------------*/
#link .official{
	padding: min(60px,4vw) 0;
	border-top: 1px solid #d1cac4;
}
#link .inbox{
	max-width: 1250px;
	margin: 0 auto;
    align-items: center;	
}
#link .inbox div{
	width: 9rem;
	line-height: .5em;
}
#link .inbox div span{
	display: block;
}
#link .inbox ul{
	width: calc(100% - 9rem);
}
#link .inbox ul li{
	width: 32%;
	background: #fbf8f2;
	border:1px solid #ede5d4;
	border-radius: 10px;
	display: flex;
    justify-content: center;
    align-items: center;	
	height: min(10em,13vw);
	text-align: center;
	transition: 0.4s;
}
#link .inbox ul li:hover{
	background: #f7f1e5;
	border-color:#e1d3b8;
	transition: 0.4s;
}
#link .inbox ul li a{
	display: block;
}
#link .inbox ul li .txt{
	display: block;
	margin-bottom: .5em;
}
#link .inbox ul li .img{
	display: block;
	width: min(13em,13vw);
	margin: 0 auto;
}

/*bnr_rec*/
#link .bnr_rec{
	position: relative;
	margin-bottom: min(100px,8vw);
	aspect-ratio: 1400 / 360;
	overflow: hidden;
}
#link .bnr_rec img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	aspect-ratio: 1400 / 360;
	transition: 1s;
}
#link .bnr_rec:hover img{
	transform: scale(1.05);
	transition: 0.5s;
}
#link .bnr_rec .txt{
	position: absolute;
	width: 94%;
	bottom: min(2em,1.5vw);
	left: 0;
	right: 0;
	margin: 0 auto;
}
#link .bnr_rec .txt dl{
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
}
#link .bnr_rec .txt a{
	position: absolute;
	bottom: 0;
	right: 0;
	width: min(200px,18vw);
	height: min(200px,18vw);
	aspect-ratio: 200 / 200;
	background:rgba(255,255,255,0.85);
	border-radius: 500px;
	display: flex;
    justify-content: center;
    align-items: center;	
	flex-wrap: wrap;
	line-height: 1em;
	text-align: center;
	transition: 0.4s;
}
#link .bnr_rec:hover .txt a{ 
	background: #fff;
	filter: drop-shadow(0 0 15px rgba(0,0,0,0.2));
	transition: 0.4s;
}
#link .bnr_rec .txt a span{
	padding-bottom: .7em;
}
#link .bnr_rec .txt a i{
	position: absolute;
	bottom: min(50px,4vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
}

/* Tablet (Portrait
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#link .inbox div{
	width: 7rem;
	line-height: .5em;
}
#link .inbox ul{
	width: calc(100% - 7rem);
}
#link .inbox ul li .txt{
	line-height: 1.4em;
}
#link .bnr_rec .txt dl{
	filter: drop-shadow(0 0 10px rgba(0,0,0,1));
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#link .official{
	padding: 8% 0;
}
#link .inbox{
	display: block;
}
#link .inbox div{
	width: 100%;
	text-align: center;
	margin-bottom: 1em;
}
#link .inbox div span{
	display: inline;
}
#link .inbox ul{
	display: block;
	width: 100%;
}
#link .inbox ul li{
	width: 100%;
	height: 6.5em;
	margin-bottom: 3%;
}
#link .inbox ul li:last-child{
	margin-bottom: 0;
}
#link .inbox ul li .txt{
	margin-bottom: .4em;
}
#link .inbox ul li .img{
	width: 35vw;
}

#link .bnr_rec{
	margin-bottom:10%;
	aspect-ratio: auto;
}
#link .bnr_rec img{
	position: static;
}
#link .bnr_rec:hover img{
	transform: scale(1);
}
#link .bnr_rec .txt{
	position: static;
	background: #c4a871;
	width: 100%;
	text-align: center;
	padding: 7vw 0 3vw;
}
#link .bnr_rec .txt:hover{
	background: #c4a871;
}
#link .bnr_rec .txt dl{
	filter: drop-shadow(0 0 10px rgba(0,0,0,0));
}
#link .bnr_rec .txt dt{
line-height: 1.3em;
}
#link .bnr_rec .txt a{
	position: relative;
	width: auto;
	height: auto;
	aspect-ratio: 0;
	background: none!important;
	display: inline-block;
	margin: .7em auto 0;
	color: #fff;
	font-size:95%;
}
#link .bnr_rec .txt a:hover{ 
	filter: none;
}
#link .bnr_rec .txt a span{
	padding-bottom: 0;
	padding-right: 1.5em;
}
#link .bnr_rec .txt a i{
	top:0;
	bottom: auto;
	left: auto;
	right: 0;
	font-size:80%;
}
#link .bnr_rec .txt .co96{
	position: absolute;
	top:-13vw;
	left: 0;
	right: 0;
	margin: 0 auto;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
}
}


/* top_sp_menu
---------------------------------------------------------*/
.top_sp_menu .menu_med{
	position: relative;
}
.top_sp_menu .in_menu {
	width: 215%;
	right: -5%;
	transform: translateX(0);
	padding: 2vw 3vw 3vw!important;
}
.top_sp_menu .com_medmenu a{
	text-align: left!important;
	padding: 0!important;
}

