@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html, body {
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

body {
	font-size: 62.5%;
}

body,
table,
input, textarea, select, option {
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a {
	color: #000;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

a:hover {
	text-decoration: underline;
}

/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft {
	text-align: left !important;
}

.taCenter {
	text-align: center !important;
}

.taRight {
	text-align: right !important;
}

/* フォントの大きさ（プラス） */
.fsP1 {
	font-size: 1.08em !important;
}

.fsP2 {
	font-size: 1.16em !important;
}

.fsP3 {
	font-size: 1.24em !important;
}

.fsP4 {
	font-size: 1.32em !important;
}

.fsP5 {
	font-size: 1.4em !important;
}

/* フォントの大きさ（マイナス） */
.fsM1 {
	font-size: 0.92em !important;
}

.fsM2 {
	font-size: 0.84em !important;
}

.fsM3 {
	font-size: 0.76em !important;
}

.fsM4 {
	font-size: 0.68em !important;
}

.fsM5 {
	font-size: 0.6em !important;
}

/* フォントの太さ */
.fwNormal {
	font-weight: normal !important;
}

.fwBold {
	font-weight: bold !important;
}

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 {
	margin-top: 0 !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
* html .clearfix {
	zoom: 1;
}

* + html .clearfix {
	zoom: 1;
}

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

/*@font-face {
	font-family: 'BaskervilleSerial-Regular';
	src: url('fonts/BaskervilleSerial-Regular.eot');
	src: url('fonts/BaskervilleSerial-Regular.eot?#iefix') format('embedded-opentype'),
	url('fonts/BaskervilleSerial-Regular.woff') format('woff'),
	url('fonts/BaskervilleSerial-Regular.ttf') format('truetype');
}*/

.none {
	display: none !important;
}

.animBox {
	opacity: 0;
	-webkit-transform: translate(0, 60px);
	-moz-transform: translate(0, 60px);
	-ms-transform: translate(0, 60px);
	-o-transform: translate(0, 60px);
	transform: translate(0, 60px);
	-webkit-transition: .8s;
	-moz-transition: .8s;
	-ms-transition: .8s;
	-o-transition: .8s;
	transition: .8s;
}

.animBox_moved {
	opacity: 1.0;
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0);
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
	font-size: 13px;
	line-height: 1.5;
	min-width: 940px;
	-webkit-text-size-adjust: 100%;
	background-color: #f9f5f2;
}

#container {
	padding-top: 155px;
	text-align: left;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 100;
	height: 155px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #CBD4C8;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#gHeader .hBox {
	width: 1280px;
	margin: 0 auto;
}

#gHeader h1 {
	text-align: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	margin-bottom: 18px;
}

#gHeader h1 a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	transition: opacity ease 0.4s;
}

#gHeader h1 a:hover {
	opacity: 0.7;
}

#gHeader h1 img {
	display: inline-block;
	transition: all 0.3s ease;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

#gHeader h1 .logo01 {
	margin-top: 0px;
	margin-right: 60px;
	width: 200px;
}

#gHeader .subNaviBox {
    width: 1280px;
    margin: 0 auto;
	text-align: center;
	letter-spacing: -0.4em;
}

#gHeader .hLink {
	padding: 1px 8px 0 0;
	/*width: 342px;*/
	vertical-align: middle;
	display: inline-block;
	letter-spacing: normal;
}

#gHeader .hLink li {
	width: 104px;
	float: left;
    margin-left: 10px;
}

#gHeader .hLink .rLink {
	width: 104px;
	float: right;
}

#gHeader .hLink li a {
	padding: 0 0 1px;
	display: block;
	color: #474443;
	font-size: 11px;
	text-decoration: none;
	letter-spacing: 1px;
	text-align: center;
	background-color: #f9f5f2;
}

#gHeader .hLink li .over {
	display: none;
}

#gHeader .hLink li a:hover .out {
	display: none;
}

#gHeader .hLink li a:hover .over {
	display: block;
	color: #CBD4C8;
}

#gHeader .hLink li.instagram {
	width: 16px;
	margin-top: 1px;
}
#gHeader .hLink li.instagram a {
	background: none;
}
#gHeader .hLink li.instagram a img {
	display: block;
	width: 100%;
}

#gHeader .menu {
	display: none;
}

#gHeader.on {
	height: 90px;
}

#gHeader.on h1 .logo01 {
	width: 140px;
}

#gHeader.on h1 {
	margin-bottom: 5px;
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
.navBox {
	margin: 0 auto;
	width: 1280px;
}

#gNavi {
	display: inline-block;
	letter-spacing: normal;
	margin-top: 2px;
	margin-right: 18px;
	vertical-align: middle;
}

#gNavi li {
	position: relative;
	float: left;
	font-size: 11px;
	letter-spacing: 1px;
	text-align: center;
	padding: 0 14px;
}

#gNavi li a {
	color: #3e3a39;
	text-decoration: none;
}

#gNavi li span {
	opacity: 1;
	display: block;
}

#gNavi li .over {
	position: absolute;
	top: calc(50% - 0.25em);
	line-height: 1;
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
	font-size: 100%;
	/*margin: 0.2em 0;*/
}

#gNavi li .out {
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
	font-size: 12px;
	line-height: 1.6;
}

#gNavi li a:hover .over {
	opacity: 1;
}

#gNavi li a:hover .out {
	opacity: 0;
}

/*#gNavi .navi01 {*/
/*	width: 80px;*/
/*}*/

/*#gNavi .navi02 {*/
/*	width: 60px;*/
/*}*/

/*#gNavi .navi03 {*/
/*	width: 80px;*/
/*}*/

/*#gNavi .navi04 {*/
/*	width: 100px;*/
/*}*/

/*#gNavi .navi05 {*/
/*	width: 50px;*/
/*}*/

/*#gNavi .navi06 {*/
/*	width: 50px;*/
/*}*/

/*#gNavi .navi07 {*/
/*	width: 50px;*/
/*}*/

/*#gNavi .navi08 {*/
/*	width: 50px;*/
/*}*/

/*#gNavi .navi09 {*/
/*	width: 100px;*/
/*}*/

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	clear: both;
	overflow: hidden;
	text-align: center;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#gFooter .fBox {
	padding: 28px 0 70px;
}

#gFooter .copyright {
	color: #000;
	letter-spacing: 0.1em;
	font-size: 10px;
}

#gFooter .copyright a {
	color: #000;
}

.pageTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 50px;
	height: 50px;
	text-align: center;
}

.pageTop a {
	padding-top: 18px;
	height: 32px;
	display: block;
	background-color: #000000;
	transition: background ease 0.4s;
}

.pageTop a:hover {
	background-color: #3e3a39;
}

.sp,
.sp-i {
	display: none !important;
}

@media all and (min-width: 768px) {
	.navBox {
		display: block !important;
	}
}

@media all and (min-width: 0) and (max-width: 767px) {
	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	.sp-i {
		display: inline !important;
	}

	body {
		min-width: 320px;
		overflow-x: hidden;
	}

	#container {
		padding-top: 50px;
	}

	/*------------------------------------------------------------
		ヘッダー
	------------------------------------------------------------*/
	#gHeader {
		padding: 0;
		height: 50px;
	}

	#gHeader .hBox {
		background: #CBD4C8;
		height: 100%;
		position: relative;
		width: 100%;
		z-index: 100;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	#gHeader h1 {
		margin-bottom: 0;
		height: 100%;
	}

	#gHeader h1 a {
		height: 100%;
		padding: 0 50px;
	}

	#gHeader h1 .logo01 {
		width: 120px;
		margin-right: 0;
		margin-top: 0;
	}

	#gHeader .menu {
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 50px;
		height: 50px;
	}

	#gHeader .menu,
	#gHeader .menu span {
		display: inline-block;
		transition: all .4s ease;
		box-sizing: border-box;
	}

	#gHeader .menu span {
		position: absolute;
		left: 0;
		width: 20px;
		height: 2px;
		background-color: #000000;
		border-radius: 4px;
	}

	#gHeader .menu span:nth-of-type(1) {
	  top: calc(48% - 6px);
		left:16px;
	}

	#gHeader .menu span:nth-of-type(2) {
	  top: 48%;
		left:16px;
	}

	#gHeader .menu span:nth-of-type(3) {
	  top: calc(48% + 6px);
		left:16px;
	}

	#gHeader .menu.on span:nth-of-type(1) {
		transform: rotate(45deg);
		top: calc(50% - 2px);
	}

	#gHeader .menu.on span:nth-of-type(2) {
		opacity: 0;
	}

	#gHeader .menu.on span:nth-of-type(3) {
		transform: rotate(-45deg);
		top: calc(50% - 2px);
	}

	#gHeader.menuOpened,
	#gHeader.on {
		height: 50px;
	}

	#gHeader.on h1 .logo01 {
		margin-top: 0;
		width: 120px;
	}

	#gHeader.on h1 {
		margin-bottom: 0;
	}

	#gHeader .navBox {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		display: none;
		background-color: #f9f4f1;
		height: 100%;
		margin: 0;
	}

	#gHeader .navBox .subNaviBox {
		height: 100%;
		width: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	#gHeader .hLink {
		margin: 0 18px;
		padding: 0 0 16px;
		float: none;
		display: block;
		width: auto;
	}

	#gHeader .hLink li {
		width: 100%;
        margin-bottom: 10px;
		margin-left: 0;
	}

	#gHeader .hLink .rLink {
		width: 48%;
		float: right;
	}

	#gHeader .hLink li a {
		padding: 15px 15px 16px 0px;
		position: relative;
		color: #3e3a39;
		font-size: 14px;
		letter-spacing: normal;
		background-color: #CBD4C8;
	}

	#gHeader .hLink li a:before {
		width: 11px;
		height: 20px;
		margin-top: -10px;
		background: url(../img/common/icon01.png) no-repeat;
		background-size: 11px 20px;
		position: absolute;
		top: 50%;
		right: 12px;

		content: "";
	}

	#gHeader .hLink li.instagram {
		width: 100%;
		margin-top: 1px;
	}
	#gHeader .hLink li.instagram a {
		background: none;
		padding-right: 0;
	}
	#gHeader .hLink li.instagram a img {
		display: block;
		width: 32px;
		height: 32px;
		margin: 0 auto;
	}

	#gHeader .hLink li .out {
		display: none;
	}

	#gHeader .hLink li a:hover .over {
		display: none;
	}

	/*------------------------------------------------------------
		gNavi
	------------------------------------------------------------*/
	#gNavi {
		padding: 51px 0 0;
		margin: 0 0 17px;
		width: auto;
		display: block;
		float: none;
	}

	#gNavi li {
		float: none;
		width: 100% !important;
		font-size: 11px;
		letter-spacing: inherit;
		border-bottom: 1px solid #cccccc;
		padding: 0;
	}

	#gNavi li a {
		padding: 15px 0 14px;
		display: block;
		color: #221814;
		font-size: 13px;
		line-height: 1.2;
		position: relative;
		letter-spacing: 0.1em;
	}

	#gNavi li a:before {
		width: 5px;
		height: 11px;
		margin-top: -6px;
		background: url(../img/common/icon02.png) no-repeat left top;
		background-size: 5px 11px;
		position: absolute;
		top: 50%;
		right: 13px;

		content: "";
	}

	#gNavi li .over {
		position: relative!important;
		display: block !important;
		color: #000;
		font-size: 9px;
		opacity: 1!important;
		margin: 0.2em 0;
	}

	#gNavi li a:hover .out {
		display: block;
		opacity: 1!important;
	}

	/*------------------------------------------------------------
		フッター
	------------------------------------------------------------*/
	#gFooter {
		padding: 0 30px;
	}

	#gFooter .fBox {
		padding: 28px 0 38px;
	}

	#gFooter .fBox .fLink {
		margin-bottom: 3px;
		display: block;
		font-size: 12px;
	}

	#gFooter .fLink a {
		margin: 0 5px;
		color: #221814;
	}

	.pageTop {
		right: 15px;
		bottom: 15px;
		width: 40px;
		height: 40px;
		z-index: 30;
	}

	.pageTop a {
		padding-top: 15px;
		height: 25px;
	}

	.pageTop a img {
		width: 16px;
	}
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	position: relative;
	margin-bottom: 60px;
	/*max-height: calc(100vh - 90px);*/
	/*height: 720px;*/
	/*box-sizing: border-box;*/
	/*display: flex;*/
	/*text-align: center;*/
	/*flex-direction: column;*/
	/*align-items: center;*/
	/*justify-content: flex-start;*/
	/*color: #fff;*/
	/*background: url(img/index/main_visual_bg.jpg) no-repeat center center;*/
	/*background-size: cover;*/

	height: 80vh;
	max-height: 800px;
}
.mainVisual video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mainVisual iframe {
	width: 100%;
	height: 100%;
	display: block;
	aspect-ratio: 16 / 9;
}

.mainVisual img {
	display: block;
	width: 100%;
}
.mainVisual .bg {
	position: relative;
	width: 100%;
	z-index: 0;
}
.mainVisual .title {
	position: absolute;
	top: 10%;
	left: 0;
	right: 0;
	margin: 0 auto ;
	z-index: 10;
	width: 800px;    /* 固定幅（任意） */
	height: 80%;
	text-align: center;
}
.mainVisual .title img{
	display: block;
	width:630px;
	margin:0 auto 30px;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}

.mainVisual .title .txt01{
	margin-bottom: 75px;
	font-family: "Cardo", serif;
	font-size : 18px;
  letter-spacing: 0.3em;
  color : #FFF;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
.mainVisual .title .txt02{
	position: absolute;
	width:100%;
	bottom:0;
	font-family: "Cardo", serif;
	font-size : 18px;
    letter-spacing: 0.56em;
	text-align: center;
    color : #FFF;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}


.mainVisual .pTop {
	margin-bottom: 14px;
	font-size: 22px;
	line-height: 1.65;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

.mainVisual .ttl {
	color: #fff;
	font-size: 66px;
	line-height: 1.1;
	letter-spacing: 0.07em;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

.mainVisual span {
	display: block;
}

.mainVisual .ttl .date {
	font-size: 34px;
	line-height: 1.1;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

.mainVisual .ttl .sml {
	margin-top: 10px;
	color: #fff;
	line-height: 1.1;
	font-size: 26px;
}

#main .content {
	width: 900px;
	margin: 0 auto;
}

#index .topBox {
	margin-bottom: 83px;
}

#index .topBox .phoBox {
	float: right;
}

#index .topBox .phoBox {
	width: 552px;
	display: grid;
	grid-template-rows: 42% 29% 29%;
	grid-template-columns: 1fr 1fr 1fr;
}
#index .topBox .phoBox img {
	width: 100%;

}
#index .topBox .phoBox img:nth-child(1) {
	grid-column: 1 / 4;
	grid-row: 1 / 2;
}
#index .topBox .phoBox img:nth-child(2) {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}
#index .topBox .phoBox img:nth-child(3) {
	grid-column: 2 / 4;
	grid-row: 2 / 3;
}
#index .topBox .phoBox img:nth-child(4) {
	grid-column: 1 / 3;
	grid-row: 3 / 4;
}
#index .topBox .phoBox img:nth-child(5) {
	grid-column: 3 / 4;
	grid-row: 3 / 4;
}

#index .topBox .txtBox {
	margin-top: 58px;
	width: 290px;
	float: left;
}

#index h2 {
	margin-bottom: 20px;
	color: #000;
	font-weight: normal;
	font-size: 10px;
	letter-spacing: 0.3em;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index h2.thin {
	letter-spacing: 0.1em;
}

#index h2 .en {
	margin-bottom: 5px;
	display: block;
	color: #3e3a39;
	font-size: 37px;
	line-height: 1.1;
	letter-spacing: 0.15em;
	font-weight: normal;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index h2 .en .sml {
	margin-top: 5px;
	display: block;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
	font-weight: normal;
	font-size: 14px;
}

#index h3 {
	margin-bottom: 27px;
	color: #000;
	font-weight: normal;
	font-size: 20px;
	line-height: 1.75;
	letter-spacing: 0.20em;
}

#index h3.thin {
	letter-spacing: 0.1em;
}

#index p {
	font-size: 12px;
	line-height: 2.15;
	letter-spacing: 0.06em;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .topBox .txtBox h2 {
	margin-bottom: 52px;
}

#index .topBox .txtBox h2 .en {
	margin-bottom: 1px;
	line-height: 1.3;
	letter-spacing: 0.15em;
}

#index .topBox .txtBox h3 {
	margin-bottom: 23px;
    white-space: nowrap; 
}

#index .topBox .txtBox p {
	line-height: 2.35;
	letter-spacing: 0.08em;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .h2Head {
	margin-bottom: 49px;
	padding-bottom: 16px;
	color: #000;
	font-size: 24px;
	text-align: center;
	letter-spacing: 4px;
	/*border-bottom: 1px solid #c8c8c8;*/
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .photo {
	margin-bottom: 25px;
	clear: both;
}

#index .photo {
	display: grid;
	gap: 0;
}
#index .photo img{
	width: 100%;
}
#index .photo.photo--01 {
	grid-template-rows: 54.5% 45.5%;
	grid-template-columns: 2fr 1fr;
}
#index .photo.photo--01 img:nth-child(1) {
	grid-column: 1 / 3;
	grid-row: 1 / 3;
	width: 66.68%;
}

#index .photo.photo--01 img:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
#index .photo.photo--01 img:nth-child(3) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

#index .photo.photo--02 {
	grid-template-rows: 50% 50%;
	grid-template-columns: 1fr 1fr 1fr;
}
#index .photo.photo--02 img:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}
#index .photo.photo--02 img:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
}
@media all and (min-width: 0) and (max-width: 767px) {
	#index .photo.photo--02 img:nth-child(1), #index .photo.photo--02 img:nth-child(2) {
		/*width: calc(66.74% / 2);*/
	}
}
#index .photo.photo--02 img:nth-child(3) {
	grid-column: 3 / 4;
	grid-row: 1 / 2;
}
#index .photo.photo--02 img:nth-child(4) {
	grid-column: 3 / 4;
	grid-row: 2 / 3;
}

#index .photo.photo--03 {
	grid-template-rows: 1fr;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
#index .photo.photo--03 img:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}
#index .photo.photo--03 img:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
#index .photo.photo--03 img:nth-child(3) {
	grid-column: 3 / 4;
	grid-row: 1 / 2;
}
#index .photo.photo--03 img:nth-child(4) {
	grid-column: 4 / 5;
	grid-row: 1 / 2;
}
@media all and (min-width: 0) and (max-width: 767px) {
	#index .photo.photo--03 img:nth-child(1),#index .photo.photo--03 img:nth-child(2),#index .photo.photo--03 img:nth-child(3),#index .photo.photo--03 img:nth-child(4) {
		/*width: 25%;*/
	}
}

#index .txtInner {
	margin-bottom: 60px;
	padding-bottom: 56px;
	border-bottom: 1px solid #c8c8c8;
}

#index .txtInner .ttlArea {
	width: 430px;
	float: left;
}

#index .txtInner .txtArea .dlTxt dt {
	color: #000;
}

#index .txtInner .txtArea .dlTxt dt,
#index .txtInner .ttlArea .dlTxt dt {
	margin-bottom: 4px;
	color: #221814;
	font-size: 12px;
	letter-spacing: 0.1em;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .txtInner .txtArea .dlTxt dd,
#index .txtInner .ttlArea .dlTxt dd {
	font-size: 10px;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .txtInner .txtArea {
	margin-top: 7px;
	width: 380px;
	float: right;
}

#index .txtInner .txtArea.txtArea03 {
	width: 350px;
}

#index .txtInner .txtArea.extend p {
	margin-right: -10px;
}

#index .txtInner .txtArea .dlTxt {
	display: none;
}

#index .dining .txtInner {
	padding-bottom: 50px;
}

#index .dining .txtInner .ttlArea h3 {
	margin-bottom: 64px;
}

#index .floor .txtInner {
	margin-bottom: 55px;
	padding-bottom: 0;

}

#index .pdfLink {
	clear: both;
	padding-top: 40px;
}

#index .pdfLink a {
	padding: 13px 0 13px;
	display: block;
	text-align: center;
	color: #ffffff;
	font-size: 16px;
	text-decoration: none;
	background-color:#000000 ;
	transition: background ease 0.4s;
}

#index .pdfLink a:hover {
	background-color: #3e3a39;
}

#index .plan {
	margin-top: -50px;
	padding-top: 50px;
	padding-bottom: 51px;
}

#index .plan .txtInner {
	padding-bottom: 0;
	border-bottom: none;
}

#index .plan .txtInner .ttlArea {
	width: 210px;
}

#index .plan .txtInner .ttlArea h2 {
	margin-bottom: 48px;
}

#index .plan .txtInner .rBox {
	margin-top: 5px;
	width: 633px;
	float: right;
}

#index .plan .txtInner .imgBox {
	margin-bottom: 20px;
	clear: both;
	background-color: #ffffff;
	position: relative;
}

#index .plan .txtInner .imgBox .phoBox {
	float: right;
}

#index .plan .txtInner .imgBox .txtBox {
	padding: 0;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-51%);
	width: 300px;
	float: left;
}

#index .plan .txtInner .imgBox .txtBox h3 {
	margin-bottom: 12px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	font-size: 18px;
}

#index .plan .txtInner .imgBox .txtBox .price {
	margin-bottom: 8px;
	color: #000;
	line-height: 1.2;
	font-size: 16px;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .plan .txtInner .imgBox .txtBox .note {
	margin-bottom: 7px;
	color: #000;
	line-height: 1.6;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .plan .txtInner .imgBox .txtBox p {
	margin-bottom: 5px;
	font-size: 10px;
	line-height: 1.75;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .plan .txtInner .imgBox .txtBox p:last-child {
	margin-bottom: 0;
}

#index .wrap {
	padding: 115px 0 101px;
	background-color: #ffffff;
}

#index .cuising .txtInner {
	padding-bottom: 75px;
}

#index .total .txtInner {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

#index .access {
	padding: 100px 0 92px;
	text-align: center;
	border-bottom: 1px solid #c8c8c8;
}

#index .access h2 {
	margin-bottom: 36px;
}

#index .access .map {
	margin-bottom: 74px;
	height: 460px;
	background-color: #ccc;
}

#index .access iframe {
	width: 100%;
	vertical-align: top;
}

#index .access h3 {
	width: 600px;
	margin: 0 auto 38px;
	border-top: 1px solid #ccc;
	font-size: 16px;
	padding: 70px 0 0;
	line-height: 1.2;
	letter-spacing: 0.10em;
}

#index .access h3 .en {
	margin-top: 6px;
	display: block;
	color: #3e3a39;
	font-size: 28px;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .access .tel {
	margin-bottom: 22px;
	color: #221814;
	font-size: 12px;
	line-height: 1.2;
}

#index .access .tel a {
	color: #221814;
	text-decoration: none;
}

#index .access .tel .num {
	margin-top: 6px;
	display: block;
	font-size: 30px;
	line-height: 1.2;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .access .dlTxt {
	margin-bottom: 40px;
	font-size: 12px;
}

#index .access .dlTxt dt {
	margin-bottom: 7px;
	color: #221814;
	font-size: 14px;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .access .dlTxt dd {
	margin-bottom: 34px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
}

#index .access .dlTxt dd:last-child {
	margin-bottom: 0;
}

#index .access .miniMapBox {
	width: 100%;
	margin: 10px auto 50px;
	position: relative;
}

#index .linkList {
	width: 906px;
	margin: 0 auto;
}

#index .linkList li {
	margin: 0 3px;
	width: 447px;
	margin: 0 auto;
}

#index .linkList li a {
	padding: 30px 0 29px;
	display: block;
	color: #fff;
	font-size: 20px;
	text-align: center;
	position: relative;
	text-decoration: none;
	background-color: #000;
	font-family: 'Cormorant Infant', 'Shippori Mincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', serif;
	transition: background ease 0.4s;
}

#index .linkList li a:before {
	width: 16px;
	height: 30px;
	margin-top: -15px;
	background: url(../img/common/icon01.png) no-repeat;
	position: absolute;
	top: 50%;
	right: 21px;
	content: "";
}

#index .linkList li a:hover {
	background-color: #3e3a39 ;
}
#index .access .pdfLink{
	margin: 50px auto 80px;
	width: 800px;
}
#index .access .pdfLink a{
	background: #000;
	border: solid 1px #000;
	color: #fff;
}

@media all and (min-width: 0) and (max-width: 767px) {

	/*------------------------------------------------------------
		index
	------------------------------------------------------------*/
	.mainVisual {
		margin-bottom: 32px;
		/*min-height: 0;*/
		/*height: auto;*/
		/*min-height: 316px;*/
		/*background: url(img/index/sp_main_visual_bg.jpg) no-repeat center center;*/
		/*background-size: cover;*/
		height: calc(100vh - 50px);
	}

	.mainVisual .title {
		position: absolute;
		top: 10%;
		left: 0;
		right: 0;
		margin: 0 0;
		z-index: 10;
		width: 100%;
		height: 80%;
	}
	.mainVisual .title img{
		width:75%;
		margin:0 auto 30px;
	}
	.mainVisual .title .txt01{
		margin-bottom: 75px;
		font-size : 14px;
	}
	.mainVisual .title .txt02{
		font-size : 13px;
		margin-bottom: 120px;
	}



	.mainVisual .copy01 {
		font-size: 20px;
		letter-spacing: 0.42em;
		margin-bottom: 20px;
	}

	.mainVisual .copy02 {
		font-size: 12px;
		margin-bottom: 6px;
		letter-spacing: 0.25em;
	}

	.mainVisual .copy03 {
		font-size: 9px;
		letter-spacing: 0.25em;
	}

	#main .content {
		width: auto;
		padding: 0 24px;
	}

	#index .topBox {
		margin-bottom: 50px;
	}

	#index .topBox .phoBox {
		float: none;
		width: 100%;
	}

	#index .topBox .phoBox img {
		width: 100%;
	}

	#index .topBox .txtBox {
		margin-top: 27px;
		width: auto;
		float: none;
	}

	#new_lp_temp h2 {
		margin-bottom: 28px;
		font-size: 10px;
	}

	#index h2 .en {
		margin-bottom: 1px;
		font-size: 22px;
		line-height: 1.15;
	}

	#index h2 .en .sml {
		margin-top: 0px;
		font-size: 11px;
		margin-bottom: 2px;
	}

	#index h3 {
		margin-bottom: 20px;
		font-size: 15px;
		line-height: 1.6;
	}

	#index h3.overflow {
		margin-right: -20px;
	}

	#index p {
		font-size: 11px;
		line-height: 2.25;
	}

	#index .topBox .txtBox h2 {
		margin-bottom: 17px;
		text-align: center;
		margin-left: -30px;
		margin-right: -30px;
	}

	#index .topBox .txtBox h2 .en {
		margin-bottom: 1px;
		letter-spacing: 0.13em;
		line-height: 1.15;
	}

	#index .topBox .txtBox h3 {
		margin-bottom: 15px;
		text-align: center;
		line-height: 1.65;
	}

	#index .topBox .txtBox p {
		line-height: 2.25;
	}

	#index .h2Head {
		margin-bottom: 24px;
		padding-bottom: 6px;
		font-size: 15px;
		letter-spacing: 0.15em;
	}

	#index .photo {
		margin-bottom: 30px;
	}

	#index .photo img {
		width: 100%;
	}

	#index .txtInner {
		margin-bottom: 22px;
		padding-bottom: 52px;
	}

	#index .txtInner .ttlArea {
		width: auto;
		float: none;
	}

	#index .txtInner .ttlArea .dlTxt {
		display: none;
	}

	#index .txtInner .txtArea {
		margin-top: 0px;
		width: auto;
		float: none;
	}

	#index .txtInner .txtArea.extend p {
		margin-right: 0;
	}

	#index .txtInner .txtArea.txtArea03 {
		width: 100%;
	}
	#index .txtInner .txtArea .dlTxt {
		margin-top: 22px;
		display: block;
	}

	#index .txtInner .txtArea .dlTxt dt {
		margin-bottom: 6px;
		font-size: 10px;
	}

	#index .dining .txtInner {
		padding-bottom: 50px;
	}

	#index .dining .txtInner .ttlArea h3 {
		margin-bottom: 20px;
	}

	#index .floor {
		margin-bottom: 50px;
		padding-bottom: 52px;
		border-bottom: 1px solid #c8c8c8;
	}

	#index .floor .txtInner {
		margin-bottom: 0;
		padding-bottom: 33px !important;
	}

	#index .pdfLink {
		padding-top: 40px;
	}

	#index .pdfLink a {
		padding: 9px 0;
		font-size: 12px;
	}

	/*#index .pdfLink a:hover {*/
	/*	background-color: #97a992;*/
	/*}*/

	#index .plan {
		margin-top: -15px;
		padding-top: 15px;
		padding-bottom: 30px;
	}

	#index .plan .txtInner .ttlArea {
		width: auto;
	}

	#index .plan .txtInner .ttlArea h2 {
		margin-bottom: 22px;
	}

	#index .plan .txtInner .rBox {
		margin-top: 35px;
		width: auto;
		float: none;
	}

	#index .plan .txtInner .imgBox .phoBox {
		float: none;
	}

	#index .plan .txtInner .imgBox .phoBox img {
		width: 100%;
	}

	#index .plan .txtInner .imgBox .txtBox {
		padding: 25px;
		width: auto;
		float: none;
		transform: none;
		position: static;
	}

	#index .plan .txtInner .imgBox .txtBox h3 {
		margin-bottom: 10px;
		line-height: 1.33;
		font-size: 16px;
		letter-spacing: 0.05em;
	}

	#index .plan .txtInner .imgBox .txtBox .price {
		margin-bottom: 10px;
		font-size: 13px;
	}

	#index .plan .txtInner .imgBox .txtBox .note {
		margin-bottom: 7px;
		line-height: 1.4;
		font-size: 10px;
	}

	#index .plan .txtInner .imgBox .txtBox p {
		margin-bottom: 8px;
		line-height: 1.6;
	}

	#index .wrap {
		padding: 50px 0;
	}

	#index .cuising .txtInner {
		margin-bottom: 40px;
		padding-bottom: 40px;
	}

	#index .total .txtInner {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	#index .access {
		padding: 40px 0 27px;
		margin: 0 38px;
	}

	#index .access h2 {
		margin-bottom: 20px;
	}

	#index .access .map {
		margin: 0 -38px 28px;
		height: 180px;
	}

	#index .access h3 {
		padding-top: 30px;
		margin-bottom: 25px;
		font-size: 11px;
		width: 100%;
	}

	#index .access h3 .en {
		margin-top: 2px;
		font-size: 19px;
	}

	#index .access .tel {
		margin-bottom: 20px;
		font-size: 11px;
	}

	#index .access .tel .num {
		margin-top: 3px;
		font-size: 23px;
	}

	#index .access .dlTxt {
		margin-bottom: 32px;
	}

	#index .access .dlTxt dt {
		margin-bottom: 5px;
		color: #000;
		font-size: 12px;
	}

	#index .access .dlTxt dd {
		margin-bottom: 21px;
		line-height: 1.55;
		font-size: 11px;
	}

	#index .linkList {
		width: auto;
	}

	#index .linkList li {
		margin: 0 0 8px;
		width: 100%;
		float: none;
	}

	#index .linkList li:last-child {
		margin-bottom: 0;
	}

	#index .linkList li a {
		padding: 19px 0 19px;
		font-size: 15px;
	}

	#index .linkList li a:before {
		width: 10px;
		height: 20px;
		margin-top: -10px;
		background: url(../img/common/icon01.png) no-repeat;
		background-size: 10px 20px;
		right: 15px;
	}

	#index .linkList li a:hover {
		background-color: #000;
	}

	#index .access .miniMapBox {
		width: 100%;
		margin: 0 auto 10px;
	}

	#index .access .miniMapBox img {
		width: 100%;
		margin: 0 auto 20px;
	}
	#index .access .pdfLink{
		margin-bottom: 40px;
		width: 100%;
		margin-top: 0;
	}
}

#index .access .miniMapBox .mapContent .miniMapAddress {
	margin-bottom: 20px
}
#index .access .miniMapBox .mapContent .miniMapAddress dt {
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 15px;
}
#index .access .miniMapBox .mapContent .miniMap img {
	width: 100%;
}
@media all and (min-width: 768px) {
	#index .access .miniMapBox .mapContent {
		width: 800px;
		margin: 0 auto 20px;
	}
	#index .access .miniMapBox .mapContent .miniMapAddress {
		float: left;
		width: 40%;
		text-align: left;
	}
	#index .access .miniMapBox .mapContent .miniMap {
		margin-left: 40%;
	}
}

/*
Pure CSS modal box
Author: Jorge Chavez
Github: http://github.com/jorgechavz
*/


.modal .checkbox{
	display: none;
}

/* Gray background */
.modal .modal-overlay{
	opacity: 0;
	transition: all 0.3s ease;
	width: 50%;
	position: absolute;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -100;
	transform: scale(1);
	display: none;
	background-color: rgba(0,0,0,0.7);
}

/* Box */
.modal .modal-wrap{
	/*background-color: #ddd;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);*/
	padding: 50px;
	/*width: 50%;*/
	width: 1200px;
	margin:20px auto;
	/*align-self: flex-start;
    border-radius: 2px;*/
	border: solid 1px #7d7d7d;
	transition: all 0.5s ease;

	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
}
.modal .modal-wrap.small{
	width: 30%;
}
.modal .modal-wrap.full{
	width: 100%;
	height: 100%;
}

.modal .modal-wrap.a-center {
	align-self: center;
}
.modal .modal-wrap.from-left {
	transform: translateX(-100%);
}
.modal .modal-wrap.from-right {
	transform: translateX(100%);
}
.modal .modal-wrap.from-top {
	transform: translateY(-100%);
}
.modal .modal-wrap.from-bottom {
	transform: translateY(100%);
}


/* Close button
.modal .modal-overlay .close{
  position: absolute;
  right: 20px;
  top: 0;
  font-size: 30px;
  width: 30px;
  height: 30px;
  color: #282c34;
}
*/

.modal .modal-overlay .close:hover{
	cursor: pointer;
	color: #4b5361;
}


.modal .o-close {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -100;
}

.modal input:checked ~ .o-close {
	z-index: 9998;
}
.modal input:checked ~ .modal-overlay{
	opacity: 1;
	display: block;
	width: 100%;

	transform: scale(1);
	/*opacity:1;*/
	z-index: 9997;
	overflow: auto;
	/*  display: flex;*/
	animation-duration: 0.5s;
	animation-name: fade-in;
	-moz-animation-duration: 0.5s;
	-moz-animation-name: fade-in;
	-webkit-animation-duration: 0.5s;
	-webkit-animation-name: fade-in;
}
.modal input:checked ~ .modal-overlay .modal-wrap {
	transform: translateY(-50%);
	z-index: 9999;
	box-sizing: border-box;
}

/* Responsive Design */
/* Tablet size */
@media (max-width: 800px){
	.modal .modal-wrap {
		width: 80%;
		padding: 40px 20px;
	}
}

/* Phone size */
@media (max-width: 500px){
	.modal .modal-wrap {
		width: 90%;
	}
}

/* Fadein from display:none */
@keyframes fade-in {
	0% {
		display: none;
		opacity: 0;
	}
	1% {
		display: block;
		opacity: 0;
	}
	100% {
		display: block;
		opacity: 1;
	}
}

@-moz-keyframes fade-in {
	0% {
		display: none;
		opacity: 0;
	}
	1% {
		display: block;
		opacity: 0;
	}
	100% {
		display: block;
		opacity: 1;
	}
}

@-webkit-keyframes fade-in {
	0% {
		display: none;
		opacity: 0;
	}
	1% {
		display: block;
		opacity: 0;
	}
	100% {
		display: block;
		opacity: 1;
	}
}


/* MODAL */
.modal  .modal-wrap {
	border: none;
	position: relative;
	text-align: center;
}
.modal label.close {
	float: right;
	display: inline-block;
	margin-bottom: 15px;
}
.modal input:checked ~ .modal-overlay {
	background-color: rgba(0,0,0,0.7);
}

.modal .row > label {
	display: block;
	position: absolute;
	transform: rotate(45deg);
	border: solid 5px #ffffff;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.modal .row > label:first-child {
	border-right: none;
	border-top: none;
}
.modal .row > label:last-child {
	border-left: none;
	border-bottom: none;
}

@media screen and (min-width:768px) {
	.modal .modal-wrap {
		margin-top: 60px;
	}

	.modal label.close {
		width: 40px;
	}

	.modal .row > label {
		width: 45px;
		height: 45px;
	}
	.modal .row > label:first-child {
		left: -20px;
	}
	.modal .row > label:last-child {
		right: -20px;
	}
	.modal .row > picture img {
		margin-left: auto;
		margin-right: auto;
		max-height: 700px;
	}
}
@media screen and (max-width:767px) {
	.modal label.close {
		width: 30px;
	}
	.modal p {
		margin: 10px 0;
	}

	.modal .row > label {
		width: 18px;
		height: 18px;
	}
	.modal .row > label:first-child {
		left: -5px;
	}
	.modal .row > label:last-child {
		right: -5px;
	}
}



/* MOVIE */
#movie .box {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#movie .play {
	position: relative;
	display: block;
	/*border: solid 2px #ffffff;*/
	cursor: pointer;
	transition: opacity 0.5s ease;
}
/*#movie .play:after {*/
/*	content: "";*/
/*	position: absolute;*/
/*	margin: auto;*/
/*	top: 0;*/
/*	bottom: 0;*/
/*	left: 0;*/
/*	right: 0;*/
/*	background: url(../img/play.svg) no-repeat;*/
/*	background-size: contain;*/
/*	background-position: center center;*/
/*}*/
#movie .play:hover {
	opacity: 0.75;
}

#movie .modal .modal-wrap iframe {
	display: block;
	width: 100%;
}

@media screen and (min-width:768px) {
	#movie .box {
		/*background-image: url(../img/mov_back.jpg);*/
	}
	/*#movie .play {*/
	/*	width: 745px;*/
	/*	margin: 100px auto;*/
	/*}*/
	/*#movie .play:after {*/
	/*	width: 128px;*/
	/*	height: 128px;*/
	/*}*/

	#movie .modal .modal-wrap iframe {
		height: 620px;
	}
}
@media screen and (max-width:767px) {
	#movie .box {
		/*background-image: url(../img/mov_back_sp.jpg);*/
	}
	/*#movie .play {*/
	/*	margin: 40px auto;*/
	/*}*/
	/*#movie .play:after {*/
	/*	width: 48px;*/
	/*	height: 48px;*/
	/*}*/

	#movie .modal .modal-wrap iframe {
		height: 42.5vw;
	}
}

/*@media screen and (max-width:767px) {*/
	#index #about .topBox .txtBox h3 {
		writing-mode: vertical-rl;
		text-align: initial;
		display: inline-block;
		margin-bottom: 30px;
		letter-spacing: 0.350em;
	}
	#index #about .topBox .txtBox  {
		text-align: center;
	}
	#index #about .topBox .txtBox p {
		text-align: left;
	}
/*}*/


.p-modal {
	position: fixed;
	display: none;
	background: rgba(0, 0, 0, 0.75);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 150;
	overflow: scroll;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}
.p-modal__inner {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	/*padding: 11.72vw 0;*/
	width: 70.32vw;
	margin: 0 auto;
	top: 50%;
	transform: translateY(-50%);
	padding: 150px 0;
}
.p-modal__inner img{
	display: block;
	margin: 0 auto;
	max-width: 100%;
}
@media all and (min-width: 0) and (max-width: 767px) {
	.p-modal__inner {
		padding: 20vw 6.67vw 13.34vw;
		width: auto;
	}
}
.p-modal__close {
	position: absolute;
	display: block;

	width: 26px;
	height: 26px;
	overflow: hidden;
	transition: all 0.4s ease;
	top: 40px;
	right: 40px;
}
@media only screen and (min-width: 768px) {
	.p-modal__close {
		cursor: pointer;
		transition: opacity 0.4s ease;
	}
}
@media only screen and (min-width: 768px) {
	.p-modal__close:hover {
		opacity: 0.6;
	}
}
@media all and (min-width: 0) and (max-width: 767px) {
	.p-modal__close {
		top: 2.67vw;
		right: 2.67vw;
		width: 3.47vw;
		height: 3.47vw;
	}
}
.p-modal__close:before, .p-modal__close:after {
	content: "";
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	margin-top: -1px;
	height: 1px;
	background: #fff;
	transition: all 0.4s ease;
}
@media all and (min-width: 0) and (max-width: 767px) {
	.p-modal__close:before, .p-modal__close:after {
		height: 0.4vw;
	}
}
.p-modal__close:before {
	transform: rotate(45deg);
}
.p-modal__close:after {
	transform: rotate(-45deg);
}



.p-fair {
	position: relative;
	text-align: center;
	z-index: 20;
	background: #CBD4C8;
	padding: 110px 0 110px;
	margin-bottom: 110px;
}
@media only screen and (max-width: 920px) {
	.p-fair {
		padding: 9.34vw 0 9.34vw;
		margin-bottom: 9.34vw;
	}
}

.p-fair__img {
	display: block;
	position: relative;
	overflow: hidden;
	width: 1090px;
	height: 532px;
	border-radius: calc(532px / 2) 0 0 calc(532px / 2);
	background: url(../img/index/img_fair01.jpg) no-repeat center/contain;
	margin-bottom: 80px;
}
@media only screen and (max-width: 920px) {
	.p-fair__img {
		width: 64.54vw;
		height: 51.2vw;
		background: url(../img/index/img_fair01@sp.jpg) no-repeat center/contain;
		border-radius: calc(51.2vw / 2) 0 0 calc(51.2vw / 2);
		margin-bottom: 6.67vw;
		margin-left: 28.67vw;
	}
}
@media only screen and (max-width: 920px) {
	.p-fair__title {
		text-align: left;
		position: absolute;
		top: 35%;
		margin: auto 0;
		transform: translateY(-50%);
	}
}
.p-fair__title .main {
	font-size: 60px;
	display: block;
	line-height: 0.9;
}
@media only screen and (max-width: 920px) {
	.p-fair__title .main {
		font-size: 18vw;
	}
}
.p-fair__title .sub {
	font-size: 25px;
	display: block;
}
@media only screen and (max-width: 920px) {
	.p-fair__title .sub {
		font-size: 7.34vw;
	}
}
.p-fair__lead p {
	letter-spacing: 0.25em;
	line-height: 2;
	margin-bottom: 40px;
	font-size: 21px;
}
@media only screen and (max-width: 920px) {
	.p-fair__lead p {
		letter-spacing: 0.2em;
		line-height: 2;
		font-size: 4.41vw;
		/*text-align: left;*/
	}
}
.p-fair__desc p {
	line-height: 2;
	letter-spacing: 0.05em;
	font-size: 14px;
    padding-bottom: 30px;
}
@media only screen and (max-width: 920px) {
	.p-fair__desc p {
		line-height: 2;
		letter-spacing: 0.05em;
		font-size: 2.94vw;
		/*text-align: left;*/
	}
}
.p-fair__desc p:not(:last-child) {
	margin-bottom: 2em;
}
.p-fair__date {
	margin: 52px auto;
	width: 420px;
}
@media only screen and (max-width: 920px) {
	.p-fair__date {
		margin: 5.34vw auto 1.34vw;
		width: 100%;
	}
}
.p-fair__date dl dt {
	letter-spacing: 0.2em;
	line-height: 2.8;
	margin-bottom: 16px;
	border-bottom: solid 1px #fff;
	font-size: 14px;
}
@media only screen and (max-width: 920px) {
	.p-fair__date dl dt {
		line-height: 2.1;
		margin-bottom: 2.14vw;
		border-bottom: solid 0.27vw #fff;
		font-size: 3.74vw;
	}
}
.p-fair__date dl dd {
	padding: 0;
	margin: 0;
	letter-spacing: 0.15em;
	font-size: 22px;
}
@media only screen and (max-width: 920px) {
	.p-fair__date dl dd {
		font-size: 4.8vw;
	}
}

.p-flyer {
	text-align: center;
	z-index: 20;
}
.p-flyer__body {
	overflow: hidden;
	position: relative;
	color: #fff;
	background: url(../img/index/bg_popup.jpg) no-repeat center/cover;
	margin: 0 auto;
	width: 324px;
	padding: 20px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__body {
		/*width: 86.14vw;*/
		width: 100%;
	}
}
@media only screen and (max-width: 920px) {
	.p-flyer__body {
		/*padding: 6vw;*/
	}
}
.p-flyer__close {
	right: 12px;
	top: 12px;
	z-index: 100;
}
@media only screen and (max-width: 920px) {
	.p-flyer__close {
		right: 2.67vw;
		top: 2.67vw;
	}
}
.p-flyer__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	z-index: 0;
	background: #CBD4C8;
	border-radius: 50%;
	color: #000;
	text-align: center;
	width: 96px;
	height: 96px;
	right: -12px;
	top: 104px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__badge {
		width: 25.34vw;
		height: 25.34vw;
		right: -2.93vw;
		top: 28.8vw;
	}
}
.p-flyer__badge span {
	position: relative;
	display: block;
	z-index: 1;
	letter-spacing: 0.25em;
	line-height: 1.2;
	font-size: 20px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__badge span {
		font-size: 5.07vw;
	}
}
.p-flyer__idx {
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__idx {
		padding: 2.67vw;
	}
}
.p-flyer__idx span {
	position: relative;
	display: block;
	z-index: 1;
	letter-spacing: 0.25em;
	line-height: 1.2;
	font-size: 18px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__idx span {
		font-size: 4.8vw;
	}
}
.p-flyer__idx::before {
	content: "";
	display: block;
	position: absolute;
	background: #CBD4C8;
	width: 300%;
	height: 200%;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	left: 0;
	z-index: 0;
	bottom: -55px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__idx::before {
		bottom: -13.33vw;
	}
}
.p-flyer__title {
	text-align: center;
	position: relative;
	z-index: 5;
	margin: 72px auto 0;
}
@media only screen and (max-width: 920px) {
	.p-flyer__title {
		margin: 17.61vw auto 0;
	}
}
.p-flyer__title span {
	display: block;
}
.p-flyer__title .main {
	font-family: "Cormorant Infant", serif;
	letter-spacing: 0.05em;
	line-height: 0.72;
	font-weight: 400;
	font-size: 72px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__title .main {
		font-size: 19.47vw;
	}
}
.p-flyer__title .sub {
	font-family: "Explora", serif;
	font-weight: 300;
	font-size: 50px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__title .sub {
		font-size: 13.34vw;
	}
}
.p-flyer__lead {
	position: relative;
	z-index: 5;
}
.p-flyer__lead p {
	letter-spacing: 0.0128em;
	line-height: 1.2;
	font-size: 26px;
	margin-bottom: 6px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__lead p {
		font-size: 7.2vw;
		margin-bottom: 1.6vw;
	}
}
.p-flyer__date {
	width: 100%;
	margin-bottom: 6px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__date {
		margin-bottom: 1.6vw;
	}
}
.p-flyer__date dl dt {
	letter-spacing: 0.2em;
	line-height: 2.8;
	margin-bottom: 16px;
	border-bottom: solid 1px #fff;
	font-size: 12px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__date dl dt {
		line-height: 2.1;
		margin-bottom: 2.14vw;
		border-bottom: solid 0.27vw #fff;
		font-size: 3.2vw;
	}
}
.p-flyer__date dl dd {
	padding: 0;
	margin: 0;
	letter-spacing: 0.15em;
	line-height: 1.2;
}
.p-flyer__date dl dd span {
	display: block;
}
.p-flyer__date dl dd span.year {
	font-size: 16px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__date dl dd span.year {
		font-size: 4.27vw;
	}
}
.p-flyer__date dl dd span.date {
	font-size: 32px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__date dl dd span.date {
		font-size: 8.54vw;
	}
}
.p-flyer__date dl dd span.date small {
	font-size: 0.5em;
}
.p-flyer__reserve {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: 16px;
	gap: 16px;
}
@media only screen and (max-width: 920px) {
	.p-flyer__reserve {
		margin-top: 2.14vw;
	}
}
@media only screen and (max-width: 920px) {
	.p-flyer__reserve {
		gap: 4.27vw;
	}
}
.p-flyer__reserveBtn {
	width: 100%;
	height: 45px;
	color: #ffffff;
	background-color: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media only screen and (max-width: 920px) {
	.p-flyer__reserveBtn {
		height: 12vw;
	}
}

/* 背景設定 */
#main{
	background:url("../img/index/bg_mountain01.png") no-repeat center top;
	background-size: contain;
	padding-top:calc(400/1280 * 100vw);
	overflow: hidden;
}

@media only screen and (max-width: 768px) {
	#main{
		background-size: 135% auto;
	}
}

#main .content{
	width: initial;
}

.p-fair{
	/* z-index:-1; */
}
.p-fair .content{
	position: relative;
	width: 900px !important;
	margin: 0 auto;
}
@media only screen and (max-width: 768px) {
	.p-fair .content{
		
		width: 100% !important;
		z-index: 10;
		box-sizing: border-box;
	}
}

#about .about,
#chapel .chapel,
#dining .dining,
#cuisine .cuising,
#lounge .floor,
#garden .garden,
#privateparty .privateparty,
#dress .dress,
#plan .plan{
	position: relative;
	width: 900px;
	margin: 0 auto;
	z-index:1;
}

@media only screen and (max-width: 768px) {
	#about .about,
	#chapel .chapel,
	#dining .dining,
	#cuisine .cuising,
	#lounge .floor,
	#garden .garden,
	#privateparty .privateparty,
	#dress .dress,
	#plan .plan{
		width: 100%;
	}
}

#chapel{
	position: relative;
}
#chapel:before{
	position: absolute;
	content: "";
	width:420px;
	height:816px;
	top:-480px;
	right:0;
	background:url("../img/index/bg_tree01.svg") no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	#chapel:before{
		display: none;
	}
}
#chapel:after{
	position: absolute;
	content: "";
	width:372px;
	height:720px;
	top:480px;
	left:-35px;
	background:url("../img/index/bg_tree02.svg") no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	#chapel:after{
		top: 120px;
		left:-40px;
		background-size: 50% auto;
	}
}
@media only screen and (max-width: 768px) {
	#dining{
		position: relative;
	}
	#dining:before{
		position: absolute;
		content: "";
		width:420px;
		height:816px;
		top: 210px;
		right: -28%;
		background:url("../img/index/bg_tree01.svg") no-repeat;
		background-size: 50% auto;
		background-position: top right;
	}
}


#cuisine{
	position: relative;
}
#cuisine:before{
	position: absolute;
	content: "";
	width:420px;
	height:816px;
	top:270px;
	right:0;
	background:url("../img/index/bg_tree01.svg") no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	#cuisine:before{
		background:url("../img/index/bg_tree02.svg") no-repeat;
		top: 60%;
		left:-40px;
		right:initial;
		background-size: 50% auto;
	}
}
#dress{
	position: relative;
	padding-bottom: 100px;
}
#dress:before{
	position: absolute;
	content: "";
	width:372px;
	height:720px;
	top:-470px;
	left:-35px;
	background:url("../img/index/bg_tree02.svg") no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	#dress:before{
		width:420px;
		height:816px;
		background:url("../img/index/bg_tree01.svg") no-repeat;
		top: 10%;
		right: -28%;
		left:initial;
		background-size: 50% auto;
		background-position: top right;
	}
}
#dress:after{
	position: absolute;
	content: "";
	width:100vw;
	height:calc(508/1280 * 100vw);
	bottom:-200px;
	left:0;
	background:url("../img/index/bg_mountain02.png") no-repeat center top;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	#dress:after{
		bottom: 10px;
    left: -7%;

	}
	#dress .txtInner{
		border-bottom:none;
	}
}
.p-fair{
	position: relative;
}
.p-fair:before{
	position: absolute;
	content: "";
	width:388px;
	height:588px;
	top:280px;
	left:0;
	background:url("../img/index/bg_tree03.svg") no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	.p-fair:before{
		left: -10%;
		top: 43%;
		background-size: 50% auto;
	}
}
.p-fair:after{
	position: absolute;
	content: "";
	width:386px;
	height:651px;
	top:700px;
	right:0;
	background:url("../img/index/bg_tree04.svg") no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 768px) {
	.p-fair:after{
		right: -7%;
		top: 92%;
		background-position: top right;
		background-size: 50% auto;
	}
}

/* #index .h2Head{
	position: relative;
	border: solid;
}
@media all and (min-width: 1280px) {
	#index .h2Head:after{
		position: absolute;
		content: "";
		width:420px;
		height:816px;
		top:-408px;
		right:calc(-210 / 1280 * 100vw);
		right:-420px;
		border:solid;
		background:url("./img/index/bg_tree01.svg") no-repeat;
		background-size: cover;
	}
} */

.btnMoreInfo{
	margin-top: 40px;
}
.btnMoreInfo a{
	position: relative;
	display: block;
	width:100%;
	max-width:390px;
	padding:20px;
	border:solid 1px #000;
	text-align: center;
	box-sizing: border-box;
	transition: all 0.3s ease;
}
.btnMoreInfo a:after{
	position: absolute;
	content: "";
	width:12px;
	height:12px;
	right:20px;
	top:42%;
	border-top:solid 1px #000;
	border-right:solid 1px #000;
	transform: rotate(45deg);
}
.btnMoreInfo a span{
	font-size: 14px;
	letter-spacing: 0.15em;
	margin-right:-0.15em;
}
.btnMoreInfo a:hover{
	text-decoration: none;
	background:rgba(255,255,255,.4);
	transition: all 0.3s ease;
}
/* .btnMoreInfo.white{
	margin-top: 27px;
} */
.btnMoreInfo.white a{
	border:solid 1px #FFF;
}
.btnMoreInfo.white a:after{
	border-top:solid 1px #FFF;
	border-right:solid 1px #FFF;
}
.btnMoreInfo.white a span{
	color:#FFF;
}

/* RESERVATIONボタン */

.c-reserve {
	position: relative;
	display: block;
  margin: 2.1875rem auto;
  text-align: center;
  position: relative;
  z-index: 10;
  width: 40.3125rem;
}
@media only screen and (max-width: 920px) {
  .c-reserve {
    margin: 7.82vw auto;
    padding: 0;
    width: 100%;
  }
}
.c-reserve__btn {
	position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  letter-spacing: 0.068em;
  height: 68px;
  border: 1px solid #000;
  color: #FFF;
  background: #000;
  position: relative;
  cursor: pointer;
  transition: all 0.4s ease;
	z-index: 10;
}
@media only screen and (max-width: 920px) {
  .c-reserve__btn {
    border: 0.27vw solid #000;
    height: 16vw;
    width: 100%;
  }
}
.c-reserve__btnEn {
  font-family: "Bellefair", serif;
  opacity: 1;
  transition: opacity 0.4s ease;
  margin-top: -0.05em;
  letter-spacing: 0.25em;
  font-weight: 500;
  font-size: 18px;
}
@media only screen and (max-width: 920px) {
  .c-reserve__btnEn {
    font-size: 3.74vw;
  }
}
.c-reserve__btnJa {
  font-family: "Noto Serif JP", serif;
  position: relative;
  display: block;
  letter-spacing: 0.25em;
  font-size: 12px;
  margin-top: 0.3125em;
}
@media only screen and (max-width: 920px) {
  .c-reserve__btnJa {
    margin-top: 0.5em;
    font-size: 2.94vw;
  }
}
.c-reserve__btn::after {
  content: "";
  display: block;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1.1rem;
  height: 1.1rem;
  background: url(../img/common/icn_blankWhite.svg) no-repeat center/contain;
}
@media only screen and (max-width: 920px) {
  .c-reserve__btn::after {
    width: 4.8vw;
    height: 4.8vw;
    right: 3.2vw;
  }
}
.c-reserve__btn:hover {
  color: #000;
  background: #FFF;
	cursor: pointer;
	transition: all 0.4s ease;
	text-decoration: none;
}
.c-reserve__btn:hover::after {
  background-image: url(../img/common/icn_blankBlack.svg);
}

#gHeader .c-reserve{
	display: none;
}
@media only screen and (max-width: 920px) {
	#gHeader .c-reserve {
		margin:0 20px;
		width:auto;
		box-sizing: border-box;
	}
}
