@charset "utf-8";

/*==============================
        content
==============================*/

.contents h2 {
	font-family: 'Ubuntu', sans-serif;
	font-size:5.6rem;
	color:#0a5d6e;
	font-weight:500;
	margin-bottom:.5em;
}
.contents h2 span {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: .4em;
	color:#000000;
	font-weight:600;
	letter-spacing: .05em;
}
.contents p {
	font-size: 1.5rem;
	line-height:2;
	font-weight:400;
	letter-spacing: .05em;
}

/*==============================
        header
==============================*/


/* =================================================================
        section
================================================================= */

/**FV**/
#fv .wrap {
	height:680px;
	overflow: hidden;
	position: relative;
	display:grid;
	align-items:center;
	justify-content:center;
}
#fv .wrap::before {
	content:'';
	display: block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: -1;
	background-color: rgba(0,0,0,.3);
}
#fv .wrap::after {
	content:'';
	display: block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: -3;
	background:url(../img/loading.gif) no-repeat center center rgba(0,0,0,.3);
}
#fv video {
	object-fit:cover;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: -2;
	opacity: 0;
	transition:1s;
}
#fv video.onn {
	opacity: 1;
}
#fv h1 {
	font-size:4.0rem;
	font-weight:500;
	line-height:1;
	letter-spacing:.05em;
	color:#FFFFFF;
	text-shadow:0 0 10px rgba(0,0,0,.5);
}

/**CONCEPT**/
#concept .wrap {
	position:relative;
	padding:70px 0 0;
	z-index: 1;
}
#concept .contents_inner {
	display:grid;
	grid-template-columns:1fr 55%;
	grid-column-gap:5%;
}
#concept .contents_inner .detail {
	padding-top:40px;
	padding-bottom:80px;
}
#concept .contents_inner .detail p.body {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 600;
	margin-bottom: 1em;
}
#concept .contents_inner .img {
	background:url(../img/concept.jpg) no-repeat center center/cover;
	border-radius:10px;
}
#concept .msg.wrap {
	padding:0;
	z-index: 0;
	margin-top: -50px;
}
#concept .msg.wrap + .msg.wrap {
	margin-top: 30px;
}
#concept .msg.wrap::before {
	content:'';
	display:block;
	width:50%;
	height:100%;
	position:absolute;
	left:50%;
	top:0;
	background-color:#0a5d6e;
	z-index:-1;
}
#concept .msg.wrap .contents {
	max-width:1200px;
	width: calc(100% - 60px);
	background-color:#0a5d6e;
	border-radius:10px 0 0 10px;
	padding:80px 50px 50px;
}
#concept .msg.wrap .contents p {
	font-size:2.2rem;
	font-weight:600;
	color:#FFFFFF;
	letter-spacing:.05em;
}
#concept .msg.wrap .contents p:not(:last-child) {
	margin-bottom: 1em;
}
#concept .msg.wrap .contents p span {
	font-size:.8em;
	margin-left:.5em;
}
#concept .msg.wrap .btnbox {
	display:grid;
	grid-template-columns: repeat(3,1fr);
	grid-column-gap: 20px;
}
#concept .msg.wrap .btnbox .btn {
	grid-template-columns:auto auto;
	grid-column-gap:1em;
	padding-left:1em;
	font-size: 1.8rem;
	color:#0a5d6e;
	background-color: #FFFFFF;
	font-weight:500;
	height:4.5em;
	border-radius:2.5em;
	transition:.3s;
}
#concept .msg.wrap .btnbox .btn::after {
	content:'';
	width:1.1em;
	height:1.1em;
	background:url(../img/icon_ex.png) no-repeat center center/contain;
}
#concept .msg.wrap .btnbox .btn:hover {
	opacity:.75;
}


/**MENU**/
#menu .wrap {
	padding-top:80px;
}
#menu .contents h2 {
	text-align:center;
}
#menu .contents h2 span {
	display:block;
	padding-top:.25em;
}
#menu .contents {
	max-width:1300px;
	width: 100%;
	text-align: center;
}
#menu .contents .course {
	margin-bottom:60px;
	display:grid;
	grid-template-columns: 50% 50%;
}
#menu .contents .course .item * {
	position:relative;
	z-index:1;
	color:#FFFFFF;
	margin:0;
}
#menu .contents .course .item {
	display:grid;
	align-content:center;
	position:relative;
	padding:50px;
}
#menu .contents .course .item::before {
	content:'';
	display: block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: 0;
	background-color: rgba(0,65,78,.5);
}
#menu .contents .course .item h3 {
	font-size:3.6rem;
	font-weight:500;
}
#menu .contents .course .item h3::after {
	content:'';
	display:block;
	width:1px;
	height:.75em;
	background-color: rgba(0,65,78,1);
	margin:.15em auto .15em;
}
#menu .contents .course .item p {
	font-size:1.5rem;
	line-height:1.7;
	margin-bottom:1em;
}
#menu .contents .course .item p span {
	display:block;
	font-size:1.2em;
	font-weight:600;
	margin-bottom:.5em;
}
#menu .contents .course .item .price {
	font-family: 'Ubuntu', sans-serif;
	font-size:6.0rem;
	font-weight:600;
}
#menu .contents .course .item .price span {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:2.6rem;
	margin-left:.25em;
}
#menu .contents .course .course1 {
	grid-area: 1 / 1 / 2 / 2;
	background: url(../img/menu01.jpg) no-repeat center center/cover;
}
#menu .contents .course .course2 {
	grid-area: 2 / 1 / 3 / 2;
	background: url(../img/menu02.jpg) no-repeat center center/cover;
}
#menu .contents .course .course3 {
	grid-area: 1 / 2 / 3 / 3;
	overflow:hidden;
	position:relative;
}
#menu .contents .course .course3 .bg {
	position: absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index: -1;
}
#menu .contents .course .course3 .bg1{
	background: url(../img/menu05.jpg) no-repeat center center/cover;
	animation: slide2 15s ease-in-out infinite;
	opacity: 0;
}
#menu .contents .course .course3 .bg2{
	background: url(../img/menu04.jpg) no-repeat center center/cover;
	animation: slide1 15s ease-in-out infinite;
	opacity: 0;
	z-index: -2;
}
#menu .contents .course .course3 .bg3{
	background: url(../img/menu03.jpg) no-repeat center center/cover;
	z-index: -3;
}
@keyframes slide1 {
  0%{
    opacity: 0;
  }
  33%{
    opacity: 0;
  }
  38%{
    opacity: 1;
  }
  76%{
    opacity: 1;
  }
  80%{
    opacity: 0;
  }
  100%{
    opacity: 0;
}
}
@keyframes slide2 {
  0%{
    opacity: 0;
  }
  66%{
    opacity: 0;
  }
  71%{
    opacity: 1;
  }
  95%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}

#menu .contents .course + p {
	font-size:1.8rem;
	margin-bottom:3em;
}
#menu .contents .course .item .slick-dots {
	position:absolute;
	bottom:15px;
}

#menu .contents .btn {
	grid-template-columns:auto auto;
	grid-column-gap:1em;
	letter-spacing:.05em;
	padding-right:.5em;
	font-size: 2.4rem;
	color:#0a5d6e;
	background-color: #f8efaf;
	font-weight:500;
	max-width:600px;
	height: 4em;
	border-radius:2.5em;
	transition:.3s;
	margin:0 auto;
}
#menu .contents .btn::before {
	content:'';
	width:1.1em;
	height:1.1em;
	background:url(../img/icon_cal2.png) no-repeat center center/contain;
}
#menu .contents .btn:hover {
	opacity:.75;
}
#menu .contents .btn + .att {
	font-size:1.6rem;
	line-height:1.3;
	padding-top:1em;
}

/**SALON**/
#salon .wrap {
	padding:120px 0 0;
}
#salon .contents {
	max-width: 1200px;
	width: 100%;
}
#salon .contents h2 {
	text-align:center;
	margin-bottom: -.9em;
}
#salon .contents h2 span {
	display:block;
	padding-top:.25em;
}
#salon .contents_inner {
	background-color: #e2f0f3;
	padding:100px 50px 60px;
	display:grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 20px;
}
#salon .contents_inner a {
	transition: .3s;
}
#salon .contents_inner a:hover {
	opacity: .75;
}
.modaal-gallery-item img {
    max-width: 800px;
}

/**NEWS**/
#news .wrap {
	padding:120px 0;
}
#news .contents h2 {
	margin-bottom: 1em;
}
#news .contents h2 span {
	margin-left:1em;
}
#news .contents .news {
	border-top:1px solid #cccccc;
}
#news .contents .news dl {
	font-size: 1.8rem;
	line-height: 1.5;
	padding:1em;
	min-height: 5em;
	display: grid;
	grid-template-columns: 10em 1fr;
	align-items: center;
	border-bottom:1px solid #cccccc;
}
#news .contents .news dl dt,
#news .contents .news dl dd {
	line-height:1.5;
}

/**FAQ**/
#faq .wrap {
	background-color: #e2f0f3;
	padding-bottom: 80px;
}
#faq .contents h2 {
	text-align:center;
	transform: translateY(-.6em);
}
#faq .contents h2 span:not(.small) {
	display:block;
	padding-top:.25em;
}
#faq .contents h2 span.small {
	font-family: 'Ubuntu', sans-serif;
	font-size: .8em;
	color:#0a5d6e;
	font-weight:500;
	margin:0 .1em;
}
#faq .contents_inner:not(:last-child) {
	margin-bottom: 20px;
}
#faq .contents_inner h3 {
	font-size: 2.6rem;
	font-weight: 500;
	letter-spacing:.05em;
	line-height: 1.2;
	color:#FFFFFF;
	background-color:#0a5d6e;
	min-height: 4em;
	padding:.5em 1em;
	border-radius:10px 10px 0 0;
	display: grid;
	grid-template-columns: 1.5em 1fr 1.5em;
	align-items: center;
	cursor: pointer;
}
#faq .contents_inner h3 .num {
	font-family: 'Ubuntu', sans-serif;
	font-size:4.6rem;
	color:#f8efaf;
	font-weight: 500;
}
#faq .contents_inner h3 .icon {
	width:1.5em;
	height:1.5em;
	background-color:#FFFFFF;
	border-radius:50%;
	position:relative;
}
#faq .contents_inner h3 .icon::before,
#faq .contents_inner h3 .icon::after {
	content:'';
	display:block;
	width:40%;
	height:3px;
	background-color:#000000;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(0deg);
	transition:.3s;
}
#faq .contents_inner h3 .icon::after {
	transform:translate(-50%,-50%) rotate(90deg);
}
#faq .contents_inner h3.open .icon::before {
	transform:translate(-50%,-50%) rotate(90deg);
	opacity:0;
}
#faq .contents_inner h3.open .icon::after {
	transform:translate(-50%,-50%) rotate(180deg);
}

#faq .contents_inner .faq {
	background-color: #FFFFFF;
	display: none;
}
#faq .contents_inner .faq dt {
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing:.05em;
	line-height: 1.3;
	min-height: 5em;
	padding:.5em 2em .5em 1em;
	border-radius:10px 10px 0 0;
	display: grid;
	grid-template-columns: 2.5em 1fr 1.25em;
	align-items: center;
	cursor: pointer;
}
#faq .contents_inner .faq dt .num {
	font-family: 'Ubuntu', sans-serif;
	font-size:3.0rem;
	color:#0a5d6e;
	font-weight: 400;
}
#faq .contents_inner dt .icon {
	width:1.25em;
	height:1.25em;
	position:relative;
}
#faq .contents_inner dt .icon::before,
#faq .contents_inner dt .icon::after {
	content:'';
	display:block;
	width:80%;
	height:3px;
	background-color:#000000;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(0deg);
	transition:.3s;
}
#faq .contents_inner dt .icon::after {
	transform:translate(-50%,-50%) rotate(90deg);
}
#faq .contents_inner dt.open .icon::before {
	transform:translate(-50%,-50%) rotate(90deg);
	opacity:0;
}
#faq .contents_inner dt.open .icon::after {
	transform:translate(-50%,-50%) rotate(180deg);
}
#faq .contents_inner .faq dl:not(:last-child) dt {
	border-bottom:1px solid #cccccc;
}
#faq .contents_inner .faq dl:last-child dd {
	border-top:1px solid #cccccc;
	border-bottom:none;
}
#faq .contents_inner .faq dd {
	border-bottom:1px solid #cccccc;
	display: none;
}
#faq .contents_inner .faq dd div {
	font-size:1.6rem;
	padding:1.5em 2em;
	line-height:1.8;
}


/**PRODUCTS**/
#products .wrap {
	padding:90px 0 30px;
}
#products .contents h2 span {
	margin-left:1em;
}
#products .contents h2 + p {
	margin-bottom: 3em;
}
#products .contents_inner {
	display:grid;
	align-items:center;
	justify-content:center;
	aspect-ratio:1.6/1;
	background:url(../img/products.jpg) no-repeat center center/cover;
	position:relative;
}
#products .contents_inner::before {
	content:'';
	display: block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: 0;
	background-color: rgba(0,65,78,.5);
	z-index:0;
}
#products .contents_inner p {
	font-family: 'Ubuntu', sans-serif;
	font-size:6.0rem;
	font-weight:500;
	position:relative;
	z-index:1;
	color:#FFFFFF;
}

/**SUPPLEMENT**/
#supplement .wrap {
	padding:90px 0 30px;
}
#supplement .contents h2 span {
	margin-left:1em;
}
#supplement .contents h2 + p {
	margin-bottom: 3em;
}
#supplement .slick-slide {
	width: 320px;
	margin:0 6px;
}

/**COSMETICS**/
#cosmetics .wrap {
	padding:90px 0 30px;
}
#cosmetics .contents h2 span {
	margin-left:1em;
}
#cosmetics .contents h2 + p {
	margin-bottom: 3em;
}
#cosmetics .slick-slide {
	width: 320px;
	margin:0 6px;
}



/**access**/
#access .wrap {
	padding:90px 0 120px;
}
#access .contents {
	max-width:1300px;
	width:100%;
}
#access .contents_inner {
	display:grid;
	grid-template-columns:54% 1fr;
}
#access .contents_inner .img {
	grid-area:1/1/2/2;
}
#access .contents_inner .detail {
	grid-area:1/2/2/3;
	padding-top:50px;
	padding-left:70px;
	position:relative;
}
#access .contents_inner .detail::before {
	content:'';
	width:calc(100% + 40px);
	height:calc(100% - 40px);
	position:absolute;
	right:0;
	top:80px;
	background-color:#e2f0f3;
	z-index:-1;
}
#access .contents_inner .detail h2 {
	margin-bottom: .75em;
}
#access .contents_inner .detail h2 span {
	display:block;
	padding:.5em 0 1.5em;
}
#access .contents_inner .detail p {
	font-size:1.8rem;
	margin-bottom:1.25em;
}
#access .contents_inner .detail .btn {
	font-size:1.5rem;
	color:#FFFFFF;
	background-color:#0a5d6e;
	height:3em;
	width:14em;
	border-radius:2em;
	margin-bottom:3em;
	transition:.3s;
}
#access .contents_inner .detail .btn:hover {
	opacity:.75;
}
#access .contents_inner .detail dl {
	display:grid;
	font-size:1.8rem;
	grid-template-columns:6em 1fr;
	grid-row-gap:1.5em;
}
#access .contents_inner .detail dt {
	color:#0a5d6e;
	font-weight:600;
	line-height:1.3;
}
#access .contents_inner .detail dd {
	line-height:1.3;
}


/**RESERVATION**/
#reservation .wrap {
	padding:80px 0;
	background-color: #0a5d6e;
}
#reservation .contents h2 {
	color:#FFFFFF;
	margin:0;
}
#reservation .contents h2 span {
	color:#FFFFFF;
	display:block;
	padding:.5em 0 0;
}
#reservation .contents_inner {
	display:grid;
	grid-template-columns: 45% 1fr;
	align-items: center;
}
#reservation .contents_inner .btn {
	width:100%;
	display:grid;
	grid-template-columns:auto auto;
	grid-column-gap:1em;
	letter-spacing:.05em;
	padding-right:.5em;
	font-size: 2.4rem;
	color:#0a5d6e;
	background-color: #f8efaf;
	font-weight:500;
	height: 4em;
	border-radius:2.5em;
	transition:.3s;
	margin:0 auto;
}
#reservation .contents_inner .btn + .att {
	font-size:1.6rem;
	line-height:1.3;
	padding-top:1em;
	color:#FFFFFF;
	text-align:center;
}
#reservation .contents_inner .btn::before {
	content:'';
	width:1.1em;
	height:1.1em;
	background:url(../img/icon_cal2.png) no-repeat center center/contain;
}
#reservation .contents_inner .btn:hover {
	opacity:.75;
}


@media screen and (max-width:1300px){


#menu .contents .course .course3 .slider {
	aspect-ratio:auto;
	height:85vw
}
	
}

@media screen and (max-width:1024px){

/*==============================
        content
==============================*/

.contents h2 {
	font-size:4rem;
}

/*==============================
        header
==============================*/


/* =================================================================
        section
================================================================= */

/**FV**/
#fv .wrap {
	height:auto;
	aspect-ratio:1/.66;
}
#fv h1 {
	font-size:3.2rem;
}

/**CONCEPT**/
#concept .contents_inner {
	grid-template-columns:1fr 45%;
	grid-column-gap:5%;
}
#concept .contents_inner .detail {
	padding-top:40px;
	padding-bottom:80px;
}
#concept .contents_inner .detail p.body {
	font-size: 2.0rem;
}
#concept .msg.wrap .contents {
	padding:80px 30px 50px;
}
#concept .msg.wrap .contents p {
	font-size:1.8rem;
}
#concept .msg.wrap .contents p span {
	font-size:.8em;
	margin-left:.5em;
}
#concept .msg.wrap .btnbox {
	grid-column-gap: 10px;
}
#concept .msg.wrap .btnbox .btn {
	font-size: 1.6rem;
	height:3.5em;
}


/**MENU**/
#menu .contents .course .item:not(.course3),
#menu .contents .course .item .slider {
	padding:30px;
}
#menu .contents .course .item h3 {
	font-size:3.0rem;
}
#menu .contents .course .item h3::after {
	height:.5em;
}
#menu .contents .course .item p {
	line-height:1.5;
}
#menu .contents .course .item .price {
	font-size:5.0rem;
}
#menu .contents .course .item .price span {
	font-size:2.2rem;
}
#menu .contents .course .item.course3 h3 {
	font-size:3.0rem;
}
#menu .contents .course + p {
	font-size:1.6rem;
}

/**SALON**/

/**NEWS**/

/**FAQ**/
#faq .contents_inner h3 {
	font-size: 2.2rem;
}
#faq .contents_inner h3 .num {
	font-size:3.6rem;
}

/**PRODUCTS**/

/**SUPPLEMENT**/

/**COSMETICS**/

/**access**/
#access .wrap {
	padding:90px 0 120px;
}
#access .contents {
	max-width:1300px;
	width:100%;
}
#access .contents_inner {
	grid-template-columns:54% 1fr;
}
#access .contents_inner .detail {
	padding-left:30px;
	padding-right:30px;
}
#access .contents_inner .detail::before {
	content:'';
	width:calc(100% + 40px);
	height:calc(100% - 40px);
	position:absolute;
	right:0;
	top:80px;
	background-color:#e2f0f3;
	z-index:-1;
}
#access .contents_inner .detail h2 {
	margin-bottom: .75em;
}
#access .contents_inner .detail h2 span {
	display:block;
	padding:.5em 0 1.5em;
}
#access .contents_inner .detail p {
	font-size:1.8rem;
	margin-bottom:1.25em;
}
#access .contents_inner .detail .btn {
	font-size:1.5rem;
	color:#FFFFFF;
	background-color:#0a5d6e;
	height:3em;
	width:14em;
	border-radius:2em;
	margin-bottom:3em;
	transition:.3s;
}
#access .contents_inner .detail .btn:hover {
	opacity:.75;
}
#access .contents_inner .detail dl {
	display:grid;
	font-size:1.8rem;
	grid-template-columns:6em 1fr;
	grid-row-gap:1.5em;
}
#access .contents_inner .detail dt {
	color:#0a5d6e;
	font-weight:600;
}


/**RESERVATION**/
#reservation .wrap {
	padding:80px 0;
	background-color: #0a5d6e;
}
#reservation .contents h2 {
	color:#FFFFFF;
	margin:0;
}
#reservation .contents h2 span {
	color:#FFFFFF;
	display:block;
	padding:.5em 0 0;
}
#reservation .contents_inner {
	grid-template-columns: 45% 1fr;
	align-items: center;
}
#reservation .contents_inner .btn {
	width:100%;
	grid-template-columns:auto auto;
	grid-column-gap:1em;
	letter-spacing:.05em;
	padding-right:.5em;
	font-size: 2.4rem;
	color:#0a5d6e;
	background-color: #f8efaf;
	font-weight:500;
	height: 4em;
	border-radius:2.5em;
	transition:.3s;
	margin:0 auto;
}
#reservation .contents_inner .btn::before {
	content:'';
	width:1.1em;
	height:1.1em;
	background:url(../img/icon_cal2.png) no-repeat center center/contain;
}
#reservation .contents_inner .btn:hover {
	opacity:.75;
}

}

@media screen and (max-width:768px){

/*==============================
        content
==============================*/

.contents h2 {
	font-size:min(8vw,4rem);
}
.contents h2 span {
	font-size: .5em;
}
.contents p {
	font-size:min(3.4vw,1.6rem);
	line-height:1.7;
}

/*==============================
        header
==============================*/


/* =================================================================
        section
================================================================= */

/**FV**/
#fv h1 {
	font-size:min(6vw,3.2rem);
}

/**CONCEPT**/
#concept .wrap {
	padding:40px 0 0;
}
#concept .contents_inner {
	display:block;
}
#concept .contents_inner .detail {
	padding-top:0px;
	padding-bottom:0;
	margin-bottom:20px;
}
#concept .contents_inner .detail p.body {
	font-size:min(4.5vw,2.4rem);
}
#concept .contents_inner .img {
	height:40vw;
}
#concept .msg.wrap {
	padding:0;
	z-index: 0;
	margin-top: -40px;
}
#concept .msg.wrap + .msg.wrap {
	margin-top: 30px;
}
#concept .msg.wrap::before {
	content:none;
}
#concept .msg.wrap .contents {
	width: 100%;
	border-radius:6px;
	padding:60px 20px 30px;
}
#concept .msg.wrap .contents p {
	font-size:min(4.5vw,2.2rem);
}
#concept .msg.wrap .contents p:not(:last-child) {
	margin-bottom: 1em;
}
#concept .msg.wrap .contents p span {
	font-size:.8em;
	margin-left:.5em;
}
#concept .msg.wrap .btnbox {
	display:block;
}
#concept .msg.wrap .btnbox .btn {
	font-size:min(4vw,1.8rem);
	transition:0s;
	max-width:400px;
	margin:0 auto;
}
#concept .msg.wrap .btnbox .btn:not(:last-child) {
	margin-block:15px;
}
#concept .msg.wrap .btnbox .btn:hover {
	opacity:1;
}


/**MENU**/
#menu .wrap {
	padding-top:40px;
}
#menu .contents .course {
	margin-bottom:30px;
	display:block;
}
#menu .contents .course .item:not(.course3),
#menu .contents .course .item .slider {
	padding:50px 20px;
}
#menu .contents .course .item h3 {
	font-size:min(6vw,3.0rem);
}
#menu .contents .course .item h3::after {
	height:.75em;
}
#menu .contents .course .item p {
	font-size:min(3.6vw,1.5rem);
}
#menu .contents .course .item .price {
	font-size:min(10vw,5.0rem);
}
#menu .contents .course .item .price span {
	font-size:min(5vw,2.6rem);
}
/* #menu .contents .course .item.course3 h3 {
	font-size:min(7vw,3..4rem);
}
#menu .contents .course .item.course3 h3::after {
	height:1em;
}
#menu .contents .course .item.course3 p {
	margin-bottom:1.5em;
} */


#menu .contents .course .course3 .slider {
	height:auto;
	aspect-ratio:1/1.16;
}
/* #menu .contents .course .course3 .slider {
	padding:50px 20px;
	aspect-ratio:auto;
} */
#menu .contents .course + p {
	font-size:1.6rem;
	margin:0 20px 2em;
	text-align:left;
}
#menu .contents .course .item .slick-dots {
	bottom:5px;
}

#menu .contents .btn {
	font-size: 2.0rem;
	width:calc(100% - 40px);
	transition:0s;
	margin:0 auto;
}
#menu .contents .btn:hover {
	opacity:1;
}
#menu .contents .btn + .att {
	font-size:min(3.6vw,1.5rem);
}

/**SALON**/
#salon .wrap {
	padding:60px 0 0;
}
#salon .contents_inner {
	padding:60px 20px 30px;
	grid-gap: 10px;
}
#salon .contents_inner a {
	transition: 0s;
}
#salon .contents_inner a:hover {
	opacity: 1;
}

/**NEWS**/
#news .wrap {
	padding:60px 0;
}
#news .contents .news dl {
	font-size: 1.4rem;
	grid-template-columns: 7em 1fr;
}

/**FAQ**/
#faq .wrap {
	background-color: #e2f0f3;
	padding-bottom: 40px;
}
#faq .contents h2 {
	text-align:center;
	transform: translateY(-.6em);
}
#faq .contents h2 span:not(.small) {
	display:block;
	padding-top:.25em;
}
#faq .contents h2 span.small {
	font-family: 'Ubuntu', sans-serif;
	font-size: .8em;
	color:#0a5d6e;
	font-weight:500;
	margin:0 .1em;
}
#faq .contents_inner:not(:last-child) {
	margin-bottom: 20px;
}
#faq .contents_inner h3 {
	font-size: 1.6rem;r;
	cursor: pointer;
}
#faq .contents_inner h3 .num {
	font-size:2.8rem;
}
#faq .contents_inner h3 .icon::before,
#faq .contents_inner h3 .icon::after {
	width:50%;
}

#faq .contents_inner .faq {
	background-color: #FFFFFF;
	display: none;
}
#faq .contents_inner .faq dt {
	font-size: 1.4rem;
	padding:.5em 1.5em .5em 1em;
	grid-template-columns: 2.0em 1fr 1.25em;
}
#faq .contents_inner .faq dt .num {
	font-size:2.4rem;
}
#faq .contents_inner .faq dd div {
	font-size:1.4rem;
}


/**PRODUCTS**/
#products .wrap {
	padding:45px 0 15px;
}
#products .contents h2 span {
	margin-left:0;
	display:block;
	padding-top:.5em;
}
#products .contents h2 + p {
	margin-bottom: 2em;
}
#products .contents_inner {
	aspect-ratio:1.8/1;
}
#products .contents_inner p {
	font-size:min(7vw,5rem);
}

/**SUPPLEMENT**/
#supplement .wrap {
	padding:45px 0 15px;
}
#supplement .contents h2 span {
	margin-left:0;
	display:block;
	padding-top:.5em;
}
#supplement .contents h2 + p {
	margin-bottom: 2em;
}
#supplement .slick-slide {
	width: 240px;
	margin:0 3px;
}

/**COSMETICS**/
#cosmetics .wrap {
	padding:45px 0 15px;
}
#cosmetics .contents h2 span {
	margin-left:0;
	display:block;
	padding-top:.5em;
}
#cosmetics .contents h2 + p {
	margin-bottom: 2em;
}
#cosmetics .slick-slide {
	width: 240px;
	margin:0 3px;
}



/**access**/
#access .wrap {
	padding:60px 0;
}
#access .contents_inner {
	display:block;
}
#access .contents_inner .img {
}
#access .contents_inner .detail {
	padding:0 20px 30px;
	background-color:#e2f0f3;
}
#access .contents_inner .detail::before {
	content:none;
}
#access .contents_inner .detail h2 {
	margin-bottom: .25em;
	position:relative;
	top:-.5em;
}
#access .contents_inner .detail h2 span {
	padding:.5em 0 1em;
}
#access .contents_inner .detail p {
	font-size:min(4vw,1.8rem);
}
#access .contents_inner .detail .btn {
	font-size:min(4vw,1.8rem);
	transition:0s;
}
#access .contents_inner .detail .btn:hover {
	opacity:1;
}
#access .contents_inner .detail dl {
	font-size:min(4vw,1.8rem);
	grid-row-gap:1.25em;
}


/**RESERVATION**/
#reservation .wrap {
	padding:40px 0;
}
#reservation .contents h2 {
	text-align:center;
	margin-bottom:20px;
}
#reservation .contents_inner {
	display:block;
}
#reservation .contents_inner .btn {
	font-size:min(5vw,2.4rem);
	max-width:400px;
	transition:0s;
	margin:0 auto;
}
#reservation .contents_inner .btn:hover {
	opacity:1;
}
#reservation .contents_inner .btn + .att {
	font-size:min(3.6vw,1.5rem);
}

}

@media screen and (max-width:640px){
}

@media screen and (max-width:480px){
}