/* コンボの共通設定
----------------------------------------------- */
.combo{
	position:relative;
	z-index:1;
}
.combo a{
	text-decoration:none;
	display:block;
}
section.combo .comboimg{
	display:block;
	width:100%;
	text-decoration:none;
	background-repeat:no-repeat;
	background-position:center center;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	background-size:cover;
}
section.photocombo figure,
section.combo div.combobtnwrap{
	display:block;
	background-repeat:no-repeat;
	background-position:center center;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	background-size:cover;
}
section.combo .target::before{
	position:absolute;
	content:"";
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:block;
}
section.combo.ab-dark .target::before{
	background-color:rgba(0,0,0,0.5);
	background-image:radial-gradient(#000 10%, transparent 1px), radial-gradient(#000 10%, transparent 1px);
	background-position:0 0, 2px 2px;
}
section.combo.ab-dark,
section.combo.ab-dark a,
section.photocombo.ab-dark,
section.photocombo.ab-dark a{
	color:#FFF;
}
section.combo.ab-light .target::before{
	background-color:rgba(255,255,255,0.7);
	background-image:radial-gradient(#FFF 10%, transparent 1px), radial-gradient(#FFF 10%, transparent 1px);
	background-position:0 0, 2px 2px;
}
section.combo.ab-light,
section.combo.ab-light a,
section.photocombo.ab-light,
section.photocombo.ab-light a{
	color:#333;
}
.line{
	position:relative;
	z-index:1;
}
.combo dl dt,
.combo dl dd{
	position:relative;
	z-index:2 !important;
}
.line::after{
	position:absolute;
	display:block;
	content:"";
	z-index:1;
	border:solid 2px;
	box-sizing:border-box;
}
.line.ab-light::after,
.ab-light .line::after{
	border-color:rgba(51,51,51,0.5);
}
.line.ab-dark::after,
.ab-dark .line::after{
	border-color:rgba(255,255,255,0.5);
}
.line .btn{
	position:relative;
	z-index:1;
}
section.combo dl dt,
section.photocombo dl dt,
section.tablecombo dl.blocktitle dt,
section.listcombo dl.blocktitle dt{
	font-family:'Bai Jamjuree', sans-serif;
	font-weight:400;
}
section.combo dl dt p,
section.photocombo dl dt p,
section.tablecombo dl.blocktitle dt p,
section.listcombo dl.blocktitle dt p{
	font-family:'Noto Serif JP', serif;
	font-weight:500;
}
.combo .container{
	display:table;
	table-layout:fixed;
	width:100%;
}
section.combo div.combobtnwrap div.combobtn{
	display:table;
	table-layout:fixed;
	width:100%;
	margin:0 auto;
	position:relative;
	z-index:2;
}
section.combo div.combobtnwrap div.combobtn a{
	display:table-cell;
	vertical-align:middle;
	text-decoration:none;
	text-align:center;
	width:100%;
}
section.combo.ab-light div.combobtnwrap div.combobtn{
	background-color:#FFF;
}
section.combo.ab-light div.combobtnwrap div.combobtn a{
	background-color:#333;
	color:#FFF;
}
section.combo.ab-dark div.combobtnwrap div.combobtn{
	background-color:#333;
}
section.combo.ab-dark div.combobtnwrap div.combobtn a{
	background-color:#FFF;
	color:#333;
}
section.combo div.grwrap{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:-1;
}
section.combo div.grwrap::before{
	display:none;
}
section.combo.ab-dark.gradation dl{
	background:url(../img/bg/dot_01.png) repeat rgba(0,0,0,0.2);
}
section.combo.ab-light.gradation dl{
	background:url(../img/bg/dot_02.png) repeat rgba(255,255,255,0.2);
}
section.tablecombo{
	position:relative;
	z-index:1;
	display:block;
	background-repeat:no-repeat;
	background-position:center center;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	background-size:cover;
}
section.tablecombo.tablebgimg::before{
	position:absolute;
	content:"";
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:block;
}
section.tablecombo.tablebgimg.ab-light{
	color:#333;
}
section.tablecombo.tablebgimg.ab-dark{
	color:#FFF;
}
section.tablecombo.tablebgimg.ab-light::before{
	background:url(../img/bg/dot_02.png) repeat rgba(255,255,255,0.75);
}
section.tablecombo.tablebgimg.ab-dark::before{
	background:url(../img/bg/dot_01.png) repeat rgba(0,0,0,0.75);
}
section.tablecombo > *{
	position:relative;
	z-index:2;
}
section.combo.wrapbtn dl dd::before{
	content:"more";
	position:absolute;
	z-index:2;
	left:50%;
	font-family:'Raleway', sans-serif;
	font-weight:400;
	-webkit-transform:translate(-50%,0);
	-moz-transform:translate(-50%,0);
	-ms-transform:translate(-50%,0);
	-o-transform:translate(-50%,0);
	transform:translate(-50%,0);
}
section.combo.wrapbtn dl dd::after{
	content:"";
	position:absolute;
	z-index:1;
	left:50%;
	width:10px;
	height:10px;
	border:1px solid;
	-webkit-transform:rotate(45deg) translate(-50%,0);
	-moz-transform:rotate(45deg) translate(-50%,0);
	-ms-transform:rotate(45deg) translate(-50%,0);
	-o-transform:rotate(45deg) translate(-50%,0);
	transform:rotate(45deg) translate(-50%,0);
}
section.combo.wrapbtn.ab-light dl dd::after{
	border-color:transparent #333 #333 transparent;
}
section.combo.wrapbtn.ab-dark dl dd::after{
	border-color:transparent #FFF #FFF transparent;
}
@media screen and ( max-width:767px){
	/* SMARTPHONEの設定
	----------------------------------------------- */
	html.combofixed{
		height:100%;
	}
	html.combofixed,
	html.combofixed body{
		overflow:hidden !important;
	}
	div.combooverlay{
		position:fixed;
		top:0;
		right:0;
		bottom:0;
		left:0;
		width:100vw;
		height:100vh;
		display:block;
		z-index:2;
		display:none;
	}
	.menucombobtn{
		float:right;
		margin:0 10px 0 0;
	}
	dl.combobigtitle dt{
		padding:30px 20px 10px 20px;
		font-size:24px;
	}
	dl.combobigtitle dd{
		font-size:11px;
		padding:10px 15px 0 15px;
	}
	dl.combotitle{
		padding:30px 0 10px 0;
	}
	dl.combotitle dt{
		padding:5px 20px;
		font-size:18px;
		white-space:pre-line;
	}
	dl.combotitle dt span{
		font-size:14px;
		display:block;
	}
	dl.combotitle dd{
		padding:10px 15px 0 15px;
		font-size:11px;
	}
	dl.formbigtitle dt{
		padding:60px 0 0 0;
		font-size:10vw;
		font-family:'Cormorant Garamond', serif;
		font-weight:700;
		text-align:center;
	}
	dl.formbigtitle dt p{
		font-family:'Sawarabi Mincho';
		font-weight:400;
		font-size:5vw;
	}
	dl.formbigtitle dd{
		display:block;
		width:100%;
		font-size:12px;
		font-weight:300;
		text-align:center;
		box-sizing:border-box;
	}
	dl.formbigtitle dd p{
		padding:10px 0 0 0;
	}
	body section.wrap{
		padding:60px 0 0 0;
	}
	body.top section.wrap{
		padding:0;
	}
	body.type_02.top section.container{
		padding:60px 0 0 0;
	}
}
@media (orientation: landscape) and (max-width: 767px){
}
@media screen and (min-width:768px) and ( max-width:1099px){
	/* TABLETの設定
	----------------------------------------------- */
	html.combofixed{
		height:100%;
	}
	html.combofixed,
	html.combofixed body{
		overflow:hidden !important;
	}
	div.combooverlay{
		position:fixed;
		top:0;
		right:0;
		bottom:0;
		left:0;
		width:100vw;
		height:100vh;
		display:block;
		z-index:2;
		display:none;
	}
}
@media (orientation: landscape) and (min-width:768px) and ( max-width:1099px){
}
@media screen and (min-width:1100px){
	div.combooverlay{
	}
	dl.combobigtitle{
	}
	dl.combobigtitle dt{
		padding:60px 20px 0 20px;
		font-size:32px;
	}
	dl.combobigtitle dd{
		font-size:14px;
	}
	dl.combotitle{
		padding:30px 0 10px 0;
	}
	dl.combotitle dt{
		padding:5px 20px;
		font-size:24px;
	}
	dl.combotitle dd{
		font-size:14px;
	}
	body section.wrap{
		padding:100px 0 0 0;
	}
	body.top section.wrap{
		padding:0;
	}
	section.columncontainer{
		display:table;
		width:1100px;
		table-layout:fixed;
		margin:0 auto;
	}
	body.type_02.top section.container{
		padding:100px 0 0 0;
	}
	section.columncontainer > section{
		display:table-cell !important;
		vertical-align:top;
	}
	section.columncontainer section.maincolumn{
		position:relative;
		z-index:1;
	}
	section.columncontainer section.maincolumn::before{
		position:absolute;
		top:0;
		bottom:0;
		width:1px;
		content:"";
		background-color:rgba(204,204,204,0.5);
		left:0;
		z-index:2;
	}
	section.columncontainer section.sidecolumn{
		width:300px;
		position:relative;
		z-index:1;
		box-sizing:border-box;
	}
	section.columncontainer section.sidecolumninner{
		width:300px;
	}
	section.columncontainer section.sidecolumninner.fixed-column{
		position:fixed;
		top:100px;
	}
	section.columncontainer section.sidecolumninner.fixed-bottom-column{
		position:fixed;
		bottom:0;
	}
	section.columncontainer section.sidecolumninner.bottom-column{
		position:absolute;
		bottom:0;
	}
	section.columncontainer section.sidecolumninner.static-column{
		position:static;
	}
	section.blockwrap.sidelist ul:not(.swipemenu){
		padding:0 20px;
	}
}