@charset "UTF-8";

/* under_white
---------------------------------------------------------*/
.under_white{
	position: relative;
}
.under_white::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 100%;
	height: 2em;
	bottom: 0;
	left: 0;
}
#menu .under_white::before{
	height: 2.5em;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.under_white::before,
#menu .under_white::before{
	height: 1.5em;
}
}

/*m_img
---------------------------------------------------------*/
.m_img {
	position: relative;
	z-index: 5;
	width: 85%!important;
	margin-left: auto;
	margin-right: 0;
}
.m_slider .swiper-slide {
	position: relative;
	width: 100%;
	height: 100vh;	/*画面高さ100%*/
	min-height: 500px;
}
.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");
	background-position: left center;
}
.m_slider .slide4 {
	background-image: url("../images/top/m_img4@2x.jpg");
	background-position: center top;
}

.m_slider .swiper-slide::before {
	content: "";	/*メインイメージの視認性を上げるグラデ*/
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
}
.m_slider .slide1::before {
	background: linear-gradient(to bottom,  rgba(227,232,235,1) 1%,rgba(227,232,235,1) 40%,rgba(227,232,235,0) 100%); 
	background-size: 100% auto;
	height: 270px;
}
.m_slider .slide3::before {
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); 
	background-size: 100% auto;
	height: 52%;
	opacity: .9;
}
.m_slider .slide4::before {
	background: linear-gradient(0deg,rgba(227, 232, 235, 0) 0%, rgba(232, 237, 240, 0.7) 100%);
	height: 40%;
}

/*m_abs*/
.m_slider .m_abs {
	position: absolute;
	opacity: 0;
	transition: opacity .8s .3s;
	z-index: 10;
}
.m_slider .slide1 .m_abs {
	width: min(535px, 56vh);	/*幅÷800×0.85*/
	left: -8%;
	top: 32%;
}
.m_slider .slide3 .m_abs {
	width: min(650px, 69vh);
	right: 4%;
	top: 26%;
}
.m_slider .slide4 .m_abs {
	width: min(499px, 53vh);
	left: -8%;
	top: 28%;
}
.m_slider li[class$="-active"] .m_abs{
	opacity: 1;
}
.m_slider .m_abs .com_btn1{
	margin-left: 0;
	margin-right: auto;
}
.m_slider .slide3 .m_abs .com_btn1{
	margin-left: 6%;
}
.m_slider .m_abs .com_btn1 a {
	font-size: min(140%,2.6vh);
	margin-top: 1em;
}
.m_slider .slide4 .m_abs .com_btn1 a{
	margin-top: 1.5em;
}

/*m_kira*/
.m_kira li{
	position: absolute;
	width: 26%;
}
.m_kira li:nth-child(1){
	top:0;
	left: 5%;
}
.slide3 .m_kira li:nth-child(1){
	left: -23%;
}
.m_kira li:nth-child(2){
	bottom:-30px;
	left: 26.5%;
}
.m_kira li img{
	width: 100%;
	height: 100%;
}

/*com_kira*/
.m_img_area .com_kira{
	bottom: 0;
	left: -43%;
}

/*アニメーション*/
.m_img {
	opacity: 0;
	transition: 0.9s;
}
.anime_on .m_img {
	opacity: 1;
}
.m_img_area .m_slider .swiper-slide[class*=-prev] .anime_line_orig,
.m_img_area .m_slider .swiper-slide[class*=-active] .anime_line_orig,
.m_img_area .m_slider .swiper-slide[class*=-prev] .com_kira.anime_line_orig,
.m_img_area .m_slider .swiper-slide[class*=-active] .com_kira.anime_line_orig {
    animation: reveal-diag 1s 0.8s ease-out forwards;
}
.m_img_area .m_slider .swiper-slide[class*=-next] .anime_line_orig,
.m_img_area .m_slider .swiper-slide[class*=-next] .com_kira.anime_line_orig {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
	
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_slider .swiper-slide {
	aspect-ratio: 100 / 135;
	height: auto;
}
.m_slider .slide1::before{
	height: 25vw;
}
.m_slider .slide1 .m_abs {
	width: 45vw;
	left: -12%;
	top: 50%;
	transform: translateY(-50%);
}
.m_slider .slide3 .m_abs {
	width: 55vw;
	right: 0;
	top: 54%;
	transform: translateY(-50%);
}
.m_slider .slide4 .m_abs {
	width: 40vw;
	left: -10%;
	top: 51%;
	transform: translateY(-50%);
}
.m_slider .m_abs .com_btn1 a {
	font-size: 2.4vw;
}
	
/*m_kira*/
.m_kira li{
	width: 35%;
}
.m_kira li:nth-child(2){
	bottom:-3vw;
	left: 32%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_slider .swiper-slide {
	aspect-ratio: 100 / 135;
	height: auto;
}
.m_img{
	width: 88%!important;
}
.m_slider .slide1 {background-image: url("../images/top/m_img1_sp@2x.jpg");}
.m_slider .slide4 {background-image: url("../images/top/m_img4_sp@2x.jpg");}	
	
.m_slider .slide3{
	background-position: top left;
}
.m_slider .slide1::before{
	display: none;
}
	
/*m_abs*/
.m_slider .slide1 .m_abs {
	width: 70%;	/*目分量*/
	left: -9%;
	top: 62%;
	transform: translateY(-50%);
}
.m_slider .slide3 .m_abs {
	width: 80%;
	right: 2%;
	top: 58%;
	transform: translateY(-50%);
}
.m_slider .slide4 .m_abs {
	width: 70%;
	left: -10%;
	top: 60%;
	transform: translateY(-50%);
}
.m_slider .slide4 .m_abs .m_copy {
	filter: drop-shadow(0 0 10px rgba(255,255,255,1.0));
}
.m_slider .slide4::before {
	height: 80%;
}
.m_slider .m_abs .com_btn1 {
	max-width: 12em;
}	
.m_slider .m_abs .com_btn1 a{
	font-size: 100%;
	margin-top: .7em;
}
.m_slider .slide4 .m_abs .com_btn1 a{
	margin-top: 1em;
}
	
/*m_kira*/
.m_kira li{
	width: 60%;
}
.m_kira li:nth-child(1){
	top:-30vw;
	left: -4%;
}
.slide3 .m_kira li:nth-child(1){
	left: -30%;
}
.m_kira li:nth-child(2){
	bottom:-55vw;
	left:60%;
}
	
/*com_kira*/
.m_img_area .com_kira{
	bottom: 30vw;
	left: -40%;
}
}


/* アモーレクリニック
---------------------------------------------------------*/
#clinic .bg{
	position: relative;
	background: #a79564;
	padding-top:min(310px,27vw);
	padding-bottom:min(85px,7vw);
	margin-top: -170px;
}
#clinic .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/list_bg1@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 50%;
	max-width: 750px;
	height: 1000px;
	top:0;
	left: 0;
}
#clinic .bg::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/list_bg2@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 50%;
	max-width: 750px;
	height: 1000px;
	bottom:0;
	right: 0;
}

#clinic .w1320{
	position: relative;
	z-index: 2;
}
#clinic .flex_l{
	width: 14%;
}
#clinic .flex_r{
	width:82%;
}
#clinic .flex_r .list{
	justify-content: start;
	flex-wrap: wrap;
	width: 105%;
}
#clinic .flex_r .list li{
	width: 33.333%;
	border-left: 1px solid #fff;
	box-sizing: border-box;
	padding-left:min(2.4em,2vw);
	margin-top: 2.5rem;
}
#clinic .flex_r .list li:nth-child(-n+3){
	margin-top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#clinic .bg{
	padding: 17vw 0 6vw;
	margin-top: -9vw;
}
#clinic .flex_l{
	width: 16%;
}
#clinic .flex_r{
	width:80%;
}
#clinic .flex_r .list{
	justify-content: start;
	flex-wrap: wrap;
	width: 100%;
}
#clinic .flex_r .list li{
	width: 50%;
	padding-left: 2.4em;
	margin-top: 3%;
}
#clinic .flex_r .list li:nth-child(3){
	margin-top:3%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#clinic .bg{
	padding: 15vw 10% 8vw;
	margin-top: -10vw;
}
#clinic .bg::before{
	width:80%;
}
#clinic .bg::after{
	width:80%;
}
#clinic .flex_box{
	display: block;
}
#clinic .flex_l{
	width: 60%;
	max-width: 100%;
	margin-bottom: 6%;
}
#clinic .flex_r{
	width:100%;
}
#clinic .flex_r .list{
	width: 100%;
}
#clinic .flex_r .list li{
	width: 100%;
	padding-left: 1.0em;
	margin-top: 7%;
}
#clinic .flex_r .list li:nth-child(2),
#clinic .flex_r .list li:nth-child(3){
	margin-top: 7%;
}
}



/* アモーレクリニックが選ばれる理由
---------------------------------------------------------*/
#reason .bg{
	position: relative;
}
#reason .bg::before{
	position: absolute;
	display:block;
	content: "";
	background: url("../images/top/lead_bg@2x.png")no-repeat top left;
	background-size: auto 100%;
	width: 1500px;
	height: 100%;
	top:0;
	left: 0;
	z-index: -1;
	opacity: 0;
}
#reason.anime_on .bg::before{
	opacity: 1;
	transition: 3s;
}
#reason .w1320{
	position: relative;
	padding-top: 80px;
}
#reason .com_kira{
	top:0;
	right: -25%;
}

#reason .cross{
	align-items: center;
	margin: 4em 0 2.5em;
}
#reason .cross li{
	width: 41%;
}
#reason .cross li:nth-child(1){
	text-align: right;
}
#reason .cross li:nth-child(2){
	width: 9%;
}
#reason .cross li:nth-child(3){
	text-align: left;
}
#reason .cross li dl{
	display: inline-block;
	text-align: center;
	font-size: min(100%,1.6vw);
}
#reason .cross li dt{
	font-size: 350%;
	letter-spacing: 0.08em;
	line-height: 1em;
}
#reason .cross li dd{
	font-size: 280%;
	letter-spacing: 0.08em;
	line-height: 1em;
	margin-top: .4em;
}
#reason .txt1 dt{
	line-height: 2.2em;
	margin-bottom:1em;
}
#reason .inbox{
	position: relative;
	margin-top: 70px;
	padding-bottom: 110px;
}
#reason .inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to right,  rgba(241,240,238,0) 0%,rgba(241,240,238,1) 50%,rgba(241,240,238,0) 100%);
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 1.3em);
	bottom: 0;
	left:0;
}
#reason .inbox ol{
	position: relative;
	z-index: 2;
	max-width: 870px;
	margin: 0 auto;
}
#reason .inbox ol li{
	width: 29.5%;
}
#reason .inbox ol p:nth-child(1){
	font-size: min(300%,4vw);
	letter-spacing: 0.2em;
	line-height: 1em;
}
#reason .inbox ol p:nth-child(2){
	margin: .5em 0;
}
#reason .inbox ol p:nth-child(3){
	text-align: left;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#reason .w1320{
	padding-top: 8vw;
}
#reason .cross{
	margin: 5vw 0 3vw;
}
#reason .cross li dd{
	margin-top: .3em;
}
#reason .txt1 dt{
	line-height: 2em;
	margin-bottom: .5em;
}
#reason .inbox{
	margin-top: 5vw;
	padding-bottom: 9vw;
}
#reason .inbox::before{
	height: calc(100% - .8em);
}
#reason .inbox ol li{
	width: 31%;
}
#reason .inbox ol p:nth-child(2){
	margin: .4em 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#reason .bg::before{
	background-size: 25% auto;
}
#reason.anime_on .bg::before{
	opacity: .5;
}
#reason .w1320{
	padding-top: 12vw;
}
#reason .com_kira{
	top:0;
	right:-40%;
}
#reason .cross{
	margin: 2em 0 1.5em;
}
#reason .cross li:nth-child(2){
	width: 12%;
}
#reason .cross li dl{
	font-size: 1.6vw;
}
#reason .txt1 dt{
	line-height: 2em;
	margin-bottom:1em;
}
#reason .inbox{
	margin-top: 7vw;
	padding-bottom: 12vw;
}
#reason .inbox::before{
	height: calc(100% - 1em);
}
#reason .inbox ol li{
	width: 31%;
}
#reason .inbox ol p:nth-child(1){
	font-size: 180%;
}
#reason .inbox ol p:nth-child(2){
	margin: .4em 0 .3em;
}
#reason .inbox ol p:nth-child(3){
	font-size: 90%;
}
}



/* 人気の施術
---------------------------------------------------------*/
#service .bg {
	background: #756159;
	padding: 100px 2% 60px;
}
#service .bg .fs46 {
	margin-bottom: 1em;
}
#service ul {
	width: 100%;
	max-width: 1340px;
	margin-left: auto;
	margin-right: auto;
	font-size: min(135%,1.8vw);
	letter-spacing: normal;
	line-height: 1.3em;
}
#service ul li {
	width: 14.28%;
}
#service ul li div {
	width: 79%;
	margin: 0 auto .6em;
}
#service ul li div img {
	background: #fff;
	border-radius: min(40px,2.5vw);
}
#service ul li:hover div img {
	border-radius: 50%;
	background: #a79564;
}
#service ul li:hover a {
	color: #a79564;
}
#service ul li div img,
#service ul li a {
	transition: 0.4s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#service .bg{
	padding: 6vw 2% 5vw;
}
#service ul {
	font-size: 2.2vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#service .bg {
	padding: 10vw 2% 10vw;
}
#service .bg .fs46 {
	margin-bottom:.8em;
}
#service ul {
	flex-wrap: wrap;
	font-size: 105%;
	letter-spacing: .05em;
	line-height: 1.2em;
}
#service ul li {
	width: 33.333%;
	margin-top: 1.2em;
}
#service ul li:nth-child(-n+3) {
	margin-top: 0;
}
#service ul li div {
	width: 75%;
	margin: 0 auto .3em;
}
#service ul li div img {
	border-radius: 6.0vw;
}
}




/* 施術部位から探す
---------------------------------------------------------*/
#menu .bg_brown1{
	background: #463c33;
}
#menu .bg_brown1 .w1200{
	position: relative;
	padding-top: 70px;
}
#menu .com_kira{
	bottom: -170px;
	left: -20%;
}
#menu .fs46 {
	margin-bottom: 1.0em;
}
#menu .com_btn1_list{
	margin-top: 70px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#menu .bg_brown1 .w1200{
	padding-top: 6vw;
}
#menu .com_kira{
	bottom: -10vw;
}
#menu .com_btn1_list{
	margin-top: 5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#menu .bg_brown1 .w1200{
	padding-top: 9vw;
}
#menu .com_kira{
	bottom: -10vw;
	left: -25%;
}
#menu .fs46{
	margin-bottom: .7em;
}
#menu .com_btn1_list{
	margin-top: 8%;
}
}



/* おすすめ施術
---------------------------------------------------------*/
#osusume {
	position: relative;
	z-index: 2;
}
#osusume .max_width {
	padding-top: 70px;
	padding-bottom: 150px;
}
#osusume h2 {
	margin-bottom: 1.0em;
}
#osusume .osusume_slider {
	width: 100%; 
	position: relative;
}
#osusume .osusume_slider .swiper-slide {
	width: 35vw;
    max-width: 420px;
    opacity: 0.3;
	transition: opacity 0.4s;
}
#osusume .osusume_slider .swiper-slide[class*=-active],
#osusume .osusume_slider .swiper-slide[class*=-prev],
#osusume .osusume_slider .swiper-slide[class*=-next] {
	opacity: 1;
}
#osusume .osusume_slider .swiper-slide::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/osu_shadow@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 100%;
	height: 8vw;
	max-height: 30px;
	top: 100%;
	left: 0;
}
#osusume .osusume_slider .arrow_list div {
	position: absolute;
	top: 50%;
	z-index: 2;
}
#osusume .osusume_slider .com_slider_arrow .icon-arrow_kaku {
	font-size: 70%;
}
#osusume .osusume_slider .btn_prev {
	left: 0;
	transform: translateY(-50%) rotate(180deg);
}
#osusume .osusume_slider .btn_next {
	right: 0;
	transform: translateY(-50%);
}
#osusume .osusume_slider .slide_dotto {
	position: absolute;
	z-index: 5;
	width: 90%;
	margin: auto;
	left: 0;
	right: 0;
	top: 130%;
	display: flex;
    justify-content: center;
    align-items: center;
}
#osusume .osusume_slider .swiper-pagination-bullet {
	display: block;
    background: #f1f0ee;
	width: 10px;
	height: 10px;
	margin: 0 7px;
    opacity: 1;
	cursor: default;
}
#osusume .osusume_slider .swiper-pagination-bullet-active {
    background: #d5bd8f;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#osusume .max_width {
	padding-top: 5vw;
	padding-bottom: 12vw;
}
#osusume h2 {
	margin-bottom: .7em;
}
#osusume .osusume_slider .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#osusume .max_width {
	padding-top: 9vw;
	padding-bottom: 22vw;
}
#osusume h2 {
	margin-bottom: .8em;
}
#osusume .osusume_slider .swiper-slide {
	width: 70vw;
    opacity: 1 !important;
}
#osusume .osusume_slider .com_slider_arrow .icon-arrow_kaku {
	font-size: 50%;
}
#osusume .osusume_slider .btn_prev {
	left: -.5em;
}
#osusume .osusume_slider .btn_next {
	right: -.5em;
}
#osusume .osusume_slider .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
}
}



/* リリース情報
---------------------------------------------------------*/
#release .bg{
	background: #f1f0ee;
	padding: 65px 0 80px;
}
#release .fs30{
	position: relative;
	padding-top: 1.9em;
	box-sizing: border-box;
	margin-bottom: 1.3em;
}
#release .fs30::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/icom_ri@2x.png")no-repeat top center;
	background-size: 100% auto;
	width: 1.6em;
	height: 2em;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

/*スクロールバー*/
.scl_area{
    position: relative;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#release .bg{
	padding: 6vw 0 7vw;
}
#release .fs30{
	padding-top: 1.5em;
	margin-bottom: 1.2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#release .bg{
	padding: 10vw 0 14vw;
}
#release .fs30{
	padding-top: 1.9em;
	margin-bottom: 1.3em;
}
#release .fs30::before{
	width: 1.8em;
}
#release .com_btn1{
	margin-top: 2em;
}
}



/* ドクター紹介
---------------------------------------------------------*/
#doctor .w1320{
	padding-bottom: 120px;
	position: relative;
}
#doctor .com_kira_w.abs1{
	top:0;
	right: -19%;
}
#doctor .com_kira_w.abs2{
	top:-15vw;
	left: -45%;
}
#doctor .com_kira_w.abs3{
	top: 0;
	right: 0;
	transform: translate(50%,-10%);
	z-index: -3;
}
#doctor .index{
	position: relative;
	padding-top: 120px;
	margin-bottom: 130px;
}
#doctor .index .ft_cin{
	font-size: min(600%, 7.5vw);
	line-height: 1em;
	letter-spacing: 0.1em;
}
#doctor .doc_list section{
	position: relative;
	margin-bottom: 130px;
}
#doctor .doc_list section:last-child{
	margin-bottom: 0;
}
#doctor .doc_list .img{
	position: absolute;
	top:-60px;
	width: 48.5%;
	z-index: -2;
}
#doctor .doc_list section:nth-child(odd) .img{
	left: -7%;
}
#doctor .doc_list section:nth-child(even) .img{
	right: -7%;
}
#doctor .doc_list .txt{
	width: 72%;
	background:rgba(167,149,100,0.20);
	padding: 80px 4% 50px;
	box-sizing: border-box;
}
#doctor .doc_list section:nth-child(odd) .txt{
	margin-left: auto;
	margin-right: 0;
}
#doctor .doc_list .tit{
	font-size: min(150%,2.5vw);
	letter-spacing: 0.17em;
	line-height:2.2em;
	word-break: break-all;
	margin-bottom: 1.1rem;
}
#doctor .doc_list .tit a{
	display: block;
}
#doctor .doc_list .tit span{
	position: relative;
	font-size:160%;
	letter-spacing: 0.19em;
	padding-right: 1.2em;
	box-sizing: border-box;
}
#doctor .doc_list .tit span i{
	position: absolute;
	top: 55%;
	transform: translateY(-50%);
	right: 0;
	transition: 0.4s;
}
#doctor .doc_list .tit:hover span i{
	right:-1em;
	transition: 0.4s;
}
#doctor .doc_list .sns{
	justify-content: start;
	margin-bottom: 1.5em;
}
#doctor .doc_list .sns li {
	width: 2.5em;
	margin-right: 1.5em;
}
#doctor .doc_list .sns li:last-child {
	margin-right:0;
}

#doctor .doc_list .txt_inbox{
	max-width: 790px;
	margin: 0 auto;
}
#doctor .doc_list .reki{
	border-top:1px solid #fff;
	margin-top: 30px;
	padding-top: 25px;
}
#doctor .doc_list .reki li{
	position: relative;
	padding-left: .8em;
	box-sizing: border-box;
	line-height: 1.5em;
}
#doctor .doc_list .reki li::before{
	position: relative;
	display: block;
	content: "";
	background: #d5bd8f;
	background-size: 100% auto;
	width: 4px;
	height: 4px;
	top: .8em;
	left: -.8em;
	border-radius: 50%;
}
#doctor .doc_list .reki li.ft_no{
	padding-left: 0;
	font-size:125%;
	letter-spacing: 0.1em;
}
#doctor .doc_list .reki li.ft_no::before{
	display: none;
}
#doctor .txt{
	position: relative;
	z-index: 5;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#doctor .w1320{
	padding-bottom: 8vw;
}
#doctor .com_kira_w.abs2{
	top:-18vw;
	left: -45%;
}
#doctor .com_kira_w.abs3{
	transform: translate(60%,-50%);
}
#doctor .index{
	padding-top: 8vw;
	margin-bottom: 8vw;
}
#doctor .doc_list section{
	margin-bottom: 6vw;
}
#doctor .doc_list .img{
	width: 50%;
	top:-3vw;
}
#doctor .doc_list section:nth-child(odd) .img{
	left: -4%;
}
#doctor .doc_list section:nth-child(even) .img{
	right: -4%;
}
#doctor .doc_list .txt{
	width: 65%;
	padding: 4vw 4% 4.5vw;
}	
	
#doctor .doc_list section:nth-child(odd) .txt{
	margin-right: -4%;
}
#doctor .doc_list section:nth-child(even) .txt{
	margin-left: -4%;
}
#doctor .doc_list .tit{
	margin-bottom: .9rem;
}	
#doctor .doc_list .tit{
	line-height:2em;
}
#doctor .doc_list .sns{
	margin-bottom: 1.2em;
}
#doctor .doc_list .sns li {
	width: 2.2em;
	margin-right: 1em;
}
#doctor .doc_list .reki{
	margin-top: 2.5vw;
	padding-top:3vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#doctor .w1320{
	padding-bottom: 12vw;
}
#doctor .com_kira_w.abs1{
	right: -35%;
	z-index: 2;
}
#doctor .com_kira_w.abs2{
	left: -51%;
	z-index: 2;
}
#doctor .com_kira_w.abs3{
	transform: translate(50%,-20%);
	z-index: 2;
}
#doctor .index{
	padding-top: 12vw;
	margin-bottom: 7vw;
}
#doctor .index .ft_cin{
	font-size:320%;
}
#doctor .doc_list section{
	position: relative;
	margin-bottom: 6vw;
}
#doctor .doc_list section::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 15%;
	height: 100%;
	top:0;
}
#doctor .doc_list section:nth-child(odd)::before{
	right: -4.5%;
}
#doctor .doc_list section:nth-child(even)::before{
	left: -4.5%;
}
#doctor .doc_list .img{
	position: static;
	width:109%;
	margin-bottom: -7vw;
	height: 55vw;
	overflow: hidden;
}
#doctor .doc_list section:nth-child(odd) .img{
	margin-left: -4.5%;
}
#doctor .doc_list section:nth-child(even) .img{
	margin-right: -4.5%;
}
#doctor .doc_list .txt{
	position: relative;
	z-index: 2;
	width:100%;
	padding: 8% 6% 8%;
}
#doctor .doc_list .tit{
	font-size: 105%;
	margin-bottom: 1rem;
}
#doctor .doc_list .sns{
	margin-bottom: 1em;
}
#doctor .doc_list .sns li {
	width:1.8em;
	margin-right: .8em;
}
#doctor .doc_list .reki{
	margin-top: 5vw;
	padding-top: 5vw;
}
#doctor .doc_list .reki li.ft_no{
	font-size:115%;
}
}



/* 症例
---------------------------------------------------------*/
#case .contentpage_bg2 {
	position: relative;
}
#case .contentpage_bg2 .btm_btn {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateY(50%);
}
#case .contentpage_bg2 h2 {
	margin-bottom: 1.5em;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#case {
	margin-bottom: 20%;
}
}



/* SNS
---------------------------------------------------------*/
#sns .w1280{
	padding-top: 140px;
	padding-bottom: 120px;
}
#sns h2{
	position: relative;
	padding-left: 1.5em;
	box-sizing: border-box;
	font-size: min(355%,4.5vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	border-bottom: 1px solid #ccc;
	padding-bottom:.5em;
	margin-bottom: 60px;
}
#sns h2::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_ins@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 1em;
	height: 1em;
	top:-0.05em;
	left: 0;
}
#sns .tiktok h2::before{
	background-image: url("../images/common/icon_ti_b@2x.png");
}

#sns .index1{
	margin-bottom: 2rem;
}

#sns .list li{
	width: 18.8%;
	margin-right: 1.5%;
}
#sns .list li:last-child{
	margin-right: 0;
}
#sns .list li a{
	position: relative;
	display: block;
	aspect-ratio: 240 / 300;
	background: #d5bd8f;
}
#sns .list li a img{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	height: 100%!important;
	width: auto!important;
	object-fit: cover; 
    display: block;
}

#sns .instagram{
	margin-bottom: 130px;
}
#sns .instagram section{
	margin-bottom: 80px;
}
#sns .instagram section:last-child{
	margin-bottom: 0;
}

#sns .list2,
#sns .list3,
#sns .list4{
	flex-wrap: wrap;
}
#sns .list2 > li{
	position: relative;
	width: 49%;
	padding: 0 5% 40px 3%;
	box-sizing: border-box;
}
#sns .list2 > li::before,
#sns .list3 > li,
#sns .list2 > li:hover::before,
#sns .list3 > li:hover{
	transition: 0.4s;
}
#sns .list2 > li:hover::before,
#sns .list3 > li:hover{
	background: rgba(167,149,100,0.20);
}
#sns .list2 > li::before{
	position: absolute;
	display: block;
	content: "";
	background: #f1f0ee;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 2em);
	bottom: 0;
	left: 0;
	z-index: -1;
}
#sns .list2 > li::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/insta_obi1@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: 16%;
	height: 200px;
	bottom: 0;
	left: 0;
	z-index: -1;
}
#sns .list2 > li i{
	position: absolute;
	bottom: .8em;
	right: 1em;
}
#sns .list2 > li .con_l{
	width: 42%;
}
#sns .list2 > li .con_l .img{
	margin-left: 0;
	margin-right: auto;
	width: 50%;
	max-width: 100px;
	margin-bottom: 1rem;
}
#sns .list2 > li .con_r{
	width: 55%;
}
#sns .list2 > li .con_r li{
	width: 48%;
}
#sns .list2 > li .con_r li div{
	position: relative;
	display: block;
	aspect-ratio: 140 / 187;
	background: #000;
}
#sns .list2 > li .con_r li div img{
	position: absolute;
	height: 101%!important;
	width: auto!important;
	object-fit: cover;
    display: block;
}

#sns .list3 > li{
	position: relative;
	width: 32%;
	background: #f1f0ee;
	margin-top: 2%;
	text-align: center;
	padding: 30px 2.5%;
	box-sizing: border-box;
}
#sns .list3 > li::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/insta_obi2@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: 16%;
	height: 150px;
	bottom: 0;
	left: 0;
}
#sns .list3 > li dl{
	text-align: left;
	position: relative;
	z-index: 2;
}
#sns .list3 > li i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 6%;
}
#sns .account dt{
	font-size: min(140%,2vw);
	line-height: 1.2em;
}
#sns .account dd{
	font-size: min(125%,1.6vw);
	letter-spacing: 0.05em;
	color: #999;
	line-height: 1em;
	margin-top: .4em;
}
#sns .list3 .account{
	position: relative;
	font-size: 85%;
	padding-left: 4.5em;
	box-sizing: border-box;
}
#sns .list3 .account::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_ins@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 2.6em;
	height: 2.6em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
#sns .list3 .account dd{
	margin-top: .2em;
}

#sns .list4 > li{
	width: 48%;
	max-width: 600px;
	margin-top: 90px;
}
#sns .list4 > li:nth-child(-n+2){
	margin-top: 0;
}
#sns .list4 > li .flex_box > li{
	width: 31.3%;
}
#sns .list4 > li .flex_box > li a{
	display: block;
	aspect-ratio: 189 / 422;
	position: relative;
	background: #d5bd8f;
	border-radius: 10px;
}
#sns .list4 > li .flex_box > li a img{
	position: absolute;
	height: 101%;
	width: auto;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	object-fit: cover;
    display: block;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sns .w1280{
	padding-top: 8vw;
	padding-bottom: 10vw;
}
#sns h2{
	padding-bottom:.4em;
	margin-bottom: 4vw;
}

#sns .index1{
	margin-bottom: .8rem;
}

#sns .instagram{
	margin-bottom: 7vw;
}
#sns .instagram section{
	margin-bottom: 5vw;
}
	
#sns .list2 > li{
	padding: 0 4% 2% 2%;
}
#sns .list2 > li::before{
	height: calc(100% - 2vw);
}
#sns .list2 > li::after{
	width: 12%;
}
#sns .list2 > li i{
	bottom: .2em;
	right: .2em;
}
#sns .list2 > li .con_l .img{
	margin-bottom: 1vw;
}
#sns .list3 > li{
	padding: 3% 2%;
}
#sns .list3 > li::after{
	width: 12%;
}
#sns .list3 > li i{
	right: 4%;
}

#sns .account dd{
	letter-spacing:normal;
}
#sns .list3 .account{
	padding-left:3em;
}
#sns .list3 .account::before{
	width: 2em;
	height: 2em;
}
#sns .list3 .account dd{
	margin-top: .2em;
}

#sns .list4 > li{
	margin-top: 6vw;
}
#sns .list4 > li .flex_box > li{
	width: 32%;
}
#sns .list4 > li .flex_box > li a{
	border-radius:5px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sns .w1280{
	padding-top: 12vw;
	padding-bottom: 10vw;
}
#sns h2{
	font-size: 170%;
	margin-bottom: 7%;
}
#sns .index1{
	margin-bottom: 1rem;
}

#sns .list li{
	width: 24.25%;
	margin-right: 1%;
}
#sns .instagram{
	margin-bottom: 10vw;
}
#sns .instagram section{
	margin-bottom: 6vw;
}
#sns .list2 > li{
	width: 100%;
	padding: 0 4% 6%;
	margin-bottom: 4%;
}
#sns .list2 > li:last-child{
	margin-bottom:0;
}
#sns .list2 > li::before{
	height: calc(100% - 1em);
}
#sns .list2 > li::after{
	width: 12%;
}
#sns .list2 > li i{
	font-size: 88%;
	bottom: .2em;
	right: .2em;
}
#sns .list2 > li .con_l .img{
	width:80%;
	margin-bottom: 1rem;
}
#sns .list2 > li .con_r li{
	width: 49%;
}
#sns .list3 > li{
	width: 49%;
	padding: 6.5% 3% 7%;
}
#sns .list3 > li::after{
	width: 12%;
}
#sns .list3 > li i{
	font-size: 70%;
	right:.3em;
	bottom: .2em;
	top: auto;
	transform: translateY(0);
}
#sns .account dt{
	font-size: 110%;
}
#sns .account dd{
	font-size: 88%;
	margin-top: .4em;
}
#sns .list3 .account{
	font-size: 80%;
	padding-left: 2em;
}
#sns .list3 .account::before{
	width: 1.4em;
	height:1.4em;
}
#sns .list3 .account dd{
	margin-top: .2em;
}

#sns .list4 > li{
	width: 100%;
	margin-top: 10%;
}
#sns .list4 > li:nth-child(2){
	margin-top: 10%;
}
#sns .list4 > li .flex_box > li{
	width: 32.8%;
}
}




/* ドクターズブログ
---------------------------------------------------------*/
#blog .bg,
#column .bg{
	position: relative;
	padding: 80px 0;
}
#blog .bg::before,
#column .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(241,240,238,1) 0%,rgba(241,240,238,0) 100%); 
	background-size: 100% auto;
	width: 100%;
	height: 300px;
	top:0;
	left: 0;
	z-index: -1;
}
#blog h2{
	margin-bottom: 1.5em;
}
#blog .com_topics .entry-cat {
	margin: 1.0em 0;
}
#blog .com_topics .entry-cat p {
	display: inline-block;
	letter-spacing: .05em;
	border: solid 1px #a79564;
	padding: .2em 1.0em;
	border-radius: 1.0em;
}
#blog .com_btn1{
	margin-top: 60px;
}
#release .com_topics .img_thum,
#blog .com_topics .img_thum,
#column .com_topics .img_thum {
	aspect-ratio: 270 / 200;	
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#blog .bg,
#column .bg{
	padding: 6vw 0 8vw;
}
#blog .bg::before,
#column .bg::before{
	height: 20vw;
}
#blog h2{
	margin-bottom: 1em;
}
#blog .com_btn1{
	margin-top: 4vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#blog .bg,
#column .bg{
	padding: 8vw 0 10vw;
}
#blog .bg::before,
#column .bg::before{
	height: 30vw;
}
#blog h2{
	margin-bottom: 1em;
}
#blog .com_btn1{
	margin-top: 5vw;
}
#blog .com_topics .entry-cat {
	margin: .5em 0;
}
}




/* 美容医療コラム
---------------------------------------------------------*/
#column h2{
	margin-bottom: .9em;
}
#column .txt1{
	color: #999;
	margin-bottom: 2.5em;
}
#column .col2 > div{
	width: 47.5%;
}
#column .col2 .fs20{
	border-top:1px solid #a79564;
	border-bottom:1px solid #a79564;
	padding: .4em 0;
	margin-bottom: 2em;
}
#column .com_btn1{
	margin-top: 2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#column h2{
	margin-bottom: .7em;
}
#column .txt1{
	margin-bottom: 2em;
}
#column .col2 > div{
	width: 49%;
}
#column .col2 .fs20{
	margin-bottom: 1em;
}
#column .com_btn1{
	margin-top: 1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#column h2{
	margin-bottom: .5em;
}
#column .txt1{
	margin-bottom: 2em;
}
#column .col2{
	display: block;
}
#column .col2 > div{
	width: 100%;
	margin-bottom: 10%;
}
#column .col2 > div:last-child{
	margin-bottom: 0;
}
#column .col2 .fs20{
	margin-bottom: 1em;
}
#column .com_btn1{
	margin-top: 1em;
}
}



/* bnr_line
---------------------------------------------------------*/
.bnr_line {
	position: fixed;
	z-index: 500;
	bottom: 50px;
	right: 0;
	transform: translateX(100%);
	opacity: 0;
    transition: all .6s ease-out;
	font-size: min(100%,1.4vw);
}
.bnr_line.is-show {
	opacity: 1;
	transform: translateX(0%);
}

.bnr_line .line_btn {
	width: 1.85em;
	height: 1.85em;
	background-image: url("../images/common/icon_batsu.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.2));
	cursor: pointer;
	position: absolute;
	z-index: 5;
	right: 10px;
	top: 0;
	transform: translateY(-40%);
	transition: all 0.4s;
}
.bnr_line .line_inbox {
	transition: all 0.4s;
}
.bnr_line.close .line_btn {
	width: 3.0em;
	height: 3.0em;
	background-image: url("../images/common/icon_line_maru.svg");
}
.bnr_line.close .line_inbox {
	opacity: 0;
}

.bnr_line .line_box {
	background: #f1f0ee;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
	text-align: center;
	width: 20em;	/*バナーの幅*/
	padding: 1.3em 1.5em .6em;
	box-sizing: border-box;
	border-radius: 2.4em;
	border-bottom-right-radius: 0 !important;
	border-top-right-radius: 0 !important;
	transition: all 0.4s;
}
.bnr_line.close .line_box {
	margin-right: -19em;	/*バナーの幅 - 1em*/
	border-radius: 1.0em;
}
.bnr_line a {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.bnr_line .line1 {
	width: 35%;
	box-sizing: border-box;
}
.bnr_line .line2 {
	width: 60%;
}
.bnr_line .line1 {
	background: #06c755;
	color: #fff;
	font-size: 110%;
	letter-spacing: .1em;
	line-height: 1.3em;
	padding: .3em .5em .8em;
	border-radius: 1.5em;
}
.bnr_line .line1 span {
	display: inline-block;
	text-align: left;
	padding-top: 1.8em;
	position: relative;
	background: url("../images/common/icon_line@2x.png") no-repeat center top;
	background-size: 2.0em auto;
}
.bnr_line .line1 span i {
	display: inline-block;
	font-size: 60%;
	letter-spacing: normal;
	line-height: 1.0em;
	transform: translate(.3em, -.3em);
}
.bnr_line .line2 {
	text-align: left;
	font-size: 130%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.bnr_line .line2 .ft_cin {
	color: #06c755;
	font-size: 140%;
	letter-spacing: .05em;
	line-height: 1.0em;
}
.bnr_line .line2 .txt_large {
	font-size: 120%;
	letter-spacing: .1em;
	line-height: 1.0em;
}
.bnr_line ul {
	display: inline-block;
	text-align: left;
	font-size: 90%;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	margin-top: .8em;
}
.bnr_line li {
	padding-left: 1.8em;
	position: relative;
	margin: 0 .2em;
}
.bnr_line li i {
	position: absolute;
	left: 0;
	top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.bnr_line {
	font-size: min(100%,1.6vw);
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.bnr_line {
	display: none !important;
}
}