﻿@charset "UTF-8";

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* 大枠 */
html,
body {
	height: 100%;
}

body {
	font-size: 16px;
	line-height: 1.6;
}

/* #wrapper {
	width: 100%;
	min-width: 960px;
	position: relative;
	} */
body>#wrapper {
	height: auto;
}

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

@media print {

	html,
	html body {
		overflow: visible !important;
	}
}

/* アクセシビリティ */
.guidance {
	left: -999px;
	position: absolute;
	width: 990px;
}

img {
	/* max-width: 100%; */
	height: auto;
	width: auto;
	vertical-align: bottom;
}

/* レスポンシブ対応 */
img {
	vertical-align: bottom;
	box-shadow: #000 0 0 0;
	/* ロールオーバー対応 */
}

img,
x:-moz-any-link,
x:default {
	box-shadow: #000 0 0 0;
	/* IE7対応 */
}

/* リンク */
a:link {
	color: #0066FF;
	text-decoration: none;
}

a:visited {
	color: #0066FF;
	text-decoration: none;
}

a:hover {
	color: #0066FF;
	text-decoration: underline;
}

a:active {
	color: #0066FF;
	text-decoration: underline;
}

.mincho {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	position: relative;
	font-weight: normal;
}

.mairio {
	font-family: "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

body {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}

/* タイトル */
#site_title {
	overflow: hidden;
}

h1.title {
	background: #999;
	padding: 20px 10px;
	margin-bottom: 30px;
	color: #fff;
	overflow: hidden;
}

/* ▼ サイドボタン*/
p.contact {
	position: fixed;
	right: 0;
	top: 147px;
	z-index: 1000;
}

p.contact a:hover {
	opacity: .6;
}

p.prelusion {
	position: fixed;
	right: 0;
	top: 370px;
	z-index: 1000;
}

p.prelusion a:hover {
	opacity: .6;
}

/* 共通 */
.container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 70px 20px;
}

.main_title {
	margin-bottom: 50px;
}

.main_title p {
	font-size: 2em;
	text-align: center;
}

h2 {
	font-size: 2.5em;
	text-align: center;
}

h2 span {
	color: #ed672e;
}

ul {
	margin-bottom: 60px;
}

p.read {
	font-size: 18px;
	margin-bottom: 50px;
	text-align: center;
	line-height: 2;
}

p.read02 {
	font-size: 18px;
	margin-bottom: 33px;
}

dl {
	font-size: 20px;
}

.br {
	display: none;
}



/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#main {
	max-width: 1200px;
	padding: 0;
	margin: 0 auto;
	clear: both;
	overflow: hidden;
}


#top {
	height: 44vw;
	max-height: 575px;
	background: url(../img/top_img1.png) no-repeat scroll left center;
	background-size: 100%;
}

#top h1 {
	padding-top: 7em;
	margin-left: 50%;
	margin-right: 2em;
}

#top h1 img {
	width: 100%;
}

#cat01 {
	background: #fff5e8;
}

#cat01 h2 img {
	width: 100%;
}

#cat01>p {
	text-align: center;
}

#cat01 .but {
	max-width: 800px;
	margin: 0 auto;
	overflow: hidden;
}

#cat01 .but ul li {
	font-size: 24px;
	border-bottom: 1px dotted #333;
	position: relative;
}

#cat01 .but .txt ul li:first-child::before {
	position: absolute;
	top: 0;
	left: -80px;
	content: '';
	display: inline-block;
	width: 3em;
	height: 3em;
	background-image: url(../img/icon01.png);
	background-repeat: no-repeat;
	background-size: 100%;

}

#cat01 .but .txt {
	font-size: 30px;
	float: left;
	width: 75%;
	padding-left: 80px;
}

#cat01 .but p img {
	float: left;
	margin-left: 36px;
}

#cat01 .but .txt p:nth-child(3) {
	font-size: 1.5em;
}

#cat02 {
	background: #fff url(../img/back01_2.png) no-repeat scroll center top;
}

#cat02>p {
	text-align: center;
}

#cat02 .txt {
	max-width: 582px;
	margin: 0 auto;
}

#cat02 ul li {
	font-size: 19px;
	position: relative;
	line-height: 2;
}

#cat02 ul li p {
	border-bottom: 1px dotted #333;
}

#cat02 ul li::before {
	content: url(../img/icon02.png);
	position: absolute;
	top: 0;
	left: -30px;
}

#cat02 .environ01,
.environ02 {
	background: linear-gradient(transparent 70%, #fff799 0%);
	line-height: 1.9em;
	font-size: 2.1em;
	position: relative;
}

#cat02 .environ02 {
	width: 400px;
	margin: 0 auto;
}

#cat02 .environ01::after {
	content: url(../img/cat02_img.png);
	position: absolute;
	top: -76px;
	right: -170px;
}

#cat03 {
	background: #fff url(../img/back02.png) no-repeat scroll center top;
	background-size: 100% 100%;
	position: relative;
	z-index: -2;
}

#cat03::before {
	content: "";
	background: url(../img/back02_flower.png) no-repeat scroll center top;
	width: 15em;
	height: 20em;
	display: block;
	position: absolute;
	top: 0;
	right: 10px;
	z-index: -1;
}

#cat03 .main_title {
	overflow: hidden;
	width: 30em;
	margin: 0 auto 50px;
}

#cat03 .main_title p {
	float: left;
}

#cat03 h2 {
	margin-top: 20px;
}

#cat03 dl {
	overflow: hidden;
	border-bottom: 1px solid #cccccc;
	padding-bottom: 54px;
	margin-bottom: 54px;
}

#cat03 dt {
	float: left;
	width: 15%;
	margin-right: 48px;
}

#cat03 dd {
	float: left;
	width: 70%;
	margin-bottom: 25px;
}

#cat03 dd:last-child {
	margin-bottom: 0px;
}

#cat03 dd table {
	width: 100%;
}

#cat03 dd table th {
	width: 32%;
	font-weight: normal;
	padding-bottom: 8px;
}

#cat03 dd table td {
	width: 68%;
	padding-bottom: 8px;
}

#cat03 ul {
	margin-bottom: 33px;
}

#cat03 ul li {
	font-size: 24px;
	line-height: 2;
}

#cat03 ul li::before {
	content: "●";
	color: #ed672e;
}

#cat04 {
	background: #fff5e8;
}

.dl_faq {
	border: 1px solid #f29b76;
	background: #fff;
	margin-bottom: 10px;
}

.dl_faq dt {
	background: #f29b76;
	padding: 20px 25px;
	color: #fff;
	padding-left: 4em;
	text-indent: -4em;
}

.dl_faq dt::before {
	content: "";
	width: 1.5em;
	height: 1.5em;
	background: url(../img/qa.png)no-repeat;
	background-size: 1.5em;
	display: inline-block;
	padding-right: 1em;
	vertical-align: bottom;
	margin-left: 1.5em;
}

.dl_faq dt.active::before {
	background: url(../img/qa_ac.png)no-repeat;
	background-size: 1.5em;
}

.dl_faq dd {
	padding: 40px 77px;
	display: none;
}


#prelusion {
	background: #ffd299;
}

#prelusion .inner {
	padding: 0 65px 30px;
	font-size: 1.2em;
	border-radius: 15px;
	position: relative;
}

#prelusion p {
	text-align: center;
}

#prelusion .inner span {
	color: #f5241f;
	font-size: 1.1em;
	font-weight: bold;
}

#prelusion .inner span.title {
	background: linear-gradient(transparent 85%, #ff592e 0%);
	border-bottom: 3px solid #ff592e;
	color: #333;
	font-size: 1.5em;
	font-weight: bold;
}

#prelusion .inner a.campaign {
	display: inline-block;
	width: 280px;
	line-height: 2;
	text-align: center;
	background: #ed672e;
	border-radius: 20px;
	padding: 0 10px 0 20px;
	color: #fff;
	text-decoration: none;
	position: relative;
}

#prelusion .inner a.campaign::before {
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 8px solid transparent;
	border-left: 8px solid #fff;
	position: absolute;
	top: 11px;
	left: 20px;
	margin: auto;
	content: "";
	vertical-align: middle;
}

#prelusion .inner a.campaign:hover,
.share div.send a:hover {
	opacity: .7;
}

.share {
	overflow: hidden;
	width: 60%;
	margin: 20px auto;
}

#prelusion .share p {
	text-align: left;
	margin-bottom: 20px;
	/* color: #ed672e; */
	font-size: 1.2em;
}

#prelusion .share p::before {
	content: "";
	display: inline-block;
	background: #ed672e;
	border-radius: 3px;
	width: 6.5px;
	height: 30px;
	margin-right: 8px;
	margin-bottom: -8px;
}

.share div.send a {
	width: 45%;
	margin: 0 .5em;
	padding: 10px 7em 10px 0;
	text-align: center;
	float: left;
	background: #fff;
	border-radius: 5px;
	position: relative;
}

.share .s_line {
	display: inline-block;
}

.share span {
	position: absolute;
	top: 20px;
	left: 40%;
}

i.fas.fa-envelope-square {
	font-size: 47px;
	line-height: .9;
	color: #5AA9DF;
}

.share a {
	display: block;
	text-decoration: none;
	color: #333;
}



#cat05 {
	background: #fff;
}

#cat05 h2 {
	border-bottom: 2px dotted #ed672e;
	width: 40vw;
	margin: 0 auto 50px;
}

#cat05 .inner {
	overflow: hidden;
	width: 780px;
	margin: 0 auto 90px;
}

#cat05 .inner>p {
	float: left;
}

#cat05 .inner>.txt_r {
	font-size: 18px;
	padding: 40px 0 40px 30px;
}

#cat05 ul.contact_btn {
	overflow: hidden;
}

#cat05 ul.contact_btn li {
	float: left;
	width: 48%;
	margin-bottom: 30px;
}

#cat05 ul.contact_btn li.mail {
	margin-right: 2.3em;
}

#cat05 ul.contact_btn li.line {
	clear: both;
	width: 100%;
}

#cat05 ul.contact_btn li img {
	width: 100%;
}

#cat05 .line_area {
	background: #fff5e7;
	border-radius: 10px;
}

#cat05 .line_area .line_flow_title {
	margin: 0 0 35px 40px;
	font-size: 30px;
	background: #fff5e7;
	padding: 20px 25px;
}

#cat05 .line_area .line_flow_title::before {
	content: "";
	width: 1em;
	height: 1em;
	background: url(../img/contact.png)no-repeat;
	background-size: 1em;
	display: inline-block;
	padding-right: 1em;
}

#cat05 .line_area dt.active::before {
	content: url(../img/contact_ac.png);
	background-size: 1em;
}

#cat05 .line_area ul {
	overflow: hidden;
	display: none;
}

#cat05 .line_area ul li {
	width: 780px;
	margin: 0 auto 25px;
	font-size: 18px;
	line-height: 1;
}

#cat05 .line_area ul li:nth-child(even) {
	margin: 0 auto 50px;
}

#cat05 .line_area ul li:last-child {
	margin: 0 auto 60px;
}

#cat05 .line_area a {
	color: #ed672e;
}

#cat05 .line_area li:nth-child(even) img {
	margin-right: 30px;
}

#cat05 p.end {
	text-align: center;
	color: #ed672e;
	font-size: 24px;
}

#cat05 p.end span {
	font-size: 20px;
}

/* サロンリスト */
.salon_list_wrap .col {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px 5%;
}

.salon_list_wrap .col li a {
	color: inherit;
}

.salon_list_wrap .col li a:hover {
	text-decoration: none;
}

.salon_list_wrap .col li a p {
	margin-bottom: 10px;
}

.salon_list_wrap .col li img {
	max-width: 100%;
}

.salon_list_wrap .col li ul.tab {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 5px;
}

.salon_list_wrap .col li ul.tab li {
	border: 1px solid #999;
	padding: 2px 6px;
	margin-right: 5px;
	margin-bottom: 5px;
	font-size: 12px;
}

.salon_list_wrap .col li dl dt {
	font-size: 12px;
}

.salon_list_wrap .col li dl dd {
	font-size: 16px;
}


#top_contact {
	background: #fff url(../img/back03.png) repeat-y scroll center top;
}

#top_contact h2 {
	text-align: center;
}

#top_contact .txt_box {
	margin: 0 auto 20px;
}

#top_contact .txt {
	text-align: center;
	margin: 0 auto 10px;
}

#top_contact .txt:last-child {
	margin: 0 auto 0;
}

#top_contact .required {
	color: #df0024;
}

#top_contact .list {
	overflow: hidden;
	padding: 20px 0;
	font-size: 16px;
	line-height: 1.6;
	border-bottom: 1px solid #cfcfcf;
}

#top_contact .title {
	width: 230px;
	float: left;
}

#top_contact .input {
	width: 725px;
	float: right;
}

#top_contact .input table {
	width: 100%;
}

#top_contact input,
#top_contact select {
	font-size: 14px;
}

#top_contact .kome_t {
	color: #df0024;
	font-size: 14px;
	display: block;
	padding-top: 5px;
}

#top_contact .f_list {
	border-top: 1px solid #cfcfcf;
}

#top_contact .last_dl {
	margin: 0 auto 45px;
}


#top_contact .submit_btn input {
	background: url(../img/btn_kakunin.png) repeat-y scroll center top;
	text-align: center;
	width: 480px;
	margin: 0 auto;
	height: 83px;
	display: block;
	text-indent: -999999px;
	border: none;
	cursor: pointer;
	padding: 0;
	border-radius: 10px
}

#top_contact .submit_btn input:hover {
	opacity: 0.8;
}

#hp p {
	text-align: center;
	margin-bottom: 25px;
}


.cp {
	font-size: 12px;
	text-align: center;
	margin: 20px 0;
}


/* ▼▼▼ 480px〜768px
=====================================*/
@media screen and (max-width: 768px) {

	/* ▼ サイドボタン */
	p.contact {
		position: fixed;
		right: -16px;
		top: 0;
		z-index: 1000;
	}

	p.contact img {
		width: 60%;
	}

	p.prelusion {
		position: fixed;
		right: -16px;
		top: 130px;
		z-index: 1000;
	}

	p.prelusion img {
		width: 60%;
	}

	/* 共通 */
	.container {
		padding: 40px 15px;
	}

	.main_title {
		margin-bottom: 30px;
	}

	.main_title p {
		font-size: 15px;
	}

	h2 {
		font-size: 22px;
		text-align: center;
	}

	ul {
		margin-bottom: 30px;
	}

	p.read {
		font-size: 11px;
		margin-bottom: 20px;
		text-align: center;
		line-height: 2;
	}

	p.read02 {
		font-size: 16px;
		margin-bottom: 20px;
	}

	dl {
		font-size: 16px;
	}

	.br {
		display: block;
	}

	.btn img {
		width: 100%;
		max-width: 480px;
	}

	.btn a:hover {
		opacity: .6;
	}


	#top {
/*		height: 49vw;*/
	}

	#top h1 {
		padding-top: 3em;
	}

	#top h1 img {
		width: 100%;
	}

	#cat01 .but ul li {
		font-size: 14px;
		border-bottom: 1px dotted #333;
		max-width: 350px;
		margin: 0 auto;
	}

	#cat01 .but .txt ul li:first-child::before {
		content: '';
		display: inline-block;
		left: -3.3em;
		background-image: url(../img/icon01.png);
		background-repeat: no-repeat;
		background-size: 100%;
	}

	#cat01 .but .txt {
		font-size: 14px;
		width: 100%;
		padding-left: 0px;
	}

	#cat01 .but .txt ul {
		padding-left: 45px;
	}

	#cat01 .but p img {
		float: none;
		margin-left: 0px;
		width: 7em;
	}

	#cat01 .but .txt p:nth-child(3) {
		font-size: 20px;
	}

	#cat01 p {
		text-align: center;
	}

	#cat02 {
		background-size: 150%;
	}

	#cat02>p {
		text-align: center;
	}

	#cat02 .txt {
		max-width: 380px;
		margin: 0 auto;
	}

	#cat02 ul li {
		font-size: 11.3px;
		padding-left: 20px;
		position: relative;
		white-space: nowrap;

	}

	#cat02 ul li::before {
		top: 8px;
		left: 0px;
		content: '';
		/*何も入れない*/
		display: inline-block;
		/*忘れずに！*/
		width: 20px;
		/*画像の幅*/
		height: 20px;
		/*画像の高さ*/
		background-image: url(../img/icon02.png);
		background-repeat: no-repeat;
		background-size: 15px;
	}

	#cat02 .environ01,
	#cat02 .environ02 {
		font-size: 17px;
		position: relative;
		width: 17em;
		margin: 0 auto;
		text-align: center;
	}

	#cat02 .environ02 {
		width: 12em;
		margin: 0 auto 230px;
	}

	#cat02 .environ01::after {
		content: url(../img/cat02_img.png);
		position: absolute;
		top: 80px;
		right: 30%;
		z-index: 1000;
	}

	#cat03::before {
		content: "";
		background: url(../img/back02_flower.png) no-repeat scroll center top;
		background-size: 80% 100%;
		width: 10em;
		height: 10em;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		opacity: .5;
	}

	#cat03 .main_title {
		width: 17em;
		margin: 0 auto 30px;
	}

	#cat03 h2 {
		margin-top: 20px;
	}

	#cat03 dl {
		overflow: hidden;
		border-bottom: 1px solid #cccccc;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	#cat03 dt {
		float: none;
		width: 100%;
		margin-right: 0px;
	}

	#cat03 dd {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}

	#cat03 ul {
		margin-bottom: 20px;
	}

	#cat03 ul li {
		font-size: 18px;
		line-height: 2;
		text-indent: -1em;
		padding-left: 1em;
	}

	#cat03 ul li::before {
		content: "●";
		color: #ed672e;
	}

	.dl_faq dt {
		background: #f29b76;
		padding: 10px 20px;
		color: #fff;
		padding-left: 3.5em;
		text-indent: -6.5em;
	}

	.dl_faq dt::before {
		margin-left: 4em;
	}

	.dl_faq dd {
		padding: 20px;
		display: none;
	}

	/* 紹介キャンペーン */
	#prelusion .inner {
		padding: 0;
		font-size: 14px;
	}

	#prelusion p {
		text-align: left;
	}

	#prelusion .inner span {
		font-size: 1.1em;
	}

	#prelusion .inner span.title {
		font-size: 1.3em;
	}

	#prelusion .inner a.campaign {
		width: 197px;
	}

	#prelusion .inner a.campaign::before {
		border: 5px solid transparent;
		border-left: 5px solid #fff;
		top: 9px;
		left: 14px;
	}

	#prelusion .share p {
		margin-bottom: 10px;
		font-size: 1em;
	}

	#prelusion .share p::before {
		height: 26px;
		margin-right: 6px;
		width: 6px;
	}

	.share {
		width: 100%;
		margin: 25px auto 0;
	}

	.share div.send a {
		width: 75%;
		margin: 0 auto 15px;
		padding: 10px 8em 10px 0;
		text-align: center;
		float: none;
		border-radius: 5px;
		position: relative;
	}

	.share div.send:nth-child(2) {
		margin-bottom: 0;
	}

	i.fas.fa-envelope-square {
		font-size: 40px;
	}

	.share span {
		top: 18px;
	}

	.send.s_line img {
		width: 38px;
	}




	#cat05 h2 {
		width: 52vw;
		margin: 0 auto 30px;
		line-height: 2;
	}

	#cat05 .inner {
		overflow: hidden;
		width: 100%;
		margin: 0 auto 30px;
	}

	#cat05 .inner>p {
		float: none;
	}

	#cat05 .inner img {
		width: 100%;
		margin: 0 auto 20px;
	}

	#cat05 .inner>.txt_r {
		font-size: 16px;
		padding: 0;
	}

	#cat05 ul.contact_btn li {
		float: none;
		width: 100%;
		margin-bottom: 15px;
	}

	#cat05 ul.contact_btn li.mail {
		margin-right: 0;
	}

	#cat05 ul.contact_btn li.line {
		clear: both;
		width: 100%;
	}

	#cat05 ul.contact_btn li img {
		width: 100%;
	}

	#cat05 ul.contact_btn {
		margin-bottom: 5px;
	}

	#cat05 .line_area {
		background: #fff5e7;
		border-radius: 10px;
	}

	#cat05 .line_area .line_flow_title {
		margin: 0 0 20px 0px;
		font-size: 20px;
		background: #fff5e7;
		padding: 20px 25px;
	}

	#cat05 .line_area .line_flow_title::before {}

	#cat05 .line_area ul {
		overflow: hidden;
		display: none;
		padding: 0 15px;
	}

	#cat05 .line_area ul li {
		width: 100%;
		margin: 0 auto 25px;
		font-size: 16px;
		line-height: 1.5;
	}

	#cat05 .line_area ul li:nth-child(even) {
		margin: 0 auto 30px;
	}

	#cat05 .line_area ul li:last-child {
		margin: 0 auto 30px;
	}

	#cat05 .line_area ul li img {
		width: 100%;
	}

	#cat05 .line_area li:nth-child(even) img {
		width: 15%;
		margin-right: 15px;
		margin-bottom: 5px;
	}

	#cat05 p.end {
		text-align: center;
		color: #ed672e;
		font-size: 15px;
	}

	#cat05 p.end span {
		font-size: 13px;
	}


	#top_contact h2 {
		text-align: center;
	}

	#top_contact .txt {
		text-align: center;
		margin: 0 auto 10px;
	}

	#top_contact .txt:last-child {
		margin: 0 auto 0;
	}


	#top_contact .list {
		overflow: hidden;
		padding: 20px 0;
		font-size: 16px;
		line-height: 1.6;
		border-bottom: 1px solid #cfcfcf;
	}

	#top_contact .title {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}

	#top_contact .input {
		width: 100%;
		float: none;
	}

	#top_contact .input table {
		width: 100%;
	}

	#top_contact input,
	#top_contact select {
		font-size: 14px;
	}

	#top_contact .kome_t {
		color: #df0024;
		font-size: 14px;
		display: block;
		padding-top: 5px;
	}

	#top_contact .f_list {
		border-top: 1px solid #cfcfcf;
	}

	#top_contact .last_dl {
		margin: 0 auto 45px;
	}

	#top_contact .submit_btn input {
		background: url(../img/btn_kakunin.png) no-repeat center;
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
		height: 5em;
		background-size: 100%;
		display: block;
		border: none;
		cursor: pointer;
		padding: 0;
		border-radius: 10px
	}

	#top_contact .submit_btn input:hover {
		opacity: 0.8;
	}


	#hp .container {
		padding: 40px 15px 0;
	}

	#hp p {
		text-align: center;
		margin-bottom: 25px;
	}

	.salon_list_wrap .col {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px 5px;
	}

	.salon_list_wrap .col li ul.tab li {
		font-size: 10px;
	}

	.salon_list_wrap .col li dl dd {
		font-size: 14px;
	}
}