@charset "UTF-8";

main {
	padding-top: min(9.4vw,140px);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
main {
	padding-top: 8%;
}
}


/*---------------------------------------------------------
m_nav_area
---------------------------------------------------------*/
.m_nav_area {
	position: absolute;
	background-color: #fff;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.m_nav_area .m_nav {
	justify-content: center;
}

/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.m_img_area {
	height: 100vh;
	display: flex;
	flex-direction: column;
	min-height: min(calc(100vw * 0.7), 1004px);
}
.m_img {
	overflow: hidden;
	width: 100%;
	height: 100%;
}
/*m_deco*/
.m_img .m_deco {
	position: absolute;
	text-align: center;
	color: rgba(255,255,255,0.4);
	font-size: min(10vw,9.32rem);
	white-space: nowrap;
	width: 100%;
	left: 0;
	right: 0;
	top: 50%;
	margin: auto;
	translate: 0 -50%;
	transition: opacity 2s;
	opacity: 0;
}
.m_img_area.anime_on .m_deco {
	opacity: 1;
}
/* com_obj */
.m_img .com_obj {
	opacity: 0.6;
}
.m_img .com_obj:nth-of-type(1) {
	right: 0;
	top: 0;
	translate: 50% -30%;
}
.m_img .com_obj:nth-of-type(2) {
	width: 66vw;
	left: 0;
	bottom: 0;
	translate: -70% 70%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	height: 100svh;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	height: 100svh;
	min-height: calc(100vw * 1.5);
}
.m_img .m_deco {
	font-size: 20vw;
}
/* com_obj */
.m_img .com_obj:nth-of-type(2) {
	width: 120vw;
}
}

/*m_img:m_slider
---------------------------------------------------------*/
.m_slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
}
.m_slider li {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.m_slider .slide1 {background-image: url("../images/top/m_img1@2x.jpg");}
.m_slider .slide3 {background-image: url("../images/top/m_img3@2x.jpg");}
.m_slider .slide4 {background-image: url("../images/top/m_img4@2x.jpg");}

/* bg_list */
.m_slider .bg_list {
	position: absolute;
	display: grid;
	grid-template-rows: 50% 50%;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.m_slider .bg_list > li {
	position: relative;
}
.m_slider .bg_list > li::before {
	position: absolute;
	content: "";
	transition: all 20s;
	background-repeat: repeat-x;
	background-size: auto 100%;
	width: 200%;
	height: 101%;
	top: 0;
}
.m_slider .bg_list > li:nth-of-type(1)::before {
	background-image: url("../images/top/m_img2_bg1@2x.jpg");
	left: 0;
}
.m_slider .bg_list > li:nth-of-type(2)::before {
	background-image: url("../images/top/m_img2_bg2@2x.jpg");
	right: 0;
}
.m_slider li[class*=-prev] .bg_list li::before,
.m_slider li[class*=-active] .bg_list li::before {
    translate: -60vw;
}
.m_slider li[class*=-prev] .bg_list li:nth-of-type(even)::before,
.m_slider li[class*=-active] .bg_list li:nth-of-type(even)::before {
    translate: 60vw;
}
/* com_obj */
.m_slider .com_obj {
	opacity: 0;
}
.m_slider li[class$="-active"] .com_obj {
	opacity: 0.8;
}
.m_slider .slide2 .com_obj:nth-of-type(3) {
	width: 30vw;
	right: 20%;
	bottom: 20%;
	animation-duration: 9s;
	transition-delay: .6s;
}
.m_slider .slide2[class$="-active"] .com_obj:nth-of-type(3) {
	opacity: 0.6;
}
.m_slider .slide3 .com_obj {
	width: 30vw;
}
.m_slider .slide3 .com_obj:nth-of-type(1) {
	top: 30%;
}
.m_slider .slide3 .com_obj:nth-of-type(2) {
	bottom: 50%;
}
.m_slider .slide3 .com_obj:nth-of-type(3) {
	left: 30%;
	bottom: -15%;
	animation-duration: 6s;
}
.m_slider .slide4 .com_obj:nth-of-type(1) {
	top: 30%;
}
/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media screen and (orientation: portrait) {
.m_slider .slide1 {background-image: url("../images/top/m_img1_sp@2x.jpg");}
.m_slider .slide3 {background-image: url("../images/top/m_img3_sp@2x.jpg");}
.m_slider .slide4 {background-image: url("../images/top/m_img4_sp@2x.jpg");}

.m_slider .bg_list > li::before {
	width: 300%;
}
.m_slider li[class*=-prev] .bg_list li::before,
.m_slider li[class*=-active] .bg_list li::before {
    translate: -200vw;
}
.m_slider li[class*=-prev] .bg_list li:nth-of-type(even)::before,
.m_slider li[class*=-active] .bg_list li:nth-of-type(even)::before {
    translate: 200vw;
}
}

/*m_img:mc_slider
---------------------------------------------------------*/
.mc_slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	pointer-events: none;
}
/*m_copy*/
.mc_slider .m_copy {
	position: absolute;
	text-align: center;
	color: #FFF;
	font-size: min(4.5vw,340%);
	letter-spacing: .06em;
	line-height: 1.7;
	width: 100%;
	left: 50%;
	top: 50%;
	translate: -50% -50% 0;

	-webkit-text-stroke: 0.4px currentColor;
	text-shadow: 0 0 10px rgba(0,0,0,0.5);
	filter: drop-shadow(0 0 35px rgba(0,0,0,0.2));
	opacity: 0;
	transition: opacity .8s .3s;
}
.mc_slider li[class$="-active"] .m_copy {
	opacity: 1;
}
/*m_point*/
.m_img .m_point,
.m_img .m_point > li {
	position: absolute;
}
.m_img .slide2 .m_point {
	width: 60vw;
	max-width: 727px;
	left: 50%;
	bottom: 56%;
	translate: -50% 0;
}
.m_img .slide3 .m_point {
	width: 18vw;
	max-width: 227px;
}
.m_img .slide3 .m_point:nth-of-type(1) {
	left: 1%;
	bottom: 23%;
}
.m_img .slide3 .m_point:nth-of-type(2) {
	right: 1%;
	bottom: 8.5%;
}
.m_img .slide4 .m_point {
	width: 30vw;
	max-width: 450px;
}
.m_img .slide4 .m_point:nth-of-type(1) {
	left: 3%;
	bottom: 17%;
}
.m_img .slide4 .m_point:nth-of-type(2) {
	right: -1%;
	top: 17%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*m_copy*/
.mc_slider .m_copy {
	width: 80vw;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*m_copy*/
.mc_slider .m_copy {
	font-size: 7.8vw;
	letter-spacing: .04em;
	top: 50%;
	text-shadow: none;
	filter: drop-shadow(0 0 4px rgba(0,0,0,0.4));
}
/*m_point*/
.m_img .slide2 .m_point {
	width: 96vw;
	bottom: 60%;
}
.m_img .slide3 .m_point {
	width: 35vw;
}
.m_img .slide3 .m_point:nth-of-type(1) {
	left: 19%;
	bottom: 6%;
}
.m_img .slide3 .m_point:nth-of-type(2) {
	right: 19%;
	bottom: 6%;
}
.m_img .slide4 .m_point {
	width: 55vw;
}
.m_img .slide4 .m_point:nth-of-type(1) {
	inset: 5% 0 auto auto;
}
.m_img .slide4 .m_point:nth-of-type(2) {
	inset: auto auto 5% 50%;
	translate: -50% 0;
}
}

/*dot
---------------------------------------------------------*/
.m_img .swip-pagination {
	position: absolute;
	display: flex;
	justify-content: center;
	z-index: 1;
	left: 0;
	right: 0;
	bottom: 120px;
	margin: auto;
}
.m_img .swip-pagination .swiper-pagination-bullet {
	position: relative;
	cursor: pointer;
	display: block;
	width: .6em;
	height: .6em;
	border-radius: 50%;
	background: #FFF;
	opacity: 1;
	box-sizing: border-box;
	margin: 0 1em;
	transition: all 0.4s;
}
.m_img .swip-pagination .swiper-pagination-bullet-active,
.m_img .swip-pagination .swiper-pagination-bullet:hover {
	opacity: 0.4;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img .swip-pagination {
	bottom: 6vw;
}
.m_img .swip-pagination .swiper-pagination-bullet {
	width: .5em;
	height: .5em;
	margin: 0 .8em;
}
}

/*---------------------------------------------------------
sp_menu_area
---------------------------------------------------------*/
.sp_menu_area {
	margin-bottom: 10%;
}
.sp_menu_area .open_box {
	display: none;
	position: absolute;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic";
	width: 100vw;
	left: 50%;
	translate: -50% 0;
	z-index: 2;
}
.sp_menu_area .open_box .menu_title {
	display: none;
	padding-top: 10%;
}
.sp_menu_area .com_med_area {
	background-color: #E9F1EC;
}
.sp_menu_area .com_menu1 > li::after {
	background: url(../images/common/dot_g.svg);
}


/*---------------------------------------------------------
bnr_list
---------------------------------------------------------*/
.bnr_list a {
	display: grid;
	grid-template-columns: 38.4% 61.6%;
	align-items: center;
	font-size: min(1.36vw,106%);
	line-height: 1.4;
	letter-spacing: .16em;
}
.bnr_list .img {
	position: relative;
	max-width: 230px;
}
.bnr_list .img::before {
	position: absolute;
	content: "";
	background-color: #9CDDD7;
	width: 76%;
	height: 83%;
	border-radius: 50%;
	right: 0;
	bottom: 0;
	transition: scale .5s;
}
.bnr_list .img img {
	position: relative;
}
.bnr_list .ft_min {
	font-size: min(3.7vw,294%);
	white-space: nowrap;
	padding-bottom: .2em;
	margin-top: .2em;
	margin-bottom: .4em;
	background: url(../images/common/dot.svg) repeat-x left bottom;
	background-size: auto 2px;
}
.bnr_list .com_arw {
	font-size: 32%;
	vertical-align: 0.8em;
	margin-left: .6em;
}
.bnr_list .txt img {
	margin: 0;
}
.bnr_list a:hover .img::before {
	scale: 1.1;
}
.bnr_list > li:nth-of-type(2) .img::before {background-color: rgba(255,187,137,0.9);}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.bnr_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48.5% 48.5%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.bnr_list a {
	font-size: 1.48vw;
	letter-spacing: .06em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bnr_list > li {
	margin-top: 8%;
}
.bnr_list a {
	font-size: 90%;
	letter-spacing: .08em;
}
.bnr_list .ft_min {
	font-size: 200%;
	margin-top: .1em;
}
}


/*---------------------------------------------------------
message
---------------------------------------------------------*/
#message {
	position: relative;
	padding-top: 150px;
}
#message::before {
	position: absolute;
	content: "";
	background: url(../images/top/msg_bg@2x.jpg) no-repeat right top;
	background-size: contain;
	width: 62%;
	height: 748px;
	right: 0;
	top: -40px;
	z-index: -1;
}
#message .msg_inbox {
	position: relative;
}
#message .ft_att {
	color: #87CAB6;
	font-size: 112%;
	margin-bottom: 3em;
}
#message dt {
	font-size: min(312%,3.8vw);
	letter-spacing: .06em;
	line-height: 1.6;
	margin-bottom: .5em;
}
#message dd {
	line-height: 2.6em;
}
#message .box_img {
	max-width: 383px;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#message .msg_inbox {
	display: grid;
	justify-content: space-between;
	align-items: flex-end;
	grid-template-columns: 68% 30%;
}
#message .box_img {
	margin-bottom: -30%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#message dd {
	line-height: 2.2em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message {
	padding-top: 40vw;
}
#message::before {
	width: 100%;
}
#message .ft_att {
	font-size: 90%;
	margin-bottom: 2em;
}
#message dt {
	font-size: 150%;
}
#message dd {
	line-height: 2em;
}
#message .box_img {
	position: absolute;
	width: 50vw;
	right: 0;
	top: calc(100% + 20px);
}
}
/*message:animation
---------------------------------------------------------*/
#message .com_obj {
	top: 180px;
}
#message .com_obj:nth-of-type(1) {
	right: -5%;
}
#message .com_obj:nth-of-type(2) {
	right: 14%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#message .com_obj:nth-of-type(2) {
	right: 25%;
	top: 300px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message .com_obj:nth-of-type(2) {
	right: 30vw;
}
}


/*---------------------------------------------------------
kodawari
---------------------------------------------------------*/
#kodawari {
	padding-top: min(12vw,180px);
}
#kodawari .kdwr_title {
	position: relative;
	width: 60%;
	max-width: 716px;
	margin-left: auto;
	margin-right: 2%;
	margin-bottom: 5%;
}
/* kdwr_list */
#kodawari .kdwr_list .box_img {
	max-width: 433px;
	margin: 0 auto 6%;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img {
	position: relative;
	width: 100%;
	max-width: 706px;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img::before {
	position: absolute;
	content: "";
	background: radial-gradient(rgba(255,255,255,0) 40%,rgba(255,255,255,0.9) 60%);
	width: 100%;
	height: 92.8%;
	border-radius: 50%;
	left: 0;
	top: 3.4%;
	scale: 0;
	transition: scale 1.2s .8s;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img.anime_on::before {
	scale: 1;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img img {
	position: relative;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#kodawari .kdwr_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#kodawari .kdwr_list > li {
	width: 31%;
}
#kodawari .kdwr_list > li:nth-of-type(1) {
	position: relative;
	width: 100%;
	padding-left: 52%;
}
#kodawari .kdwr_list > li:nth-of-type(1) .com_no {
	margin-bottom: 1.8em;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img {
	position: absolute;
	width: 50.5%;
	left: -2%;
	bottom: 5%;
	margin-bottom: 0;
}
#kodawari .kdwr_list > li:nth-of-type(1) dt {
	font-size: min(3.4vw,262%);
	margin-bottom: .6em;
	text-indent: 0.5em;
	margin-left: -0.5em;
}
#kodawari .kdwr_list > li:nth-of-type(n+2) {
	margin-top: 50px;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#kodawari {
	padding-top: 15%;
}
#kodawari .kdwr_title {
	width: 60%;
	margin: 0 auto 6%;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img {
	width: 55%;
	left: -6%;
	bottom: 10%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#kodawari {
	padding-top: 26vw;
}
#kodawari .kdwr_title {
	width: 100%;
	margin: 0 auto 6%;
}
/* kdwr_list */
#kodawari .kdwr_list > li:nth-of-type(n+2) {
	margin-top: 8%;
}
#kodawari .kdwr_list .box_img {
	width: 85%;
}
#kodawari .kdwr_list > li:nth-of-type(1) .box_img {
	width: 106%;
	margin-left: -3%;
}
#kodawari .kdwr_list dt {
	font-size: 135%;
}
}
/*kodawari:animation
---------------------------------------------------------*/
#kodawari .traj_wrap {
	position: relative;
	max-width: 445px;
	opacity: 0;
	transition: all 1s;
}
#kodawari .traj_wrap.anime_on {
	opacity: 1;
}
#kodawari .traj_wrap .traj {
	width: 100%;
	height: 100%;
}
#kodawari .traj_wrap mask {
	fill: none;
	stroke:#FFFFFF;
	stroke-width: 20px;
    stroke-dashoffset: 340px;
	stroke-dasharray: 340px;
}
#kodawari .traj_wrap.anime_on mask {
	animation: traj-anm .8s 1s forwards;
}
@keyframes traj-anm {
    0% {stroke-dashoffset: 340px;}
    100% {stroke-dashoffset: 0px;}
}

#kodawari .traj_wrap .bird {
	position: absolute;
	width: 32%;
	left: 16%;
	top: 45.4%;
	left: 100%;
	top: 0;
	translate: -50% -50%;
	transition: all 1s;
	transform-origin: center;
}
#kodawari .traj_wrap.anime_on .bird {
	animation: flyanm .8s .8s linear both;
}
@keyframes flyanm {
	0% {
		left: 100%;
		top: 0;
		rotate: -45deg;
		opacity: 0;
	}
	20% {
		left: 80%;
		top: 50%;
		rotate: 0;
		opacity: 1;
	}
	44% {
		left: 56%;
		top: 65%;
	}
	60% {
		left: 40%;
		top: 60%;
	}
	100% {
		left: 16%;
		top: 45.4%;
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#kodawari .traj_wrap {
	position: absolute;
	width: 63%;
	left: 60%;
	top: -5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#kodawari .traj_wrap {
	width: 63vw;
	margin: 0 auto 5% 5%;
}
}


/*---------------------------------------------------------
tour
---------------------------------------------------------*/
.com_bg {
	padding-bottom: 0;
}
#tour {
	background: url(../images/top/bg_arc.svg) no-repeat left bottom -1px;
	background-size: 100% 21vw;
}
#tour .com_deco_txt1 {
	color: #FFF;
}
#tour iframe {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}
#tour .com_btn1 a {
	color: #FFF;
}
#tour .com_btn1 .ft_att {
	display: inline-block;
	letter-spacing: .08em;
	padding: .8em 1em;
	margin-left: 1em;
	border-left: 2px dotted currentColor;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#tour iframe {
	height: 50vw;
}
}


/*---------------------------------------------------------
treatment
---------------------------------------------------------*/
#treatment {
	padding-bottom: 70px;
}
#treatment .com_title1 {
	text-align: left;
	padding-left: 5.4%;
	margin-bottom: 1.8em;
}
#treatment .com_title1 .ft_min {
	margin-top: .8em;
}
#treatment .menu_wrap {
	background-color: #EFF0E6;
	padding: 20px 1.7%;
	border-radius: 15px;
	margin-top: 16px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#treatment {
	padding-bottom: 7%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#treatment {
	padding-bottom: 10%;
}
#treatment .com_title1 {
	padding-left: 2%;
}
#treatment .menu_wrap {
	padding: 4% 3.5%;
}
}
/*treatment:pick_list
---------------------------------------------------------*/
#treatment .pick_list > li {
	display: grid;
}
#treatment .pick_list a {
	position: relative;
	
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;

	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
	box-sizing: border-box;
	border-radius: .7em;
	padding: 0 3.9% 25px;
	border-radius: 15px;
}
#treatment .pick_list .ft_att {
	color: #FFF;
	font-size: min(1.8vw,125%);
	margin-bottom: .6em;
}
#treatment .pick_list .ft_min {
	font-size: min(375%,4.4vw);
	letter-spacing: normal;
	line-height: 1.3;
	margin-bottom: .2em;
}
#treatment .pick_list .item1 {
	width: 62%;
	max-width: 370px;
	margin-left: -6%;
	margin-bottom: -8%;
	translate: 0 -12%;
}
#treatment .pick_list .item2 {
	position: absolute;
	width: 40%;
	max-width: 280px;
	right: -1%;
	top: -4%;
}
#treatment .pick_list .text {
	padding: 0 3.6%;
	margin: 0 auto 1em;
}
#treatment .pick_list .point > li {
	text-align: center;
	font-size: min(100%,1.25vw);
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.3;
	color: #409FC3;
	background-color: #fff;
	box-sizing: border-box;
	border-radius: .8em;
	padding: 1em 1%;
	border-radius: 1em;
	border: 1px solid currentColor;
}
#treatment .pick_list .point > li span {
	display: block;
	color: #433200;
	font-size: 143%;
	line-height: 1.1;
	margin-top: .4em;
}
#treatment .pick_list > li:nth-of-type(1) a {
	background-color: #9CDDD7;
	background-image: url(../images/top/trt_imp_bg@2x.png);
}
#treatment .pick_list > li:nth-of-type(1) .item1 {
	margin-left: -9%;
}
#treatment .pick_list > li:nth-of-type(1) a:hover {background-color: #75D8CC;}

#treatment .pick_list > li:nth-of-type(2) a {
	background-image: url(../images/top/trt_ko_bg@2x.png);
	background-color: #FFBB89;
}
#treatment .pick_list > li:nth-of-type(2)  .point > li {color: #F46841;}
#treatment .pick_list > li:nth-of-type(2) .item2 {
	top: 4%;
}
#treatment .pick_list > li:nth-of-type(2) a:hover {background-color: #F7AF7F;}

/* animation */
#treatment .pick_list .item1 {
	transition-delay: .4s;
}
/* PC
------------------------------------------*/
@media only screen and (min-width: 960px) {
#treatment .pick_list .point {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3, 32.2%);
}
}
@media only screen and (min-width: 960px) and (max-width: 1450px) {
#treatment .pick_list .point br.sp_tb {
	display: block !important;
}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#treatment .pick_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2, 49.2%);
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#treatment .pick_list .ft_min {
	font-size: 4.6vw;
}
#treatment .pick_list .item1 {
	margin-bottom: 0;
}
#treatment .pick_list .item2 {
	width: 45%;
	right: -1%;
	top: -4%;
}
}
/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 959px) {
#treatment .pick_list .point > li {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 100%;
	letter-spacing: .02em;
	padding: 1em 3%;
	margin-top: 2.5%;
}
#treatment .pick_list .point > li span {
	font-size: 120%;
	margin-top: 0;
	margin-left: 1em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#treatment .pick_list > li {
	margin-top: 5%;
}
#treatment .pick_list a {
	padding: 0 3.9% 25px;
}
#treatment .pick_list .ft_att {
	font-size: 90%;
}
#treatment .pick_list .ft_min {
	font-size: 180%;
}
#treatment .pick_list .item2 {
	width: 45%;
}
#treatment .pick_list .point > li {
	font-size: 90%;
}
}

/*treatment:menu_list
---------------------------------------------------------*/
#treatment .menu_list {
	display: grid;
	grid-auto-columns: 1fr;
	justify-content: center;
}
#treatment .menu_list > li > a {
	position: relative;
	height: 4.8em;

	display: flex;
	align-items: center;

	text-align: center;
	font-size: min(1.6vw,125%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3;
	white-space: nowrap;
	background-color: #FFF;
	box-sizing: border-box;
	border-radius: .7em;
	padding: .1em;
}
#treatment .menu_list > li > a::before {
	display: inline-block;
	position: relative;
	content: "";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	min-width: 3em;
	min-height: 2em;
}
#treatment .menu_list > li > a span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 2.8em;
}
#treatment .menu_list > li > a:hover {
	background-color: #DFDDC8;
}
/* type2 */
#treatment .menu_list.type2 {
	grid-template-columns: repeat(auto-fit, minmax(24.2%,340px));
	margin-top: 18px;
}
#treatment .menu_list.type2 > li > a {
	justify-content: center;
	background-color: #DFDDC8;
}
#treatment .menu_list > li.menu_pri > a {
	color: #FFF;
	background-color: #433200;
}
#treatment .menu_list.type2 > li > a:hover {	background-color: #CEC9B9;}
#treatment .menu_list > li.menu_pri > a:hover {	background-color: #2E1900;}
/* PC
------------------------------------------*/
@media only screen and (min-width: 960px) {
#treatment .menu_list {
	grid-template-columns: repeat(6, 15.6%);
	/* grid-template-columns: repeat(auto-fit, minmax(218px, 1fr)); */
	column-gap: 1.28%;
	justify-content: center;
}
#treatment .menu_list > li:nth-of-type(n+7) {
	margin-top: 8.2%;
}
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* type1 */
#treatment .menu_list.type1 > li > a {
	height: 7.5em;
	flex-direction: column;
	justify-content: center;
}
#treatment .menu_list.type1 > li > a::before {
	margin-bottom: .2em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#treatment .menu_list {
	grid-template-columns: repeat(4, 24%);
	column-gap: 1.33%;
}
#treatment .menu_list > li:nth-of-type(n+5) {
	margin-top: 6%;
}
#treatment .menu_list > li > a {
	font-size: 2vw;
}
/* type2 */
#treatment .menu_list.type2 {
	grid-template-columns: repeat(2, 49%);
	margin-top: 15px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#treatment .menu_list {
	grid-template-columns: repeat(auto-fit, minmax(48.5%, 1fr));
	column-gap: 3%;
}
#treatment .menu_list > li:nth-of-type(n+3) {
	margin-top: 4%;
}
#treatment .menu_list > li > a {
	height: 4em;
	text-align: left;
	font-size: 90%;
	letter-spacing: .02em;
	padding: .1em 1em;
}
#treatment .menu_list > li > a::before {
	min-width: 2.4em;
	margin-left: -0.4em;
}
/* type2 */
#treatment .menu_list.type2,
#treatment .menu_list.type2 > li:nth-of-type(n+2) {
	margin-top: 2.5%;
}
#treatment .menu_list.type2 > li > a {
	justify-content: center;
}
#treatment .menu_list .menu_pri > a::after {
	display: block;
	content: "　";
}
}


/*---------------------------------------------------------
cases
---------------------------------------------------------*/
#cases {
	position: relative;
	padding-top: 70px;
}
#cases::before {
	position: absolute;
	content: "";
	width: 100%;
	height: calc(100% - 100px);
	background-color: #F9F1DF;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	left: 0;
	top: 0;
	z-index: -1;
}
#cases .com_title1 {
	text-align: left;
	padding: 0 3%;
}
#cases .com_deco_txt1 {
	color: #E9DDC7;
	margin-right: .2em;
}
/* inst_area */
#cases .inst_area {
	margin-top: 70px;
}
#cases .inst_area::before {
	background-color: #E2CEDD;
}
#cases .inst_area .feed_box {
	padding: 0 5%;
}
#cases .btn_more {
	position: absolute;
	display: block;
	width: 20%;
	max-width: 153px;
	background-color: #C08CBA;
	border-radius: 50%;
	right: -2%;
	bottom: 10px;
}
#cases .btn_more:hover {
	background-color: #C17ABC;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#cases .com_title1 {
	display: flex;
	align-items: flex-end;
	font-size: min(250%,4vw);
}
#cases .com_btn1 {
	margin-left: auto;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#cases {
	padding-top: 7%;
}
#cases .com_title1 {
	padding: 0 1%;
}
/* inst_area */
#cases .inst_area {
	margin-top: 7%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#cases {
	padding-top: 10%;
}
#cases::before {
	height: calc(100% - 70vw);
}
#cases .com_btn1 {
	position: absolute;
	right: 0;
	bottom: 0;
}
/* inst_area */
#cases .inst_area {
	margin-top: 6%;
}
#cases .btn_more {
	width: 22vw;
	right: auto;
	left: 30%;
	bottom: -45vw;
	z-index: 1;
}
}
/*cases:case_list
---------------------------------------------------------*/
.case_list > li {
	height: 100%;
}
.case_list > li > a {
	display: block;
	height: 100%;
	background-color: #fff;
	box-sizing: border-box;
	padding: 45px 5.5%;
	transition: box-shadow .5s;
}
.case_list > li > a:hover {
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
.case_list .title {
	text-align: center;
	font-size: min(156%,2.4vw);
	letter-spacing: .08em;
	line-height: 1.4;
	margin-top: .6em;
	margin-bottom: .5em;
}
.case_list p {
	font-size: 93%;
	line-height: 1.5;
}
/* figure */
.case_list figure {
	position: relative;
	width: 100%;
	display: grid;
	grid-template-columns: 50% 50%;
	column-gap: 1px;
	max-width: 400px;
	margin: 0 auto 5%;
}
.case_list figure::after {
	position: absolute;
	content: "";
	background: linear-gradient(to right, transparent, rgba(198,230,0,1) 40%);
	width: 1.8em;
	height: 2em;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	inset: 0;
	margin: auto;
}
.case_list figure > div {
	position: relative;
	overflow: hidden;
}
.case_list figure > div::before {
	display: block;
	content: "";
	padding-top: 110%;
}
.case_list figure img {
	position: absolute;
	height: 100%;
	object-fit: cover;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
}
.case_list figure .ft_att {
	position: absolute;
	color: #FFF;
	font-size: 106%;
	letter-spacing: .06em;
	text-shadow: 0 0 4px rgba(0,0,0,0.6);
	left: 1em;
	bottom: .5em;
}
/* cat_list */
.case_list .cat_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.case_list .cat_list > li {
	display: flex;
}
.case_list .cat_list > li p {
	color: #FFF;
	background-color: #C6B583;
	font-size: 93%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2;
	padding: .2em .6em;
	border-radius: .2em;
	margin: .4em;
}
.case_list .cat_list li.cat_c p {
	font-weight: normal;
	color: inherit;
	background-color: #EFF0E6;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.case_list {
	display: grid;
	grid-template-columns: repeat(auto-fit, 32.2%);
	column-gap: 1.7%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case_list > li > a {
	padding-top: 10%;
	padding-bottom: 10%;
}
/* cat_list */
.case_list .cat_list > li {
	font-size: 85%;
	letter-spacing: .05em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_list > li {
	width: 72vw;
	margin-right: 4.8vw;
}
.case_list > li > a {
	padding: 8% 6%;
}
.case_list .title {
	font-size: 110%;
}
/* cat_list */
.case_list .cat_list > li {
	font-size: 80%;
	letter-spacing: .05em;
}

}


/*---------------------------------------------------------
info
---------------------------------------------------------*/
/* title */
#info .inf_title .ft_min {
	font-size: min(125%,2vw);
	letter-spacing: .06em;
	line-height: 1.4;
	margin-bottom: .6em;
}
#info .inf_title .flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 2em;
}
#info .inf_title .ft_orp {
	color: #B8D200;
	font-size: min(4vw,3.62rem);
}
#info .inf_title .com_link1 {
	margin-top: .5em;
	margin-left: auto;
}
/* wp_list */
#info .wp_list a {
	position: relative;
	display: block;
	line-height: 1.4;
	box-sizing: border-box;
}
#info .wp_list .ft_att {
	color: #B8D200;
	font-size: 93%;
	margin-bottom: .8em;
}
#info .swiper-scrollbar {
	height: 6px;
	background-color: #EFF0E6;
}
#info .swiper-scrollbar,
#info .swiper-scrollbar-drag {
	border-radius: 0;
}
/* news */
#info .news .wp_list > li {
	margin-bottom: .8em;
}
#info .news .wp_list a {
	background-color: rgba(184,210,0,0.1);
	padding: 2em 14% 2em 9%;
	border-radius: 10em;
}
#info .news .wp_list a:hover {
	background-color: rgba(184,210,0,0.3);
}
#info .wp_list .com_arw {
	position: absolute;
	color: inherit;
	background-color: #fff;
	right: 8%;
	top: 50%;
	translate: -50% -50%;
}
/* blog */
#info .blog .inf_title .ft_orp,
#info .blog .com_link1 a:hover,
#info .blog .wp_list .ft_att {color: #F5893E;}
#info .blog .com_link1 a::after,
#info .blog .swiper-scrollbar-drag {background-color: #F5893E;}

#info .blog .blog_slider {
	padding-bottom: 30px;
}
#info .blog .wp_list {
	display: flex;
	padding-top: 20px;
}
#info .blog .wp_list > li {
	width: 24vw;
	max-width: 246px;
	margin-right: 1em;
}
#info .blog .wp_list a {
	padding: 1em 0;
}
#info .blog .wp_list .img_wrap {
	position: relative;
	overflow: hidden;
	margin-bottom: 1em;
}
#info .blog .wp_list .img_wrap::before {
	display: block;
	content: "";
	padding-top: 68%;
}
#info .blog .wp_list .img_wrap img {
	position: absolute;
	inset: 0;
	margin: auto;
	transition: scale .5s;
}
#info .blog .wp_list a:hover img {
	scale: 1.05;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#info .inbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 47% 47%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* news */
#info .news .wp_list a {
	padding-top: 1.6em;
	padding-bottom: 1.6em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* title */
#info .inf_title .ft_min {
	font-size: 110%;
}
#info .inf_title .flex {
	margin-bottom: 1em;
}
#info .inf_title .ft_orp {
	font-size: 160%;
}
/* wp_list */
#info .wp_list .ft_att {
	font-size: 90%;
}
#info .swiper-scrollbar {
	height: 4px;
}
/* news */
#info .news {
	margin-bottom: 10%;
}
#info .news .wp_list > li {
	margin-bottom: .5em;
}
#info .news .wp_list a {
	padding: 1.6em 20% 1.6em 12%;
}
#info .wp_list .com_arw {
	right: 5%;
}
/*blog*/
#info .blog .blog_slider {
	padding-bottom: 5%;
}
#info .blog .scl_area {
	overflow: hidden;
}
#info .blog .wp_list {
	padding-top: 0;
}
#info .blog .wp_list > li {
	width: 40vw;
}
}


/*---------------------------------------------------------
movie
---------------------------------------------------------*/
#movie {
	position: relative;
	text-align: center;
	background: url(../images/top/ytb_bg@2x.jpg) no-repeat center center;
	background-size: cover;
	padding-top: 90px;
}
#movie::before {
	position: absolute;
	content: "";
	background: url(../images/common/shadow@2x.png) no-repeat center top;
	background-size: 90% auto;
	width: 100%;
	height: 150px;
	left: 0;
	top: 0;
}
#movie .com_deco_txt1,
#movie .com_deco_txt1 + p {
	position: relative;
	color: #FFF;
}
#movie .com_deco_txt1 {
	margin-bottom: .2em;
}
#movie .inbox {
	background-color: #fff;
	box-sizing: border-box;
	padding: 80px 3.5% 50px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	margin-top: 50px;
}
/* btn_ytb */
#movie .btn_ytb {
	text-align: center;
}
#movie .btn_ytb a {
	position: relative;
	max-width: max-content;
	display: inline-block;
	font-size: 106%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3;
	box-sizing: border-box;
	padding: 1em 3em;
	border: 8px solid #EFF0E6;
	margin: 0 auto;
}
#movie .btn_ytb img {
	width: 11.3em;
}
#movie .btn_ytb .com_arw {
	font-size: 120%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#movie .mv_list {
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(3,31%);
	column-gap: 3.5%;
}
#movie .mv_list > li:nth-of-type(n+4) {
	margin-top: 30px;
}
/* btn_ytb */
#movie .btn_ytb a {
	display: flex;
	justify-content: center;
	align-items: center;
}
#movie .btn_ytb img {
	margin: 0;
	margin-right: 2em;
}
#movie .btn_ytb .com_arw {
	margin-left: 1.4em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#movie {
	padding-top: 9%;
}
#movie .inbox {
	padding: 8% 3.5% 5%;
	margin-top: 5%;
}
#movie .mv_list {
	grid-template-columns: repeat(2,47%);
}
#movie .mv_list > li:nth-of-type(n+3) {
	margin-top: 30px;
}
/* btn_ytb */
#movie .btn_ytb {
	text-align: center;
}
#movie .btn_ytb a {
	font-size: 100%;
	letter-spacing: .08em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#movie {
	background-image: url(../images/top/ytb_bg_sp@2x.jpg);
	padding-top: 12%;
}
#movie .inbox {
	padding: 8% 6% 0;
	margin-top: 5%;
}
#movie .mv_list > li:nth-of-type(n+2) {
	margin-top: 5%;
}
/* btn_ytb */
#movie .btn_ytb {
	text-align: center;
}
#movie .btn_ytb a {
	font-size: 96%;
	letter-spacing: .08em;
	padding: 1em 5% .8em;
	border-width: 6px;
}
#movie .btn_ytb img {
	width: 10em;
	margin-bottom: .5em;
}
#movie .btn_ytb p::after {
	display: inline-block;
	font-family: 'fontello';
	content: '\e801';
	rotate: -45deg;
}
#movie .btn_ytb .com_arw {
	display: none;
}
}


/*---------------------------------------------------------
inst_area
---------------------------------------------------------*/
.inst_area {
	position: relative;
	width: 91%;
	max-width: 1300px;
	box-sizing: border-box;
	padding: 45px 0;
	margin-left: auto;
	margin-right: auto;
}
.inst_area::before {
	position: absolute;
	content: "";
	width: 100vw;
	height: 100%;
	background-color: #87CAB6;
	top: 0;
	z-index: -1;
}
.inst_area > * {
	position: relative;
}
.inst_area .tit_box .circle {
	display: block;
	max-width: 328px;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.inst_area .tit_box a.circle:hover {
	background-color: rgba(255,255,255,0.8);
}
.inst_area .tit_box .pose {
	max-width: 260px;
}
/* hashtag */
.inst_area .hashtag > li {
	position: absolute;
	display: inline-block;
	font-size: 93%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4;
	background-color: #fff;
	padding: .6em 1em;
	border-radius: 1em;
	border-bottom-right-radius: 0;
}
.inst_area .hashtag > li::before {
	content: "#";
	color: #C08CBA;
	margin-right: .2em;
}
.inst_area .hashtag > li:nth-of-type(1) {
	left: 0;
	top: -1em;
}
.inst_area .hashtag > li:nth-of-type(2) {
	left: 50%;
	bottom: -1em;
}
.inst_area .hashtag > li:nth-of-type(3) {
	right: 0;
	top: 2em;
}
.inst_area .hashtag > li:nth-of-type(2):before {color: #82BF9D;}
.inst_area .hashtag > li:nth-of-type(3):before {color: #FFA8B8;}

/* align_l */
.inst_area.align_l::before {
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	right: 0;
}
.inst_area.align_l #sb_instagram {
	margin-left: calc(55% - 50vw);
}
/* align_r */
.inst_area.align_r::before {
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	left: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.inst_area .tit_box {
	position: absolute;
	width: 28%;
	max-width: 328px;
	right: -1%;
	bottom: 0;
}
.inst_area .tit_box .pose {
	margin: -22% auto 0;
	pointer-events: none;
}
/* align_l */
.inst_area.align_l {
	padding-right: min(310px,22%);
}
/* align_r */
.inst_area.align_r {
	padding-left: min(310px,22%);
}
.inst_area.align_r  .tit_box {
	left: -1%;
	right: auto;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.inst_area {
	width: 95%;
	padding: 6% 4%;
}
.inst_area .tit_box {
	max-width: none;
}
.inst_area .tit_box .circle {
	position: absolute;
	width: 48vw;
}
.inst_area .tit_box .pose {
	width: 46vw;
}
/* hashtag */
.inst_area .hashtag > li {
	font-size: 75%;
}
/* align_l */
.inst_area.align_l {
	display: flex;
	flex-direction: column-reverse;
	padding-top: 16vw;
	margin-left: 0;
}
.inst_area.align_l .tit_box .circle {
	right: -6%;
	bottom: -6%;
}
.inst_area.align_l #sb_instagram {
	margin-left: calc(50% - 50vw);
}
/* align_r */
.inst_area.align_r {
	padding: 12% 0 0 4%;
	margin-right: 0;
}
.inst_area.align_r .pose {
	margin: 10% 0 0 auto;
}
.inst_area.align_r .circle {
	left: -7%;
	bottom: -8%;
}
}
/*instagram:plugin
---------------------------------------------------------*/
#sb_instagram {
	width: 80vw;
}
#sb_instagram #sbi_images {
    display: block !important;
    padding: 0 !important;
}
#sb_instagram #sbi_images .sbi_item {
	width: min(15.2vw,228px)!important;
	margin: 0 min(40px,2.6vw) 0 0 !important;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#sb_instagram {
	width: 90vw;
}
#sb_instagram #sbi_images {
    display: block !important;
    padding: 0 !important;
}
#sb_instagram #sbi_images .sbi_item {
	width: 40vw !important;
}
}

/*---------------------------------------------------------
recruit
---------------------------------------------------------*/
#recruit .rec_copy {
	width: 60%;
	max-width: 688px;
	margin: 0 3.2% 2em auto;
}
#recruit .rec_bg {
	position: relative;
	width: 97%;
	height: min(29vw,500px);
	background: url(../images/top/rec_bg@2x.jpg) no-repeat center center;
	background-size: cover;
	margin-left: auto;
}
#recruit a {
	position: absolute;
	display: block;
	background-color: #fff;
	left: 0;
	bottom: 0;

	font-size: min(125%,2vw);
	letter-spacing: .08em;
	line-height: 1.4;
	padding: 1.5em 2.5em 0 1.4em;
	translate: 0 1em;
	transition: padding .4s;
}
#recruit .ft_orp {
	color: #F5893E;
	font-size: 450%;
	letter-spacing: .08em;
	margin-bottom: .1em;
}
#recruit .com_arw {
	font-size: 26%;
	vertical-align: 0.8em;
	margin-left: .6em;
}
#recruit .com_arw::before {
	color: #433200;
}
#recruit a:hover {padding-right: 3.5em;}
#recruit a:hover .com_arw {background-color: #F5893E;}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#recruit {
	padding-bottom: 10%;
}
#recruit .rec_copy {
	width: 70%;
	margin-bottom: 1em;
}
#recruit .rec_bg {
	height: 35vw;
	margin-left: 0;
}
#recruit a {
	font-size: 85%;
	translate: 0 3em;
}
#recruit .ft_orp {
	font-size: 320%;
}
}


/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

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

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}