@charset "utf-8";

/*
----------------------------------------
pgae
----------------------------------------
*/

.clearfix::after {
	content: "";
  display: block;
  clear: both;
}

.page-ttl .pic {
	width: 100%;
	height: 200px;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
}

.page-ttl h1.en {
	font-size: 2.4rem;
	line-height: 1.2;
}

.page-ttl h1.en span {
	font-size: 1.6rem;
}

.page-link ul {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
}

.page-link li {
	font-size: 1.1rem;
	padding: 10px 15px;
}

.page-link a {
	font-family: 'GFS Didot', serif;
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
}

.page-link a:after {
	content: '';
	width: 0;
	height: 3px;
	background: #d82b4c;
	position: absolute;
	bottom: 0;
	left: 50%;
	transition: all .4s;
}

.page-link a:hover:after {
	width: 100%;
	left: 0;
}

.gallery {
	margin: 30px 0;
}

.gallery h3 {
	font-family: 'Cinzel', serif;
	font-size: 2rem;
	margin-bottom: 10px;
}

.gallery .img-list {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 0 5px;
}

.gallery .img-list figure {
	width: 50%;
	padding: 0 5px 10px 5px;
	box-sizing: border-box;
	line-height: .5;
	text-align: center;
	transition: all .2s;
}

.gallery .img-list.s-size figure {
	width: 33.3333%;
}

.gallery .img-list.l-size figure {
	width: 50%;
}

.layout-btn ul {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	justify-content: center;
	align-items: center;
	margin: 5px 0;
}

.layout-btn li {
	padding: 0 5px;
}

.layout-btn a {
	display: inline-block;
	padding: 10px;
}

.layout-btn img {
	width: 18px;
	height: auto;
}

.red-price {
  color: #d82b4c;
}



/*
----------------------------------------
information
----------------------------------------
*/

#information .page-ttl .pic {
	background: url( ../img/information/information-ttl.png ) center center no-repeat;
	background-size: cover;
	position: relative;
	margin-bottom: 5rem;
}

#information .page-ttl .pic h1 {
	position: absolute;
	bottom: -4rem;
	left: 0;
	width: 100%;
	font-size: 1.6rem;
	text-anchor: center;
	color: #000;
}

#information .page-ttl .pic h1 span {
	font-family: 'Dancing Script', cursive;
	font-size: 4.5rem;
	color: #e5cf00;
}

#information .page-link {
	padding-top: 5px;
	border-top: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
}

.greeting-box {
	padding: 20px 15px;
}

.greeting-box h2 {
	font-size: 1.6rem;
	margin-bottom: 15px;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}

.page .concept-box {
	margin-bottom: 60px;
}

.page .concept-box .ttl {
	padding: 10px 15px 30px 15px;
	margin-bottom: 30px;
	background: #e9e8e4 url( ../img/common/illust-01.png ) center center no-repeat;
	background-size: 260px;
	font-size: 1rem;
}

.concept-list .sec {
	text-align: left;
	position: relative;
	padding-bottom: 2rem;
	margin-bottom: 3rem;
}

.concept-list .sec-01,
.concept-list .sec-03 {
	padding-left: 20px;
}

.concept-list .sec-02 {
	padding-right: 20px;
	text-align: right;
}

.concept-list .sec h3 {
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-size: 2rem;
	line-height: 1.1;
	margin-bottom: 15px;
}

.concept-list .sec h3 .en {
	font-family: 'Cinzel', serif;
}

.concept-list .sec h3 .jp {
	display: inline-block;
	font-size: 1.2rem;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	border-bottom: solid 1px #000;
	padding-bottom: 5px;
}

.concept-list .sec .txt {
	position: relative;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	height: 200px;
}

.concept-list .sec .txt .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

.concept-list .btn a {
	display: inline-block;
	padding: 0 2rem;
	height: 4rem;
	line-height: 4rem;
	background: #eee;
	font-family: 'GFS Didot', serif;
	position: absolute;
	left: -20px;
	bottom: -20px;
	transition: all .2s;
	z-index: 9999;
}

.concept-list .btn a:hover,
.concept-list .btn.active a {
	background: #ccc;
}

.concept-list .sec-02 .btn a {
	left: auto;
	right: -20px;
}

.concept-list .sec .txt dl {
	width: 100%;
	height: 100%;
	background: rgba( 0,0,0,.7 );
	color: #fff;
	padding: 30px 20px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	transition: all .2s;
}

.concept-list .sec .txt .btn.active + dl {
	opacity: 1;
	visibility: visible;
}

.concept-list .sec .txt dt {
	font-size: 1.4rem;
	text-align: center;
	padding-bottom: 12px;
	margin-bottom: 18px;
	position: relative;
}

.concept-list .sec .txt dt:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}

.concept-list .sec .txt dd {
	text-align: left;
}

/*
.concept-list .btn span:after {
	font-family: 'FontAwesome';
	content: '\f061';
	font-size: .8rem;
	margin-left: 5px;
}
*/

#information .flow-list .sec {
	margin: 20px;
}

#information .flow-list .ttl {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}

#information .flow-list .wrap {
	position: relative;
	width: 100%;
	padding: 40px 15px 45px 15px;
	box-sizing: border-box;
	color: #fff;
	font-family: 'Cinzel', serif;
	font-size: 1.4rem;
}

#information .flow-list .wrap .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

#information .flow-list .wrap p span {
	font-size: 2rem;
}

#information .flow-list .wrap .icon {
	max-height: 30px;
	width: auto;
}

#information .flow-list .txt {
	padding: 15px 0 30px 0;
	background: url( ../img/information/arrow.png ) center bottom no-repeat;
	background-size: 20px;
}

#information .flow-list .flow-06 .txt {
	background: none;
}

#information .flow-list .txt h3 {
	display: inline-block;
	border-bottom: solid 1px #000;
	padding-bottom: 2px;
	margin-bottom: 15px;
	font-size: 1.6rem;
}

#information .flow-list .txt p {
	text-align: left;
}

#information .faq-box {
	margin-bottom: 0;
}

#information .faq-box .sec:nth-of-type(odd) {
	background: #fafafa;
}

#information .faq-box h3 {
	border-bottom: solid 1px #ccc;
	margin: 0;
	padding: 20px 10px;
}

#information .faq-box h3 span {
	font-size: 1.8rem;
}

#information .faq-box dl.faq {
	margin-bottom: 0;
}

#information .faq-box .btn-02 {
	margin-top: 0;
	text-align: right;
}


/*
----------------------------------------
about
----------------------------------------
*/

#about .page-ttl .pic {
	background: url( ../img/about/about-ttl.jpg ) center center no-repeat;
	background-size: cover;
	background-size: cover;
	position: relative;
	margin-bottom: 5.5rem;
}

#about .page-ttl .pic h1 {
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: solid 1px #000;
	font-size: 2rem;
	color: #000;
	position: absolute;
	bottom: -4.5rem;
	left: 50%;
	transform: translateX( -50% );
}

#about .page-link span {
	display: none;
}

#about .about-box {
	padding: 30px 15px;
	margin-bottom: 30px;
	background: #e9e8e4 url( ../img/common/illust-01.png ) center center no-repeat;
	background-size: 260px;
}

#about .about-box figure img {
	width: 100px;
	height: auto;
}

#about .about-box h2 {
	font-family: 'Cinzel', serif;
	font-size: 1.8rem;
	margin: 15px;
}

#about .company-box .ttl,
#about .recruit-box .ttl {
	background: #fafafa;
	padding: 10px 10px 30px 10px;
}

#map-info {
	width: 100%;
	height: 200px;
}

.mov {
	padding: 20px 0;
}

#about .table-01 th {
	width: 20%;
}

#about .table-01 thead th,
#about .table-01 thead td {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}

#about .creators-box h2 {
	font-size: 2rem;
	margin-bottom: 20px;
}

#about .creators-box .read {
	margin-bottom: 30px;
}

#about .creators-box .read figure {
	margin-bottom: 15px;
}

#about .creators-box .read figure img {
	max-width: 100px;
}

#about .creators-box .read .en {
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
}

#about .creators-box .read .en:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #895d24;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}

#about .creators-box .creators {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

#about .creators-box .creator {
	width: 50%;
}

#about .recruit-box .table-01 {
	border-bottom: solid 1px #ccc;
}

#about .recruit-box .attention {
	margin-bottom: 30px;
}

#about .recruit-box .attention strong {
	display: inline-block;
	border-bottom: solid 1px #000;
	font-size: 1.4rem;
	margin-bottom: 10px;
}

#about .entry-form-box {
	padding-top: 30px;
}

/*
----------------------------------------
option
----------------------------------------
*/

.sec-ttl {
	width: 100%;
	height: 200px;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#option .sec-ttl {
	background: #e9e8e4 url( ../img/common/illust-02.png ) center center no-repeat;
	background-size: 144px;
}

#option .sec-ttl h1 {
	font-family: 'Dancing Script', cursive;
	font-size: 2.4rem;
	margin: 20px 0;
}

#option .heading-05 {
	background: #333;
	color: #fff;
	font-size: 1rem;
	height: 80px;
	margin: 0;
	position: relative;
}

#option .heading-07 .style {
	margin-top: 5px;
	font-size: 1.2rem;
}

#option .welcome-box .price-list li,
#option .design-box .price-list li {
	text-align: right;
	padding: 0 10px;
	font-size: 1.2rem;
}

#option .design-box .price-block {
	/* width: 230px; */
}

#option .welcome-box .welcome-list,
#option .design-box .design-list {
	display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

#option .welcome-box .list-01 {
	padding: 0 5px;
	margin: 20px 0 0;
}

#option .welcome-box .list-01 li {
	width: 50%;
	box-sizing: border-box;
	padding: 5px;
}

#option .design-box .design-list-ttl {
	font-family: 'Cinzel', serif;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 10px 30px;
	text-align: center;
}

#option .design-box .design-list-ttl .ttl-small {
	font-size: 1.2rem;
	vertical-align: middle;
	padding: 0 10px;
	display: inline-block;
}

#option .welcome-box .list-02 {
	padding: 0 5px;
	margin: 0 0 50px;
}

#option .design-box .design-list {
	padding: 0 5px;
	margin: 0 0 20px;
}

#option .welcome-box .list-02 li,
#option .design-box .design-list li {
	width: 50%;
	box-sizing: border-box;
	padding: 5px;
}

#option .design-box .design-list li {
	width: 100%;
}

#option .welcome-box .price-block .spprice {
	width: 75px;
    text-align: left;
}

#option .design-box .price-list {
	margin: 0 0 20px;
}

#option .design-box .price-block .spprice {
	width: 200px;
    text-align: left;
}

#option .design-box {
	padding: 0 0 30px;
}

@media screen and (min-width: 1200px) {
	#option .itemset > .read {
		height: 150px;
	}
}
@media screen and (max-width: 1199px) {
	#option .itemset > .read {
		height: 180px;
	}
}
@media screen and (max-width: 750px) {
	#option .itemset > .read {
		height: auto;
	}
}

@media screen and (min-width: 751px) {
	#option .heading-07 {
		background: #f3f3f3;
		color: #333;
		font-size: 1rem;
		height: 60px;
		margin: 0;
		position: relative;
		margin-bottom: 20px;
	}
	#option .welcome-box .price-block {
	    /* width: 120px; */
	}
	#option .design-box .price-block {
		/* width: 240px; */
	}
	#option .welcome-box .list-01 li {
		width: 33.3333%;
		padding: 10px;
	}
	#option .welcome-box .list-02 {
		padding: 0 5px;
		margin: 0 0 120px;
	}

	#option .design-box .design-list {
		padding: 0 5px;
		margin: 0 0 10px;
	}
	#option .welcome-box .list-02 li {
		width: 25%;
		padding: 10px;
	}
	#option .design-box .design-list li {
		width: auto;
		flex: 1;
		padding: 10px;
	}
	#option .welcome-box .price-block .spprice {
	    width: 95px;
	}
	#option .design-box .price-block .spprice {
	    width: 210px;
	}
	#option .design-box .price-block {
	    /* width: 245px; */
	}
	#option .design-box {
		padding: 0 0 120px;
	}
	#hawaii.plan .mainimg .pic:after {
		width: 50%;
	}
	#hawaii .sec-01 .pic .sub {
		color: #e0d05c;
	}

	#hawaii .sec-02 .pic .sub {
		color: #c7add9;
	}
	#hawaii .photoplace h3 {
		font-family: 'Josefin Sans', sans-serif !important;
		font-size: 2rem;
		margin-bottom: 10px;
	}
	#hawaii .photoplace.special-p {
		margin-bottom: 60px;
	}

	#hawaii .photoplace, #guam .photoplace {
		padding-left: 20px;
		width: 1300px;
    margin: auto;
		margin-bottom: 40px;
	}
	#hawaii .photoplace_box_01 {
	  justify-content: space-around;
	}
	#hawaii .photoplace_box_01 p.tugi{
		color: #a2855e;
		align-self: center;
		padding-bottom: 6%;
		font-size: 1.7em;
	}
	#hawaii .photoplace_box_01 p.op03 ,
	#hawaii .photoplace_box_01 p.op06{
		opacity: 0;
	}
	#hawaii .photoplace_box_01 .photoplace_img {
		display: inline-block;
		position: relative;
	}
	#hawaii .photoplace_box_01 .photoplace_img:not(:nth-child(3n)){
		margin-right: 20px;
	}
	#hawaii .photoplace_box_01 p.time{
		position: absolute;
		top: 4%;
		left: 20px;
		padding: 0 5px;
		background-color: rgba(255,255,255,0.7);
	}

	#hawaii .photoplace_box_02 {
		justify-content: space-around;
		width: 840px;
		margin: auto;
	}
	#hawaii .photoplace_box_02 p.tugi{
		color: #a2855e;
		align-self: center;
		padding-bottom: 6%;
		font-size: 1.7em;
	}
	#hawaii .photoplace_box_02 p.op03 ,
	#hawaii .photoplace_box_02 p.op06{
		opacity: 0;
	}
	#hawaii .photoplace_box_02 .photoplace_img {
		display: inline-block;
		position: relative;
	}
	#hawaii .photoplace_box_02 .photoplace_img:nth-child(odd){
		margin-right: 20px;
	}
	#hawaii .photoplace_box_02 p.time{
		position: absolute;
		top: 4%;
		left: 20px;
		padding: 0 5px;
		background-color: rgba(255,255,255,0.7);
	}
	#hawaii p.time_text{
	  border-bottom: solid 1px #aaa;
	  padding: 3px;
	  margin-bottom: 50px;
	}
	#hawaii p.attention{
		text-align: right;
	}

	#hawaii .photoplace > ul > li {
		width: 49%;
		float: left;
		margin-bottom: 30px;
	}

	#hawaii .photoplace > ul > li:nth-child(even) {
		float: right;
	}

	#hawaii .photoplace > ul > li figure {
		position: relative;
		background: #000;
		line-height: .5;
	}

	#hawaii .photoplace > ul > li figure a {
		display: block;
	}

	#hawaii .photoplace > ul > li figure a span.txt {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		height: 80px;
		text-align: center;
		color: #fff;
		line-height: 1.5;
		transition: all .2s;
	}

	#hawaii .photoplace > ul > li figure a span.txt span.en {
		color: #fff;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 3rem;
		font-weight: bold;
		position: relative;
	}

	#hawaii .photoplace > ul > li figure a span.txt span.en:after {
		display: block;
		content: '';
		width: 100%;
		height: 2px;
		width: 0;
		background: #fff;
		position: absolute;
		bottom: -40px;
		left: 50%;
		transition: all .2s;
	}

	#hawaii .photoplace > ul > li figure a span.txt span.jp {
		font-size: 1.5rem;
		font-weight: bold;
		position: relative;
	}

	#hawaii .photoplace > ul > li figure a img {
		width: 100%;
		height: auto;
		opacity: .8;
		transition: all .2s;
	}


	#guam p.time_text{
		border-bottom: solid 1px #aaa;
		padding: 3px;
		margin-bottom: 50px;
	}
	#guam p.attention{
		text-align: right;
	}

	#guam .photoplace > ul > li {
		width: 49%;
		float: left;
		margin-bottom: 30px;
	}

	#guam .photoplace > ul > li:nth-child(even) {
		float: right;
	}

	#guam .photoplace > ul > li figure {
		position: relative;
		background: #000;
		line-height: .5;
	}

	#guam .photoplace > ul > li figure a {
		display: block;
	}

	#guam .photoplace > ul > li figure a span.txt {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		height: 80px;
		text-align: center;
		color: #fff;
		line-height: 1.5;
		transition: all .2s;
	}

	#guam .photoplace > ul > li figure a span.txt span.en {
		color: #fff;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 3rem;
		font-weight: bold;
		position: relative;
	}

	#guam .photoplace > ul > li figure a span.txt span.en:after {
		display: block;
		content: '';
		width: 100%;
		height: 2px;
		width: 0;
		background: #fff;
		position: absolute;
		bottom: -40px;
		left: 50%;
		transition: all .2s;
	}

	#guam .photoplace > ul > li figure a span.txt span.jp {
		font-size: 1.5rem;
		font-weight: bold;
		position: relative;
	}

	#guam .photoplace > ul > li figure a img {
		width: 100%;
		height: auto;
		opacity: .8;
		transition: all .2s;
	}
}

@media screen and ( min-width: 800px ) {
	#hawaii .photoplace > ul > li figure a:hover span.txt span:after {
		width: 100%;
		left: 0;
	}

	#hawaii .photoplace > ul > li figure a:hover img {
		opacity: .4;
	}
}


@media screen and (max-width: 750px) {
	.plan #contents #hawaii .txt .catch {
    font-size: 12px !important;
  }
	#hawaii .photoplace > ul > li {
		width: 100%;
		float: left;
		margin-bottom: 10px;
	}

	#hawaii .photoplace > ul > li:nth-child(even) {
		float: right;
	}

	#hawaii .photoplace > ul > li figure {
		position: relative;
		background: #000;
		line-height: .5;
	}

	#hawaii .photoplace > ul > li figure a {
		display: block;
	}

	#hawaii .photoplace > ul > li figure a span.txt {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		height: 30px;
		text-align: center;
		color: #fff;
		line-height: 1.5;
		transition: all .2s;
	}

	#hawaii .photoplace > ul > li figure a span.txt span.en {
		color: #fff;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 2rem;
		font-weight: bold;
		position: relative;
	}

	#hawaii .photoplace > ul > li figure a span.txt span.en:after {
		display: block;
		content: '';
		width: 100%;
		height: 2px;
		width: 0;
		background: #fff;
		position: absolute;
		bottom: -40px;
		left: 50%;
		transition: all .2s;
	}

	#hawaii .photoplace > ul > li figure a span.txt span.jp {
		font-size: 1.4rem;
		font-weight: bold;
		position: relative;
	}

	#hawaii .photoplace > ul > li figure a img {
		width: 100%;
		height: auto;
		opacity: .8;
		transition: all .2s;
	}
	#guam .photoplace > ul > li {
		width: 100%;
		float: left;
		margin-bottom: 10px;
	}

	#guam .photoplace > ul > li:nth-child(even) {
		float: right;
	}

	#guam .photoplace > ul > li figure {
		position: relative;
		background: #000;
		line-height: .5;
	}

	#guam .photoplace > ul > li figure a {
		display: block;
	}

	#guam .photoplace > ul > li figure a span.txt {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		height: 30px;
		text-align: center;
		color: #fff;
		line-height: 1.5;
		transition: all .2s;
	}

	#guam .photoplace > ul > li figure a span.txt span.en {
		color: #fff;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 2rem;
		font-weight: bold;
		position: relative;
	}

	#guam .photoplace > ul > li figure a span.txt span.en:after {
		display: block;
		content: '';
		width: 100%;
		height: 2px;
		width: 0;
		background: #fff;
		position: absolute;
		bottom: -40px;
		left: 50%;
		transition: all .2s;
	}

	#guam .photoplace > ul > li figure a span.txt span.jp {
		font-size: 1.4rem;
		font-weight: bold;
		position: relative;
	}

	#guam .photoplace > ul > li figure a img {
		width: 100%;
		height: auto;
		opacity: .8;
		transition: all .2s;
	}
	#option .heading-07 {
		background: #f3f3f3;
		color: #333;
		font-size: 1rem;
		height: 62px;
		margin: 0;
		position: relative;
	}
	#hawaii.plan .mainimg .pic:after {
		width: 50%;
	}
	#hawaii .sec-01 .pic .sub {
		color: #e0d05c;
	}

	#hawaii .sec-02 .pic .sub {
		color: #c7add9;
	}
	#hawaii .photoplace h3 {
		font-family: 'Josefin Sans', sans-serif !important;
		font-size: 2rem;
	}
	#hawaii .photoplace, #guam .photoplace{
		margin-bottom: 20px;
		padding: 10px 15px;
	}
	#hawaii .photoplace_box_01 {
	  justify-content: space-around;
	}
	#hawaii .photoplace_box_01 p.tugi{
		color: #a2855e;
		align-self: center;
		padding-bottom: 6%;
		font-size: 1.7em;
	}
	#hawaii .photoplace_box_01 p.op03 ,
	#hawaii .photoplace_box_01 p.op06{
		opacity: 0;
	}
	#hawaii .photoplace_box_01 .photoplace_img {
		display: inline-block;
		position: relative;
	}
	#hawaii .photoplace_box_01 p.time{
		position: absolute;
		top: 4%;
		left: 20px;
		padding: 0 5px;
		background-color: rgba(255,255,255,0.7);
	}

	#hawaii .photoplace_box_02 {
		justify-content: space-around;
	}
	#hawaii .photoplace_box_02 p.tugi{
		color: #a2855e;
		align-self: center;
		padding-bottom: 6%;
		font-size: 1.7em;
	}
	#hawaii .photoplace_box_02 p.op03 ,
	#hawaii .photoplace_box_02 p.op06{
		opacity: 0;
	}
	#hawaii .photoplace_box_02 .photoplace_img {
		display: inline-block;
		position: relative;
	}
	#hawaii .photoplace_box_02 p.time{
		position: absolute;
		top: 4%;
		left: 20px;
		padding: 0 5px;
		background-color: rgba(255,255,255,0.7);
	}
	#hawaii p.time_text{
	  border-bottom: solid 1px #aaa;
	  padding: 3px;
	  margin-bottom: 50px;
	}
	#hawaii p.tyui{
		padding-right: 10px;
		text-align: left;
		margin-bottom: 70px;
	}
}

/* heading-07 */

.heading-07 span {
	display: inline-block;
	font-family: 'Cinzel', serif;
	font-size: 2rem;
	margin-bottom: 2px;
}

#option .heading-05 span {
	font-size: 1.6rem;
	margin-top: 18px;
}

#option .heading-07 span {
	font-size: 1.6rem;
}

#option .price-icon:before {
	content: '';
	width: 80px;
	height: 80px;
	background: url( ../img/common/price-icon.png ) left top no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
}

#option .campaign-icon:before {
	content: '';
	width: 80px;
	height: 80px;
	background: url( ../img/common/campaign-icon.png ) left top no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
}

#option .photo-box .sec {
	padding-bottom: 30px;
}

#option .read {
	padding: 15px 10px;
	text-align: left;
}

#option .item-list {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	padding: 5px;
	margin-bottom: 15px;
}

#option .item-list .item .txt {
	line-height: 1.5;
}
#option .item-list .item .txt li:not(:first-child) {
	margin-top: 15px;
}

@media screen and (max-width: 750px) {
	#option .item-list {
		padding: 5px 0;
	}
	#option .item-list .item {
		width: 100%;
		padding: 20px;
		box-sizing: border-box;
		font-size: 1.1rem;
		margin-bottom: 20px;
		margin: auto;
		padding-bottom: 0;
	}
	#option .item-list .item .pic img {
		width: 100%;
	}
	#option .item-list .item .txt {
		margin-top: 15px;
	}
	.sp-mb30 {
		margin: 30px;
	}

	#location .cat-nav > li {
		width: 100%;
	}

	#location .cat-nav > li a {
		margin-bottom: 0;
		width: 100%;
		box-sizing: border-box;
	}

}

@media screen and (min-width: 751px) {
	#option .item-list .item {
		padding: 5px;
		box-sizing: border-box;
		font-size: 1rem;
		margin-bottom: 20px;
	}
	#world .photoplace .tagline {
		margin: 10px 0 40px;
	}
}

#option .item-list .item .heading-06 {
	margin-bottom: 10px;
}

#option .item-list .item .heading-06 span.small{
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 10px;
	color: #777;
}

/*#option .item-list .item {
	width: 100%;
	display: table;
	border-collapse: separate;
	border-spacing: 10px 5px;
}

#option .item-list .item figure {
	display: table-cell;
	width: 40%;
}

#option .item-list .item .txt {
	display: table-cell;
	vertical-align: middle;
	font-size: 1rem;
}*/

.price {
	font-family: 'GFS Didot', serif;
	color: #d82b4c;
}

.price.normal {
	color: #000;
}

.price del {
	color: #000;
	text-decoration: line-through;
}


#option .sec-02 .read {
	text-align: center;
}

dl.price-list {
	margin: 30px 15px 20px 15px;
}

dl.price-list dt {
	font-family: 'Cinzel', serif;
	font-size: 1.6rem;
	line-height: 1.4;
}

dl.price-list dd {
	font-size: 1.2rem;
	margin-bottom: 15px;
}

dl.price-list dd small {
	font-size: 1rem;
}

dl.price-list dd .price {
	font-size: 1.4rem;
}

#option .sec-03 .read {
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 30px;
	position: relative;
}

#option .sec-03 .read:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}

#option .sec-03 .read strong {
	font-size: 1.4rem;
	color: #d82b4c;
}

#option .sec-03 .note-box {
	display: inline-block;
	background: #f3f3f3;
	padding: 15px 30px;
	margin-bottom: 20px;
	font-size: 1.2rem;
}

#option .sec-03 small {
	font-size: 1rem;
}

#option .sec-03 .note-box .price {
	font-size: 1.4rem;
}

.item-img {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	padding: 5px;
	margin-bottom: 15px;
}

.item-img .item {
	width: 50%;
	padding: 5px;
	box-sizing: border-box;
	font-size: 1rem;
}

.sell-box table td,
.rental-box table td {
	font-family: 'GFS Didot', serif;
}

.sell-box table td .price,
.rental-box table td .price {
	color: #d82b4c;
}

.sell-box .table-01 th,
.rental-box .table-01 th,
.sell-box .table-01 td,
.rental-box .table-01 td {
	padding: 15px 30px;
}

.rental-box .note {
	font-size: 1rem;
	text-align: left;
	padding: 0 15px 30px 15px;
	text-indent: -1.2rem;
	margin-left: 1.2rem;
}

.other-rental td {
	width: 5rem;
}


/*
----------------------------------------
contact
----------------------------------------
*/

#contact .page-ttl .pic {
	background: url( ../img/contact/contact-ttl.jpg ) center center no-repeat;
	background-size: cover;
}

#contact .tel-box {
	padding: 30px 15px;
}

#contact .fit_re h2{
	font-size: 65%;
	font-weight: 600;
	color: #d82b4c;
	margin-top: -10px;
	line-height: 1.8;
}

.tel-box h2 {
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-size: 1.4rem;
	margin-bottom: 30px;
	padding-bottom: 30px;
	position: relative;
}

.tel-box h2:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.tel-box .tel img {
	max-width: 207px;
	height: auto;
	margin-bottom: 15px;
}

.tel-box .en span {
	font-size: 1.4rem;
}

#form-box {
	/* background: #fafafa; */
	background: #fff;
	padding: 0 0 30px 0;
}

#form-box .tabmenu {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: stretch;
	background: #ddd;
	margin: 30px 0 0;
}

/*#form-box .tabmenu li {
	width: 49%;
	align-self: auto;
	transition: all .2s;
}*/
#form-box .tabmenu li {
	width: 50%;
	align-self: auto;
	transition: all .2s;
	margin: 2px;
}
@media screen and (max-width: 750px) {
	#form-box .tabmenu li {
		width: calc(48% + 2px);
	}
}

/*#form-box .tabmenu li.m_l_10{
	margin-left: 7px;
}*/

#form-box .tabmenu li a {
	display: block;
	padding: 10px;
	background: #ddd;
	transition: all .2s;
}

@media screen and (max-width: 750px) {
	#form-box .tabmenu li a {
		padding: 5px;
	}
}

#form-box .tabmenu li.active,
#form-box .tabmenu li.active a{
	background: #000;
	color: #fff;
}/*
#form-box .tabmenu li a.active {
	background: #000;
	color: #fff;
}
*/
#form-box .tabmenu li:hover,
#form-box .tabmenu li:hover a{
	background: #333;
	color: #fff;
}/*
#form-box .tabmenu li a:hover {
	background: #333;
	color: #fff;
}*/

#form-box .tabmenu li a span {
	font-family: 'Cinzel', serif;
	font-size: 1rem;
}

#form-box .heading-05 {
	margin: 20px;
}

#form-box .heading-07 {
	margin: 20px;
}

#form-box .read {
	margin: 20px;
}

#form-box .border-box {
    display: inline-block;
    border: solid 1px #d82b4c;
    padding: 10px 5px;
    color: #d82b4c;
    font-size: 10px;
}

#form-box .red{
	color: #d82b4c;
	font-size: 10px;
	margin-bottom: 10px;
}

#form-box table {
	width: 90%;
	margin: 30px 5% 10px 5%;
	font-size: 1.4rem;
}

#form-box table tr {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	text-align: left;
}
#form-box #location-contact-form table.table-lc tr {
  display: block;
}

#form-box th {
	font-weight: normal;
	margin-bottom: 5px;
	border-left: solid 3px #777;
	padding-left: 10px;
	margin-bottom: 5px;
}

#form-box small {
	font-size: 1rem;
}

#form-box td {
	margin-bottom: 20px;
}

#form-box td.address input {
	margin-bottom: 10px;
}

#form-box .req {
	color: #d82b4c;
}

#form-box input,
#form-box button,
#form-box textarea,
#form-box select {
	font-size: 1.4rem;
}

#form-box input[type='text'],
#form-box input[type='tel'],
#form-box input[type='number'],
#form-box input[type='email'] {
	margin-top: 5px;
}

#form-box dl {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#form-box dt {
	width: 35%;
	box-sizing: border-box;
}

#form-box dd {
	width: 65%;
	box-sizing: border-box;
}

#form-box .wpcf7-checkbox,
#form-box .wpcf7-radio {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	margin: 5px 0;
}

#form-box span.wpcf7-list-item {
	margin: 0;
	padding: 2px 0;
}

#form-box span.wpcf7-list-item {
	margin: 0;
	padding: 2px 0;
}

#form-box .inline span.wpcf7-list-item {
	margin-right: 1rem;
	padding: 2px 0;
}

#form-box .wpcf7-recaptcha {
	display: flex;
	justify-content: center;
	margin-bottom: 25px;
}

.thanks-box {
	padding: 20px 15px;
	text-align: left;
}

.thanks-box h2.en {
	text-align: center;
	font-family: 'Dancing Script', cursive;
	font-size: 2.4rem;
	padding-bottom: 10px;
	margin-bottom: 20px;
	position: relative;
}

.thanks-box h2.en:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}

.thanks-box p {
	margin-bottom: 1rem;
}
#location-contact-form h3 {
  font-size: 1.5rem;
  text-align: center;
  margin: 16% 0 4%;
}
#location-contact-form h3:first-of-type {
  margin: 7% 0 4%;
}
#location-contact-form h3 span {
  font-family: 'Cinzel', serif;
  letter-spacing: 5px;
  color: #9e814e;
}
#location-contact-form table.table-lc {
	width:94%;
	border-right:#fafafa solid 2px;
	border-collapse: collapse;
  margin: 20px 3% 10px 3%;
  vertical-align: middle;
}
#location-contact-form table.table-lc th {
  border-left: none;
  flex: none;
  padding-left: 0;
  /*padding: 14px;*/
  box-sizing: border-box;
  font-size: 1.3rem;
  vertical-align: middle;
}
#location-contact-form table.table-lc td {
  margin-bottom: 0;
  flex: none;
  /*padding: 14px;*/
  box-sizing: border-box;
  vertical-align: middle !important;
}
#location-contact-form table.table-lc thead th {
	background:#ebebeb;
	color:#000;
	/*padding:10px 15px;*/
	border-right:#fafafa solid 2px;
	border-bottom:#fafafa solid 2px;
  text-align: center;
}
#location-contact-form table.table-lc thead th span {
  font-size: 1.2rem;
}
#location-contact-form table.table-lc thead th.first {
  background: #464646;
  color: #fff;
  width: 230px;
}
#location-contact-form table.table-lc tbody th {
  width: 230px;
}
#location-contact-form table.table-lc thead th:nth-of-type(2),
#location-contact-form table.table-lc thead th:nth-of-type(3) {
  width: 100px;
}
#location-contact-form table.table-lc tbody td:first-of-type,
#location-contact-form table.table-lc tbody td:nth-of-type(2) {
  width: 100px;
}
#location-contact-form table.table-lc thead th:nth-of-type(4),
#location-contact-form table.table-lc thead th:nth-of-type(5),
#location-contact-form table.table-lc thead th:nth-of-type(6),
#location-contact-form table.table-lc thead th:nth-of-type(7),
#location-contact-form table.table-lc thead th:nth-of-type(8) {
  width: 70px;
}
#location-contact-form table.table-lc tbody td:nth-of-type(3),
#location-contact-form table.table-lc tbody td:nth-of-type(4),
#location-contact-form table.table-lc tbody td:nth-of-type(5),
#location-contact-form table.table-lc tbody td:nth-of-type(6),
#location-contact-form table.table-lc tbody td:nth-of-type(7) {
  width: 70px;
}
#location-contact-form table.table-lc tbody td:last-of-type {
  width: 156px;
}
#location-contact-form table.table-lc thead th.sum {
  background: #c2a57b;
  color: #fff;
  width: 156px;
}
#location-contact-form table.table-lc thead th:last-child {
	border-right:#fafafa solid 2px;
}
#location-contact-form table.table-lc tbody th {
	color:#000;
	border-bottom:#fafafa solid 2px;
	vertical-align:top;
  padding: 14px;
}
#location-contact-form table.table-lc tbody th,
#location-contact-form table.table-lc tbody td {
  background: #fff;
}
#location-contact-form table.table-lc tbody th span {
  color: #9e814e;
}
#location-contact-form table.table-lc tbody td[label="電話番号"] a{
  color: #9e814e;
  text-decoration: underline;
}
#location-contact-form table.table-lc tbody td[label="電話番号"] a:hover{
  text-decoration: none;
}
#location-contact-form table.table-lc tbody tr:last-child th {
	border-bottom:#fafafa solid 2px;
}
#location-contact-form table.table-lc tbody td {
	border-left:#fafafa solid 2px;
	border-bottom:#fafafa solid 2px;
	vertical-align:top;
  text-align: center;
  padding: 5px;
}
#form-box .star-caution {
  text-align: left;
  margin: 0 3% 3%;
}
#form-box .star-caution span {
  color: #9e814e;
}
#reservation-box {
	padding: 0 15px;
	max-width: 940px;
	margin: 0 auto;
}
#form-box #reservation-box small {
	font-size: 1.0rem;
}
@media screen and (max-width: 750px) {
	#form-box #reservation-box small {
		letter-spacing: -1.7px;
	}
}

#reservation-form .monthly-calendar table th,
#reservation-form .day-calendar table th,
#fitting-reservation-form .monthly-calendar table th,
#fitting-reservation-form .day-calendar table th,
#form-box .monthly-calendar table {
		font-size: 1rem!important;
	}
#reservation-form .monthly-calendar table td,
#reservation-form .day-calendar table td,
#fitting-reservation-form .monthly-calendar table td,
#fitting-reservation-form .day-calendar table td {
    /*padding: 5px 0 5px 0!important;*/
}
#reservation-form .calendar-mark,
#fitting-reservation-form .calendar-mark {
    font-size: 1rem;
}


/* 2020/09/09追加　5,000円OFFバナー*/
.contact-campaign-bnr img{
	width: 720px;
}

@media (max-width: 767px){
	.contact-campaign-bnr img{
		width: 320px;
	}
}
		
		
#form-box #reservation-form h3 {
    font-size: 1.2rem;
}
.monthly-next {
    margin-right: 0!important;
}
.monthly-prev {
	font-size: 1.4rem;
}
.monthly-prev-next a {
	color: #464646!important;
    font-size: 1.4rem;
    text-decoration: underline;
}
@media screen and (min-width: 750px) {
  #location-contact-form table.table-lc th {
    margin-bottom: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 750px) {
#form-box .tabmenu {
	background: #fff;
	flex-wrap: wrap;
}
#form-box #location-contact-form table.table-lc tr {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
#location-contact-form table.table-lc thead {
	display:none;
}
#location-contact-form table.table-lc tbody th {
	display:block;
  background: #464646;
  color: #fff;
  text-align: center;
  font-size: 2.8rem;
}
#location-contact-form table.table-lc tbody td {
	display:block;
}
#location-contact-form table.table-lc tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
  padding-left: 3%;
	font-weight:bold;
}
#location-contact-form table.table-lc tbody td p {
	padding-left:6em;
}
#location-contact-form table.table-lc thead th.first {
  background: #464646;
  color: #fff;
  width: 230px;
}
#location-contact-form table.table-lc tbody th,
#location-contact-form table.table-lc thead th:nth-of-type(2),
#location-contact-form table.table-lc thead th:nth-of-type(3),
#location-contact-form table.table-lc tbody td:first-of-type,
#location-contact-form table.table-lc tbody td:nth-of-type(2),
#location-contact-form table.table-lc thead th:nth-of-type(4),
#location-contact-form table.table-lc thead th:nth-of-type(5),
#location-contact-form table.table-lc thead th:nth-of-type(6),
#location-contact-form table.table-lc thead th:nth-of-type(7),
#location-contact-form table.table-lc thead th:nth-of-type(8),
#location-contact-form table.table-lc tbody td:nth-of-type(3),
#location-contact-form table.table-lc tbody td:nth-of-type(4),
#location-contact-form table.table-lc tbody td:nth-of-type(5),
#location-contact-form table.table-lc tbody td:nth-of-type(6),
#location-contact-form table.table-lc tbody td:nth-of-type(7),
#location-contact-form table.table-lc tbody td:last-of-type,
#location-contact-form table.table-lc thead th.sum {
  width: 100%;
  /* font-size: 1.5rem; */
  font-size: 1rem;
}
#location-contact-form table.table-lc tbody th {
  /* font-size: 2rem; */
  font-size: 1.2rem;
  padding: 1%;
}
#location-contact-form table.table-lc tbody td {
  position: relative;
}
#location-contact-form table.table-lc tbody td p {
  text-align: left;
  position: absolute;
  left: 30%;
}
#location-contact-form table.table-lc tbody td:last-of-type {
  border-top: 2px solid #9e814e;
}
#location-contact-form table.table-lc tbody th span {
  color: #fff;
}
}


/*
----------------------------------------
dress
----------------------------------------
*/

#dress #contents .ttl {
	padding: 30px 15px;
}

#dress #contents .ttl figure {
	display: inline-block;
	padding-bottom: 5px;
	margin-bottom: 15px;
	border-bottom: solid 1px #000;
}

#dress .dress-box .ttl figure img {
	max-width: 156px;
	height: auto;
}

#dress .hairmake-box .ttl figure img {
	max-width: 124px;
	height: auto;
}

#dress #contents .ttl .read {
	margin: 20px 0;
}

#dress .dress-thumbs ul {
	width: 100%;
}

#dress .dress-gallery__main {
	padding-bottom: 26px;
}

#dress .dress-gallery__main-slider .slick-arrow {
	position: absolute;
	top: 35%;
	width: 50px;
	height: 100px;
	z-index: 10;
}

#dress .dress-gallery__main-slider .slick-prev {
	left: 0;
}

#dress .dress-gallery__main-slider .slick-prev::before {
	content: '';
	position: absolute;
	width: 30px;
	height: 30px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	top: 50%;
	left: 50%;
	transform: translateX(8px) translate(-50%, -50%) rotate(-45deg) ;
	filter: drop-shadow(0 0 10px #000);
}

#dress .dress-gallery__main-slider .slick-next {
	right: 0;
}

#dress .dress-gallery__main-slider .slick-next::before {
	content: '';
	position: absolute;
	width: 30px;
	height: 30px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	top: 50%;
	right: 50%;
	transform: translateX(-8px) translate(50%, -50%) rotate(45deg);
	filter: drop-shadow(0 0 10px #000);
}


#dress .dress-gallery__inner {
	padding: 0 9px;
}

#dress .dress-gallery__main-pic {
	margin-bottom: 12px;
	position: relative;
}

#dress .dress-gallery__main-pic img {
	display: block;
}

#dress .dress-gallery__main-label {
	position: absolute;
	top: 0;
	left: 0;
	background: #da3434;
	color: #fff;
    word-break: break-all;
    max-width: 100%;
    box-sizing: border-box;
	text-align: left;
    font-size: 13px;
    padding: 1px 7px;
}

#dress .dress-gallery__info {
	padding: 0 9px;
}

#dress .dress-gallery__info-top {
	display: flex;
	justify-content: space-between;
	margin-bottom: 7px;
}

#dress .dress-gallery__label {
	display: flex;
	flex: 1 0 0px;
}


#dress .dress-gallery__info-num {
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

#dress .dress-gallery__info-name {
	flex: 1 0 0px;
	font-size: 14px;
	margin-left: 15px;
	text-align: left;
	line-height: normal;
}

#dress .dress-gallery__info-link a {
	text-decoration: none;
	display: block;
	padding: 0 20px;
	position: relative;
}

#dress .dress-gallery__info-link a::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 10px;
	border-right: solid 1px #000;
	border-bottom: solid 1px #000;
	bottom: 0;
	right: 0;
    transform: skewX(45deg);
}

#dress .dress-gallery__info-ttl,
#dress .dress-gallery__info-data {
	font-size: 12.8px;
	line-height: normal;
	text-align: left;
}

#dress .dress-gallery__info-desc {
	font-size: 12.8px;
	text-align: left;
	line-height: normal;
}

#dress .dress-gallery__info-bottom {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 8px 6px;
	margin-top: 14px;
	border-top: solid 1px #ddd;
	padding-top: 14px;
}

#dress .dress-gallery__thumbs {
	display: flex;
	flex-wrap: wrap;
}

#dress .dress-gallery__thumb {
	max-width: calc(20% - 2px);
	flex: 0 0 20%;
	margin: 0 1px 2px;
	position: relative;
}

#dress .dress-gallery__thumb img {
	display: block;
}

#dress .dress-gallery__thumb-info {
	display: none;
}

#dress .dress-gallery__thumb-label-show {
	position: absolute;
	top: 0;
	left: 0;
	background: #da3434;
	color: #fff;
    padding: 2px 7px;
    color: #fff;
    word-break: break-all;
    max-width: 100%;
    box-sizing: border-box;
	text-align: left;
    font-size: 6px;
    padding: 1px 3px;
}

.dress-nav {
	width: 100%;
	overflow: hidden;
}

.dress-nav ul {
	width: 286px;
	margin: 0 auto 30px;
}

.dress-nav ul:not(.slick-initialized) {
	display: flex;
}

.dress-nav .slick-list {
	overflow: visible;
}

.dress-nav .slick-track {
	display: flex;
	margin: auto;
}

.dress-nav .slick-prev,
.dress-nav .slick-next {
	z-index: 1;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	background: rgba(0,0,0,.25);
}

.dress-nav .slick-prev:hover,
.dress-nav .slick-next:hover,
.dress-nav .slick-prev:focus,
.dress-nav .slick-next:focus {
	background-color: rgba(0,0,0,.25);
}

.dress-nav .slick-prev::before,
.dress-nav .slick-next::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border: solid 1px #000;
	border-width: 1px 1px 0 0;
	margin: 0 auto;
}

.dress-nav .slick-prev::before {
	transform: rotate(-135deg) translate(-2px, 2px);
}

.dress-nav .slick-next::before {
	transform: rotate(45deg) translate(-2px, 2px);
}

.dress-nav li {
	margin: 0 10px;
	box-sizing: border-box;
}

.dress-nav p {
	border: solid 1px #ddd;
	padding: 4px;
}

.dress-nav a {
	position: relative;
	display: block;
	box-sizing: border-box;
}

.dress-nav a::before {
	content: '';
	display: block;
	padding-top: 160%;
}

.dress-nav .bg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dress-nav .wrap {
	position: absolute;
	bottom: 10%;
	left: 0;
	display: block;
	width: 100%;
	background: rgba( 0,0,0,.25 );
	color: #fff;
	line-height: 1.4;
	padding: 10px 0;
	transition: all .2s;
}

.dress-nav a:hover .wrap {
	background: rgba( 0,0,0,.5 );
}

.dress-nav .en {
	font-size: 1.4rem;
}

#dress .read-box {
	background: #f3f3f3;
	padding: 15px;
}

#dress .read-box h3 {
	padding-bottom: 10px;
	margin: 0 0 10px 0;
	position: relative;
}

#dress .read-box h3:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.dress-exlink {
	max-width: 957px;
	margin: 50px auto 0;
}

.dress-exlink__inner {
	padding: 0 9px;
}

.dress-exlink__list {
	display: grid;
	gap: 5px;
	grid-template-columns: repeat(4, 1fr);
}

.dress-exlink__note {
	margin-top: 8px;
}

.dress-exlink-item__link {
	display: block;
	border: solid 1px #000;
	text-align: center;
	font-size: 11px;
	padding: 10px 6px 10px 0;
	position: relative;
	transition: background .2s ease, color .2s ease;
}

.dress-exlink-item__link::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 6px;
	width: 5px;
	height: 5px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	transform: translateY(-50%) rotate(45deg);
	transition: border-color .2s ease;
}

.dress-exlink-item__link:hover {
	background: #000;
	color: #fff;
}

.dress-exlink-item__link:hover::after {
	border-color: #fff;
}

.dress-exlink-item__link--disabled {
	pointer-events: none;
	opacity: .3;
}

.dress-exlink-item__note {
	font-size: 10px;
}

.gallery-h {
	padding: 30px 15px 35px 15px;
}

.gallery-h .en-txt {
	font-family: 'Dancing Script', cursive;
	font-size: 1.4rem;
}

.gallery-h .border-box {
	display: inline-block;
	padding: 10px 20px;
	margin: 5px auto 10px auto;
	border: double 3px #000;
	font-family: 'Cinzel', serif;
	font-size: 2rem;
	line-height: 1.2;
}

.gallery-h .border-box span {
	font-family: 'Dancing Script', cursive;
	font-size: 1.8rem;
}

#dress.page .gallery {
	margin: 0 0 30px 0;
}

#dress.page .gallery figure {
	line-height: .5;
}

#dress.page .gallery .thumb {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	line-height: .5;
	padding: 1px;
}

#dress.page .gallery .thumb li {
	width: 20%;
}

#dress.page .gallery .thumb a {
	display: block;
	margin: 1px;
}

#dress #contents .btn-01 {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	padding: 30px 5px;
	margin: 0;
	border-bottom: solid 1px #ddd;
}

#dress #contents .btn-01 p {
	width: 50%;
}

#dress #contents .btn-01 a {
	display: block;
	margin: 0 5px;
}

#hairmake .pic {
	width: 100%;
	height: 250px;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	position: relative;
}

#hairmake .pic h3 {
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX( -50% );
	z-index: 999;
}

#hairmake .pic h3 img {
	width: 180px;
	height: auto;
}

#hairmake .pic .pic-box {
	width: 33.3333%;
	height: 100%;
	position: absolute;
	top: 0;
}

#hairmake .pic .pic-01 {
	background: url( ../img/dress/hairmake-topimg-01.png ) center center no-repeat;
	background-size: cover;
	left: 0;
}

#hairmake .pic .pic-02 {
	background: url( ../img/dress/hairmake-topimg-02.png ) center center no-repeat;
	background-size: cover;
	left: 33.3333%;
}

#hairmake .pic .pic-03 {
	background: url( ../img/dress/hairmake-topimg-03.png ) center center no-repeat;
	background-size: cover;
	left: 66.6666%;
}

#hairmake .read-box {
	margin-bottom: 30px;
}

#hairmake .read-box h3 {
	font-size: 1.4rem;
}

#hairmake .read-box p {
	text-align: left;
}

#hairmake .heading-02 {
	font-family: 'Julius Sans One', sans-serif;
}

#hairmake .gallery ul {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	padding: 10px;
}

#hairmake .gallery ul li {
	width: 33.3333%;
	padding: 10px;
	box-sizing: border-box;
}


/*
----------------------------------------
location
----------------------------------------
*/

#location .page-ttl h1 {
	padding: 20px 15px 10px 15px;
}

#location .page-ttl h1 .en {
	font-size: 2rem;
}

#location .page-ttl h1 .jp {
	display: inline-block;
	padding: 5px 50px;
	position: relative;
}

#location .page-ttl h1 .jp:before,
#location .page-ttl h1 .jp:after {
	content: '';
	width: 37px;
	height: 15px;
	position: absolute;
	bottom: 5px;
}

#location .page-ttl h1 .jp:before {
	background: url( ../img/location-spot/ttl-before.png ) left center no-repeat;
	background-size: contain;
	left: 0;
}

#location .page-ttl h1 .jp:after {
	background: url( ../img/location-spot/ttl-after.png ) left center no-repeat;
	background-size: contain;
	right: 0;
}

#location .img-nav ul {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	padding: 0 5px;
	margin: 20px 0;
}

#location .img-nav li {
	width: 50%;
	padding: 5px;
	box-sizing: border-box;
}

#location .img-nav li a {
	position: relative;
	display: block;
	padding: 70px 10%;
	color: #fff;
}

#location .img-nav li a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-position: left;
	object-fit: cover;
}


#location .img-nav li a .wrap {
	position: relative;
	display: inline-block;
	padding: 20px;
	border: solid 1px #fff;
	font-size: 1.2rem;
	line-height: 1.5;
}

#location .img-nav li a .en {
	font-family: 'Dancing Script', cursive;
	font-size: 1.8rem;
}

#location .img-nav li a {
	pointer-events: none;
}

#location .cat-nav-desc,
#location .page-ttl .cat-nav-desc {
	font-size: 10px;
}

#location-photo .cat-item.cat-location > a,
#kyoto .cat-item.cat-location > a,
#tokyo .cat-item.cat-location > a {
	border: double 4px #fff;
	position: relative;
	padding: 5px 20px 17px;
}

#location .cat-item.cat-location > a {
	border: double 4px #000;
	position: relative;
	padding: 5px 20px 17px;
}

#location .cat-item.cat-location > a:before,
#location-photo .cat-item.cat-location > a:before,
#kyoto .cat-item.cat-location > a:before,
#tokyo .cat-item.cat-location > a:before {
	font-family: FontAwesome;
    content: "\f107";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0em
	;
}

#location-photo .location-spot-box,
#kyoto .location-spot-box,
#tokyo .location-spot-box {
	padding: 5px 5px 20px;
}

#location .location-spot-box .cat-nav + .cat-nav {
	padding-top: 0;
}

#location .location-spot-box .cat-nav > li > a {
	background: #fff;
	color: #000;
}


.season-box {
	margin: 40px 0;
}

.season-box .ttl h2 {
	padding: 15px;
	text-align: right;
}

.season-box .ttl h2 .en {
	font-size: 1.6rem;
	margin-right: 1rem;
}

.season-box .ttl .txt {
	text-align: left;
	padding: 29vw 15px 5px 15px;
	margin-bottom: 15px;
	position: relative;
}

.season-box .ttl .txt:before {
	content: '';
	width: 100vw;
	height: 25vw;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

#season-01.season-box .ttl .txt:before {
	background: url( ../img/location-spot/season-ttl-01.png ) center center no-repeat;
	background-size: cover;
}

#japanese.season-box .ttl .txt:before {
	background: url( ../img/location-spot/season-ttl-01.png ) center center no-repeat;
	background-size: cover;
}

#season-02.season-box .ttl .txt:before {
	background: url( ../img/location-spot/season-ttl-02.png ) center center no-repeat;
	background-size: cover;
}

#western.season-box .ttl .txt:before {
	background: url( ../img/location-spot/season-ttl-02.png ) center center no-repeat;
	background-size: cover;
}

#season-03.season-box .ttl .txt:before {
	background: url( ../img/location-spot/season-ttl-03.png ) center center no-repeat;
	background-size: cover;
}

#season-04.season-box .ttl .txt:before {
	background: url( ../img/location-spot/season-ttl-04.png ) center center no-repeat;
	background-size: cover;
}

.season-box .ttl h3 {
	margin-bottom: 5px;
}

.season-box .ttl h3 .en {
	font-size: 1.6rem;
	margin-right: 1rem;
}

.spot {
	border-top: solid 1px #ccc;
	padding: 20px 15px;
}

.spot .gallery {
	overflow: hidden;
	margin: 20px 0 0 0;
}

.spot h3 {
	text-align: center;
}

.spot h3 span {
	font-size: 2.4rem;
	font-family: 'Bilbo Swash Caps', cursive;
}

#season-01 .spot h3 span {
	color: #cc99a1;
}

#japanese .spot h3 span {
	color: #cc99a1;
}

#season-02 .spot h3 span {
	color: #66ADCC;
}

#western .spot h3 span {
	color: #66ADCC;
}

#season-03 .spot h3 span {
	color: #7F6F59;
}

#season-04 .spot h3 span {
	color: #555;
}

.spot .slider figure {
	line-height: .5;
}

.spot .thumb {
	padding-bottom: 10px;
}

.spot figure {
	padding: 2px 1px;
	text-align: center;
}

.spot .slick-slide img {
	display: inline-block;
}

.spot .txt {
	text-align: left;
}

.spot .txt h4 {
	font-size: 1.4rem;
	margin-bottom: 10px;
}

.spot .recommend {
	border: double 3px #999;
	padding: 10px;
	margin: 10px 0;
}

.spot .recommend dt {
	font-size: 1.2rem;
	vertical-align: center;
}

.spot .recommend dt .en {
	font-family: 'Bilbo Swash Caps', cursive;
	margin-left: 5px;
}

.spot .recommend dd:before {
	font-family: 'FontAwesome';
	content: '\f046';
	margin-right: 5px;
}

#season-01 .spot .recommend {
	background: #F5EBEC;
}

#japanese .spot .recommend {
	background: #F5EBEC;
}

#season-02 .spot .recommend {
	background: #E0EFF5;
}

#western .spot .recommend {
	background: #E0EFF5;
}

#season-03 .spot .recommend {
	background: #E5E2DE;
}

#season-04 .spot .recommend {
	background: #eee;
}


/*
----------------------------------------
plan
----------------------------------------
*/

.plan #contents section {
	padding-bottom: 40px;
}

.plan .mainimg {
	padding: 5px 15px;
}

.plan .mainimg .pic {
	background: #eee;
	padding: 32vh 10px;
	background: #eee;
	margin-bottom: 10vh;
	position: relative;
	font-family: 'Cinzel', serif;
}

.plan .mainimg .pic-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.plan .mainimg .pic-bg img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#studio-photo .sec-01 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-sd.png ) center center no-repeat;
	background-size: cover; */
}

#studio-photo .sec-02 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-sk.png ) center center no-repeat;
	background-size: cover; */
}

#location-photo .sec-01 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-ld.jpg ) center center no-repeat;
	background-size: cover; */
}

#location-photo .sec-02 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-lk.png ) center center no-repeat;
	background-size: cover; */
}

#ceremony-photo .sec-01 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-cj.png ) center center no-repeat;
	background-size: cover; */
}

#ceremony-photo .sec-01 .mainimg .pic._chapel {
	/* background: url( ../img/plan/chapel-01-sp.jpg ) center center no-repeat;
	background-size: cover; */
}

#ceremony-photo .sec-02 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-cw.png ) center center no-repeat;
	background-size: cover; */
}

#family-photo .sec-01 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-fk.jpg ) center center no-repeat;
	background-size: cover; */
}

#family-photo .sec-02 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-fp.png ) center center no-repeat;
	background-size: cover; */
}

#special-package .sec-01 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-ss.png ) center center no-repeat;
	background-size: cover; */
}

#special-package .sec-02 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-sb.png ) center center no-repeat;
	background-size: cover; */
}

#special-package .sec-03 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-dress-kimono.png ) center center no-repeat;
	background-size: cover; */
}

#special-package .sec-04 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-third.png ) center center no-repeat;
	background-size: cover; */
}

#special-package .sec-05 .mainimg .pic {
	/* background: url( ../img/plan/mainimg-house.jpg ) center center no-repeat;
	background-size: cover; */
}

@media (max-width: 750px){
	#special-package .sec-05 .mainimg .pic {
		/* background: url( ../img/plan/mainimg-house-sp.jpg ) center center no-repeat;
		background-size: cover; */
	}	
}

.plan #contents .txt h3 .cinzel .sml {
  font-size: 1.2rem;
  color: #e0d05c;
}
.plan #contents .txt h3 .cinzel .sml.LxL {
  color: #c7add9;
}
.plan #contents .txt h3 .cinzel .sml.SxL {
  color: #d88e97;
}
.plan #contents .txt h3 .cinzel .sml.SxL2 {
  color: #5E86AB;
}
.plan #contents .txt h3 .cinzel .fsml {
  font-size: 1.3rem;
}

#special-package h3 .cinzel {
  font-family: 'Cinzel', serif;
}
#special-package #contents .txt .wrap {
  position: relative;
}
#special-package #contents .txt .wrap .bnr-camp {
  position: absolute;
  top: -190px;
  left: 33%;
}
@media screen and (max-width: 750px) {
  #special-package #contents .txt .wrap .bnr-camp {
		left: 50%;
		transform: translateX(80px);
    width: 70px;
	}
	#special-package #contents .txt .wrap .bnr-camp._align01 {
    top: 45px;
  }
	#special-package #contents .txt .wrap .bnr-camp._align02 {
    top: 35px;
  }
}
.plan .mainimg .pic:after {
	content: '';
	width: 60%;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: -3.5vh;
	right: 0;
}

#location-photo.plan .mainimg .pic:after,
#kyoto.plan .mainimg .pic:after,
#tokyo.plan .mainimg .pic:after {
	width: 55%;
}

#ceremony-photo.plan .sec-01 .mainimg .pic:after {
	width: 45%;
}

#family-photo.plan .sec-01 .mainimg .pic:after {
	width: 70%;
}

#special-package.plan .mainimg .pic:after {
	width: 50%;
}

.plan .mainimg .pic > h2 {
	font-size: 1.4rem;
	color: #fff;
	position: relative;
}
.plan .mainimg .pic > h2.txt-shadow {
  text-shadow: 0 0 1px #222;
}

.plan .mainimg .pic > h2 span {
	font-size: 2.4rem;
}

.plan .mainimg .pic .sub {
	font-size: 1.8rem;
	position: absolute;
	left: 0;
	bottom: -7vh;
	line-height: 1;
}

.plan .mainimg .pic .sub:first-letter {
	font-size: 8rem;
}

#studio-photo .sec-01 .pic .sub {
	color: #8E202B;
}

#studio-photo .sec-02 .pic .sub {
	color: #5E86AB;
}

#location-photo .sec-01 .pic .sub,
#kyoto .sec-01 .pic .sub,
#tokyo .sec-01 .pic .sub {
	color: #c3c091;
}

#location-photo .sec-02 .pic .sub,
#kyoto .sec-02 .pic .sub,
#tokyo .sec-02 .pic .sub {
	color: #746758;
}

#ceremony-photo .sec-01 .pic .sub {
	color: #679989;
}

#ceremony-photo .sec-02 .pic .sub {
	color: #8e202b;
}

#family-photo .sec-01 .pic .sub {
	color: #b1dee5;
}

#family-photo .sec-02 .pic .sub {
	color: #eedaea;
}

#special-package .sec-01 .pic .sub {
	color: #e0d05c;
}

#special-package .sec-02 .pic .sub {
	color: #c7add9;
}

#special-package .sec-03 .pic .sub {
	color: #d88e97;
}
#special-package .sec-04 .pic .sub {
	color: #5E86AB;
}
#special-package .sec-05 .pic .sub,
#special-package .sec-06 .pic .sub{
	color: #9ed4da;
}

.plan #contents .txt {
	padding: 30px 15px;
}

.plan #contents .txt h3 {
	font-size: 1.6rem;
}

.plan #contents .txt h3 .note {
	font-size: 1.2rem;
}

.txt .wrap .include{
	margin-bottom: 10px;
}

.txt .wrap .include img{
	width: 80%;
}

@media screen and (max-width: 750px) {
	.txt .wrap .include img{
		width: 276px;
	}
}

.plan #contents #hawaii .txt .catch {
	display: inline-block;
  line-height: 1.6;
  padding-bottom: 5px;
  margin-bottom: 15px;
  font-size: 16px;
	margin-top: 10px;
}

.plan #contents .txt .price {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 1.2rem;
	color: #000;
	margin-top: 10px;
}

.plan #contents .txt .price.price-margin {
	margin-top: 30px;
}

.plan #contents .txt .price span {
	font-family: 'GFS Didot', serif;
	font-size: 1.6rem;
}

.plan #contents .txt .price del + span {
	color: #d82b4c;
}

.plan #contents .txt .price del {
	font-family: 'GFS Didot', serif;
	font-size: 1.4rem;
	margin-right: 10px;
	text-decoration: line-through;
}

.plan #contents .txt .note {
	font-size: 1rem;
}

.plan #contents .txt .read {
	padding: 20px 0 30px 0;
	text-align: left;
}

.plan #contents .txt .note {
	margin-top: 10px;
}

.plan .details {
}

.plan .details .include{
	border: double 3px #999;
	background: #F2ECE6;
	padding: 30px 5px;
	font-size: 1rem;

}

.plan .details .note {
	font-size: .9rem;
	margin-top: 20px;
}

.plan .details h4 {
	font-size: 1.2rem;
	padding: 35px 0 15px 0;
	margin-bottom: 20px;
	background: url( ../img/plan/detail-ttl.png ) center top no-repeat;
	background-size: 91px;
	position: relative;
}

.plan .details h4:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

.plan .details .acc {
	margin: 20px 5px 0 5px;
	padding: 5px 0;
	box-sizing: border-box;
	background: #fff;
	text-align: left;
}

.plan .details .acc dl {
	font-size: .9rem;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.plan .details .acc dl + dl {
	margin-top: 5px;
	padding-top: 5px;
	border-top: solid 1px #ccc;
}

.plan .details .acc dt {
	width: 25%;
	text-align: center;
	padding: 5px;
	box-sizing: border-box;
}

.plan .details .acc dd {
	width: 75%;
	padding: 2px;
	box-sizing: border-box;
}

.plan .details .acc dd .price {
	font-family: 'GFS Didot', serif !important;
}

.plan .txt .set{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}

@media screen and (max-width: 750px) {
	.plan .txt .set{
		display: block;
		padding: 0;
	}
}

.plan .txt .set.single{
	justify-content: center;
}

.plan .txt .set.double{
	display: block;
}

.plan .txt .set-wrap{
	width: 80%;
}

.plan .txt .set.double .set-wrap{
	width: 100%;
}

.plan .txt .set h4{
	width: 150px;
	background: #CCC;
	font-family: 'Cinzel', serif;
	padding: 6px 0;
	margin-bottom: 0;
}

.plan .txt .set.double h4{
	width: 100%;
	margin-bottom: 10px;
}


@media screen and (max-width: 750px) {
	.plan .txt .set h4{
		width: 100%;
		margin: 0 auto 10px;
	}
}

.plan .txt .set h4::after{
	content: none;
}

.plan .txt .set .sub-wrap{
	margin-bottom: 20px;
}

.plan .txt .set .sub-wrap .title{
	width: 150px;
}

.plan .txt .set .sub-wrap .title h4,
.plan .txt .set .sub-wrap .title p{
	margin-bottom: 0;
}


.plan .txt .set .sub-wrap .set-sub{
	font-size: 1.2rem;
	padding: 3px 0;
	margin-bottom: 10px;
}

.plan .txt .set .cont-wrap{
	display: flex;
	justify-content: center;
	margin: 0 auto 20px;
}

.plan .txt .set .cont-wrap:last-child{
	margin-bottom: 0;
}

.plan .txt .set .cont-wrap p{
	line-height: 1.2;
	margin: 0 10px;
}

@media screen and (max-width: 750px) {
	.plan .txt .set .cont-wrap p{
		margin: 0 4px;
	}
}

.plan .txt .set .cont-wrap p .ttl{
	position: relative;
	display: block;
	width: 180px;
	background: #ccc;
	font-size: 1.2rem;
	padding: 3px 0;
	margin-bottom: 10px;
}

@media screen and (max-width: 750px) {
	.plan .txt .set .cont-wrap p .ttl{
		width: 150px;
		font-size: 1rem;
		padding: 2px 0;
		margin: 0 auto 6px;
	}
}

.plan .txt .set .cont-wrap p .cost{
	position: relative;
	font-family: 'GFS Didot', serif !important;
	font-size: 2rem;
}

@media screen and (max-width: 750px) {
	.plan .txt .set .cont-wrap p .cost{
		font-size: 1.6rem;
	}
}


.plan .txt .set .cont-wrap p .cost span{
	font-size: 1.4rem;
}

.plan .txt .set .cont-wrap.single{
	display: block;
}

.plan .txt .set .cont-wrap.single p{
	margin: 0 auto;
}

.plan .details .read-box {
	background: #fff;
	margin: 20px 0 10px 0;
	padding: 15px 5px;
}

.plan .feature {
	margin-bottom: 60px;
}

.plan .feature h3 {
	font-family: 'Cinzel', serif;
	font-size: 2rem;
	margin-bottom: 25px;
}

.plan .feature figcaption {
	padding: 5px 5px 15px 5px;
}

/* sky-bnr */

.sky-bnr {
	padding: 10px;
}

.sky-bnr a {
	display: inline-block;
	background: url( ../img/common/sky-bnr-bg.png ) center center no-repeat;
	background-size: cover;
	padding: 10px 15px;
	margin: 0 auto 20px auto;
}

/* spot-bnr */

.spot-bnr {
	margin: 60px 20px;
}

.spot-bnr .bnr {
	display: block;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
	background: url( ../img/plan/spot-bnr-dress.png ) center center no-repeat;
	background-size: cover;
}

.spot-bnr.kimono .bnr {
	background: url( ../img/plan/spot-bnr-kimono.png ) center center no-repeat;
	background-size: cover;
}

.spot-bnr .box {
	display: inline-block;
	background: rgba( 255,255,255,.75 );
	border: double 3px #999;
	padding: 10px 20px;
}

.spot-bnr .box h2 {
	font-family: 'Cinzel', serif;
	font-size: 1.8rem;
}

.spot-bnr .box .sub {
	display: none;
}

/* world */

#world .sp-price {
	color: #d60101;
}


#world .photoplace h2  {
	font-family: 'Josefin Sans', sans-serif !important;
	font-size: 2.2rem;
	border-bottom: solid 1px #000;
	text-align: center;
	padding-bottom: 10px;
	margin-bottom: 10px;
	line-height: 1.0;
}

#world .photoplace h2 span {
	font-size: 1.4rem;
}


#world .photoplace .tagline_02 {
	margin: 10px 0 20px;
}

#world.plan .mainimg {
	padding: 5px 0;
}

#world.plan .mainimg .pic {
	padding: 5vh 10px 55vh 10px;
	margin-bottom: 5vh;
}

#world .sec-01 .mainimg .pic {
	background: url( ../img/plan/mainimg-wg.png ) center center no-repeat;
	background-size: cover;
}

#world .sec-02 .mainimg .pic {
	background: url(../img/plan/mainimg-wh.jpg) center right no-repeat;
	background-size: auto 100%;
}

#world.plan .mainimg .pic:after {
	display: none;
}

#world.plan .mainimg .pic .ttl {
	display: inline-block;
	background: rgba( 255,255,255,.8 );
	padding: 15px 20px;
	border: double 3px #999;
	position: relative;
}

#world.plan .mainimg .pic .ttl:before,
#world.plan .mainimg .pic .ttl:after {
	content: '';
	width: 20px;
	height: 20px;
	position: absolute;
}

#world.plan .mainimg .pic .ttl:before {
	background: url( ../img/plan/before.png ) left top no-repeat;
	background-size: contain;
	left: -4px;
	top: -4px;
}

#world.plan .mainimg .pic .ttl:after {
	background: url( ../img/plan/after.png ) right bottom no-repeat;
	background-size: contain;
	right: -4px;
	bottom: -4px;
}

#world.plan .mainimg .pic .ttl h2 {
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-size: 1.8rem;
	padding-bottom: 10px;
	margin-bottom: 15px;
	position: relative;
}

#world.plan .mainimg .pic .ttl h2:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}

#world.plan .details {
	background: #E7F0F2;
}


/*
----------------------------------------
campaign
----------------------------------------
*/

#campaign .page-ttl {
	padding: 30px 10px;
}

#campaign .page-ttl h1 {
	font-family: 'Dancing Script', cursive;
	background: url( ../img/campaign/campaign-ttl-bg.png ) center top no-repeat;
	background-size: 114px;
	padding: 30px 10px 15px 10px;
	margin-bottom: 20px;
	position: relative;
}

#campaign .page-ttl h1:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}

#campaign .page-ttl p {
	font-size: 1.2rem;
}

.campaign .ttl {
	font-family: 'Cinzel', serif;
	font-size: 1.6rem;
	padding: 5px;
}

.campaign-list {
	padding: 0 15px 30px 15px;
}

.campaign-list .sec {
	padding: 30px 0;
}

.campaign-list .sec h2 {
	font-size: 1.6rem;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	margin: 10px 0;
}

.campaign-list .sec h3 {
	display: inline-block;
	font-size: 1.3rem;
	border-bottom: solid 1px #000;
	padding: 5px;
	margin: 15px 3px;
}

.campaign-list .sec .plan-list {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

.campaign-list .sec .plan-list li {
	width: 50%;
	padding: 0 3px;
	box-sizing: border-box;
	margin-bottom: 6px;
}

.campaign-list .sec .plan-list li a {
	display: block;
	padding: 5px 10px;
	background: #eee url( ../img/common/arrow-01.png ) 95% center no-repeat;
	background-size: 5px;
	border-radius: 5px;
	text-align: left;
	transition: all .2s;
}

.campaign-list .sec .plan-list li a:hover {
	background: #ddd url( ../img/common/arrow-01.png ) 95% center no-repeat;
	background-size: 5px;
}


/*
----------------------------------------
voice
----------------------------------------
*/

#voice .voice-areainfo {
	padding: 0 20px;
	margin: 72px 0;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo {
		margin: 28px 0 15px;
	}
}

#voice .voice-areainfo__inner {
	max-width: 1000px;
	margin: 0 auto;
}

#voice .voice-areainfo__head {
	margin-bottom: 80px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__head {
    margin-bottom: 30px;
	}
}

#voice .voice-areainfo__ttl {
	font-size: 2.5rem;
	margin-bottom: 40px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__ttl {
		font-size: 1.8rem;
		margin: 13px 0;
	}
}

#voice .voice-areainfo__content {
	display: flex;
	justify-content: center;
	gap: 0 180px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__content {
		display: block;
	}
}

#voice .voice-areainfo__content-col {
	flex: 1 0 0px;
	width: 0px;
	max-width: 50%;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__content-col {
		width: auto;
		max-width: none;
	}

	#voice .voice-areainfo__content-col + .voice-areainfo__content-col {
		margin-top: 30px;
	}
}

#voice .voice-areainfo__subttl {
	font-size: 2.0rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__subttl {
		font-size: 1.6rem;
    margin-bottom: 10px;
	}
}

#voice .voice-areainfo__shoyo-txt {
	text-align: left;
	margin-bottom: 20px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__shoyo-txt {
		margin-bottom: 10px;
	}
}

#voice .voice-areainfo__shoyo-pic {
	text-align: center;
	margin-bottom: 20px;
}

#voice .voice-areainfo__shoyo-pic img {
	vertical-align: bottom;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__shoyo-pic {
		margin-bottom: 10px;
	}
}

#voice .voice-areainfo__map-btn a {
	display: block;
	width: 100%;
	max-width: 230px;
	margin: 0 auto;
	background: #000;
	color: #fff;
	padding: 10px 0;
}

#voice .voice-areainfo__list {
	margin-bottom: 20px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo__list {
		margin-bottom: 10px;
	}
}

#voice .voice-areainfo-item {
	text-align: left;
	display: flex;
	align-items: center;
	border-bottom: solid 1px rgba(34,36,38,.1);
	padding: 10px;
}

#voice .voice-areainfo-item:first-child {
	border-top: solid 1px rgba(34,36,38,.1);
}

#voice .voice-areainfo-item__ttl {
	flex: 0 0 130px;
}

@media screen and (max-width: 749px) {
	#voice .voice-areainfo-item__ttl {
    flex: 0 0 70px;
	}
}

#voice .voice-areainfo-item__data {
	flex: 1 0 0px;
}

#voice .page-ttl {
	padding: 15px 0 0 0;
}

#voice .page-ttl .cat-nav {
	padding-bottom: 5px;
	margin-top: 10px;
}

#voice .voice-areainfo__detail {
	text-align: left;
}

#voice .voice-ttl {
	font-size: 2.5rem;
	margin: 20px 0;
}

@media screen and (max-width: 749px) {
	#voice .voice-ttl {
		font-size: 1.8rem;
		margin: 13px 0;
	}
}

#voice .other-post {
	margin-top: 20px;
	padding: 10px 0;
	background: #f3f3f3;
}

#voice .other-post .voice-list {
	margin-top: 10px;
}

#voice .voice-box {
	background: transparent;
	padding-bottom: 0;
}

#voice .new-post {
	position: relative;
}

#voice .new-post figure {
	display: inline-block;
	position: relative;
}

#voice .new-post figure:before {
	content: '';
	width: 80px;
	height: 80px;
	background: url( ../img/common/new-icon.png ) left top no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
}

#voice .post {
	text-align: left;
}

#voice #contents .post figure {
	text-align: center;
}

#voice .post-header {
	margin: 0 15px;
	position: relative;
	text-align: left;
}

#voice .post-header .cat-list {
	margin-bottom: 5px;
}

#voice .post-header .name {
	position: absolute;
	right: 15px;
	top: 0;
	color: #777;
	font-size: 1rem;
}
@media screen and (max-width: 750px) {
	#world .photoplace .attention {
		font-size: 10px;
	}

	#world .photoplace .tagline {
		margin: 20px 0;
	}

	#world .txt .wrap .include img {
    width: 80%;
    margin-bottom: 30px;
  }
	#voice .post-header .name {
		position: static;
	}
}

#voice #contents .post-header h1 {
	font-size: 1.4rem;
	margin-bottom: 5px;
}

#voice .post-header .btn-02 {
	text-align: center;
}

#voice .post-contents {
	padding: 0 15px;
}

#voice .voice-faq {
	padding-top: 20px;
	margin-top: 15px;
	border-top: solid 1px #000;
}

#voice .voice-faq dt {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 10px;
	font-size: 1.2rem;
}

#voice .voice-faq dt span {
	display: inline-block;
	width: 6rem;
	padding: 12px 0;
	box-sizing: border-box;
	text-align: center;
	background: #8C2337;
	color: #fff;
	font-family: 'Cinzel', serif;
	font-size: 1rem;
	margin-right: 10px;
}

#voice .voice-faq dt span.l2 {
	padding: 5px 0;
	line-height: 1.6;
}

#voice .voice-faq dd {
	padding-bottom: 30px;
	margin-bottom: 30px;
	position: relative;
}

#voice .voice-faq dd:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX( -59% );
}

#voice .voice-faq dd:last-of-type:after {
	display: none;
}

#voice .gallery h3 {
	background: #CCA37A;
	color: #fff;
	text-align: center;
	font-size: 1.6rem;
	padding: 2px;
}


/*
----------------------------------------
not-found
----------------------------------------
*/

#not-found .page-ttl .pic {
	background: url( ../img/contact/contact-ttl.png ) center center no-repeat;
	background-size: cover;
}

#not-found section {
	padding: 20px 15px 40px 15px;
}

#not-found section h2.en {
	font-size: 2rem;
	padding-bottom: 15px;
	margin-bottom: 20px;
	position: relative;
}

#not-found section h2.en:after {
	content: '';
	width: 80px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
}
#form-box textarea {
	height: 210px;
}
@media screen and (max-width: 750px) {
#form-box textarea {
	height: 150px;
}
}


/*
----------------------------------------
trip-PHOTO
----------------------------------------
*/

#trip-photo .sec-01 .mainimg .pic {
	/* background: url( ../img/plan/guzyohachiman-ss.png ) center center no-repeat;
	background-size: cover; */
}
#trip-photo .sec-02 .mainimg .pic {
	/* background: url( ../img/plan/sakusima-ss.png ) center center no-repeat;
	background-size: cover; */
}
#trip-photo h3 .cinzel {
  font-family: 'Cinzel', serif;
}
#trip-photo #contents .txt .wrap {
  position: relative;
}
#trip-photo #contents .txt .wrap .bnr-camp {
  position: absolute;
  top: -190px;
  left: 33%;
}
@media screen and (max-width: 750px) {
  #trip-photo #contents .txt .wrap .bnr-camp {
		left: 50%;
		transform: translateX(80px);
    width: 70px;
	}
  #trip-photo #contents .txt .wrap .bnr-camp._align01 {
    top: 45px;
  }
  #trip-photo #contents .txt .wrap .bnr-camp._align02 {
    top: 35px;
  }
}
@media screen and (max-width: 600px) {
	#hawaii .txt .wrap .bnr-camp {
    top: 20%;
    left: 75%;
    width: 23%;
  }
}
@media screen and (max-width: 470px) {
	#hawaii #contents .txt .wrap .bnr-camp {
    top: 53%;
    left: 69%;
    width: 27%;
  }
}
#trip-photo.plan .mainimg .pic:after {
	width: 50%;
}
#trip-photo .sec-01 .pic .sub {
	color: #e0d05c;
}

#trip-photo .sec-02 .pic .sub {
	color: #c7add9;
}
.plan .schedule h3 {
	font-family: 'Cinzel', serif;
	font-size: 2rem;
	margin-bottom: 25px;
}
#trip-photo .schedule{
	margin-bottom: 20px;
	padding-left: 20px;
	max-width: 1200px;
	margin: 0px auto;
}
#trip-photo .schedule_box{
	display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
#trip-photo .schedule_box p.tugi{
	color: #a2855e;
	align-self: center;
	padding-bottom: 6%;
	font-size: 1.7em;
}
#trip-photo .schedule_box p.op03 ,
#trip-photo .schedule_box p.op06{
	opacity: 0;
}
#trip-photo .schedule_img{
	width: 30%;
	position: relative;
}
#trip-photo .schedule_box p.time{
	position: absolute;
	top: 4%;
	left: 20px;
	padding: 0 5px;
	background-color: rgba(255,255,255,0.7);
}
#trip-photo p.time_text{
  border-bottom: solid 1px #aaa;
  padding: 3px;
  margin-bottom: 50px;
}
#trip-photo p.tyui{
	padding-right: 10px;
	text-align: left;
	margin-bottom: 70px;
}



@media screen and (max-width: 470px){
	#trip-photo .schedule_box p.tugi{
		padding-bottom: 12%;
		font-size: 1.5em;
	}
	#trip-photo .schedule_box p.op03{
		opacity: 1;
	}
	#trip-photo .schedule_box p.op02 ,
	#trip-photo .schedule_box p.op04{
		opacity: 0;
	}
	#trip-photo .schedule_img{
		width: 45%;
	}
	#trip-photo .schedule_box p.time{
		left: 5px;
	}
	#trip-photo p.time_text{
	  margin-bottom: 20px;
	}
	#trip-photo p.tyui{
		margin-bottom: 50px;
	}
}


/*
----------------------------------------
200604追加_お客様の声リンクボタン
----------------------------------------
*/

.planlink-btn{
	max-width: 668px;
	background: #3fb0bc;
	border: 1px solid #3fb0bc;
	padding: 4px;
	margin: 0 auto;
	transition: all .3s;
}

@media (max-width: 767px){
	.planlink-btn{
		padding: 2px;
		margin: 10px 10px 0;
	}
}

.planlink-btn:hover{
	background: #FFF;
}

.planlink-btn a{ 
	display: block;
	color: #FFF;
	text-align: center;
	border: 1px solid #FFF;
	padding: 6px 0;
}

@media (max-width: 767px){
	.planlink-btn a{ 
		font-size: 14px;
		padding: 8px 0;
	}
}

.planlink-btn:hover a{
	color: #3fb0bc;
}

.planlink-btn a i{ 
	margin-left: 6px;
}

@media (max-width: 767px){
	.planlink-btn a i{ 
		font-size: 12px;
	}
}



#booking_client-fieldset table td label {
	white-space: nowrap;
}

@media screen and (max-width: 750px) {
	#booking_client-fieldset table td label {
		display: block;
		line-height: 1.4;
		margin-bottom: .8rem;
	}
}

.booking-message-fieldset__small {
	font-size: 1.3rem;
}

.booking-message-fieldset__small2 {
	font-size: 1.3rem;
}

@media screen and (max-width: 750px) {
	.booking-message-fieldset__small2 {
    margin-left: 1.2rem;
	}
}

/*
----------------------------------------
ロケーションスポット一覧
----------------------------------------
*/

.location-spot-list {
    max-width: 1200px;
    margin: 0 auto 30px;
    border-top: 0;
    padding: 0 20px;
}

.location-spot-list__ttl {
	border-bottom: solid 1px #000;
    margin-bottom: 20px;
    padding-bottom: 6px;
}

.location-spot-list__ttl h2 {
	font-size: 16px;
	margin-bottom: 6px;
}

.location-spot-list__ttl .en {
	font: 12px 'Josefin Sans', sans-serif;
}

.location-spot-list__ttl .en span {
	display: inline-block;
	font-size: 11px;
    margin-left: 2rem;
}

.location-spot-list__desc {
	margin-bottom: 2em;
}

.location-spot-list > ul {
	display: grid;
	grid-template-columns: 49% 49%;
	justify-content: space-between;
	row-gap: 10px;
}

.location-spot-list > ul > li {
	width: 100%;
}

.location-spot-list > ul > li figure {
	position: relative;
	width: 100%;
	padding-top: 50%;
}

.location-spot-list > ul > li figure a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
    line-height: .5;
}

.location-spot-list > ul > li figure a img {
	width: 100%;
    height: 100%;
	object-fit: cover;
    opacity: .8;
    transition: all .2s;
}

.location-spot-list > ul > li figure a .spot-name {
	display: block;
    position: absolute;
    top: 30%;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    line-height: 1.5;
    transition: all .2s;
}

.location-spot-list > ul > li figure a .spot-name .en {
	color: #fff;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 14px;
    font-weight: bold;
    position: relative;
}

.location-spot-list > ul > li figure a .spot-name .jp {
	font-size: 10px;
    font-weight: bold;
    position: relative;
}



.location-desc {
	margin-bottom: 15px;
}

.location-desc__pics {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-top: 15px;
}

.location-desc__pic img {
	max-width: 100%;
	display: block;
}

/*
------------------------------------------
20250709 オプション - シリーズのレイアウト編集
------------------------------------------
*/

.c-series {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	margin-top: 35px;
	margin-bottom: 15px;
}

.c-series-content {
	width: 100%;
	font-size: 1rem;
}

.c-series-content:not(:first-child) {
	margin-top: 40px;
}

.c-series-content__body:not(:first-child) {
	margin-top: 50px;
}

.c-series-content__txt {
	margin-top: 20px;
	padding: 0 20px;
	font-size: 1.4rem;
}

.c-series-content__list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 40px;
	padding: 0 20px;
}

.c-series-item {
	width: 100%;
}

.c-series-item__txt .heading-06 {
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: 1.6rem;
	text-align: left;
	border-bottom: 1px solid #000;
}

.c-series-item__txt .heading-06 span.small {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 1rem;
	color: #777;
}

.c-series-item__ttl {
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: 1.6rem;
	text-align: left;
    border-bottom: solid 1px #000;
}

.c-series-item__ttl span {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 1.4rem;
    letter-spacing: 4px;
}

.c-series-item__pic {
	width: 100%;
	max-width: calc(100% - 40px);
	margin-inline: auto;
}

.c-series-item__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-series-price {
	margin-top: 10px;
	padding: 0 40px;
	text-align: right;
}

@media screen and (max-width: 750px) {
	.c-series-content__list {
		grid-template-columns: 100%;
	}

	.c-series-item {
		font-size: 1.1rem;
	}
	
	.c-series-item__ttl {
		text-align: center;
	}

	.c-series-content__txt {
		font-size: 1.1rem;
	}

	.c-series-item__pic {
		max-width: 100%;
	}

	.c-series-price {
		padding: 0 20px;
		font-size: 1.1rem;
	}
}

#option .gallery {
	margin-bottom: 50px;
}

#option .gallery h3 {
	background: #CCA37A;
    color: #fff;
    text-align: center;
	font-size: 2rem;
	padding: 5px;
}

#option .gallery .img-list figure {
	aspect-ratio: 1/1;
}

#option .gallery .img-list figure a {
	width: 100%;
	height: 100%;
	display: block;
}

#option .gallery .img-list figure a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 750px) {
	#option .gallery h3 {
		font-size: 1.6rem;
		padding: 2px;
	}
}

#option .sec-intro__pic {
	margin-top: 20px;
}

#option .sec-intro__pic img {
	width: 100%;
	max-width: 600px;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 750px) {
	#option .sec-intro__pic img {
		max-width: 100%;
	}
}