@charset "utf-8";

body{
    margin: 0;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    background: #f4f2f4;
    touch-action: pan-x pan-y;}
p{
    margin: 0;
    color: #444;
    font-size: 1em;}
h1{
    display: none;}
h2{
    font-size: 1.2em;
    text-align: center;}
h3{
    color: #785681;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    padding-top: 50px;}
.engtitle p{
    color: #ccc;
    font-size: 1.6em;
    font-family: Calisto MT;
    letter-spacing: 0.5em;
    text-align: center;
    margin-bottom: 20px;
    display: block;}
.btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 250px;
	height: 40px;
	color: #444;
	font-size: 0.9em;
    font-weight: bold;
	text-decoration: none;
	transition: 0.3s;}
.btn a:hover{
	color: #f4f2f4;}
.linkbtn_g{
    margin: 20px 0;
    padding-left: 10%;
    text-align: center;}
.linkbtn_g a{
	border: 2px solid #888;
	border-radius: 35px;}
.linkbtn_g a:hover{
	background-color: #7c5886;
	border: 2px solid #888;}
.linkbtn_g a::before{
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	right: -35px;
	transform: rotate(30deg);
	width: 12px;
	height: 1px;
	background-color: #333;}
.linkbtn_g a::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -35px;
	transform: translateY(-50%);
	width: 60px;
	height: 1px;
	background-color: #333;}
.sp_none{
    display: none;}

/* 共通・グロナビ */
.gnav_head{
    position: fixed;
    top: 0;
    left: 0;
	height: 55px;
    background: #f4f2f4;}
.gnav_head_ll{
	padding: 5px 0 20px 0;}
.gnav_head_ll01 a img{
    width. 30%;
	padding: 5px 35% 0 35%;}
.gnav_head_r{
    display: none;}
.header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;}
.logo a img{
    width: 50%;
    padding-left: 40%;}
.drawer_hidden{/* チェックボックスを非表示にする */
    display: none;}
.drawer_open{/* ハンバーガーアイコンの設置スペース */
    display: flex;
    height: 50px;
    width: 100px;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 100;/* 重なり順を一番上にする */
    cursor: pointer;}
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after{/* ハンバーガーメニューのアイコン */
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #333;
    transition: 0.5s;
    position: absolute;}
.drawer_open span:before{/* 三本線の一番上の棒の位置調整 */
    bottom: 8px;}
.drawer_open span:after{/* 三本線の一番下の棒の位置調整 */
    top: 8px;}
#drawer_input:checked ~ 
.drawer_open span{/* アイコンがクリックされたら真ん中の線を透明にする */
    background: rgba(255, 255, 255, 0);}
#drawer_input:checked ~ 
.drawer_open span::before{/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
    bottom: 0;
    transform: rotate(45deg);}
#drawer_input:checked ~ 
.drawer_open span::after{
    top: 0;
    transform: rotate(-45deg);} 
.nav_content{/* メニューのデザイン*/
    width: 60%;
    height: 50%;
    position: fixed;
    top: 0;
    left: -100%; /* メニューを画面の外に飛ばす */
    z-index: 99;
    background: #e8e8e8;
    transition: .5s;}
.nav_list{/* メニュー黒ポチを消す */
    list-style: none;}
.nav_list li a{
    color: #444;
    text-decoration: none;
    margin:  5px 0 5px 0;}
.nav_list li{
    border-bottom: 1px solid #888;
    padding: 5px 0 5px 0;
    margin-right: 20px;}
.nav_list li:first-child{
    padding-top: 30px;}
.nav_list li p{
    font-size: 0.8em;
    color: #f4f2f4;
    display: inline-block;
    background: #7c5886;
    padding: 5px;
    margin-bottom: 10px;}
#drawer_input:checked ~ 
.nav_content{/* アイコンがクリックされたらメニューを表示 */
    left: 0;/* メニューを画面に入れる */}

/* Page01・メインビジュアル */
.mainvisual{
    width: 100%;
    height: 350px;
    object-fit: cover;    
    background-image: url(images/mainvisual_sp.jpg);
    background-size: cover;
    background-position: center;}
.mainvisual p{
    color: #f4f2f4;
    font-size: 1.6em;
    padding: 245px 0 0 30px;}
.maincopy{
    text-align: center;
    padding: 30px 0 30px 0;}

/* Page01・導入／コンセプト */
#dg_concept{
    background: linear-gradient(180deg, #f4f2f4 0px, #f4f2f4 16px, #ede6ef 16px, #ede6ef 1000px);
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 30px;}
.dg_concept{
    width: 90%;
    margin: 0 5% 0 5%;
    padding-bottom: 30px;}
.dg_concept_l img{
    display: none;}
.dg_concept_spimg img{
    width: 100%;
    height: 240px;
    object-fit: cover;}
.dg_concept_r p{
    padding: 20px 0 10px 0;}
.dg_concept_r p a{
    color: #444;}

/* Page01・導入／サロン案内 */
#dg_salonmenu{
    background: linear-gradient(180deg, #f4f2f4 0px, #f4f2f4 16px, #e6e1e8 16px, #e6e1e8 1000px);
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 30px;}
.dg_salonmenu{
    width: 90%;
    margin: 0 5% 0 5%;
    padding-bottom: 30px;}
.dg_salonmenu_r img{
    display: none;}
.dg_salonmenu_spimg img{
    width: 100%;
    height: 240px;
    object-fit: cover;}
.dg_salonmenu_l p{
    padding: 20px 0 10px 0;}
.dg_salonmenu_l p a{
    color: #444;}

/* Page02・Etoileについて */
.concept{
    width: 90%;
    margin: 0 5% 50px 5%;}
.concept_l img:first-child{
    width: 100%;
    object-fit: cover;}
.concept_l img:last-child{
    display: none;}
.concept_r p{
    line-height: 1.7em;
    padding-bottom: 10px;}

/* Page02・お客様の声 */
#voice{
    width: 90%;
    margin: 0 5% 50px 5%;}
.voicetitle{
    text-align: center;
    padding: 10px 0;
    margin-bottom: 30px;
    border-top: 2px solid #888;
    border-bottom: 2px solid #888;}
.voicetitle p{
    font-size: 1.2em;}
.voice01_l img,
.voice02_r img,
.voice03_l img,
.voice04_r img{
    display: none;}
.voice01_r p,
.voice02_l p,
.voice03_r p,
.voice04_l p{
    font-size: 1em;}
.voice01_r{
    background-image: url(images/voiceA_sp.png);
    background-size: 100%;}
.voice01_r p{
    padding: 0 45% 20px 5%;}
.voice02_l{
    background-image: url(images/voiceB_sp.png);
    background-size: 100%;}
.voice02_l p{
    padding: 0 5% 20px 55%;}
.voice03_r{
    background-image: url(images/voiceC_sp.png);
    background-size: 100%;}
.voice03_r p{
    padding: 0 40% 20px 5%;}
.voice04_l{
    background-image: url(images/voiceD_sp.png);
    background-size: 100%;}
.voice04_l p{
    padding: 0 5% 20px 35%;}
.voice04{
    padding-bottom: 30px;}
    
/* Page03・施術について */
.salonmenu_upper,
.salonmenu_lower{
    width: 90%;
    margin: 0 5% 50px 5%;}
.salonmenu_upper_spimg{
    width: 90%;
    padding: 0 5% 10px 5%;}
.salonmenu_upper_spimg img{
    width: 100%;
    object-fit: cover;}
.salonmenu_lower_r p,
.salonmenu_txt01{
    line-height: 1.7em;
    padding-bottom: 10px;}
.salonmenu_txt02{
    line-height: 1.7em;
    padding-bottom: 30px;}
.salonmenu_upper_r img,
.salonmenu_lower_l img{
    display: none;}
.salonmenu_mds{
    position: relative;
    color: #f4f2f4;
    background: #7c5886;
    line-height: 1.4;
    padding: 0.3em 0.5em 0.3em 2.3em;
    margin: 20px 0 10px 0;}
.salonmenu_mds:before{
    font-family: "Font Awesome 5 Free";
    content: "\f14a";
    font-weight: 900;
    position: absolute;
    left: 0.8em;}

/* Page03・施術メニュー・料金 */
#menu_sp{
    width: 90%;
    margin: 80px 5% 50px 5%;}
#menu_pc{
    display: none;}
.menutitle{
    text-align: center;
    padding: 10px 0;
    border-top: 2px solid #888;
    border-bottom: 2px solid #888;}
.menutitle p{
    font-size: 1.2em;}
.menuname{
    color: #f4f2f4;
    background: #888;
    padding: 8px 0 8px 10px;
    margin-top: 20px;}
.menuname span{
    color: #ebb2b2;
    font-weight: bold;}
.menucopy{
    color: #785681;
    text-align: center;
    font-weight: bold;
    border-bottom: 1px solid #888;
    padding: 8px 0 8px 0;}
.menucf{
    border-bottom: 1px solid #888;
    padding: 8px 0 8px 0;
    display: flex;
    justify-content: space-between;}
.menucourse{
    padding-left: 10px;}
.menufee{
    padding-right: 10px;}
.menucourse p,
.menufee p{
    font-size: 0.9em;}
.menulr{
    padding-bottom: 30px;}
.menu_txt01{
    color: #fff;
    text-align: center;
    font-weight: bold;}
.menu_txt02{
    color: #fff;
    text-align: center;
    font-weight: bold;}
.menu_txt01,
.menu_txt02{
    margin: 0.5em auto; /* 外側余白 */
    padding: 1em; /* 内側余白 */
    border: 3px solid #f4f2f4; /* ベースの実線 */
    background: #a23939;
    position: relative; /* 配置（基準） */
    z-index: 0; /* 重なり順 */
    max-width: 800px; /* 最大幅 */}
.menu_txt01:before,
.menu_txt02:before{
    border-top: 3px solid #888; /* 上辺の線の色 */
    border-left: 3px solid #888; /* 左辺の線の色 */
    content: ''; /* 擬似要素にコンテンツなし */
    display: block; /* 擬似要素をブロック表示 */
    position: absolute; /* 配置（位置を指定） */
    top: -3px; /* 上から-3pxずらす */
    left: -3px; /* 左から-3pxずらす */
    width: 30px; /* 幅30px */
    height: 30px; /* 高さ30px */
    z-index: 1; /* 重なり順（前面に表示） */}
.menu_txt01{
    margin-top: 40px;}
.menu_txt03{
    padding-top: 10px;
    color: #a23939;
    font-size: 0.8em;
    font-weight: bold;}
.menu_txt04{
    padding-bottom: 20px;
    font-size: 0.8em;}

/* 共通・サロン案内 */
#aboutsalon{
    background: linear-gradient(180deg, #f4f2f4 0px, #f4f2f4 16px, #e8e8e8 16px, #e8e8e8 1000px);
    justify-content: center;
    align-items: center;
    width: 100%;}
.aboutsalon{
    width: 90%;
    margin: 0 5% 0 5%;
    text-align: center;}
.salonmap{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 80%;}
.salonmap iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;}
.googlemap{
    filter: grayscale(70%);
    -webkit-filter: grayscale(70%);}
.salontitle{
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.3em;
    margin: 10px 0 15px 0;}
.salonhead{
    display: inline-block;}
.salonhead p{
    font-size: 0.9em;
    color: #e8e8e8;
    background: #888;
    padding: 0.2em 0.9em;
    margin-bottom: 5px;}
.salontxt p{
    font-size: 0.9em;
    margin-bottom: 15px;}
.salontxt p span{
    font-size: 0.7em;}
.salonreservation{
    display: inline-block;}
.salonreservation p{
    color: #f4f2f4;
    font-size: 1.6em;
    letter-spacing: 0.1em;
    background: #7c5886;
    padding: 0 30px 0 30px;}
.salonreservation p:first-child{
    font-size: 0.9em;
    padding: 10px 30px 0 30px;
    letter-spacing: 0em;
    margin-top: 30px;}
.salonreservation p:last-child{
    font-size: 0.6em;
    padding: 0 30px 10px 30px;
    letter-spacing: 0em;
    margin-bottom: 40px;}

/* 共通・フッター */
.gnav_foot{
    width: 95%;
    margin: 20px 5% 20px 0%;
    text-align: center;}
.gnav_foot ul li{
    display: inline-block;
    color: #333;
    list-style: none;}
.gnav_foot ul li a{
    color: #333;
    text-decoration: none;}
.gnav_foot span{
    display: none;}
.outtxt{
    width: 90%;
    margin: 0 5% 20px 5%;
    color: #888;
    font-size: 0.5em;}
.copyright{
    font-size: 0.8em;
    text-align: center;
    padding-bottom: 20px;}