@charset 'UTF-8';
/* ===============================================
   anniv
=============================================== */

#readBox {
	text-align: center;
}

#readBoxRe {
	text-align: center;
	margin: 0 0 20px;
	overflow: hidden;
}

#readBoxRe p {
	font-size: 16px;
	line-height: 1.8;
}

#spaceImg {
	overflow: hidden;
	margin: 0 0 20px;
}

.annivSubTit {
  color: #988972;
  font-weight: normal;
  font-size: 24px;
  margin: 30px 0 20px 0;
  padding: 0;
}

#anivConteTitBn {
  text-align: left;
  margin: 0 0 10px;
}


/* annivPoint
------------------------------------------------*/
#annivPoint {
	margin: 0 0 20px;
	padding: 10px 0 0;
	overflow: hidden;
}

#annivPoint ul {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}

#annivPoint li {
	margin: 0 0 10px;
	padding: 10px 0 0;
}

#annivPoint li p {
	margin: 0 0 10px;
	padding: 0;
}

#annivPoint h3 {
	font-size: 20px;
	color: #C00;
	margin: 0 0 10px;
	padding: 0;
}

#annivPoint li ul {
	color: #45280A;
	border: 1px dotted #988972;
	margin: 10px 0;
	padding: 10px 10px 5px 30px;
	list-style: disc;
}

#annivPoint li li {
	margin: 0 0 5px;
	padding: 0;
}


/* annivFaq
------------------------------------------------*/
#annivFaq {
	margin: 0 0 20px;
	padding: 10px 0 0;
	overflow: hidden;
}

.faqEg {
	margin: 0 0 20px;
	padding: 10px 0 0;
}

.faqEg dt {
	color: #45280A;
	margin: 0 0 10px;
	padding: 0;
	font-size: 16px;
}

.faqEg dt .fQ {
	display: inline-block;
	margin-right: 10px;
	font-size: 22px;
	font-family: "Times New Roman", Times, serif;
}

.faqEg dd {
	background-color: #EEEDDF;
	margin: 0 0 10px 30px;
	padding: 10px 20px 0px;
	overflow: hidden;
}

.faqEg dd table {
	border-collapse: collapse;
	border: none;
	border-spacing: 0;
	margin: 0 0 10px;
	padding: 0;
}

.faqEg dd th,
.faqEg dd td {
	margin: 0;
	padding: 0 0 5px;
}

.faqEg dd td {
	padding-left: 20px;
}


/* menuList
------------------------------------------------*/

#menuList {
	border-bottom: 1px solid #988972;
	text-align: center;
	padding-bottom: 10px;
	overflow: hidden;
}

#menuList h2 {
	color: #988972;
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid #988972;
	font-weight: normal;
}

#menuList table {
	width: 400px;
	margin: 0 auto 20px;
	font-size: 14px;
}

#menuList table th,
#menuList table td {
	padding: 5px 0;
	border-bottom: 1px dotted #988972;
}

#menuList table th {
	color: #45280A;
}

#menuList table td {
	text-align: right;
}

/* info
------------------------------------------------*/

#info {
	margin-bottom: 30px;
	overflow: hidden;
}

#infoRoom {
	padding-top: 20px;
}

#infoRoom h2 {
	color: #988972;
	margin-bottom: 10px;
	font-weight: normal;
}

#infoRoomImg {
	float: right;
	margin-left: 20px;
}

.eg {
	clear: both;
	overflow: hidden;
}
.egimg {
	float: left;
	margin-right: 20px;
}

.eg .txtBox {
	padding-top: 15px;
}

.eg .txtBox h3 {
	margin-bottom: 10px;
}


.eg .txtBox h3 span {
	display: inline-block;
	margin-right: 5px;
	padding: 3px 8px;
	background-color: #EDEBDB;
	font-size: 12px;
}
.eg .btnLink {
	text-align: right;
}

.eg .btnLink a span {
	display: block;
	background: url(../img_common/arw_nav.png) no-repeat right center;
	padding-right: 18px;
}

.eg .btnLink a:hover span {
	background-image: url(../img_common/arw_nav_s2.png);
}


/* flow
------------------------------------------------*/

#flow {
	clear: left;
	text-align: center;
	overflow: hidden;
}

#flow h2 {
	color: #988972;
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid #988972;
	font-weight: normal;
}

#flow ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

#flow ol li {
	text-align: left;
	margin: 0 auto 0;
	padding: 10px 0 0;
	width: 640px;
	background: url(../anniv/img/flow_arw.png) no-repeat center 0;
}

#flow ol li:first-child {
	background: none;
	padding-top: 0;
}

#flow .flowBg {
	padding: 34px 20px 5px 120px;
	overflow: hidden;
}

#flow01 .flowBg {background: url(../anniv/img/flow01_bg.png) no-repeat 0 0;}
#flow02 .flowBg {background: url(../anniv/img/flow02_bg.png) no-repeat 0 0;}
#flow03 .flowBg {background: url(../anniv/img/flow03_bg.png) no-repeat 0 0;}

/* itemlist
------------------------------------------------*/
#itemlist dl {
	color: #45280A;
	text-align: left;
	background-color: #FDEAEC;
	width: 640px;
	margin: 0 auto 20px;
	overflow: hidden;
}

#itemlist dt {
	margin:  0 20px 10px;
	padding: 20px 0 5px;
	border-bottom: 1px solid #45280A;
	font-weight: bold;
}

#itemlist dd {
	padding-bottom: 10px;
	overflow: hidden;
}

#itemlist li {
	float: left;
	font-size: 13px;
	margin: 0 0 5px 18px;
	width: 45%;
}


/* ===============================================
	ビューティールーム
=============================================== */
#readBoxBR {
  text-align: center;
  border-bottom: 1px dotted #988972;
  margin: 0 0 30px;
  padding: 0 0 40px;
  color: #479270;
}
#readBoxBR h2 {
  margin-bottom: 30px;
}

/* 記事 */
#artlBr {
  margin: 0 0 30px;
  padding: 10px;
  
  background:repeating-linear-gradient(-45deg, #FFF 0, #FFF 5px, #EDEBDC 5px, #EDEBDC 10px);
  
/*  background-color: #EDEBDC;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #FFF), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #FFF),color-stop(.75, #FFF), color-stop(.75, transparent),to(transparent));
  -webkit-background-size: 7px 7px;*/
}

#artlBr .whtBox {
  background-color: #FFF;
  padding: 20px 20px 0;
  overflow: hidden;
}

#artlBrTit {
  margin: 0 0 30px;
  padding: 0;
  text-align: center;
}

#artlBr p {
  margin: 0 0 20px;
}

/**/
.anivBrLink {
  margin: 0 0 50px;
}
.anivBrLink a.btn {
  display: inline-block;
  background-color: #479270;
  color: #FFF;
  margin: 0 0 15px;
  padding: 15px 20px;
  text-decoration: none;
}
.anivBrLink a.btn .mfBig {
  display: inline-block;
  font-size: 18px;
  margin-left: 20px;
}
.anivBrLink a.btn:hover {
  background-color: #C00;
}

/* -----------------------------------------------
   バックナンバー
----------------------------------------------- */

#bnBox {
	width: 700px;
	overflow: hidden;
	margin-bottom: 12px;
	margin-top: -70px;
	padding-top: 70px;
}

#bnBox h2 {
	background: url(../salon/img/t_bn.gif) no-repeat 0 0;
	margin: 0;
	padding: 0;
	width: 700px;
	height: 30px;
	
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#bnBox p {
	font-size: 12px;
	margin: 0 40px 20px;
}

#bnBox ul {
	list-style: none;
	margin: 0 40px 20px;
	padding: 0;
}

#bnBox li {
	font-size: 12px;
	margin: 0 0 10px;
}

#bnBox li a {
	color: #663300;
	text-decoration: none;
	background: url(../imgmenu/mk.gif) no-repeat 0 center;
	padding: 0 0 0 20px;
}

#bnBox li a:hover {
	color: #CC0000;
	text-decoration: underline;
	background-image: url(../imgmenu/mk_f2.gif);
} 

/* ===============================================
	書体
=============================================== */

#sec h2 {
	font-family: 'PT Sans', sans-serif;
}


/* ===============================================
	プラン #annivPlan
=============================================== */

/* 共通 */
#annivPlan h3 {
font-family: 'Kosugi Maru', sans-serif;
}


/*ページ見出し*/

.planMainTit {
margin: 0 0 40px;
}

.planMainTxt {
margin: 0 0 40px;
}
.planMainTxt .tit {
margin: 0 0 20px;
padding: 0;
font-size: 26px;
}
.planMainTxt .titOp {
color: #f8154a;
margin: 0 0 10px;
padding: 0;
font-size: 18px;
}
.planMainTxt .titOp b {
display: inline-block;
border: 1px solid #f8154a;
margin: 0 2px;
padding: 2px 10px;
line-height: normal;
}
.planMainTxt .titOp b:first-child {margin-left: 0;}
.planMainTxt .titOp b:last-child {margin-right: 10px;}

#planRoomImgBox {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
#planRoomImgBox figure {
margin: 0 0 10px;
padding: 0;
}
#planRoomImgBox figcaption {
display: block;
padding: 3px 0 0;
text-align: center;
}

/* こんなに便利！撮影も安心！
----------------------------------------------- */
.planPointBox {
margin: 0 0 30px;
}

/* 見出し */
.planPointTit {
display: flex;
align-items: center;
margin: 0 0 20px;
padding: 0;
font-size: 16px;
font-weight: normal;
letter-spacing: 0.1em;
text-align: left;
}
.planPointTit::after {
content: "";
flex-grow: 1;
background-color: #e98891;
height: 1px;
}
.planPointTit .txt {
position: relative;
display: inline-block;
background-color: #e98891;
background: linear-gradient(-45deg, #e98891, rgba(233,136,145,0.8));
border-radius: 6px;
color: #fff;
margin: 0;
padding: 0.4em 1.5em;
font-size: 28px;
letter-spacing: 0.1em;
}
.planPointTit .txt::before {
position: absolute;
top: 6px;
left: 6px;
content: "";
width: 100%;
height: 100%;
-webkit-transform: rotate(-1deg);
transform: rotate(0deg);
background-image: linear-gradient(-45deg, #f5bac0 25%, #fff 25%, #fff 50%, #f5bac0 50%, #f5bac0 75%, #fff 75%);
background-size: 10px 10px;
border-radius: 6px;
z-index: -1;
}


/* ポイント強調 */
.planPointBox .fCh {
font-family: 'Kosugi Maru', sans-serif;
font-size: 24px;
}

/* カメラマン紹介 */
#photographerInfo {
display: flex;
align-items: center;
padding: 20px 0;
}
#photographerInfo .imgBox {
flex-shrink: 0;
width: 160px;
}
#photographerInfo .imgBox img {
border-radius: 100vh;
}
#photographerInfo .txtBox {
flex-shrink: 0;
width: 540px;
}
#photographerInfo .infoTxt {
font-size: 12px;
line-height: 1.3;
}
#photographerInfoTit {
margin-bottom: 5px;
}


/* プラン紹介
----------------------------------------------- */
#planMenuList {
margin: 0;
padding: 20px 0 40px;
}

#planMenuList h2 {
color: #988972;
margin-bottom: 30px;
padding-bottom: 5px;
border-bottom: 1px solid #988972;
font-weight: normal;
text-align: center;
}

.planMenuBox {
margin-bottom: 20px;
padding: 20px 0 20px;
background-color: #fdeaec;
}

.planMenuBox .planBox {
position: relative;
margin: -20px 0 0;
padding: 40px 290px 0 0;
}

.planMenuBox .planImg {
width: 240px;
margin: 0;
padding: 30px 0;
position: absolute;
top: 0;
right: 20px;
z-index: 3;
}
.planMenuBox .planImg img {
box-shadow: 0px 1px 4px rgba(0,0,0,0.8);
}

.planMenuBox .planTxt {
flex: 1;
margin: 0;
padding: 0 0 20px;
}
.planMenuBox .planTit {
position: relative;
margin: 0;
padding: 0;
z-index: 2;
}
.planMenuBox .planTit .tit {
position: relative;
color: #fff;
margin: 0 20px 0 0;
padding: 0 20px 5px 1.5em;
font-weight: normal;
}
.planMenuBox .planTit .tit::before {
position: absolute;
top: 0;
left: 0;
content: "";
background-image: linear-gradient(-45deg, #f5bac0 25%, transparent 25%, transparent 50%, #f5bac0 50%, #f5bac0 75%, transparent 75%);
background-size: 10px 10px;
width: 1em;
height: 100%;
}

.planMenuBox .planTit .planData {
background: #fff;
border-radius: 0 0 0 6px;
margin: 0 -20px 0 40px;
padding: 5px 15px 10px;
}
.planMenuBox .planTit p {
margin: 0;
padding: 5px 0 0;
}
.planMenuBox .planTit p.fPrice {
text-align: right;
}
.planMenuBox .planTit p.fPrice b {
font-size: 20px;
}
.planMenuBox .planData,
.planMenuBox .planInfo {
margin: 0 0 0 40px;
padding: 0;
}

.planMenuBox .planData {
margin-bottom: 10px;
}
.planMenuBox .planData p {
margin: 0 0 5px;
font-size: 18px;
line-height: 1.4;
}

.planMenuBox .planInfo {
border-top: 1px dotted #333;
padding-top: 10px;
}

.planInfo table {
border: 1px solid #45280a;
width: 100%;
color: #45280a;
}

.planInfo caption {
text-align: left;
margin-bottom: 2px;
font-size: 14px;
}

.planInfo tr:not(:first-child) {
border-top: 1px dotted #45280a;
}

.planInfo th {
padding: 5px 10px;
font-size: 13px;
font-weight: normal;
}
.planInfo td {
padding: 5px 10px;
font-size: 13px;
background-color: rgba(255,255,255,0.5);
}


/* 当日までのスケジュール
----------------------------------------------- */
#annivPlan #flow ol li ul {
list-style: disc;
margin: 0;
padding: 5px 0 0 1.4em;
border-top: 1px dotted #c00;
color: #c00;
}

#annivPlan #flow ol li li {
width: auto;
background: none;
padding: 5px 0 0;
}

#annivPlan #flow01 .flowBg {
background: url(../anniv/img/flow01_bg.png) no-repeat 0 0, linear-gradient(to bottom, transparent, #edebdb 50%); padding-bottom: 10px;}
#annivPlan #flow02 .flowBg {background: url(../anniv/img/flow02_bg.png) no-repeat 0 0, linear-gradient(to bottom, transparent, #edebdb 50%); padding-bottom: 20px; padding-bottom: 10px;}
#annivPlan #flow03 .flowBg {background: url(../anniv/img/flow03_bg.png) no-repeat 0 0;}

/* キャンセルポリシー */
#planCancelPolicy {
border: 5px solid #ecebd7;
margin: 20px auto;
padding: 25px 20px 20px;
}
#planCancelPolicy dt {
color: #45280a;
margin: 0 0 20px;
padding: 0 0 15px;
font-size: 18px;
font-weight: bold;
border-bottom: 1px dotted #45280a;
}
#planCancelPolicy table {
border: 1px solid #45280a;
margin: 0 auto 20px;
color: #45280a;;
}
#planCancelPolicy table tr {
border: 1px solid #45280a;
}
#planCancelPolicy table th {
background-color: #fdeaec;
border-right: 1px dotted #45280a;
padding: 5px 10px;
}
#planCancelPolicy table td {
background-color: #ecebd7;
padding: 5px 10px;
}

/* ギャラリー
----------------------------------------------- */
#planGalley {
padding: 40px 0;
}
#planGalley h2 {
font-size: 40px;
font-weight: normal;
text-align: center;
}

#planGalley ul.photoBox {
list-style: none;
margin: 0;
padding: 20px 0;
display: flex;
flex-wrap: wrap;
}
#planGalley ul.photoBox li {
width: 22%;
margin: 0 auto;
text-align: center;
overflow: hidden;
}
#planGalley ul.photoBox img {
transition-duration: 0.5s;
}
#planGalley ul.photoBox img:hover {
transform: scale(1.2);
}


#planGalley ul.photoBox li {
  position: relative;
  overflow: hidden;
}
#planGalley ul.photoBox li::before,
#planGalley ul.photoBox li::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
  opacity: 0;
}
#planGalley ul.photoBox li::before {
  background: #45280a;
  width: 100%;
  height: 100%;
}
#planGalley ul.photoBox li::after {
  color: #fff;
  content: "Click";
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 24px;
  bottom: 0;
  right: 0;
  border: 1px solid #fff;
  width: 100px;
  height: 24px;
  margin: auto;
  padding: 0;
}

#planGalley ul.photoBox li:hover::before,
#planGalley ul.photoBox li:hover::after {
  opacity: 1;
  pointer-events: none;
}


/* 成人式料金
----------------------------------------------- */
#ceremonyPrice {
  background-color: rgba(245,234,234,0.8);
  margin: 20px 0 40px;
  padding: 20px 20px 30px;
}
#ceremonyPrice h3 {
  margin: 10px 0 5px;
  color: #c00;
}
#ceremonyPrice h3 .fCap {
  font-size: 13px;
  font-weight: normal;
}
#ceremonyPrice .btnBox {
  text-align: center;
}
#ceremonyPrice .btnBox a.btn {
  display: inline-block;
  background-color: #c00;
  color: #fff;
  margin: 0 auto;
  padding: 10px 2em;
  text-decoration: none;
}
#ceremonyPrice .btnBox a.btn .txt {
  position: relative;
  display: inline-block;
  padding: 0 2em 0 5px;
}
#ceremonyPrice .btnBox a.btn .txt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left: 8px solid rgba(255,255,255,0.5);
}
#ceremonyPrice .btnBox a.btn:hover {
  opacity: 0.6;
}
