@charset "utf-8";
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;

	box-sizing: border-box;

}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}


/* clear */

.clear:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clear {
	display: inline-table;
}

/* MacIE begin \*/

* html .clear {
	height: 1%;
}
img {
	vertical-align: bottom;
}

.clear {
	display: block;
}


/* colの隙間削除 */
/*
[class*="col-"] {
	margin:0;
	padding:0;

}
*/
.row {
	margin-right: 0px;
	margin-left: 0px;
}


body {
	/*font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;*/
	font-size: 16px;
	line-height: 1.6;
	color: #595959;
	text-align: left;

	font-family: kan48typos-std, sans-serif;
	font-weight: 400;
	font-style: normal;

}

a:link, a:visited {
	color: #8F6745;
	text-decoration: underline;
}

a:hover, a:active {
	color: #EC8491;
	text-decoration: underline;
}


#wrapper {

	margin: 0 auto;

}

#contents {
	text-align: center;
	margin: 0 auto;

	/*position: relative;*/
}

#wrapper {
	width:100%;
}

section {
	margin-bottom:3rem;
	text-align:left;
}

header {
	width:100%;
	height:160px;
	background:#FFF url(../images/header_bg2.jpg) repeat-x bottom;
	/*background:#FFF;*/
	/*border-bottom: 1px solid #D8D8D8;*/

	z-index:1000;
}
header h1 {
	display:none;
}

#headerLine {
	width:100%;
	height:12px;
	background:#FFF url(../images/header_bg1.jpg) repeat-x bottom;
}
#headerSitemap {
	width:950px;
	margin:0 auto;
}
#headerSitemapBtn {
	text-align:right;
	position:relative;
	top:5px;
}

#headerContents {
	width:1100px;
	margin:0 auto;
	position:relative;
	display: flex;
	justify-content: space-between;
	align-items: center;

	padding-top: 15px;
}

#header_right {
	align-items: flex-end;
}
#header_logo {
	width: 400px;
}
#header_logo img {
	width: 100%;
	height: auto;
}

#headerTel {
	width: 300px;
}
#headerTel img {
	width: 100%;
}
#header_contact {
	/*display: flex;
	justify-content: flex-end;

	align-items: center;
	*/
	/*margin-bottom: 15px;*/

	text-align: center;
	margin-right: 1rem;

}
#header_contact li {
	/*margin-right: 20px;*/
}
#header_contact li:last-of-type {
	margin-right: 0;
}
#header_contact li.tel {
	/*width: 40%;*/

	font-size: 1.7rem;
}
#header_contact li.tel img {
	width: 100%;
}

#header_yoyaku {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;


}
#header_yoyaku li {
	margin-right: 0.2rem;
	/*margin-bottom: 1rem;*/
}
#header_yoyaku li:last-of-type {
	margin-right: 0;
}
#header_yoyaku li.insta {
	font-size: 2rem;
	margin-left: 1rem;
}
#header_yoyaku li.insta a {

}

#headerContactText {
	font-size: 0.8rem;

	text-align: right;
}
#headerContactText i {
	margin-right: 5px;
}

#headerNavi {
	width:1100px;

	margin-left:-550px;
	position:absolute;
	top:130px;
	left:50%;

	z-index:2000;

}

#headerNavi ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
#headerNavi ul li {
	width: calc(1000px / 5);

	display: block;


}
#headerNavi ul li:first-of-type {
	width: 100px;
}



#headerNavi ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	padding: 16px 0;
	text-align: center;
	vertical-align: middle;
	font-size: 1.0rem;

	background: linear-gradient(to bottom, #FFF 0%, #EEF0EF 100%);
	border-top: 1px solid #D8D8D8;
	border-bottom: 1px solid #D8D8D8;
	border-left: 1px solid #D8D8D8;

	box-sizing: border-box;
	position: relative;

	/*
	font-family: kan412typos-std,sans-serif;
	font-weight: 400;
	font-style: normal;
	*/

}
#headerNavi ul li a:hover {
	background: #FFF;

}
#headerNavi ul li a span {

	display: inline-block;
}

#headerNavi ul li a span.line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0px;
	background: #F09BA5;
	opacity: 0;

	transition: all 0.5s 0s ease;
}
#headerNavi ul li a:hover span.line {
	opacity: 1.0;
	height: 5px;

	transition: 0.1s;
}

#headerNavi ul li a i {
	font-size: 0.8rem;
	text-align: right;
	margin-left: 7px;
}

#headerNavi ul li:first-of-type a {
	border-radius: 7px 0 0 7px;
}
#headerNavi ul li:first-of-type a i {
	margin-right: 5px;
	margin-left: 0;
}
#headerNavi ul li:last-of-type a {
	border-radius: 0 7px 7px 0;
	border-right: 1px solid #D8D8D8;
}




/* メインヴィジュアル */
#mainImg {
	width:100%;
	background:#FFF url(../images/main_bg1.jpg) bottom;
	/*height:180px;*/
}


#home #mainImg {

}
/*
#about #mainImg, #access #mainImg, #menu #mainImg, #price #mainImg, #sitemap #mainImg, #contact #mainImg {
	height:180px;
}
*/

#mainImgBox {
	width:1100px;
	margin:0 auto;
	position:relative;


}
#mainImgBox img {
	width: 100%;
}

#mainImgBoxTop {
    margin:0 auto;
	position:relative;
}
#mainImgBoxTop img {
	width: 100%;
}
#zoom_slider{
    overflow: hidden;
    width: 100%;
    min-height: 550px;
    background-color: #FFF;
}

#contents {
	width:100%;
	/*background:#FFF url(../images/contents_bg.jpg) repeat-x top;*/
	background:#FFF;
	border-top: 1px solid #D8D8D8;

	margin-bottom:30px;

	padding-top: 20px;
}
#contentsHeader {
	width:1100px;
	/*background:url(../images/contents_header_bg.png) no-repeat top;*/
	margin:0 auto;
	margin-bottom: 25px;
	position:relative;

	/*z-index:3000;*/

}
#home #contentsHeader {

}
#about #contentsHeader, #access #contentsHeader, #menu #contentsHeader, #price #contentsHeader, #sitemap #contentsHeader, #contact #contentsHeader {

}

#followLink {
	text-align:left;
	font-size:12px;
	padding-top:10px;

}

#contentsBox {
	width:1100px;
	margin:0 auto;
	position:relative;

	display: flex;
	justify-content: space-between;
    flex-direction: column;

}
#contentsBox > div {

}

#contentsLeft {
	width: 100%;
}
.subTitle {
	font-size:1.3rem;
	border-left:solid 18px #F09BA5;
	color: #F09BA5;
	background:#F5F6FA;
	padding:5px 0px 7px 15px;
	margin-bottom:15px;
    border-radius: 30px 0 0 30px;
}

.mainContents {

}
.contentsTitle {
	background-image:url(../images/contents_title_bg.jpg);
	background-position: center left;
	background-size: cover;
	background-repeat: no-repeat;
	margin:0;

	margin-bottom:25px;

	font-size: 1.3rem;
	padding: 0.7rem 0 0.9rem 1.2rem;
	color: #8F6745;

	/*
	font-family: kan412typos-std,sans-serif;
	font-weight: 400;
	font-style: normal;
	*/
}

#topBanner h2 {
    font-size: 1.5rem;
    text-align: left;
    margin-bottom: 0.5rem;
    color: #F09BA5;
}
#topBanner div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 1.0rem;;
}
#topBanner div  p {
    width: 48%;
}

#newsBox {
	padding:0 0 15px 0;
	overflow:auto;
}
.newsContents {
	padding: 10px 5px 10px 5px;
	border-bottom: #CCC 1px solid;
}
.newsContents .newsDate {
	color: #EC8491;
	font-weight:bold;
}

#newsXml {
    word-break:break-all;
}
#newsXml li:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

/*レスポンシブ改行*/
.sp-only{
	display: none;
}
@media screen and (max-width: 767px) {
	.sp-only{
		display: block;
	}
}

.subContents {

}


.subContentsTitle {
    margin:  0;                 /* デフォルトCSS打ち消し */
    font-size:  1.3rem;           /* 文字サイズ指定 */
    border-bottom: #EEE solid 5px;   /* 線指定 */
    padding-bottom:  5px;       /* 余白指定 */
    margin-bottom: 15px;        /* 周りの余白指定 */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
}

.subContentsTitle:before {
    content:  '';                   /* 空白の要素を作る */
    width: 50px;                    /* 幅指定 */
    height: 5px;                    /* 高さ指定 */
    background-color: #EC8491;      /* 背景色指定 */
    display:  block;                /* ブロック要素にする */
    position:  absolute;            /* 位置調整 */
    left:  0;                       /* 位置調整 */
    bottom: -5px;                   /* 位置調整 */
}


.subContentsBox {

	margin:0;
	padding:15px 0;
}

.subContents2 {
	width: 100%;
	margin:0 auto;
	margin-bottom: 1.5rem;
}
.subContentsTitle2 {
	/*width:570px;
	height:32px;*/
	margin:0 auto;
	margin-bottom:15px;

	padding:7px 10px;
	font-size:18px;
	font-weight:bold;
	color:#FFF;

	background: #f5bec6;

	background: linear-gradient(to bottom,  #f5bec6 0%,#f1a3ac 99%);

	border-radius: 5px;
}


.brownBox {
	background:#F2EBE6;

	border-radius: 6px;
	padding:20px 15px;
}
.subContentsBox .brownBox {
	width:48%;
}

.brownBox2 {
	background:#B1845F;

	border-radius: 5px;
	padding:5px 10px;
	color: #FFF;
}

.pinkBox {
	background:#E85282;

	border-radius: 6px;
	padding:10px;
}

.pinkWaku {
	border: #F099A5 2px solid;

	border-radius: 6px;
	padding:15px;
	text-align: left;
}

.brownWaku {
	border: #F2EBE6 6px solid;

	border-radius: 6px;
	padding:30px;
	text-align: left;
}

.beauty_menu_wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.subContentsBox .beautyMenu {
	width: 32%;
	margin-bottom: 15px;
	background: #FEF5F7;
	border: #F09BA5 1px solid;
	border-radius: 7px;
	margin-right: 2%;
}

.subContentsBox .beautyMenu:nth-child(3n) {
    margin-right: 0;
}

.subContentsBox .beautyMenu a {
	display: block;
	padding: 15px 10px;

	width: 100%;
	height: 100%;

}

.beautyMenu .menuTitle {

	font-size: 1.0rem;
	margin-bottom:5px;

}

.beautyMenu .menuTxt {
	font-size:0.8rem;
	line-height: 1.5;
	text-decoration: none;

}


.product_banner li {
	width: 48%;
}
.product_banner li img {
	width: 100%;
}

.grid_layout{
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 60px;
	row-gap: 20px;
}

@media screen and (max-width: 767px) {
	.grid_layout{
		
		grid-template-columns: 1fr;
		row-gap: 20px;
	}
}




/*
.subContentsBox .beautyBtn1 {
	background:url(../images/top_beauty_menu1.jpg) no-repeat;
}
.subContentsBox .beautyBtn2 {
	background:url(../images/top_beauty_menu2.jpg) no-repeat;
}
.subContentsBox .beautyBtn3 {
	background:url(../images/top_beauty_menu3.jpg) no-repeat;
}
.subContentsBox .beautyBtn4 {
	background:url(../images/top_beauty_menu4.jpg) no-repeat;
}
.subContentsBox .beautyBtn5 {
	background:url(../images/top_beauty_menu5.jpg) no-repeat;
}
.subContentsBox .beautyBtn6 {
	background:url(../images/top_beauty_menu6.jpg) no-repeat;
}
.subContentsBox .beautyBtn7 {
	background:url(../images/top_beauty_menu7.jpg) no-repeat;
}
*/



#contentsRight {

	width:100%;
}

#contentsRight section {
	margin-bottom: 40px;
}


#rightReason {
	position: relative;
	margin: 1.5rem 0;
	padding: 15px 10px;
	border-radius: 7px;
	/*
	background: #FFF2F9;
	background: linear-gradient(to bottom, #FFFFFF, #FFF2F9);
	*/
	background: #FEF5F7;

	margin-top:0px;
	border:solid 2px #F09BA5;

}
#rightReason h3 {
	background: #F09BA5;
	color: #FFF;
	display: block;
	padding: 4px 0;
	margin-bottom: 15px;
	border-radius: 5px;
	text-align: center;
	font-size: 1.0rem;
}

#rightReason.line{
	border: dotted 1px #F09BA5;
}

#rightReason>ol {
 	list-style: none;

	margin: 0 auto;

}

#rightReason>ol>li{

    color:#865E31;
    border-bottom:dotted 1px #F169B0;
	margin-bottom:7px;
	padding-bottom: 7px;

}
#rightReason>ol>li:last-of-type {
	border: none;
	margin-bottom: 0;

}

#rightReason>ol>li>span{
    border-radius: 50%;
    line-height: 2em;
    padding-top: 0.2em;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-bottom: 0.2em;
	position: relative;
	margin-bottom: 10px;
    color: #ffffff;
    background-color:#FFC0CB;
    font-size: 14px;
}

#rightInfo {
	width:100%;
	border: 2px solid #F2EBE6;

	background: #FFF;
	border-radius: 7px;
}
#rightInfo h3 {
	background: #F2EBE6;
	color: #8F6745;
	text-align: center;
	padding: 5px 0;
	font-size: 1.0rem;
}


#rightInfoContents {
	padding: 15px 10px;
}
#rightInfoContents .telnum {
	font-weight: bold;
	font-size: 1.5rem;
	color: #F09BA5;
	margin-bottom: 8px;
}
#rightInfoContents .title {
	color: #8F6745;
	font-weight: bold;
	border-bottom: 1px solid #DDCBBD;
	margin-bottom: 8px;
	font-size: 1.0rem;
}
#rightInfoFooter {
	height:12px;
}
#rightInfoHeader {
	height:52px;
}

#rightTime {
}


#rightBegennerWrapper {
    display: flex;
    justify-content: space-between;
}
#rightBeginner {
	width:70%;
	border: 2px solid #D2D1D2;
	border-radius: 7px;

}
#qr_code {
    width: 27%;
    background: #F2EBE6;
    padding: 1.5rem 1rem;
    border-radius: 7px;

}

#qr_code ul {
    display: flex;
    margin-bottom: 1.5rem;
    justify-content: space-around;
}
#qr_code ul li {
    width: 48%;
}
#qr_code p {
    font-size: 0.8rem;
    text-align: center;
}


#rightBeginner h3 {
	background: #D2D1D2;
	color: #555;
	text-align: center;
	padding: 5px 0;
	font-size: 1.2rem;
	margin-bottom: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#rightBeginner h3 img {
	margin-right: 5px;
}

#rightBeginnerBox {
	margin:0;
	padding:15px;
}
#rightBeginnerHeader {
	margin:0;
	padding:0;
	height:35px;
}
#rightBeginnerFooter {
	margin:0;
	padding:0;
	height:10px;
}

#rightBanner {
	width:100%;
}

#rightBanner ul {
    display: flex;
    justify-content: space-around;
}
#rightBanner ul li {

	width: 23%;
}



/* footer */
footer {
	width:100%;
}

footer #footerHeader #pageTop {
	width:1100px;
	height:32px;
	margin:0 auto;
	text-align:right;
}

footer #footerHeader #footerLine {
	width:100%;
	height:5px;
	background:#C9C9C9;
	text-align:center;
	margin:0;
	padding:0;
}
footer #footerHeader #footerLine #footerLinePink {
	width:1100px;
	height:5px;
	margin:0 auto;
	background:#F09BA5;
}

footer #footerContents {
	width:100%;
	height:auto;
	background:#FFF url(../images/footer_bg.jpg) repeat;
}
footer #footerContents #footerContentsBox {
	width:1100px;
	margin:0 auto;
	padding:50px 0;

}

footer #footerContents #footerContentsBox #footer_clinic {
	margin-bottom: 50px;
}
footer #footerContents #footerContentsBox #footer_clinic > ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer #footerContents #footerContentsBox #footer_clinic > ul li.logo {
	width: 40%;
}
footer #footerContents #footerContentsBox #footer_clinic > ul li.logo img {
	width: 100%;
	height: auto;
}
footer #footerContents #footerContentsBox #footer_clinic > ul li > ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku {
	justify-content: flex-end;
	align-items: center;
	margin-top: 1.5rem;
}
footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku li.insta {
	font-size: 2.5rem;
	margin-left: 1rem;
}
footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku li.insta a {
	text-decoration: none;
	display: flex;
}

footer #footerContents #footerContentsBox #footer_clinic > ul li > ul li:first-of-type {
	margin-right: 1rem;
}
footer #footerContents #footerContentsBox #footer_clinic > ul li > ul li:last-of-type {
	text-align: center;
}

footer #footerContents #footerContentsBox #footer_clinic > ul li > ul li span {
	font-size: 1.8rem;
}


footer #footerContents #footer_sitemap ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 1.3rem;
}
footer #footerContents #footer_sitemap ul li {
	margin-right: 35px;
	margin-bottom: 10px;

}
footer #footerContents #footer_sitemap ul li a {
	display:inline-block;
	font-size: 0.8rem;

}
footer #footerContents #footer_sitemap ul li a i {
	margin-right: 3px;
}

footer #footerContents #footer_sitemap ul li.category {
	width: 100%;
	margin-bottom: 5px;
}
footer #footerContents #footer_sitemap ul li.category a {
	font-size: 1.1rem;
}

footer #footerBottom {
	width:100%;

	background:#B1845F url(../images/footer_bg2.webp) repeat;
	padding: 30px 0 100px 0;
}
footer #footerBottom #footerCopyright {
	text-align: center;
	color: #FFF;
}

.fa-phone {
	margin-right: 5px;
}

.linkIcon {
	padding-top:15px;
	font-size:14px;
	height:14px;
	line-height:14px;

}
.linkIcon img {
	margin-right:5px;
	vertical-align:middle;
}

ul#newsXml li.lineBottom:nth-last-of-type() {
	border: none;
}


.btn {
	display: inline-block;
	text-align: center;
	padding: 0.4rem 1.2rem 0.6rem 1.2rem;
	border-radius: 7px;


	transition: all 0.5s 0s ease;
}
a.btn {
	text-decoration: none;
}
a.btn:hover {
	filter:brightness(1.15);
	transition: 0.2s;
}
.btn.btn_brown {
	background: linear-gradient(to bottom, #B08159, #9E714B);
	color: #FFF;
	border-bottom: #8B6443 1px solid;
}
.btn.btn_pink {
	background: linear-gradient(to bottom, #F3B6BF, #F09BA5);
	color: #FFF;
	border-bottom: #EC7D8B 1px solid;
}
.btn i {
	margin-left: 5px;
	margin-right: 5px;
}

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}
button.jqTransformButton {
	background: linear-gradient(to bottom, #B08159, #9E714B);
	color: #FFF;
	border-bottom: #8B6443 1px solid;
}


#topcontorol {
	width: 120px;
	height: 120px;
	color: #FFF;
	background: #F09BA5;
	text-align: center;
	border-radius: 50%;
	font-size: 0.8rem;
	padding-top: 5%;
	margin-bottom: -60px;
	line-height: 1.2;
	
}

#topcontrol[title] {
	z-index: 1000;
}

#topcontorol span i {
	font-size: 1.5rem;
}


.button_container {
	position: fixed;
	top: 25px;
	right: 10px;
	height: 27px;
	width: 35px;
	cursor: pointer;
	z-index: 12;
	transition: opacity 0.25s ease;



}
.button_container:hover {
	opacity: 0.7;
}
.button_container.active .top {
	-webkit-transform: translateY(11px) translateX(0) rotate(45deg);
	transform: translateY(11px) translateX(0) rotate(45deg);
	background: #fff;
}
.button_container.active .middle {
	opacity: 0;
	background: #fff;
}
.button_container.active .bottom {
	-webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
	transform: translateY(-11px) translateX(0) rotate(-45deg);
	background: #fff;
}
.button_container span {
	background: #F09BA5;
	border: none;
	height: 2px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.35s ease;
	cursor: pointer;
}
.button_container span:nth-of-type(2) {
  top: 12px;
}
.button_container span:nth-of-type(3) {
  top: 23px;
}

.overlay {
	position: fixed;
	background: #555;
	top: 0;
	left: 0;
	width: 100%;
	height: 0%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s, visibility 0.35s, height 0.35s;
	overflow: hidden;

	z-index: 11;
}
.overlay.open {
	opacity: 0.9;
	visibility: visible;
	height: 100%;
}
.overlay.open li {
  -webkit-animation: fadeInRight 0.5s ease forwards;
          animation: fadeInRight 0.5s ease forwards;
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}

.overlay nav {
  position: relative;
  height: 70%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 1.0rem;

  text-align: center;


}
.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: flex;

	position: relative;
	height: 100%;
	width: 95%;

	flex-wrap: wrap;
	justify-content: flex-start;

}
.overlay ul li {
	display: block;


	position: relative;
	opacity: 0;
	margin-bottom: 0.5rem;

	width: 50%;


}

.overlay ul.footer_yoyaku {
	justify-content: space-around;
}
.overlay ul.footer_yoyaku li {
	width: 47%;
}

.overlay ul li a {
	display: block;
	position: relative;
	color: #fff;
	text-decoration: none;
	overflow: hidden;
	padding: 0.3rem 0;

}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
	width: 100%;
}
.overlay ul li a:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0%;
	-webkit-transform: translateX(-50%);
		  transform: translateX(-50%);
	height: 3px;
	background: #fff;
	transition: 0.35s;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}



#schedule > p {
	font-size: 0.8rem;
}
#schedule .col-12, #schedule .col-md-12 {
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;

}

#schedule_henkou {
    font-size: 1.0rem;

}
#schedule_henkou ul {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1.0rem;
}
#schedule_henkou ul li:nth-of-type(1) {
    width: 12%;

    color: #F09BA5;
    margin-right: 1.0rem;
    font-size: 1.3rem;
}
#schedule_henkou ul li:nth-of-type(2) {
    width: 88%;
}
#schedule_henkou ul li:nth-of-type(2) p {
    margin-bottom: 0.5rem;
    display: flex;
}
#schedule_henkou ul li:nth-of-type(2) p span {
    font-size: 1.0rem;
    display: inline-block;
    align-content: center;
    align-items: center;
    margin-right: 0.5rem;
    padding: 0.2rem 1rem;
    border-radius: 3px;
}
#schedule_henkou ul li:nth-of-type(2) p .before {
    background: #EEE;

}
#schedule_henkou ul li:nth-of-type(2) p .after {
    background: #FDE1E4;

}

@media screen and (max-width: 767px) {
	.schedule__note-time {
		font-size: 3.2vw;
	}
}

@media screen and (max-width: 1099px) {
	header {
		height:auto;
		border-bottom: none;
		padding-bottom: 1.0rem;
	}

	#headerContents {
		width:100%;
	}
	#header_logo {
		width: 45%;
	}
	#header_right {
		width: 55%;
		flex-direction: column;
	}

	#header_contact {
		display: flex;
	}

	#header_contact li.tel {
		width: 50%;
		padding-right: 20px;
		font-size: 20px;
	}


	#headerNavi ul li {
		width: calc(100% / 6);


	}
	#headerNavi ul li:first-of-type {
		width: calc(100% / 6);
	}
	#headerNavi ul li:first-of-type a {
		border-radius: 0;
		border-left: 0;
	}

	#headerNavi ul li:last-of-type a {
		border-radius: 0;
		border-right: 0;
	}

	#headerNavi ul li a {
		border-top: 0;
		font-size: 1.5vw;
	}

	#mainImgBox {
		width:100%;
	}
	#headerNavi {
		width:100%;
		margin: 0;
		padding: 0;
		position: relative;
		left:0;
		top :0;

	}

	#contentsBox {
		width: 98%;
	}

	#contentsHeader {
		width:98%;
	}


	#contentsLeft {
		width: 100%;
	}
	#contentsRight {
		width: 100%;
	}

	#contentsRight .btn {
		width: 100%;
	}

	footer #footerHeader #footerLine #footerLinePink {
		width:100%;

	}

	footer #footerContents {
		width:100%;

	}
	footer #footerContents #footerContentsBox {
		width:95%;
		margin: 0 auto;

		padding:2.5rem 0;

	}
	footer #footerContents #footerContentsBox #footer_clinic > ul {
		flex-direction: column;
	}

	footer #footerContents #footerContentsBox #footer_clinic > ul li.logo {
		width: 60%;
		margin: 0 auto;
		margin-bottom: 1.0rem;
	}
	footer #footerContents #footer_sitemap ul {
		justify-content: flex-start;
	}
	footer #footerContents #footer_sitemap ul li {
		width: 50%;
		margin-right: 0;
		margin-bottom: 0.2rem;

	}
	footer #footerContents #footer_sitemap ul li a {
		display: block;
		padding: 0.3rem 0 0.3rem 1.0rem;
	}

}


@media screen and (max-width: 767px) {
	header {
		height:auto;

		padding-bottom: 1.2rem;
	}

	#headerContents {
		width:100%;
	}
	#header_logo {
		width: 90%;
		margin: 0 auto;
	}
	#mainImgBox {
		width:100%;
	}

    #zoom_slider{

        min-height: 400px;

    }

	#headerNavi {
		width:100%;
	}

	#home #mainImg {
		height:auto;
	}
	#contentsBox {
		width:100%;
		flex-direction: column;
	}

	section {
		width: 90%;
		margin: 0 auto;
		margin-bottom: 2.0rem;
	}
	#contentsHeader {
		width:100%;
	}

	#followLink {
		padding-left: 0.8rem;
	}
	#contentsLeft {
		width: 100%;
	}
	#contentsRight {
		width: 100%;
	}
	#rightInfo {
		width: 90%;
		margin: 0 auto;
		margin-bottom: 2.0rem;
	}
	#rightBeginner {
		width: 90%;
	}
	#rightBeginner div {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 2.0rem;
	}

	#rightBanner ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	#rightBanner ul li {

		width: 47%;
		margin-bottom: 1.5rem;
	}

	#topBanner div p {
        width: 100%;
    }
    #topBanner h2 {
        font-size: 5vw;
    }
    .subContentsBox .beautyMenu {
        width: 48%;
    }

	.subContentsBox .beautyMenu:nth-child(3n) {
		margin-right: 2%;
	}
	.subContentsBox .beautyMenu:nth-child(2n) {
		margin-right: 0;
	}

	#topcontorol {
		width: 20vw;
		height: 20vw;
		margin-bottom: -10vw;
		
		font-size: 5vw;
		left: 50%;

	}

	footer #footerContents #footerContentsBox #footer_clinic > ul li.logo {
		width: 90%;
	}
	footer #footerContents #footer_sitemap ul li a {
		font-size: 0.7rem;
	}
	footer #footerContents #footerContentsBox #footer_clinic > ul li > ul {
		flex-direction: column;
	}
	footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku {
		flex-direction: row;
		justify-content: space-around;
		width: 100%;
	}
	footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku li {
		margin: 0 2%;
	}
	footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku li a {
		width: 47%;
	}

	footer #footerContents #footerContentsBox #footer_clinic > ul li > ul li:first-of-type {
		margin-right: 0;
		margin-bottom: 1.0rem;
	}
    footer #footerContents #footerContentsBox #footer_clinic > ul li > ul.footer_yoyaku li:first-of-type {
		margin-right: 0;
		margin-bottom: 0;
	}

    #schedule_henkou ul li:nth-of-type(1) {
        width: 20%;
        margin-right: 0.5rem;
    }
	#schedule_henkou ul li:nth-of-type(2) {
        width: 80%;
    }


    #schedule_henkou ul li:nth-of-type(2) p span {
        padding: 0.2rem;
        font-size: 3vw;
        width: 75%;
    }
    #schedule_henkou ul li:nth-of-type(2) p .before, #schedule_henkou ul li:nth-of-type(2) p .after {
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
        justify-content: center;
        width: 25%;
    }

}





/* 終了 */
.close-cp {
	position: relative;
}

.close-cp::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, .8);
	z-index: 3;
}
.close-cp::after {
	position: absolute;
	content: "本キャンペーンは \A 終了致しました。";
	display: block;
	color: #C91842;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	white-space: pre;
	z-index: 4;
}



/*------通知（災害見舞いなど）-------*/
.announce {
  text-align: center;
  background-color: #f6f6f6;
  border-radius: 18px;
  padding: 30px;
  max-width: 1100px;
  margin: 30px auto 50px;
}
.announce__title {
  font-weight: 900;
  text-align: center;
  margin-bottom: 10px;
}
@media print, screen and (max-width: 767px) {
  .announce {
    text-align: left;
    width: auto;
    border-radius: 10px;
    padding: 6vw;
    margin: 2vw 3vw 6vw;
  }
}
