@charset "utf-8";

body{
    margin: 0;
    color: #444;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    background: #f4f2f4;}
p{
    margin: 0;}
h1{
    font-size: 10px;
    padding: 5px 0 0 10px;}}
h2{
    font-size: 20px;}
.engtitle p{
    color: #ccc;
    font-size: 36px;
    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: 280px;
	height: 40px;
	color: #444;
	font-size: 16px;
    font-weight: bold;
	text-decoration: none;
	transition: 0.3s;}
.btn a:hover{
	color: #f4f2f4;}
.linkbtn_g{
    margin: 20px 0;
    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;}
.pc_none{
    display: none;}

/* 共通・グロナビ */
.gnav_head,
.header{
    display: flex;
    justify-content: space-between;}
.gnav_head{
    padding-bottom: 30px;}
.logo a img{
    width: 200px;
    margin: 10px 0 0 10px;}
.logo a img:hover{
	opacity: 0.7;
	transition: 0.3s;}
#drawer_input{
    display: none;}
.nav_content ul{
    padding: 20px 0 0 250px;}
.nav_content ul li{
    font-size: 18px;
    display: inline;}
.nav_content ul li a{
    text-decoration: none;
    padding-right: 20px;}
.nav_content ul li a:hover{
    color: #baa0c2;
    text-decoration: underline;
	transition: 0.3s;}
.nav_content ul li:first-child{
    display: none;}
.nav_content ul li:last-child{
    display: none;}
.gnav_head_r{
    width: 200px;}
.gnav_head_r_upper{
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #7c5886;}
.gnav_head_r_upper p{
    color: #f4f2f4;
    font-size: 20px;}
.gnav_head_r_lower{
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #dfcfe4;}
.gnav_head_r_lower p{
    font-size: 24px;}

/* Page01・メインビジュアル */
.mainvisual{
    width: 100%;
    height: 350px;
    object-fit: cover;    
    background-image: url(images/mainvisual.jpg);
    background-size: cover;
    background-position: center;}
.mainvisual p{
    font-size: 28px;
    color: #f4f2f4;
    padding: 140px 0 0 250px;}
.maincopy{
    font-size: 20px;
    padding: 50px 0 50px 0;
    text-align: center;}

/* Page01・導入／コンセプト */
#dg_concept{
    background: linear-gradient(180deg, #f4f2f4 0px, #f4f2f4 20px, #ede6ef 20px, #ede6ef 1000px);
    justify-content: center;
    align-items: center;
    width: 100%;}
.dg_concept{
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 30px 0 50px 0;
    margin-bottom: 50px;}
.dg_concept_l{
    width: 400px;
    padding: 0 50px 0 50px;}
.dg_concept_r{
    width: 400px;
    padding-right: 100px;}
.dg_concept_r p{
    line-height: 1.7em;}
.dg_concept_r p a:hover{
    color: #baa0c2;
	transition: 0.3s;}
.dg_concept_spimg{
    display: none;}

/* Page01・導入／サロン案内 */
#dg_salonmenu{
    background: linear-gradient(180deg, #f4f2f4 0px, #f4f2f4 20px, #e6e1e8 20px, #e6e1e8 1000px);
    justify-content: center;
    align-items: center;
    width: 100%;}
.dg_salonmenu{
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 30px 0 50px 0;
    margin-bottom: 50px;}
.dg_salonmenu_l{
    width: 400px;
    padding-left: 100px;}
.dg_salonmenu_l p a:hover{
    color: #baa0c2;
	transition: 0.3s;}
.dg_salonmenu_r{
    width: 400px;
    padding: 0 50px 0 50px;}
.dg_salonmenu_spimg{
    display: none;}

/* Page02・Etoileについて */
#concept{
    width: 1000px;
    margin: 0 auto;}
.concept{
    display: flex;
    justify-content: space-between;
    padding-bottom: 50px;}
.concept_l{
    width: 500px;
    text-align: right;}
.concept_l img:first-child{
    padding-right: 50px;}
.concept_l img:nth-child(2){
    padding-right: 100px;}
.concept_r{
    width: 400px;
    padding-right: 100px;}
.concept_r h2{
    padding: 50px 0 10px 0;}
.concept_r p{
    line-height: 1.7em;
    padding-bottom: 10px;}

/* Page02・お客様の声 */
#voice{
    width: 800px;
    margin: 0 auto;
    padding-bottom: 50px;}
.voicetitle{
    text-align: center;
    padding: 10px 0;
    margin-bottom: 20px;
    border-top: 2px solid #888;
    border-bottom: 2px solid #888;}
.voicetitle p{
    font-size: 20px;}
.voice01,
.voice02,
.voice03,
.voice04{
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;}
.voice01_l,
.voice03_l{
    width: 250px;
    height: 200px;}
.voice01_r,
.voice03_r{
    width: 550px;
    height: 200px;
    background: #FFF;
    vertical-align: top;}
.voice02_l,
.voice04_l{
    width: 550px;
    height: 200px;
    background: #FFF;
    vertical-align: top;}
.voice02_r,
.voice04_r{
    width: 250px;
    height: 200px;}
.voice01_r h3,
.voice02_l h3,
.voice03_r h3,
.voice04_l h3{
    padding-top: 10px;
    margin-bottom: 10px;}
.voice01_r h3 span,
.voice02_l h3 span,
.voice03_r h3 span,
.voice04_l h3 span{
    background: linear-gradient(transparent 50%, #e4d8e8 51%);}
.voice01_r h3,
.voice01_r p,
.voice04_l h3,
.voice04_l p{
    padding-left: 50px;}
.voice02_l h3,
.voice02_l p{
    padding-left: 160px;}
.voice03_r h3,
.voice03_r p{
    padding-left: 100px;}

/* Page03・施術について */
#salonmenu{
    width: 1000px;
    margin: 0 auto;}
.salonmenu_upper,
.salonmenu_lower{
    display: flex;
    justify-content: space-between;}
.salonmenu_lower{
    padding-bottom: 50px;}
.salonmenu_upper_spimg{
    display: none;}
.salonmenu_upper_l{
    width: 400px;
    padding-left: 100px;}
.salonmenu_upper_l h2{
    padding: 50px 0 10px 0;}
.salonmenu_txt01{
    line-height: 1.7em;
    padding-bottom: 10px;}
.salonmenu_txt02{
    line-height: 1.7em;
    padding-bottom: 50px;}
.salonmenu_upper_r{
    width: 450px;
    padding-left: 50px;}
.salonmenu_lower_l{
    width: 200px;
    margin-top: 20px;
    padding-right: 50px;}
.salonmenu_upper_r img,
.salonmenu_lower_l img{
    margin-bottom: 20px;}
.salonmenu_lower_r{
    width: 650px;
    padding-right: 100px;}
.salonmenu_lower_r p{
    line-height: 1.7em;
    padding-bottom: 10px;}
.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_pc{
    width: 800px;
    margin: 0 auto;
    padding-bottom: 50px;}
#menu_sp{
    display: none;}
.menutitle{
    text-align: center;
    padding: 10px 0;
    border-top: 2px solid #888;
    border-bottom: 2px solid #888;}
.menutitle p{
    font-size: 20px;}
.menulr{
    display: flex;
    justify-content: space-between;}
.menuleft{
    width: 380px;}
.menuright{
    width: 380px;}
.menuname{
    color: #f4f2f4;
    background: #888;
    padding: 8px 0 8px 10px;
    margin-top: 40px;}
.menuname span{
    color: #ebb2b2;
    font-weight: bold;}
.menucopy{
    color: #baa0c2;
    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;}
.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: 1em 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: 50px;}
.menu_txt03{
    color: #a23939;
    font-size: 14px;
    font-weight: bold;
    padding: 20px 0 0 0;}
.menu_txt04{
    font-size: 14px;
    padding: 4px 0 0 0;}

/* 共通・サロン案内 */
#aboutsalon{
    background: linear-gradient(180deg, #f4f2f4 0px, #f4f2f4 20px, #e8e8e8 20px, #e8e8e8 1000px);
    justify-content: center;
    text-align: center;
    width: 100%;}
.googlemap{
    filter: grayscale(70%);
    -webkit-filter: grayscale(70%);}
.salonmaplink{
    display: flex;
    justify-content: space-between;}
.salonmaplink_l{
    width: 40%;}
.salonmaplink_r{
    width: 60%;}
.salontitle{
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0;}
.salonhead{
    display: inline-block;}
.salonhead p{
    color: #e8e8e8;
    background: #888;
    padding: 0.2em 0.9em;
    margin-bottom: 5px;}
.salontxt p{
    margin-bottom: 10px;}
.salontxt p span{
    font-size: 12px;}
.salonreservation{
    display: inline-block;}
.salonreservation p{
    color: #f4f2f4;
    font-size: 30px;
    letter-spacing: 0.1em;
    background: #7c5886;
    padding: 0 30px 0 30px;}
.salonreservation p:first-child{
    font-size: 14px;
    padding: 10px 30px 0 30px;
    letter-spacing: 0em;
    margin-top: 30px;}
.salonreservation p:last-child{
    font-size: 14px;
    padding: 0 30px 10px 30px;
    letter-spacing: 0em;
    margin-bottom: 40px;}

/* 共通・フッター */
.gnav_foot{
    text-align: center;
    margin: 40px 0;}
.gnav_foot li{
    display: inline-block;
    color: #333;
    list-style: none;
    margin: 0 10px 0 10px;}
.gnav_foot li a{
    color: #333;
    text-decoration: none;}
.gnav_foot li a:hover{
    color: #baa0c2;
    text-decoration: underline;
	transition: 0.3s;}
.outtxt{
    color: #888;
    font-size: 8.5px;
    margin: 0 auto;
    width: 1000px;
    padding-bottom: 20px;}
.copyright{
    font-size: 12px;
    text-align: center;
    padding-bottom: 20px;}