@charset "UTF-8";
/* CSS Document */

/* 2016.10 追加
===========================================
	オフィシャルドレスルーム　トップ
===========================================
*/
/*beauty common
-----------------------------------------*/
/*新美容ページ関連のみに共通するデフォルトのスタイル指定です。
	従来のページとはルールが異なります。
*/
body {
	overflow-x: hidden;
}
h1,h2,h3,h4,h5 {
	color: #444;
}
p,li,dt,dd {
	color: #444;
}
span,strong {
	color: inherit;
}
.c_gray_1 {
	color: #444;
}
.f_serif_2 {
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
}
.link_block {
	display: block;
}
.link_block:hover {
	text-decoration: none;
	opacity: 0.7;
}
.tit_L_serif {
	font-size: 24px;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
}
.tit_M_serif {
	font-size: 20px;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	line-height: 1.6;
}

.btn_sec02 {
	display: block;
	width: 90%;
	max-width: 400px;
	margin: auto;
	padding: 10px;
	border: 1px solid #353535;
	/*color: #818181;*/
	font-size: 16px;
	font-family: 'Libre Baskerville', 'Noto Serif JP', serif;
	background: #fff;
}
.btn_sec02:before {
	content: attr(data-title);
	display: block;
	font-weight: normal;
	font-size: 13px;
}
.btn_sec02:hover {
	opacity: 0.7;
	text-decoration: none;
}

/*container
-----------------------------------------*/
.container{
	max-width:960px;
	margin:0 auto;
}
.container_620{
	max-width:620px;
	margin:0 auto;
}
.container_840{
	max-width: 840px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}
.container_1060{
	max-width: 1060px;
	margin:0 auto;
	padding-left: 15px;
	padding-right: 15px;
}
.container_1280{
	max-width: 1280px;
	margin:0 auto;
	padding-left: 15px;
	padding-right: 15px;
}
.container:after,
.container_620:after,
.container_840:after,
.container_1060:after,
.container_1280:after {
	content: "";
	display: block;
	clear: both;
}

/*dress section
-----------------------------------------*/
.drs_sec {
	overflow-x: hidden;
	padding: 90px 0 50px;
}
.drs_sec + .drs_sec {
	border-top: 1px solid #c9c9c9;
}
/*drs_sec header*/
.drs_header {
	margin-bottom: 50px;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
}
/*drs_sec title*/
.drs_title {
	margin-bottom: 10px;
	font-size: 40px;
	line-height: 1.1;
}
.drs_lead {
	font-size: 16px;
}
@media screen and (min-width: 768px) {
	.drs_sec {
		padding: 100px 0;
	}
	.drs_title {
		margin-bottom: 20px;
		font-size: 52px;
	}
}

/*dress slider
-----------------------------------------*/
.drs_slide {
	margin: 0;
}
.drs_slide .slick-dots {
	bottom: 10px;
}
.drs_slide .slick-dots button {
	width: 10px;
	height: 10px;
	background: #787878;
	border-radius: 50%;
}
.drs_slide .slick-dots .slick-active button {
	background: #fff;
}
.drs_slide .slick-dots button:before{
	display: none;
}


/*dress intro
-----------------------------------------*/
#intro .drs_header {
	margin-top: -50px;
}
#intro .intro_text {
	text-align: left;
}
#intro .view_book img{
	width: 38.73%;
	margin: auto;
}
@media screen and (min-width: 768px) {
	#intro .drs_header {
		margin-top: 0;
	}
	#intro .intro_text {
		text-align: center;
	}	
}


/*Original Wedding Dress
-----------------------------------------*/
/*title*/
.org_dress_title {
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
}
.org_dress_title .tit01 {
	font-size: 34px;
	margin-bottom: 15px;
	line-height: 130%;
}
.org_dress_title .tit02 {
	color: #444;
	font-size: 16px;
	font-weight: bold; /* serif */
}

@media screen and (min-width:768px) {
	.org_dress_title .tit01 {
		font-size: 40px;
	}
}
/*grid*/
.checker_grid01 {
	margin: 80px 15px 70px;
}
.checker_grid01 .row + .row {
	margin-top: 70px;
}
.checker_grid01 .grid_text {
	margin-bottom: 15px;
}
.checker_grid01 .grid_ph img {
	max-width: none;
	width: 100%;
}
@media screen and (min-width:768px) {
	.checker_grid01 {
		margin: 80px 0 70px;
	}
	.checker_grid01 .col {
		width: 48%;
	}
	.checker_grid01 .row:nth-child(odd) .grid_text,
	.checker_grid01 .row:nth-child(even) .grid_ph{
		float: right;
	}
	.checker_grid01 .row + .row {
		margin-top: 0;
	}
	.checker_grid01 .grid_text {
		position: relative;
		top: 250px;
	}
}

/*6 style dress
-----------------------------------------*/

/*grid*/
.checker_grid02 {
	margin: 80px auto 0;
}

.checker_grid02 .row {
	display: table;
	width: 100%;
}
.checker_grid02 .col {
	float: none;
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}
.checker_grid02 .grid_text {
	position: relative;
	padding: 15px;
	text-align: left;
}
.checker_grid02 .grid_text * {
	/*color: #818181;*/
}
.checker_grid02 .grid_text .tit02 {
	font-size: 12px;
	margin-bottom: 20px;
}
.checker_grid02 .grid_ph img {
	width: 100%;
	max-width: none;
}
/*吹き出し*/
.checker_grid02 .grid_text:before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
}
.checker_grid02 .row:nth-child(odd) .grid_text:before {
	left: -10px;
}
.checker_grid02 .row:nth-child(even) .grid_text:before {
	right: -10px;
}
.checker_grid02 .link_serif_line {
	font-size: 13px;
}

/*title*/
.six_style_title {
	display: block;
	max-width: 330px;
	margin: auto;
	
}
.six_style_title:hover {
	opacity: 0.7;
	text-decoration: none;
}
.six_style_title .title {
	text-align: left;
}
.six_style_title span {
	display: block;
}
.six_style_title .shoulder {
	margin-bottom: 10px;
	font-size: 12px;
	
    line-height: 1.6;
}
.six_style_title .tit01 {
	margin-bottom: 10px;
	font-size: 30px;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	line-height: 110%;
}
.six_style_title .tit01_bouquet {
	font-family:'Notera', 'Noto Serif JP', serif;
	font-size: 35px;
	transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-webkit-transform: rotate(-3deg);
    margin-top: -15px;
    margin-bottom: 5px;
}


@media screen and (min-width: 768px) {
	.checker_grid02 .row + .row {
		margin-top: 50px;
	}
	.checker_grid02 .link_serif_line {
		font-size: 16px;
	}
	.six_style_title .shoulder {
		margin-bottom: 20px;
		font-size: 16px;
	}
	.checker_grid02 .grid_text .tit02 {
		font-size: 14px;
	}
	.six_style_title .tit01_bouquet {
		font-size: 70px;
        margin-top: -25px;
	}
	.six_style_title .tit01 {
		margin-bottom: 20px;
		font-size: 40px;
	}
}

/*dress closing
-----------------------------------------*/
.drs_closing_title {
	font-size: 20px;
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.drs_closing_title {
		font-size: 22px;			
	}
}

/* 2016.11 追加
===========================================
	ヘアメイク＆エステ　トップ
===========================================
*/

/*beauty play*/
#beauty_plan {
	padding-top: 0;
	border-top: none;
	/* margin-bottom: -50px; */
}
.beauty_plan_catch {
	color: #444;
	text-align: left;
	font-size: 20px;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
	#beauty_plan {
		margin-bottom: -0;
	}
	.beauty_plan_catch {
		text-align: center;
	}
}

/*grid*/
.checker_grid03 > .row{
	padding: 50px 40px;
}
.checker_grid03 .row + .row {
	border-top: 1px solid #ccc;
}
.checker_grid03 .grid_text {
	padding-top: 25px;
}

/*plan title*/
.checker_grid03 .plan_title .tit01{
	display: block;
	margin-bottom: 10px;
}
.checker_grid03 .plan_title .tit02{
	display: block;
	margin-bottom: 20px;
	color: #444;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	font-size: 20px;
	font-weight: bold; /* serif */
}
.checker_grid03 .plan_title .text {
	margin-bottom: 30px;
	/*color: #818181;*/
}

@media screen and (min-width: 768px) {
	/* .beauty_plan_catch {
		margin-bottom: 50px;
	} */
	.checker_grid03 .row{
		overflow: hidden;
		position: relative;
		padding: 0;
	}
	.checker_grid03 .row + .row {
		border-top: none;
	}
	.checker_grid03 .grid_ph {
		width: 50%;
	}
	.checker_grid03 .grid_text {
		width: 50%;
		padding: 0 0 0 7%;
		text-align: left;
	}	
	.checker_grid03 .row:nth-child(even) .grid_ph {
		float: right;
	}
	.checker_grid03 .plan_title {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 40%;
		max-width: 390px;
	}
	.checker_grid03 .plan_title .title {
		text-align: left;
	}
}

/* 2016.11 追加
===========================================
	ビューティプラン　トップ
===========================================
*/

/*サロンロゴ*/
.salon_logo {
	width: 44.7%;
	max-width: 300px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 10px;
}
.salon_logo .cross{
	/* display: block; */
	/* margin: 0 auto; */
	/* width: 13px;
	height: 13px; */
}
@media screen and (min-width: 768px) {
	.salon_logo {
		flex-direction: row;
		gap: 30px;
		width: auto;
		max-width: none;
	}
	.salon_logo * {
		/* vertical-align: bottom; */
	}
	.salon_logo .cross {
		/* position: relative;
		top: -15px;
		display: inline-block; */
		/* margin: 0 30px; */
		/* width: 13px;
		height: 13px; */
	}
}

/*サロンからのメッセージ*/
.salon_msg {
	background: #f4e7e2;
	text-align: left;
}
.salon_msg_txt {
	padding: 40px 30px;
}
.salon_msg_txt h2 {
	text-align: left;
}
.salon_msg_txt p + p {
	margin-top: 20px;
}
@media screen and (min-width: 768px) {
	.salon_msg {
		position: relative;
	}
	.salon_msg_txt {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		padding: 40px;
	}
}

/*サロン代表紹介*/
.salon_profile {
	margin: 30px 15px 30px;
	text-align: left;
}
.salon_profile_photo {
	max-width: 200px;
	margin: 0 auto 30px;
}
.salon_profile_text .title {
	text-align: left;
    font-size: 14px;
}
.salon_profile_text .name {
	margin-bottom: 20px;
}
.salon_profile_text .name span {
	display: block;
	/*color: #818181;*/
}
.salon_profile_text .name_j {
	font-size: 18px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold; /* serif */
}
.salon_profile_text .name_e {
	font-size: 12px;
	font-family: 'Libre Baskerville', 'Noto Serif JP', serif;
}
@media screen and (min-width: 768px) {
	.salon_profile {
		max-width: 840px;
		margin: 0 auto 70px;
		display: flex;
		gap: 30px;
	}
	.salon_profile_photo {
		flex-basis: 25%;
	}
	.salon_profile_text {
		flex-basis: 75%;
	}
}
/*サロンイメージ*/
@media screen and (max-width: 767px) {
	.salon_image {
		margin-left: 15px;
		margin-right: 15px;
	}
}

/*ビューティプラン紹介
-----------------------------------*/
.plan_lead {
	text-align: left;
}
.plan_idx {
	margin-left: 15px;
	margin-right: 15px;
	padding-top: 70px;
	padding-bottom: 70px;
}
.plan_idx + .plan_idx {
	border-top: 1px solid #c9c9c9;
}
.plan_idx_title {
	width: 82%;
	margin-bottom: 20px;
}
.plan_idx_data {
	text-align: left;
}
.plan_idx_data .tit_M_serif {
	text-align: left;
}
.plan_idx_data .btn_sec02 {
	text-align: center;
}
.plan_step dt{
	font-family: 'Libre Baskerville', 'Noto Serif JP', serif;
}
.plan_step dd + dt {
	margin-top: 10px;
}
.plan_step dd {
	/*color: #818181;*/
}
@media screen and (min-width: 768px) {
	.plan_idx_title {
		float: left;
		width: 37.7%;
	}
	.plan_idx_data {
		overflow: hidden;
		padding-left: 40px;
	}
	.plan_step dt{
		clear: left;
		float: left;
		margin-right: 30px;
	}
	.plan_step dd {
		overflow: hidden;
		padding-top: 10px;
		margin-bottom: 20px;
	}
	.plan_step dd + dt {
		margin-top: 0;
	}
	.plan_idx_data .btn_sec02 {
		margin: 0;
	}
}

/*ビューティプラン予約
-----------------------------------*/
#beauty_plan_resrv {
	background: #f6f6f6;
}
#beauty_plan_resrv .container_1060 {
	margin: 0 20px;
}
.plan_resrv_ph {
	margin-bottom: 30px;
}
.plan_resrv_ph .col + .col {
	margin-top: 10px;
}
.plan_resrv_info [itemprop="logo"] {
	width: 50%;
	margin-top: 5px;
	margin-bottom: 15px;
}
.plan_resrv_info [itemprop="name"] {
	margin-bottom: 20px;
}
.plan_resrv_info [itemprop="telephone"] {
	color: #444;
	font-size: 24px;
	font-weight: bold; /* serif */
	letter-spacing: 0.05em;
}
.plan_resrv_info [itemprop="openingHours"] {
	/*color: #818181;*/
}
@media screen and (min-width: 768px) {
	#beauty_plan_resrv .container_1060  {
		margin: 0 auto;
	}
	.plan_resrv_ph .col + .col {
		margin-top: 0;
	}
	.plan_resrv_ph .col:first-child {
		padding-right: 5px;
	}
	.plan_resrv_ph .col:last-child {
		padding-left: 5px;
	}	
	.plan_resrv_info [itemprop="logo"] {
		width: 80%;
	}
}

/* 2016.11 追加
===========================================
	ビューティプラン　詳細
===========================================
*/
/* プランカラー
-----------------------------------------*/
.bg_basic {
	background-color: #e3edf3;
}
.bg_personal {
	/*background-color: #f7e3f6;*/
	background-color: #FDE3E6;
}
.bg_total {
	background-color: #f2e8dc;
}

#plan_detail {
	padding-bottom: 70px;
}
#plan_detail .inner{
	width: auto;
}

/* プランTab
-----------------------------------------*/
.plan_tab {
	display: table;
	table-layout: fixed;
	width: 100%;
	max-width: 700px;
	margin: auto;
	border-collapse: separate;
	border-spacing: 15px;
}
.plan_tab li {
	display: table-cell;
	vertical-align: middle;
}
.plan_tab li a {
	display: block;
	padding: 15px 5px;
	color: #444;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0.05em;
}
.plan_tab li a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.plan_tab.bottom {
	margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
	.plan_tab {
		margin-top: 40px;
	}
	.plan_tab li a{
		font-size: 26px;
	}
	.plan_tab.bottom {
		margin-top: 0;
	}
}

/* プラン詳細ヘッダー
-----------------------------------------*/
.pl_detail_header {
	padding: 90px 15px 80px;
}
.pl_detail_header .title {
	/*color: #818181;*/
}
.pl_detail_header .title span{
	display: block;
	margin: 15px 0;
	/*color: #818181;*/
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
}
.pl_detail_header .symbol {
	width: 70%;
	max-width: 290px;
	margin: 20px auto 30px;
}
.pl_detail_header .subtitle {
	margin-bottom: 20px;
	color: #444;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	font-size: 20px;
	line-height: 1.4;
}
.pl_detail_header .price {
    font-size: 16px;
    margin-bottom: 20px;
}

/* プラン詳細
-----------------------------------------*/
.pl_detail_step {
	position: relative;
	margin-bottom: 70px;
	padding: 70px 15px;
	background-color: #fff;
}
.pl_detail_step .title {
	position: absolute;
	left: 50%;
	top: -32px;
	margin-left: -32px;
	width: 65px;
	height: 65px;
}
.pl_detail_step .detail + .detail {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #c9c9c9;
}
.pl_detail_step .detail_ph.w320 img{
	width: 68.6%;
	max-width: 320px;
}
.pl_detail_step .detail_ph.w240 img{
	width: 68.6%;
	max-width: 240px;
}
.pl_detail_step .detail_data {
	margin-top: 20px;
	text-align: left;
}
/*step1〜4用*/
.pl_menu01 dt{
	margin: 20px 0 8px;
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	font-weight: bold; /* serif */
	font-size: 17px;
	line-height: 1.5;
}
.pl_menu01 dd + dt {
	padding-top: 20px;
	border-top: 1px solid #c9c9c9;
}
/*option用*/
.pl_menu02 {
	padding-top: 20px;
	border-top: 1px solid #c9c9c9;
	text-align: left;
}
.pl_menu02 dt {
	font-family:'Cormorant Infant', 'Noto Serif JP', serif;
	font-weight: bold; /* serif */
	font-size: 16px;
}
@media screen and (min-width: 768px) {
	.pl_detail_step .title {
		top: -45px;
		margin-left: -45px;
		width: 90px;
		height: 90px;
	}
	.pl_detail_step .detail {
		max-width: 840px;
		margin: auto;
	}
	.pl_detail_step .detail_ph.w320 {
		width: 38%;
		text-align: left;
	}
	.pl_detail_step .detail_ph.w240 {
		width: 28.5%;
		text-align: left;
	}
	.pl_detail_step .detail_ph.w320 img,
	.pl_detail_step .detail_ph.w240 img{
		width: auto;
	}	
	.pl_detail_step .detail_data {
		width: 62%;
		margin-top: 0;
		padding-left: 40px;
		box-sizing: border-box;
	}
	.pl_detail_step .detail_data.w600 {
		width: 71.5%;
	}
	.pl_menu01 dt:first-child {
		margin-top: 0;
	}
	.pl_menu02 dt{
		clear: left;
		float: left;
		width: 50%;
	}
}

/*
===========================================
	ドレス・ヘア＆メイクの基礎知識
===========================================
*/
#for_bride .dress_tit{
	margin-bottom: 20px;
	color: #f057a2;
	font-size: 22px;
}
#for_groom .dress_tit{
	margin-bottom: 20px;
	color: #4aa3e2;
	font-size: 22px;
}
.dress_slider dt{
	margin: 20px 0 15px;
	font-size: 16px;
	font-weight: 500;
}
.dress_slider .slick-dots{
	bottom: -35px;
}
.dress_slider .slick-dots li button:before{
	display: none;
}
.dress_slider .slick-dots li button{
	width: 10px;
	height: 10px;
	border:#ccc 2px solid;
	border-radius: 10px;
}
.dress_slider .slick-dots li.slick-active button{
	background: #ccc;
}
.dress_slider .slick-prev{
	left: 10px;
}
.dress_slider .slick-next{
	right: 10px;
}

/*
===========================================
	ドレスコレクション
===========================================
*/
/* メインビジュアル＆タイトル
---------------------------------*/
.intro_visual.dress{
	background: url(/common/images/costume/ph_dress_visual.jpg) center top no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
.center_title{
	position: relative;
	height: 0;
	padding-bottom: 50%;
}

.center_title .title{
	display: table;
	width: 100%;
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	vertical-align: middle;
}
.center_title .title img{
	margin-top: 8%\9; /*IE10以下*/
	width: 29.4117%;
}
@media all and (-ms-high-contrast:none){/* IE11 */
  *::-ms-backdrop, .center_title .title img { 
  	margin-top: 8%;
	width: 29.4117%;
	} 
}
@-moz-document url-prefix(){ /*Firefox*/
	.center_title .title img{
		margin-top: 8%;
	}
}

.center_title .title .cap{
	display: block;
	margin-top: 5px;
	color: #fff;
	font-size: 11px;
}

@media screen and (min-width: 768px){
	.center_title{
		padding-bottom: 38.2978%;
	}
	.center_title .title img{
		width: 200px;
		height: 200px;	
	}
	.center_title .title .cap{
		font-size: 22px;	
	}
}





/* ドレス一覧（丸画像・センター揃え）
---------------------------------*/
.dress_list_c{
	margin-top: 30px;
}
.dress_list_c li{
	display: inline-block;
	width: 130px;
	margin:0 5px 20px;
	vertical-align: top;
}
.dress_list_c .ph{
	display: inline-block;
	border-radius: 130px;
	margin-bottom: 10px;
}
.dress_list_c .ph img{
	border-radius: 130px;
	width:100%;
}
.dress_list_c dt{
	font-size: 16px;
}
.dress_list_c dd{
	margin-left: auto;
	margin-right: auto;
	max-width:14em;
	color:#6a6a6a;
	font-size: 12px;
}
@media screen and (min-width: 768px){
	.dress_list_c li{
		width: 27.6595%;	
		margin: 0 2% 4%;
	}
	.dress_list_c .ph{
		border-radius:260px;	
	}
	.dress_list_c .ph img{
		border-radius:260px;	
	}
	.dress_list_c dt{
		font-size: 18px;
	}
	.dress_list_c dd{
		font-size: 14px;
	}
}

/* ドレス一覧タイトル文字色
---------------------------------*/
#wedding_dress .title .tit_L{ color: #2a2a2a;}
#party_dress .title .tit_L{ color: #d7a306;}
#japanese_style .title .tit_L{ color: #584388;}
#for_men .title .tit_L{ color: #374c64;}


/*
===========================================
	ドレスコレクション詳細
===========================================
*/

.collection_title .tit_L{ font-size: 28px; }
.collection_title .tit_M{ font-size: 16px; }
.collection_title .tit_S{ font-size: 9px; }
.item_num{ margin-top:5px; font-size: 10px; }
/* 末尾の全角の閉じ括弧により、センタリングに見えない為左マージンを追加 */
.item_price{ margin-left: 8px; font-size: 10px;}

@media screen and (min-width: 768px){
	.collection_title .tit_L{ font-size: 40px; }
	.collection_title .tit_M{ font-size: 20px; }
	.collection_title .tit_S{ font-size: 14px; }
	.item_num{ font-size: 14px; }
	.item_price{ margin-left: 11px; font-size: 14px;}
}


/* コレクションタブ
---------------------------------*/
.collection_tab{
	overflow: hidden;
}
.collection_tab li{
	width: 33.3333%;
	padding: 2%;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.collection_tab .ph{
	display: inline-block;
	max-width:130px;
	border-radius:130px;
	border:#fff 10px solid;
}
.collection_tab .ph img{
	border-radius:130px;
}
.collection_tab a:hover .ph,
.collection_tab a.active .ph{
	border:#c6af60 10px solid;
}
.collection_tab a:hover{
	text-decoration: none;
}
.collection_tab dt{
	font-size: 16px;
}
.collection_tab dd{
	color: #6a6a6a;
	font-size: 12px;
	line-height: 1.3;
}
@media screen and (min-width:768px) {
	.collection_tab dt{
		font-size: 18px;
	}
	.collection_tab dd{
		font-size: 14px;
	}
}

/* コレクションボディ
---------------------------------*/
.collection_body{
	margin-top: 30px;
	padding-top: 10px;
	border-top: #111 2px solid;
	position: relative;
	display: none;
}
.collection_body.active{
	display: block;
}
.collection_body:before{
	content:"";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 18px 10px;
	border-color: transparent transparent #000000 transparent;
	position: absolute;
	top:-20px;
}
.collection_body.panel1:before{
	left:15%;
}
.collection_body.panel2:before{
	left:47%;
}
.collection_body.panel3:before{
	left:80%;
}
.collection_body .grid{
	margin-left: 0;
	margin-right: 0;
}
.collection_body .grid .col{
	margin: 0 1.6129% 4% 0;
	width: 32.258%;
}
.collection_body .grid .col:nth-child(3n){
	margin-right: 0 !important;
}

/* コレクションボディ all
---------------------------------*/
.collection_body_all{
	margin-top: 30px;
	padding-top: 10px;
	position: relative;
}

.collection_body_all .grid{
	margin-left: 0;
	margin-right: 0;
}
.collection_body_all .grid .col{
	margin: 0 1.6129% 4% 0;
	width: 32.258%;
}
.collection_body_all .grid .col:nth-child(3n){
	margin-right: 0 !important;
}

@media screen and (min-width: 640px){
	.collection_body .grid,
	.collection_body_all .grid{
		margin-left: 0;
		margin-right: 0;
	}
	.collection_body .grid.max4 .col,
	.collection_body_all .grid.max4 .col{
		margin: 0 2.1276% 5% 0;
		width: 23.404%;
	}
	.collection_body .grid .col:nth-child(3n),
	.collection_body_all .grid .col:nth-child(3n){
		margin-right: 2.1276% !important;
	}
	.collection_body .grid .col:nth-child(4n),
	.collection_body_all .grid .col:nth-child(4n){
		margin-right: 0 !important;
	}
}


/*
===========================================
	衣装合わせのスケジュール
===========================================
*/

/*チェック*/
.check{
	position: relative;
	padding: 50px 20px 30px 20px;
	border:#deae51 1px solid;
}
.check .tit{
	width: 160px;
	position: absolute;
	left:0;
	right:0;
	top:-22px;
	margin:auto;
}
.check .lead{
	margin-bottom: 20px;
	font-size: 22px;
}
.check .txt{
	margin-bottom: 30px;
	font-size: 16px;
}
.note li{
	margin-left: 1em;
	text-indent: -1em;
	text-align: left;
	font-size: 12px;
}
.note li+li{
	margin-top: 10px;
}
.list li{
	margin-left: 1em;
	list-style-type: disc;
}

@media screen and (min-width: 768px){
	.check .tit{
		width: 190px;
	}
}


/*スケジュール案内
------------------------------------*/
/*挙式◯ヶ月前*/
.sche_label{
	width: 235px;
	margin: 0 auto 40px;
	padding: 20px 0;
	background: #deae51;
	color: #fff;
	font-size: 20px;
}

/*小見出し*/
.sche_stit{
	margin-bottom: 20px;
	font-size: 16px;
	position: relative;
}
.sche_stit:before{
	content:"";
	display: block;
	width: 100%;
	height: 0;
	border-top: #deae51 1px solid;
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	z-index:-1;
}
.sche_stit span{
	background: #fff;
}

.sche_subtxt{
	color: #6a6a6a;
	font-size: 12px;
	margin-top: 0 !important;
	line-height: 1.1;
}


@media screen and (min-width: 768px){
	.sche_stit{
		margin-bottom: 40px;	
	}
	.sche_eqH{
		margin-bottom: 2.1em;	
	}
}

/*アイテム一覧*/
.sche_groom{
	margin-top: 70px;
}
.sche_item{
	margin: 0 15px 35px;
	overflow: hidden;
}
.sche_item p{
	margin-top: 10px;
}
.sche_item li+li{
	margin-top: 35px;
}
@media screen and (min-width: 768px){
	.sche_groom{
		margin-top: 0;
	}
	.sche_item{
		margin: 0 0 70px;
	}
	.sche_item li{
		float: left;
		width: 48%;
		margin: 0 1% 35px !important;
	}
	.sche_item_bottom{
		margin: 0;
	}
}

/*
===========================================
	ドレス試着予約
===========================================
*/
.reserve{
	text-align: left;
}

.reserve p+p{
	margin-top: 20px;
}
.reserve .title{
	text-align: center;
}


/*予約先電話番号*/
.reserve_desk{
	margin-bottom: 15px;
	padding: 15px;
	border:#d6d6d6 1px solid;
	text-align: center;
}
.reserve_desk *{
	color: #4a300d;
}
.reserve_desk address{
	margin: 15px 0 0;
	font-style:normal;
	
}
.reserve_desk address .tel{
	margin-bottom: 15px;
	
}
.reserve_desk address .tel img {
	max-width: 220px;
}
@media screen and (min-width: 768px){
	.reserve_desk address{
		display: flex;
		align-items: center;
		width: 90%;
		margin: 15px auto 0;	
	}
	.reserve_desk .tel,
	.reserve_desk .txt{
		/* display: table-cell;	 */
		width: 50%;
		margin-bottom: 0;
	}
	.reserve_desk address .tel img {
		max-width: 280px;
	}
	.reserve_desk .txt{
		padding-left: 15px;
		text-align: left;
	}
	.reserve_desk .tel img{
		max-width:320px;
	}
}

/*お客様情報*/
.user_info{
	max-width:460px;
	margin: 40px auto;
	padding:15px;
	border:#debc72 1px solid;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.user_info dt{
	font-weight: 500;
}
.user_info dd+dt{
	margin-top: 15px;
	padding-top: 15px;
	border-top: #ccc 1px solid;
}



/*
===========================================
	全国のドレスショップ
===========================================
*/

/*店舗情報*/
.dress_shop_data dt{
	clear: left;
	float: left;
	font-weight: 500;
	text-align: left;
	width: 30.645%;
}
.dress_shop_data dd{
	text-align: left;
	overflow: hidden;
	margin-bottom: 20px;
}

/*完全予約制ラベル*/
.pos{
	position: relative;
}
.ico_reserve{
	padding: 0 8px;
	background: #7c6351;
	color: #fff;
	font-size: 10px;
	position: absolute;
	right: 10px;
	top:50%;
	margin-top: -8px;
}
/*提携ショップリスト*/
.dress_shop_list dt{
	margin-bottom: 0;
	padding: 5px 10px;
	background: #c6af60;
	text-align: left;
	line-height: 1;
	color: #fff;
}
.dress_shop_list dd{
	border-bottom: #c6af60 1px solid;
	text-align: left;
}
.dress_shop_list dd a{
	display: block;
	padding: 10px 95px 10px 10px;
}

@media screen and (min-width :460px){
	.dress_shop_list{
		margin-bottom: 20px;	
	}
	.dress_shop_list dd{
		margin-top: -1px;
		border: #c6af60 1px solid;
	}
	.dress_shop_list dd:first-of-type{
		margin-top: 5px;	
	}
}


/*
===========================================
	オリジナルドレス
===========================================
*/
.org_tit{
	margin-bottom: 10px;
	color: #deae51;
	font-size: 20px;
	line-height: 1.6;
}

.org_kodawari dt{
	margin-bottom: 10px;
	font-weight: 500;
	font-size: 20px;
}
.org_kodawari dd{
	margin-bottom: 50px;
	text-align: left;
}


/* 2017.12 追加
===========================================
	ブーケコレクション
===========================================
*/

/* ブーケ手書きフォント
---------------------------------*/
@font-face {
	font-family: 'Notera';
	src: url('/common/fonts/Notera.woff2') format('woff2'),
		url('/common/fonts/Notera.woff') format('woff'),
		url('/common/fonts/Notera.ttf') format('truetype');
}

/* ブーケTOP
---------------------------------*/
/*ブーケのご注文について*/
#bqt_about {
	padding: 70px 20px;
	background: #4c7053;
}
#bqt_about .bqt_title,
#bqt_about .bqt_subtitle {
	color: #fff;
}
.bqt_about .txt, .bqt_salon {
	padding: 40px 30px;
	background: #efe9d2;
}
.bqt_about .txt + .txt, .bqt_salon {
	margin-top: 20px;
}
.bqt_about h4, .bqt_salon h4 {
	margin-bottom: 20px;
	color: #416447;
	font-size: 18px;
	font-weight: bold; /* serif */
}
@media screen and (min-width: 768px) {
	.bqt_about {
		display: table;
		width: 100%;
		table-layout: fixed;
		border-spacing: 20px;
	}
	.bqt_about .txt {
		display: table-cell;
	}
	.bqt_salon {
		margin: 0 20px;
	}
}
@media screen and (max-width: 480px) {
	#bqt_about .container_840 {
		padding-left: 0;
		padding-right: 0;
	}
	.bqt_about .txt, .bqt_salon {
		padding: 30px 15px;
	}
}

/*サロン連絡先*/
.bqt_salon dl{
	text-align: left;
    margin-left: 10px;
}
.bqt_salon dt {
	font-weight: 500;
}
.bqt_salon dd:not(:last-child) {
	margin-bottom: 20px;
}
.bqt_salon .tel {
	margin-bottom: 5px;
	font-weight: 500;
	font-size: 18px;
}
.bqt_salon .biztime.idt {
	margin-left: 5em;
	text-indent: -5em;
}
@media screen and (min-width: 768px) {
	.bqt_salon dl {
		max-width: 620px;
		margin: 20px auto 0;
	}
	.bqt_salon dt {
		margin-bottom: 10px;
		clear: left;
		float: left;
		width: 30%;
		padding-top: 5px;
		padding-right: 20px;
		text-align: right;
		
	}
	.bqt_salon dd {
		overflow: hidden;
	}
}

/*ブーケコレクション*/
#bqt_idx_collection {
	padding-top: 70px;
}
#bqt_idx_collection .checker_grid02 {
	margin: 70px 0;
}
#bqt_idx_collection .grid_text {
    padding-left: 20px;
    padding-right: 0;
}
.bqt_other_menu {
	margin: 120px 30px;
}
.bqt_other_menu .title {
	/*max-width: 240px;*/
	margin: 0 auto 15px;
}
.bqt_other_menu .title .tit01 {
	display: block;
	margin-bottom: 10px;
	font-family: 'Notera', 'Noto Serif JP', serif;
	font-size: 40px;
	line-height: 80%;
}
.bqt_other_menu .title .tit02 {
	font-family: 'Noto Serif JP', serif;
}
.bqt_other_menu .lead {
	margin-bottom: 10px;
}
.bqt_other_menu .link_serif_line {
	border-bottom-color: #fff;
    font-size: 13px;
}
.bqt_other_menu * {
	color: #fff ;
}
#bqt_ordermade {
	margin-bottom: 20px;
}
#bqt_ordermade a{
	overflow: hidden;
	display: block;
	background: rgba(111,139,95,1);
}
#bqt_ordermade a:hover {
	background: rgba(111,139,95,0.7);
}

#bqt_ordermade .txt{
	padding: 30px;
}
#bqt_headflower {
	margin-bottom: 20px;
	background: url(/common/images/costume/bouquet/idx_ph_headflower.jpg) center center/cover no-repeat;
}
#bqt_headflower a {
	display: block;
	width: 100%;
	height: 100%;
}
#bqt_headflower .inner {
	width: auto;
	margin: 0;
	padding: 30px;
	background: rgba(194,138,41,0.7);
	transition: 0.3s;
}
#bqt_headflower a:hover {
	text-decoration: none;
}
#bqt_headflower a:hover .inner {
	background: rgba(194,138,41,0.5);
}
#bqt_afterbouquet {
	background: url(/common/images/costume/bouquet/idx_ph_afterbouquet.jpg) center center/cover no-repeat;
}
#bqt_afterbouquet a {
	display: block;
	width: 100%;
	height: 100%;
}
#bqt_afterbouquet .inner {
	width: auto;
	margin: 0;
	padding: 30px 10px;
	background: rgba(102,76,36,0.7);
	transition: 0.3s;
}
#bqt_afterbouquet a:hover {
	text-decoration: none;
}
#bqt_afterbouquet a:hover .inner {
	background: rgba(102,76,36,0.5);
}
@media screen and (min-width: 768px) {
	#bqt_idx_collection .grid_text {
	    padding-left: 40px;
	    padding-right: 20px;
	}
	.bqt_other_menu {
		margin: 150px 0 50px;
	}
	.bqt_other_menu.bqt_idx {
		margin: 140px 0 50px;
	}
	.bqt_other_menu .lead {
		margin-bottom: 30px;
	}
	#bqt_idx_collection {
		padding-top: 100px;
		padding-bottom: 80px;
	}
	#bqt_ordermade {
		position: relative;
		margin-bottom: 60px;
/* 		background: #6f8b5f; */
	}
	#bqt_ordermade .col {
		width: 50%;
	}
	#bqt_ordermade .txt {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translate(0,-50%);
	}
	.bqt_other_menu .row {
		overflow: hidden;
	}
    .bqt_other_menu .link_serif_line {
        font-size: 16px;
    }
	#bqt_headflower {
		float: left;
		width: 48%;
	}
	#bqt_afterbouquet {
		float: right;
		width: 48%;
	}
	#bqt_headflower a,
	#bqt_afterbouquet a {
		width: auto;
		padding: 60px 16%;
	}
}
@media screen and (min-width:960px){
    #bqt_ordermade .tit01 {
        font-size: 70px;
    }   
}
@media screen and (max-width: 480px) {
	.bqt_other_menu {
		margin: 80px 0;
	}
}
/*アトリエ*/
#atelier {
	margin-bottom: 50px;
	padding: 80px 10px;
	background: #bbcda7;
}
#atelier_list {
	overflow: hidden;
	margin-left: 20px;
	margin-right: 20px;
}
#atelier_list li {
	margin-bottom: 20px;
	padding: 30px 20px 40px;
	background: #fff;
}
#atelier_list .logo {
	width: 40%;
	margin: 0 auto 30px;
}
#atelier_list .ph {
	width: 60%;
	margin: 0 auto 30px;
}
#atelier_list .name {
	margin-bottom: 10px;
    font-size: 16px;
}
#atelier_list .txt {
	text-align: left;
}
@media screen and (min-width: 768px) {
	#atelier_list li {
		float: left;
		width: 31.25%;
		margin-right: 3.125%;
		box-sizing: border-box;
	}
	#atelier_list li:nth-child(3n) {
		margin-right: 0;
	}
	#atelier_list .logo,
	#atelier_list .ph {
		width: auto;
	}
}
@media screen and (max-width: 480px) {
	#atelier_list {
		margin-left: 0;
		margin-right: 0;
	}
}

/* ブーケタイトル
---------------------------------*/
.bqt_header {
	margin-top: 30px;
	margin-bottom: 50px;
	
}
.bqt_title {
	/*width: 215px;*/
	margin: 0 auto 10px;
    font-family:'Notera', 'Noto Serif JP', serif;
	font-size: 70px;
    line-height: 1.5;
}
.bqt_subtitle {
	font-size: 16px;
    font-family: 'Noto Serif JP', serif;
}

@media screen and (min-width: 768px) {
	.bqt_sec {
		padding: 100px 0;
	}
	.bqt_header {
		margin-top: 60px;
	}
	.bqt_title {
		/*width: 270px;*/
		margin: 0 auto 20px;
		font-size: 88px;
	}
    .bqt_subtitle {
        font-size: 20px;
    }
    .bqt_idx_keyvisual {
        margin-bottom: 100px;
    }
}

/* ブーケ大見出し
---------------------------------*/
.bqt_sec_header {
	margin-bottom: 30px;
}
.bqt_sec_header .bqt_title {
	font-size: 50px;
    line-height: 90%;
}
.bqt_sec_header .bqt_subtitle {
    font-size: 16px;
}
@media screen and (min-width: 768px) {
    .bqt_sec_header .bqt_title {
        font-size: 74px;
    }
}

/* ブーケ下層
---------------------------------*/
/*メニュー*/
.bqt_menu {
	overflow: hidden;
	margin-bottom: 15px;
}
.bqt_menu li {
	float: left;
	width: 33.3333%;
}
.bqt_menu a {
	display: block;
	padding: 10px;
	background: #f9f5e4;
	border: 1px solid #fff;
	color: #987e55;
    font-family: 'Libre Baskerville', 'Noto Serif JP', serif;
}
.bqt_menu a.is-current {
	background: #4c7053;
	color: #fff;
}
@media screen and (min-width: 768px) {
	.bqt_menu {
		margin-bottom: 0;
	}
	.bqt_menu li {
		width: 16.6666%;
	}
	.bqt_menu a.is-current {
		border-bottom-color: #4c7053;
	}
}

/*下層タイトル*/
.bqt_collection_header {
	padding: 40px 0;
	background: #4c7053;
}
.bqt_collection_header * {
	color: #fff;
}
.bqt_collection_header_title .main {
	margin: auto;
    font-family:'Notera', 'Noto Serif JP', serif;
    font-size: 60px;
}
.bqt_collection_header_title .sub {
	display: block;
	font-size: 14px;
}
.bqt_collection_header_desc {
    margin-top: 50px;
}
/*ブーケコレクション*/
.bqt_collection {
	margin-top: 60px;
}
.-spring { background-image: linear-gradient(to left top, #FBFCDB 0%, #E9DEFA 100%);}
.-earlysummer { background-image: linear-gradient(to left top, #c1dfc4 0%, #deecdd 100%);}
.-summer { background-image: linear-gradient(to left top,#daedfd 0%, #aedbff 100%);}
/* .-autumn { background-image: linear-gradient(to left top, #E3BCBC 0%, #FDD6BD 100%);} */
.-autumn { background-image: linear-gradient(to left top, #F7A164 0%, #FDE7D2 100%);}
.-winter { background-image: linear-gradient(to left top, #accbee 0%, #e7f0fd 100%);}
.-seasonal .bqt_collection {
	margin-top: 0;
	padding-top: 50px;
}
.-seasonal .bqt_collection_header,
.-seasonal .bqt_collection_header_desc,
.bqt_menu a.is-current.-seasonal {background-color: #F2F2F2;color: #444;}
.-seasonal .bqt_collection_header * {
	color: #444;
}
.-designers { background-color: #101010; }
.-designers p { color: #fff; }
.-designers .bqt_collection_list { padding-bottom: 80px; }
.-designers .bqt_collection_header,
.bqt_menu a.is-current.-designers {background-color: #101010;}
.-seasonal .bqt_collection_header_desc,
.-designers .bqt_collection_header_desc {
	margin-top: 0;
}
.-seasonal .bqt_collection_header_desc {
	padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
	.bqt_menu a.is-current.-seasonal {
		border-bottom-color: #F2F2F2;
	}
	.bqt_menu a.is-current.-designers {
		border-bottom-color: #101010;
	}
}
.bqt_collection_tit {
	font-family:'Notera', 'Noto Serif JP', serif;
	font-size: 50px;
}
.bqt_collection_tit:after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	margin: 15px auto 20px;
	background: #000;
}
.bqt_collection_lead {
	margin-bottom: 30px;
}
.bqt_collection_list {
	overflow: hidden;
}
.bqt_collection_list li {
	position: relative;
	width: 49.8%;
	float: left;
	margin-bottom: 35px;
}
.bqt_collection_list li a:hover{
    text-decoration: none;
}
.bqt_collection_list li:nth-child(even){
	float: right;
}
.bqt_collection_list .ico_new,
.modal_body .ico_new{
	position: absolute;
	left: 0;
	top: 0;
	padding: 8px;
	background: #fff;
	line-height: 1;
	font-family: 'Libre Baskerville', 'Noto Serif JP', serif;
	font-size: 12px;
}
.bqt_collection_list .btn_clip {
	position: absolute;
	right: 8px;
	top: 8px;
}
/* .bqt_collection_list .btn_clip button {
	appearance: none;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: #353535;
	cursor: pointer;
}
.bqt_collection_list .btn_clipped button {
	background: #d6d6d6;
} */
.bqt_collection_num {
    font-family: 'Libre Baskerville', 'Noto Serif JP', serif;
    margin-top: 5px;
    font-size: 11px;
}
.bqt_collection_price {
	font-family: 'Noto Serif JP', serif;
    line-height: 1;
    font-size: 11px;
}
@media screen and (min-width: 768px) {
	.bqt_collection_header {
		padding: 65px 20px;
	}
	.bqt_collection_tit {
		font-size: 74px;
	}
	.bqt_collection_list li {
		width: 24.85%;
		margin-right: 0.2%;
	}
	.bqt_collection_list li:nth-child(even) {
		float: left;
	}
	.bqt_collection_list li:nth-child(4n) {
		margin-right: 0;
	}
    .bqt_collection_header_title .main {
        font-size: 80px;
    }
}
@media screen and (max-width: 340px){
    .bqt_collection_header_title .main {
        font-size: 50px;
    }
}

/* ブーケ注文フォーム画面
---------------------------------*/
/*タイトル*/
.bqt_form_title {
	/*margin-top: 50px;*/
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
}



/*注文フォームスタイル*/
.bqt_lead {
    margin-bottom: 30px;
}
.bqt_form_table {
	width: 100%;
	text-align: left;
}
.bqt_form_table tr:not(:first-child){
	border-top: 1px solid #c9c9c9;
}
.bqt_form_table th {
	width: 180px;
	padding: 30px 20px 30px 0;
	vertical-align: top;
}
.bqt_form_table_readymade th {
	width: 240px;
	padding: 30px 20px 30px 0;
	vertical-align: top;
}
.bqt_form_table th .req {
	float: right;
}
.bqt_form_table td {
	padding: 30px 0 30px 16.6%;
}
.bqt_form_table_readymade td {
	padding: 30px 0 30px 60px;
}
.bqt_form_table input[type="text"],
.bqt_form_table input[type="tel"],
.bqt_form_table input[type="email"],
.bqt_form_table textarea {
	border: 1px solid #909090;
	border-radius: 0;
}
.bqt_form_table input[type="radio"]{
	margin-right: 5px;
}
.bqt_form_table label {
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.bqt_form_table {
		width: auto;
		margin-left: 15px;
		margin-right: 15px;
	}
	.bqt_form_table th {
		display: block;
		width: 100%;
		padding: 20px 0 10px 0;
	}
	.bqt_form_table td {
		display: block;
		width: 100%;
		padding: 0 0 20px 0;
	}
	.bqt_form_table tr:first-child td {
		padding: 0 0 20px 0;
	}
	.bqt_form_table th .req {
		float: none;
		margin-left: 1em;
	}
}

/*注文フォーム内パーツスタイル*/
.bqt_pd {
	overflow: hidden;
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}
.bqt_pd_ph {
	width: 180px;
	margin-right: 80px;
}

.bqt_pd_data {
	overflow: hidden;
}
.bqt_pd_data dt{
	font-weight: 500;
}
.bqt_pd_data dd {
	overflow: hidden;
	margin-bottom: 20px;
}
.bqt_horizonal_list li{
	display: inline-block;
	width: 140px;
}
.w100p {
	max-width: none !important;
	width: 100% !important;
}
@media screen and (max-width: 767px) {
	.bqt_pd {
		margin-bottom: 20px;
	}
	.bqt_pd_ph {
		width: 120px;
		margin-right: 20px;
	}

	.bqt_pd_data dd {
		margin-bottom: 10px;
	}
}
/*ボタン*/
.bqt_form_btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	width: 90%;
	max-width: 400px;
	padding: 15px;
	background: #2f2f2f;
	border: none;
	border-radius: 0;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
}

/* 2015.12 追記
===========================================
	ヘアメイク＆エステ
===========================================
*/

/* メインビジュアル＆タイトル
---------------------------------*/
.intro_visual.beauty{
	background: url(/common/images/costume/ph_beauty_visual.jpg) center top no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
.intro_beauty_lead {
	margin-bottom: 50px;
}
.intro_beauty_lead p{
	font-size: 14px;
}
.btn.beauty {
	font-size: 16px;
}
.btn.beauty .sub {
	display: block;
	margin-top: 20px;
	font-size: 75%;
}
@media screen and (min-width: 768px){
	.intro_beauty_lead {
		margin-bottom: 100px;
	}
	.btn.beauty {
		font-size: 22px;	
	}
}

/* 2016.04 追記
===========================================
	花嫁準備イベント
===========================================
*/
.bg_salonevent{
	background: url(/common/images/costume/ph_salonevent.jpg);
	background-size: cover;
	background-position:center center;

}
.salonevent{
	/* 透過した黒を重ねる */
	background-color: rgba(0,0,0,0.6);
	padding: 50px 0 30px;
}

.salonevent p, .salonevent h3, .salonevent .btn{
	color: #fff;

}
.salonevent .btn{
	border: #fff 2px solid;
	background: transparent;
}

/* スライダー
---------------------------------*/
.beauty_slider dt{
	margin: 20px 0 0;
	font-weight: 500;
	text-align: left;
}
.beauty_slider dd {
	text-align: left;
}
.beauty_slider img {
	max-width: none;
	width: 100%;
}
.beauty_slider .slick-dots{
	bottom: -35px;
}
.beauty_slider .slick-dots li button:before{
	display: none;
}
.beauty_slider .slick-dots li button{
	width: 2px;
	height: 2px;
	border: #cb9a5d 2px solid;
	border-radius: 100%;
}
.beauty_slider .slick-dots li.slick-active button{
	background: #cb9a5d;
}
.beauty_slider .slick-prev,
.beauty_slider .slick-next{
	width: 45px;
	height: 45px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.beauty_slider .slick-prev{
	left: 10px;
	background-image: url(/common/images/ico_arrow_prev03.png);
}
.beauty_slider .slick-next{
	right: 10px;
	background-image: url(/common/images/ico_arrow_next03.png);
}
@media screen and (min-width: 768px){
	.beauty_slider .slick-prev,
	.beauty_slider .slick-next{
		width: 60px;
		height: 60px;
	}
}

/* ヘアメイク詳細（Price/Rehearsal/Trial）
---------------------------------*/
/*詳細エリア：structure*/
.beauty_detail+.beauty_detail{
	margin-top: 20px;
}
.beauty_detail_head{
	padding: 40px 20px 20px;

}
.beauty_detail_body{
	display: none;
	margin-top: -1px;
	padding: 0 20px 40px;
	border: 1px solid #f1dbbb;
	border-top: none;
	background-color: #ffffff;	
}
.beauty_detail_head .acr_open {
	margin-bottom: 25px;
}
@media screen and (min-width: 768px){
	.beauty_detail_head{
		padding: 0 80px 30px;	
	}
	.beauty_detail_body+.beauty_detail_head{
		margin-top: 20px;
	}
	.beauty_detail_body{
		padding: 0 80px 50px;
	}
	.beauty_detail_head .acr_open {
		margin-bottom: 50px;
	}
}

/*詳細エリア:title*/
.beauty_detail_title {
	margin-bottom: 40px;
}
.beauty_detail_title .tit_L {
	font-size: 30px;
	line-height: 1;
}
.beauty_detail_title .tit_j {
	font-size: 13px;
}
.beauty_detail_title .tit_j:before {
	content: "";
	display: block;
	width: 30px;
	margin: 15px auto;
	border-top: 1px solid #000;
}
/*@-moz-document url-prefix(){ /*Firefox*/
/*
	.beauty_detail_title .tit_L{
		font-family:Georgia, "Times New Roman", Times, serif;
	}
}*/


@media screen and (min-width: 768px){
	.beauty_detail_title {
		margin-bottom: 50px;
	}
	.beauty_detail_title .tit_L {
		font-size: 40px;
	}
	.beauty_detail_title .tit_j {
		font-size: 20px;
	}
	.beauty_detail_title .tit_j:before {
		width: 60px;
	}
}

/*詳細エリア：sub title*/
.beauty_detail .stit {
	margin-bottom: 10px;
	font-weight: 500;
	font-size: 16px;
	text-align: left;
}

/*詳細エリア:button（アコーディオン開閉用）*/
.acr_open,
.acr_close {
	max-width: 300px;
	margin: auto;
	padding: 15px;
	border: 2px solid #debc72;
	box-sizing: border-box;
	font-size: 16px;
	cursor: pointer;
}
.acr_open:after {
	content: "";
	display: inline-block;
	width: 0.7em;
	height: 0.7em;
	margin-top: 0.2em;
	margin-left: 1em;
	vertical-align: top;
	border-bottom: 2px solid #cb9266;
	border-right: 2px solid #cb9266;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
@media screen and (min-width: 768px){
	.acr_open,
	.acr_close {
		font-size: 18px;
	}
}



/*料金表*/
.table_price {
	width: 100%;
}
.table_price caption {
	text-align: left;
	font-weight: 500;
	font-size: 16px;
}
.table_price tr:not(.no_line) {
	border-bottom: 1px solid #f1dbbb;
}
.table_price th {
	display: block;
	padding: 10px 5px 0 5px;
	text-align: left;
	font-weight: normal;
	line-height: 1.4;
	box-sizing: border-box;
}
.table_price td {
	display: block;
	padding: 10px 5px;
	text-align: right;
	line-height: 1.4;
	box-sizing: border-box;
}
@media screen and (min-width: 768px){
	.table_price th {
		display: table-cell;
		width: 64.5%;
		padding: 10px 5px;
	}
	.table_price td {
		display: table-cell;
		padding: 10px 10% 10px 5px;
	}
}

/*サロン基本情報*/
.beauty_detail .info dt {
	font-weight: 500;
}
.beauty_detail .info dd {
	margin-bottom: 0.5em;
}
@media screen and (min-width: 768px){
	.beauty_detail .info {
		font-size: 16px;
	}
	.beauty_detail .info dt {
		clear: left;
		float: left;
		width: 8em;
		font-weight: 500;
	}
	.beauty_detail .info dd {
		overflow: hidden;
        margin-bottom: 0;
	}
}

/*サロンサービス詳細*/
.beauty_detail .service_detail dt {
	font-weight: 500;
}
.beauty_detail .service_detail dd {
    margin-bottom: 0.5em;
}
@media screen and (min-width: 768px){
	.beauty_detail .service_detail dt {
		clear: left;
		float: left;
		width: 8em;
		font-weight: 500;
        line-height: 1.8;
	}
	.beauty_detail .service_detail dd {
		overflow: hidden;
        line-height: 1.8;
        margin-bottom: 0;
	}
}

/*数字リスト*/
.beauty_detail .num_list li {
	counter-increment: num;
	padding-left: 2.5em;
	margin-bottom: 1.5em;
	position: relative;
}
.beauty_detail .num_list li:before {
	content: "("counter(num)")";
	position: absolute;
	left: 0;
	top: 0;
}

/* ご予約
---------------------------------*/
/*予約: structure*/
.researve_box {
	padding: 50px 20px;
	border: 1px solid #deae51;
}
.researve_box_tit {
	margin-bottom: 35px;
	font-weight: 500;
	font-size: 20px;
}
.researve_box_tit.line:after {
	content:"";
	display: block;
	width: 60px;
	margin: 20px auto 0;
	border-top: 1px solid #deae51;
}
.researve_box .btn_map {
	margin-left: 5px;
	padding: 5px 15px;
	border: 1px solid #111;
	background-color: #efefef;
	font-weight: 500;
	vertical-align: bottom;
}
@media screen and (min-width: 768px){
	.researve_box {
		padding: 80px;
	}
	.researve_box_tit {
		margin-bottom: 70px;	
	}
	.researve_box .btn_map {
		margin-left: 10px;
		padding: 5px 30px;
		font-size: 16px;
	}
}

/*予約: tel*/
.researve_tel dt{
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 5px;
}
.researve_tel dd a{
	color: #111 !important;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: -1px;
}
@media screen and (min-width: 768px){
	.researve_tel dt{
		font-size: 16px;
	}
	.researve_tel dd a{
		font-size: 22px;
	}
}

/*予約: information*/
.researve_info dt {
	clear: left;
	float: left;
	width: 6em;
}
.researve_info dd {
	margin-left: 6em;
	overflow: hidden;
}

/*予約: salon*/
.researve_box .salon {
	text-align: center;
}
.researve_box .salon_logo {
	width: 60px;
	height: auto;
	margin: 0 auto 15px;
}
.researve_box .salon_tit {
	font-size: 12px;
	margin-bottom: 5px;
}
.researve_box .salon_name {
	margin-bottom: 5px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
}
.researve_box .salon_link a{
	margin-bottom: 15px;
	display: inline-block;
	text-decoration: underline;
	font-size: 12px;
}
.researve_box .salon_ph {
	width: 77%;
	margin: 0 auto 30px;
}
@media screen and (min-width: 768px){
	.researve_box .salon_logo {
		width: 118px;
	}
	.researve_box .salon_tit {
		font-size: 14px;
	}
	.researve_box .salon_name {
		font-size: 20px;
	}
	.researve_box .salon_link a{
		font-size: 14px;
	}	
}

/*優待情報*/
.benefits {
	margin-bottom: 30px;
	text-align: center;
}
.benefits_bnr {
	max-width: 490px;
	margin: 10px auto;
	padding: 10px;
	background: #cb9a5d;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
}
.benefits_txt1 {
	font-size: 14px;
	letter-spacing: -1px;
}
.benefits_txt2 {
	font-size: 12px;
}
@media screen and (min-width: 768px){
	.benefits_bnr {
		font-size: 20px;
	}
	.benefits_txt1 {
		font-size: 16px;
	}
	.benefits_txt2 {
		font-size: 14px;
	}
}

/*罫線*/
.researve_box hr.line {
	height: 1px;
	border: 0;
	background: #f1dbbb;
}


/*モーダル：structure
-------------------------------------*/
.modal {
	display: none;
	padding: 15px;
	background: rgba(0,0,0,0.7);
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	box-sizing: border-box;
}
.modal_inner {
	padding: 20px 20px 100px 20px;
	background: #fff;
	border: 1px solid #ccc;
	position: fixed;
	top: 15px;
	bottom: 15px;
	left: 15px;
	right: 15px;
	overflow-y: scroll;
	box-sizing: border-box;
}
.modal_footer {
	padding: 20px;
	background: #fff;
	position: fixed;
	left: 15px;
	right: 15px;
	bottom: 15px;
}
.modal_close {
	max-width: 300px;
	margin: auto;
	padding: 15px;
	border: 2px solid #debc72;
	box-sizing: border-box;
	font-size: 16px;
	cursor: pointer;
}
@media screen and (min-width: 768px) {
	.modal {
		padding: 50px 0;
		background: rgba(0,0,0,0.2);	
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1000;
	}
	.modal_inner {
		max-width: 940px;
		height: 100%;
		margin: auto;
		overflow-y: scroll;
		padding: 20px;
		position: static;
	}
	.modal_footer {
		margin-top: 50px;
		border-top: none;
		position: static;	
	}
	.modal_close {
		font-size: 18px;	
	}
}

/*モーダル：contents
-------------------------------------*/
/*美容室より新婦様へのご案内*/
#beauty_info article{
	max-width: 620px;
	margin: auto;
}
#beauty_info section{
	margin-top: 10%;
	text-align: left;
}
#beauty_info h2{
	margin-top: 10%;
}
#beauty_info h3{
	margin-bottom: 10px;
	font-weight: 500;
	text-align: left;
}

.tempnotice {
	/* background: #fdedf8;
	padding: 20px; */
}
@media screen and (max-width: 767px) {
	#dress_shop_detail p {
		text-align: left;
	}
}

.block_forguests {
	padding: 30px;
	display: flex;
	gap: 20px;
	text-align: left;
	background: #f2e6ce;
	margin-top: 30px;
	margin-bottom: 50px;
}
.block_forguests_qr img {
	max-width: 120px;
}
@media screen and (max-width: 767px) {
	.block_forguests {
		flex-direction: column;
		align-items: center;
	}

}