@charset "UTF-8";

.text__underline { text-decoration: underline; }

.ttl__sub__floor { position:relative; margin-top: 3em; margin-bottom: 1em; font-family: 'Noto Serif JP', serif; font-size:150%; text-align: center; }

.btn_lang{
	margin-right: 24px;
}
.btn_lang i{
	width: 35px;
	height: 35px;
	margin-right: 10px;
}
.btn_lang i img{
	width: 35px;
	vertical-align: baseline;
}
.btn_lang a{
	display: flex;
    align-items: center;
	padding-left: 10px;
}
.btn_lang_sp{
	position: fixed;
	bottom: 0;
	right: 0;
	display: none;
}
.btn_lang_sp a{
	display: block;
	line-height: 64px;
	width: 64px;
	text-align: center;
	background: #000;
	color: #fff;
	font-size: 8px;
}
.lang{
	margin-left: 30px;
	padding:3px 25px;
	cursor: pointer;
	font-weight: 800;
	background: rgba(255,255,255,0.5) url("../img/icon_earth.png") no-repeat left 5px center;
	background-size: 15px auto;
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
}
.lang::after{
	position: absolute;
    display: block;
    content: '';
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
}
.lang_wrap{
	position: relative;
	font-family: 'Noto Serif JP', serif;
	align-self: center;
}
.list_lang{
	position: absolute;
	background: rgba(255,255,255,0.5);
	display: none;
	padding: 10px 10px 10px 30px ;
	margin-left: 30px;
	width: calc(100% - 30px);
}
.list_lang li a{
	display: block;
	padding: 10px 0;
}
.list_lang li a:hover{
	opacity: .6;
}
/*Modaal*/
.modaal-close::after, .modaal-close::before, .modaal-close:hover::after, .modaal-close:hover::before {
    background:#000
}
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
    background:#999
}
.modaal-gallery-label { color:#000; }

@media screen and (max-width: 767px) {
footer { padding-bottom: 18vw; }
}

/*下層*/
.sec_def.sec_text { padding-top: 100px; }
@media screen and (max-width: 767px) {
.sec_def.sec_text { padding-top: 20vw; }
}
.sec_def.sec_text p:not(:last-child) { margin-bottom: 1.5em; }

/*ヘッダー下層*/
.under .header_wrap { opacity: 1; }

/*下層*/
.bnr__roppongi { 
    margin: 0 20vw 5vw;
    &.margin__narrow {
        margin-bottom: 1vw;
        @media screen and (max-width: 767px) {
            margin-bottom: 3.5vw;
        }
    }
}
.bnr__onlineshopping { margin: 0 5vw 5vw; }
.bnr__roppongi a,.bnr__onlineshopping a { transition: all .5s; }

@media screen and (min-width: 768px) {
	.bnr__roppongi a:hover,.bnr__onlineshopping a:hover { opacity: .7; }
}

.youtube_outer { margin: 0 15vw; }
.youtube {  position: relative;
  width: 100%; margin-bottom: 8vw;
  padding-top: 56.25%; }
.youtube iframe { position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

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

.bnr__roppongi,
.youtube_outer { margin: 0 5.2vw; }

.bnr__roppongi { margin-bottom: 10vw; }

}

.sec_access { padding-top: 2em; }

.map { position: relative; padding-top: 56.25%; margin: 0 auto; }
@media screen and (max-width: 767px) {
.map { padding-top: 80%; }
}
.map iframe { position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }
  
.txt__address { margin-top: 1em; } 
.txt__address a { text-decoration: underline; }

.ttl__border { margin-bottom: .3em; padding-bottom: .3em; border-bottom: 1px solid #333; }

.list_circle { margin-bottom: 1.5em; }
.list_circle li { margin-left: 1.5em; list-style: disc; }

/* CSS Document */
body{
	margin:0;
	padding:0;
	color:#111;
	background:#fff;
	font-size:14px;
	font-weight:400;
	line-height: 1.7;
    letter-spacing: 2px;
	overflow-x:hidden;
	font-family: 'Noto Sans JP',"Yu Gothic",Hiragino Kaku Gothic ProN, sans-serif;
	-webkit-text-size-adjust: 100%;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

body.open, body.modaal-noscroll{
	overflow: hidden;
}

.serif{
    font-family: 'Noto Serif JP', serif;
}

input{
    font-family: "Yu Gothic",Hiragino Kaku Gothic ProN, sans-serif;
    font-size:16px;
    -webkit-border-radius : 0;
    -webkit-tap-highlight-color : rgba(0,0,0,0);
}

img{
	vertical-align:bottom;
	max-width:100%;
	height:auto;
	image-rendering: -webkit-optimize-contrast;
}

a {
	color:#111;
	text-decoration:none;
	transition: all 0.3s ease-in-out 0s;
}

a:hover {
	text-decoration:none;
}
.flex_wrap{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.flex_wrap_between{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex_wrap_center{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	justify-content: center;
}
.flex_wrap_middle{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	align-items: center;
}

.sp{display:none !important;}
.note{font-size:14px; text-align: center;}

input{
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    margin: 0;
    padding: 0;
}
.robot{
    font-family: 'Roboto', sans-serif;
}
/************************
header
************************/

.loaded .header_wrap{
    animation: fade 1s ease 3s forwards;
}
.header_wrap{
    width: 100%;
    position: absolute;
    padding: 30px 5%;
    z-index: 100;
    align-items: center;
    opacity: 0;
}
.thanks .header_wrap{
    opacity: 1;
}
.header_wrap .logo img{
    filter: drop-shadow(0px 0px 8px #fff);
    width: 228px;
}

.header_r{
    position: fixed;
    right: 5%;
}


.tel_btn{
    margin-right: 24px;
}
.tel_btn a { position: relative; display: block; width: 231px; padding: .6em 1em; border-radius: 5px; background: #fff; }
.txt__line { position: relative; display: flex; align-items: center; font-family: 'Noto Serif JP', serif; }
.txt__line img { width:35px; height: auto; }
.txt__line span { display: inline-block; padding-left: .5em; }

.txt__line::after, .txt__line::before{
    display: block;
    position: absolute;
    content: '';
    margin: auto;
    right: 0;
    bottom: 0;
    top: 0;
    transition: all 0.3s ease-in-out 0s;
}
.txt__line::after{
    background: #000;
    width: 40px;
    height: 1px;
}
.txt__line::before{
    border-top: 1px solid #000;
    transform: rotate(45deg);
    width:10px;
	height:10px;
}

.tel_btn a:hover {
	color:#06c755;
}

.tel_btn a:hover .txt__line::after{
    background: #06c755;
}
.tel_btn a:hover .txt__line::before{
	border-top-color:#06c755;
}

/*
.tel_btn a{
    background: #111;
    display: block;
    height: 100%;
    position: relative;
    border: 1px solid #111;
}

.tel_btn a img{
    transition: all 0.3s ease-in-out 0s;
}
.tel_btn .on{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
}
.tel_btn a:hover{
    background: #fff;
    border: 1px solid #111;
}
.tel_btn a:hover .off{
    opacity: 0;
}
.tel_btn a:hover .on{
    opacity: 1;
}
*/
/************************
btn
************************/
.btn{
    font-family: 'Noto Serif JP', serif;
}
.btn a{
    padding-right: 25px;
    font-size: 16px;
    font-weight: 700;
    display: inline-block;
    margin: auto;
    position: relative;
    text-align: center;
    line-height: 50px;
    padding: 0 80px;
    background: #111;
    color: #fff;
    border: 1px solid #111;
}
.btn a::after, .btn a::before{
    display: block;
    position: absolute;
    content: '';
    margin: auto;
    right: 30px;
    bottom: 0;
    top: 0;
    transition: all 0.3s ease-in-out 0s;
}
.btn a::after{
    background: #fff;
    width: 40px;
    height: 1px;
}
.btn a::before{
    border-top: 1px solid #fff;
    transform: rotate(45deg);
    width:10px;
	height:10px;
}
.btn a:hover{
    background: #fff;
    color: #111;
}
.btn a:hover::after{
    background: #111;
}
.btn a:hover::before{
    border-color: #111;
}
.btn_s{
    margin-top: 24px;
    text-align: left;
}
.btn_s a{
    margin: 0;
    font-size: 13px;
}
.btn_s a::after, .btn_s a::before{
    bottom: -5px;
}
/************************
content
************************/
.inner_1200{
    margin: auto;
    width: 90%;
    max-width: 840px;
}
.mv_wrap {
    position: relative;
}
.mv_wrap img{
    width: 100%;
}
.swiper-container.mv_bg{
    width: 90%;
    max-width: 943px;
    margin:0 0 0 auto;
    right: 0;
    position: absolute;
    opacity: 0;
}
.loaded .swiper-container.mv_bg{
    animation: fade 1s ease 3.2s forwards;
}
.mv_text{
    max-width: 1760px;
    position: relative;
    width: 90%;
    padding-top: 164px;
    margin: auto;
    z-index: 2;
    margin-bottom: 28px;
}
.mv_text h1{
    font-family: 'Noto Serif JP', serif;
    font-size: 35px;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 28px;
    opacity: 0;
}
.loaded .mv_text h1{
    animation: fade 1s ease 3.6s forwards;
}
.mv_text h1 span{
    display: inline-block;
    background: rgba(255,255,255,0.5);
    padding: 5px 30px 5px 0;
    margin: 10px 0;
}
.mv_text h1 span.h1_l{
    letter-spacing: 10px;
    padding: 0;
    background: none;
    margin: 0;
}
.mv_wrap li{
    overflow: hidden;
}

.lead{
    background: rgba(255,255,255,0.7);
    padding: 20px 20px 20px 0;
    width: 100%;
    max-width: 400px;
    letter-spacing: 2px;
    margin-bottom: 22px;
    opacity: 0;
}
.loaded .lead{
    animation: fade 1s ease 3.8s forwards;
}
.mv_text .btn{
    opacity: 0;
}
.loaded .mv_text .btn{
    animation: fade 1s ease 4s forwards;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.swiper-slide-active img,
.swiper-slide-duplicate-active img,
.swiper-slide-prev img{
    animation: zoomUp 10s linear 0s 1 normal both; 
}


.wrap_concept{
    margin: auto;
    width: 90%;
    max-width: 1760px;
    position: relative;
    z-index: 2;
    align-items: flex-end;
    opacity: 0;
}
.loaded .wrap_concept{
    animation: fade 1s ease 4.5s forwards;
}
.wrap_concept figure{
    width: 36%;
}
.concept_txt{
    width: 64%;
    background: #fff;
}
.inner_ct{
    max-width: 840px;
    width: 79%;
    margin: 0 auto 0 0;
    padding-left: 4%;
    padding-top: 10px;
}
.sec_def{
    padding-bottom: 80px;
}
.sec_def h2{
    font-size: 42px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    letter-spacing: 4px;
    margin-bottom: 35px;
}
.sec_def h2 span{
    position: relative;
    display: inline-block;
}
.sec_def h2 span::after{
    display: block;
    content: '';
    position: absolute;
    width: 42px;
    height: 2px;
    background: #111;
    margin: auto;
    left: 0;
    right: 0;
    bottom: -7px;
}
.lead_cp{
    font-family: 'Noto Serif JP', serif;
    font-size: 25px;
    margin-bottom: 22px;
}
.sec_price{
    margin-bottom: 80px;
}

.wrap_point{
    background: url("../img/bg_point.jpg") center;
    background-size: cover;
    padding: 80px 0;
}
.wrap_point_art{
    background: rgba(0,0,0,0.65);
    padding: 35px;
    color: #fff;
    text-align: center;
}
.wrap_point_art h3{
    font-size: 25px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    margin-bottom: 25px;
}
.slide_pd{
    margin: 28px 20px 0;
}
.list_point li{
    margin-top: 28px;
    width: 48.25%;
    margin-right: 3.5%;
}
.list_point li.wrap_point_art{
    padding: 28px;
}
.list_point li:nth-child(-n+2){
    width: 48.25%;
}
.list_point li:nth-child(2),.list_point li:nth-child(4){
    margin-right: 0;
}
.list_lnav li{
    width: 31.5%;
}
.list_lnav li a{
    display: block;
}
.list_lnav li a:hover{
    opacity: .7
}
.art_room{
    padding: 56px 0 56px;
}
.art_room h3{
    text-align: center;
    font-size: 25px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    letter-spacing: 4px;
    margin-bottom: 35px;
}
.art_room h3 span{
    position: relative;
}
.art_room h3 span:after{
    display: block;
    content: '';
    position: absolute;
    width: 42px;
    height: 2px;
    background: #111;
    margin: auto;
    left: 0;
    right: 0;
    bottom: -7px;
}
.potion_wrap{
    background: #efefef;
    padding: 14px 35px;
    margin: 35px 0 14px;
}
.potion_wrap table{
    font-size: 13px;
}
.potion_wrap table td{
    vertical-align: top;
}
.ttl_td{
    width: 110px;
}
.sd_room, .fig_room{
    margin-top: 42px;
}
.slick-slide{
}
.inner_slider{
    padding: 0 10px;
    font-size: 13px;
    max-width: 861px;
    width: 100%;
}
.inner_slider figure{
    margin-bottom: 10px;
}
.sd_l{
    width: calc(100% - 260px);
    padding-right: 46px;
    font-size: 14px;
}
.sd_r{
    width: 260px;
    border-left: 1px solid #111;
    padding-left: 46px;
    font-size: 14px;
}
.slick-arrow{
    margin-top: -10%;
}
.prev-arrow{
    left: 50%;
    position: absolute;
    top: 50%;
    z-index: 2;
    margin-left:-392px; 
}
.next-arrow{
    right: 50%;
    top: 50%;
    position: absolute;
    z-index: 2;
    margin-right: -392px;
}

.fig_room{
    margin-bottom: 10px;
}
.pb_0{
    padding-bottom: 0;
}

.wrap_price{
    background: url("../img/bg_pricesec.jpg") center;
    background-size: cover;
    padding: 56px 0;
}

.list_flow li{
    width: 22%;
    margin-right: 4%;
    position: relative;
}
.list_flow li:nth-child(4){
    margin-right: 0;
}
.list_flow li figure{
    position: absolute;
    top:0;
    left: 0;
    width: 65px;
}
.list_flow li div{
    height: 100%;
    width: calc(100% - 16px);
    margin-top: 16px;
    margin-left: 16px;
    background: #fff;
    padding: 70px 18px 70px;
    text-align: center;
    box-shadow: 0px 0px 12px 1px rgb(51 51 51 / 10%);
}
.list_flow li h3{
    font-size: 20px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    margin-bottom: 21px;
}
.list_flow li p{
    font-size: 12px;
}
.list_flow li::before, .list_flow li::after{
    position: absolute;
    display: block;
    content: '';
    margin: auto;
    top: 0;
    bottom: 0;
    right: -16%;
}
.list_flow li::before{
    width: 10%;
    height: 1px;
    background: #111;
}
.list_flow li::after{
    border-top: 1px solid #111;
    transform: rotate(45deg);
    width:10px;
	height:10px;
}
.list_flow li:nth-child(4)::before, .list_flow li:nth-child(4)::after{
    display: none;
}

.form_wrap{
    background: url("../img/bg_form.jpg") center;
    background-size: cover;
    padding: 56px 0;
}
.inner_form{
    background: #fff;
    padding: 49px 84px;
    margin: auto;
    width: 90%;
    max-width: 840px;
    box-shadow: 0px 0px 12px 1px rgb(51 51 51 / 10%);
}
.inner_form dl{
    margin-bottom: 42px;
}
.inner_form dl input{
    font-size: 14px;
}
.inner_form dl dt{
    margin-bottom: 10px;
}
.inner_form dl dt i{
    font-style: normal;
    color: #ff0000;
}
.error{
    color: #ff0000;
}
.inner_form dl input:not([type=radio]){
    border: 1px solid #dddddd;
    width: 100%;
    border-radius: 3px;
    padding: 10px;
}
.inner_form dl input.error:not([type=radio]){
    border: 1px solid #ff0000;
    background: #F2D3D3;
}
.taprive{
    font-size: 16px;
}
.taprive a{
    text-decoration: underline;
}
.taprive a:hover{
    opacity: .7;
}
.submit{
    text-align: center;
    margin: 30px auto 0;
    width: 100%;
    max-width: 468px;
    position: relative;
}
.submit input{
    display: inline-block;
    cursor: pointer;
    color: #fff;
    background: #111;
    border: 1px solid #111;
    transition: all 0.3s ease-in-out 0s;
    font-family: 'Noto Serif JP', serif;
    padding: 20px;
    width: 100%;
    font-size: 24px;
    -webkit-appearance: none;
    border-radius: 0;
}
.submit input:hover{
    background: #fff;
    color: #111;
}
.submit::after, .submit::before{
    display: block;
    position: absolute;
    content: '';
    margin: auto;
    right: 30px;
    bottom: 0;
    top: 0;
    transition: all 0.3s ease-in-out 0s;
}
.submit::after{
    background: #fff;
    width: 40px;
    height: 1px;
}
.submit::before{
    border-top: 1px solid #fff;
    transform: rotate(45deg);
    width:10px;
	height:10px;
}
.submit:hover::after{
    background: #111;
}
.submit:hover::before{
    border-color: #111;
}

footer{
}
.ft_link{
    padding: 20px 0;
    font-size: 12px;
    text-align: center;
}
.ft_link a{
    text-decoration: underline;
    margin: 0 20px;
}
.ft_link a:hover{
    opacity: .7;
}
.copy{
    background: #111;
    text-align: center;
    color: #fff;
    padding: 10px;
    font-size: 13px;
}

.to_top{
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 2;
    opacity: 0;
    transition: all 0.3s ease-in-out 0s;
}
.to_top.on{
    opacity: 1;
}
.to_top a:hover{
    opacity: .7;
}

#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #fff;
	z-index: 9999;
	opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loaded #loading {
	transform-origin: 50vw 100vh;
	animation: loaded .3s cubic-bezier(0.19, 1, 0.22, 1) 2.6s forwards;
	pointer-events: none;
}
#loading img{
    opacity: 0;
    animation: fade 1s ease .4s forwards;
}
@keyframes loaded {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.invew{
    position: relative;
    transition: all 0.6s ease-in-out 0s;
}
.fade{
    opacity: 0;
    top: 40px;
}
.fade.fire{
    opacity: 1;
    top: 0;
}
.fade_list li{
    position: relative;
    opacity: 0;
    top: 40px;
    transition: all 0.6s ease-in-out 0s;
}
.fade_list li:nth-of-type(2){
    transition-delay: 0.1s
}
.fade_list li:nth-of-type(3){
    transition-delay: 0.2s
}
.fade_list li:nth-of-type(4){
    transition-delay: 0.3s
}
.fade_list li:nth-of-type(5){
    transition-delay: 0.4s
}
.fade_list li:nth-of-type(6){
    transition-delay: 0.5s
}
.fade_list.fire li{
    opacity: 1;
    top: 0;
}

.wrap_thanks{
    min-height: calc(100% - 120px);
    padding: 130px 5% 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wrap_price_tab{
    display: none;
}
.list_tab li{
    width: 33.3333%;
    background: url("../img/tab_menu_01_on.png");
    background-size: 100% auto;
    cursor: pointer;
}
.list_tab li:nth-child(2){
    background-image: url("../img/tab_menu_02_on.png");
}
.list_tab li:nth-child(3){
    background-image: url("../img/tab_menu_03_on.png");
}
.list_tab li img{
    width: 100%;
    transition: all 0.3s ease-in-out 0s;
}
.list_tab li:hover img, .list_tab li.select img{
    opacity: 0;
}
.tab_body img{
    width: 100%;
}

.faq_list{}
.faq_list dt{
    border-bottom: 1px solid #cfcfcf;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.i_faq{
    font-size: 18px;
    width: 40px;
    line-height: 40px;
    text-align: center;
    background: #111;
    color: #fff;
}
.i_faq.i_a{
    background: #fff;
    border: 2px solid #111;
    color: #111;
}
.faq_list dt .txt_faq{
    font-size: 14px;
}
.txt_faq{
    width: calc(100% - 63px);
    margin-left: 22px;
}
.faq_list dd{
    margin-bottom: 35px;
}

.tel_btn_sp{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background: #fff;
	border-top:1px solid #111;
	padding: 1em;
    display: none;
}

/*
.tel_btn_sp img{
    width: 100%;
    max-width: 375px;
}
*/
/********************************
sp
********************************/
@media screen and (max-width: 1050px) {
    .lead_cp{font-size: 2.3vw;}
    .mv_text{margin-bottom: 140px;}
}
@media screen and (max-width: 1200px) {
    .mv_text h1{font-size: 3vw;}
}
@media screen and (max-width: 890px) {
    .tel_btn{display: none;}
    .tel_btn_sp{display: flex;align-items: center; justify-content: center; }
	.tel_btn_sp .txt__line { left: -23px; }
	.tel_btn_sp .txt__line::after,
	.tel_btn_sp .txt__line::before { right:-45px; }
}
@media screen and (max-width: 940px) {
    .prev-arrow{left: 0; margin-left: 0;}
    .next-arrow{right: 0; margin-right: 0;}
}
@media screen and (max-width: 768px) {
	body{ font-size:12px;}
	.sp{ display:block !important;}
	.pc{display:none !important;}
    .mv_text h1 span.h1_l{background: rgba(255,255,255,0.5);padding: 5px 20px 5px 20px;margin: 3px 0;}
    .btn a{font-size: 12px; padding: 0 30px; line-height: 36px;}
    .btn a::after, .btn a::before{right: 10px;}
    .btn a::after{width: 15px;}
    .btn a::before{width: 6px; height: 6px;}
    .header_wrap .logo img{width: 120px;}
    .mv_text{padding-top: 300px;}
    .header_wrap{padding: 20px 5%;}
    .mv_text h1{font-size: 19px; margin-bottom: 20px;}
    .lead{padding: 10px 20px;}
    .mv_text{margin: 0 auto; position: absolute; padding-top: 0; bottom: 20px; left: 0; right: 0;}
    .sec_def h2{font-size: 20px; margin-bottom: 25px;}
    .lead_cp{font-size: 16px; margin-bottom: 16px;}
    .wrap_concept figure{width: 100%; order: 2;}
    .concept_txt{width: 100%; order: 1;}
    .inner_ct{width: 100%; margin: 0 0 20px;}
    .concept_txt h2{text-align: center;}
    .sec_def{padding-bottom: 40px;}
    .sec_price{margin-bottom: 40px;}
    .wrap_point{padding: 40px 0;}
    .wrap_point_art h3{font-size: 16px; margin-bottom: 16px;}
    .wrap_point_art{padding: 20px;}
    .slide_pd{margin-top: 20px;}
    .list_point li{width: 100%; margin: 20px 0 0;}
    .list_point li:nth-child(-n+2){width: 100%;}
    .list_point li.wrap_point_art{padding: 20px;}
    .art_room{padding: 40px 0;}
    .art_room h3{font-size: 18px; margin-bottom: 18px;}
    .potion_wrap{padding: 10px; margin: 20px 0 10px;}
    .potion_wrap table{font-size: 12px;}
    .potion_wrap table td{display: block;}
    .ttl_td{padding-bottom: 10px;}
    .sd_l{width: 100%; padding: 0;font-size: 11px;}
    .sd_r{width: 100%; border-left:none; border-top: 1px solid #111; padding: 5px 0 0; margin: 5px 0 0; font-size: 11px;}
    .prev-arrow, .next-arrow{top: 30%; width: 15px;}
    .slick-arrow{margin-top: 0;}
    .next-arrow{right: 6%;}
    .prev-arrow{left: 6%;}
    .inner_slider{padding: 0 5px;}
    .wrap_price{padding: 40px 0;}
    .inner_price{overflow: auto;}
    .inner_price img{width: 100%; min-width: 600px;}
    .list_flow li{width: 100%; margin: 0 0 60px;}
    .list_flow li figure{width: 60px;}
    .list_flow li div{padding: 50px 30px;}
    .list_flow li h3{font-size: 15px; margin-bottom: 15px;}
    .list_flow li p{font-size: 12px;}
    .list_flow li::before, .list_flow li::after{top: auto; bottom: -50px;left: 0; right: 0;}
    .list_flow li::before{width: 1px; height: 20px;}
    .list_flow li::after{border-top:none; border-right: 1px solid #111; }
    .list_flow li:nth-child(4){margin: 0 0 16px;}
    .form_wrap{padding: 40px 0;}
    .inner_form{padding: 20px;}
    .inner_form dl{margin-bottom: 30px;}
    .taprive{font-size: 12px;}
    .submit input{font-size: 13px;}
    .submit::after, .submit::before{right: 10px;}
    .submit::after{width: 20px;}
    .inner_form dl dd{font-size: 12px;}
    .inner_form dl input{font-size: 12px;}
    .to_top{width: 60px;}
    .ft_link, .copy{font-size: 12px;}
    .mv_text h1 span{margin: 3px 0;padding: 5px 20px 5px 20px;}
    .wrap_price_tab{display: block;}
    .inner_price{display: none;}
    .swiper-container.mv_bg{width: 100%; position: relative;}
    .mv_wrap{margin-bottom: 40px;}
    .btn_lang_sp a{line-height: 60px;width: 60px;}
	.lang_wrap{position: fixed;bottom: 0;right: 0;line-height: 59px;font-size: 10px;}
	.lang{padding: 0 35px 0;background-position: left 10px center;}
	.tel_btn_sp{justify-content: flex-start; }
	.tel_btn_sp .txt__line{left: 0;}
	.list_lang{bottom: 60px; background: #fff;}
	.list_lang li{line-height: 1.6;}
}