@charset "utf-8";


/*---------------------------------------------------------------------------------------
	Overall settings
----------------------------------------------------------------------------------------*/

body{
	font-family: source-han-sans-cjk-ja, sans-serif;
	font-weight: 400;
	color:#000;
	text-align:center;
	overflow-x: hidden;
}
.switch{}
a{ color:#000; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .6; text-decoration:none;}
img.imgalpha, .svg path, .svg polygon{ -webkit-transition: all .2s; transition: all .2s;}
.svg{ vertical-align: middle;}
/* font */
.gothic{ font-family: source-han-sans-cjk-ja, sans-serif;}
.mincho{ font-family: a-otf-midashi-mi-ma31-pr6n, serif;}
.mincho2{ font-family: source-han-serif-japanese, serif;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 559px) {
	body{
		font-size: 14px;
	}
}






/*---------------------------------------------------------------------------------------
	header
----------------------------------------------------------------------------------------*/

header{}
header h1{ position: absolute; right: 45px; top: 145px; z-index: 1;}
header.top h1{ display: none;}
header p#menuicon{ position: fixed; right: 0; top: 0; width: 95px; height: 85px; z-index: 9999; cursor: pointer;}
header p#menuicon span{ display: inline-block; position: absolute; left: 40px; width: 35px; height: 3px; background: #000; transition: all .4s; cursor: pointer;}
header.top p#menuicon span,
header.open p#menuicon span{ background: #fff!important;}
header p#menuicon span:nth-of-type(1){ top: 30px;}
header p#menuicon span:nth-of-type(2){ top: 41px;}
header p#menuicon span:nth-of-type(3){ top: 52px;}
header.open p#menuicon span:nth-of-type(1){ -webkit-transform: translateY(11px) rotate(-45deg); transform: translateY(11px) rotate(-45deg);}
header.open p#menuicon span:nth-of-type(2){ opacity: 0;}
header.open p#menuicon span:nth-of-type(3){ -webkit-transform: translateY(-11px) rotate(45deg); transform: translateY(-11px) rotate(45deg);}
header nav{
	position: fixed;
	right: 0;
	top: 0;
	width: 50%;
	height: 100vh;
	background: #000;
	transform: translate3d(100%, 0, 0);
	transition: width 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	z-index: 999;
}
header.open nav{ animation: 1s header-menu-in cubic-bezier(0.19, 1, 0.22, 1) forwards;}
header.close nav{ animation: 1s header-menu-out cubic-bezier(0.19, 1, 0.22, 1) forwards;}
@keyframes header-menu-in {
	0% { transform: translate3d(100%, 0, 0); visibility: visible;}
	100% { transform: translate3d(0, 0, 0); visibility: visible;}
}
@keyframes header-menu-out {
	0% { transform: translate3d(0, 0, 0); visibility: visible;}
	100% { transform: translate3d(100%, 0, 0); visibility: hidden;}
}
header nav .navwrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}
header nav .navwrap p{
	width: 100%;
	vertical-align: middle;
}
header nav .navwrap p img{
	width: 80px;
}
header nav .navwrap ul{
	vertical-align: middle;
}
header nav .navwrap ul li{
	padding-top: 30px;
	color: #fff;
	font-size: 22px;
}
header nav .navwrap ul li a{
	color: #fff;
}
header nav .navwrap ul li span{
	display: block;
	font-size: 16px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 559px) {
	header h1{ right: 30px; top: 45px;}
	header h1 img{ width: 80px;}
	header p#menuicon{ width: 70px; height: 60px;}
	header p#menuicon span{ display: inline-block; position: absolute; left: 18px; width: 35px; height: 3px; background: #000; transition: all .4s; cursor: pointer;}
	header.top p#menuicon span{ background: #fff;}
	header p#menuicon span:nth-of-type(1){ top: 15px;}
	header p#menuicon span:nth-of-type(2){ top: 26px;}
	header p#menuicon span:nth-of-type(3){ top: 37px;}
	header nav{
		width: 100%;
	}
	header nav .navwrap{
		overflow-y: scroll;
	}
	header nav .navwrap ul li{
		padding-top: 20px;
		font-size: 18px;
	}
	header nav .navwrap ul li span{
		font-size: 12px;
	}
}






/*---------------------------------------------------------------------------------------
	contents
----------------------------------------------------------------------------------------*/

#contents{}
.wrap{
	clear: both;
	box-sizing: content-box;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
}
/* btn */
.btn1{
	display: inline-block;
	width: 100%;
	max-width: 420px;
	padding: 15px 50px 19px;
	color: #fff;
	font-size: 20px;
	line-height: 1.3;
	background: url("../images/arrow-right.svg") right 30px center no-repeat #c7b46c;
	border-radius: 100px;
}
.btn1-small{
	display: inline-block;
	width: 100%;
	max-width: 420px;
	padding: 12px 20px 15px;
	color: #fff;
	font-size: 14px;
	letter-spacing: .05em;
	line-height: 1.3;
	background: url("../images/arrow-right.svg") right 10px center / 6px auto no-repeat #c7b46c;
	border-radius: 100px;
}
/* titlearea */
.titlearea{
	position: relative;
	margin-bottom: 60px;
}
.titlearea:before{
	display: block;
	content: "";
	height: 399px;
	background: url("../images/titlearea.jpg") center / cover no-repeat;
	margin-right: 92px;
}
.titlearea h2{
	float: left;
	margin-top: -58px;
	margin-right: 20px;
	padding: 30px;
	width: 60%;
	max-width: 425px;
	color: #fff;
	font-size: 32px;
	text-align: center;
	line-height: 1.3;
	background: #000;
}
.titlearea ol{
	text-align: left;
	overflow: hidden;
	padding-top: 12px;
	font-size: 12px;
}
.titlearea ol li{
	display: inline-block;
	vertical-align: top;
}
.titlearea ol li:not(:last-child):after{
	content: "＞";
	margin: 0 .2em;
}
.subtitle{
	font-size: 26px;
	line-height: .8;
	letter-spacing: .2em;
	font-weight: normal;
	text-align: center;
	position: relative;
	padding-bottom: 30px;
}
.subtitle span{
	line-height: 1.3;
}
.subtitle:before,.subtitle:after{
	content: "";
	height: 4px;
	position: absolute;
	bottom: 0;
}
.subtitle:before{
	width: 80px;
	right: 0;
	left: 0;
	margin: 0 auto;
	display: block;
	background: #c7b46c;
}
.subtitle:after{
	width: 40px;
	right: 50%;
	background: #e60012;
}
.subtitle small{
	font-size: 12px;
	letter-spacing: 0;
}
.subtitle2{
	font-size: 26px;
	letter-spacing: .1em;
	padding-bottom: 5px;
	border-bottom: 2px solid #dcdcdc;
	position: relative;
}
.subtitle2:before{
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 150px;
	height: 2px;
	display: block;
	background: #e60012;
}
/* link */
ul.link2,
ul.link3{
	font-size: 26px;
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
ul.link2 li{
	width: 32.9%;
	margin-bottom: 10px;
}
ul.link2 li:first-child{
	width: 63.6%;
}
ul.link3 li{
	width: 31%;
	margin-bottom: 10px;
}
ul.link2 li span, ul.link2 li a,
ul.link3 li span, ul.link3 li a{
	font-size: 26px;
	display: inline-block;
	border-radius: 100px;
	padding: 15px 45px 19px;
	line-height: 1.3;
	background: #c7b46c;
	width: 100%;
}
ul.link2 li span,
ul.link3 li span{
	color: #fff;
	border: 1px solid #c7b46c;
}
ul.link2 li a,
ul.link3 li a{
	background: url("../images/arrow-right-beige.svg") right 30px center no-repeat;
	border: 1px solid #c7b46c;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 559px) {
	/* btn */
	.btn1{
		padding: 10px 20px 12px;
		font-size: 14px;
		background: url("../images/arrow-right.svg") right 20px center no-repeat #c7b46c;
	}
	.btn1-small{
		padding: 10px 20px 12px;
		background: url("../images/arrow-right.svg") right 20px center no-repeat #c7b46c;
	}
	/* titlearea */
	.titlearea{
		margin-bottom: 40px;
	}
	.titlearea:before{
		height: 200px;
		background: url("../images/titlearea.jpg") center / cover no-repeat;
		margin-right: 70px;
	}
	.titlearea h2{
		margin-top: -30px;
		margin-right: 0;
		padding: 15px;
		width: 70%;
		font-size: 20px;
	}
	.titlearea ol{
		clear: both;
		padding: 10px 3% 0;
	}
	.titlearea ol li{
		display: inline-block;
		vertical-align: top;
	}
	.titlearea ol li:not(:last-child):after{
		content: "＞";
		margin: 0 .2em;
	}
	.subtitle{
		font-size: 20px;
		padding-bottom: 15px;
	}
	.subtitle:before,.subtitle:after{
		height: 2px;
	}
	.subtitle:before{
		width: 100px;
	}
	.subtitle:after{
		width: 50px;
	}
	.subtitle small{
		font-size: 10px;
	}
	.subtitle2{
		font-size: 20px;
		padding-bottom: 5px;
	}
	.subtitle2:before{
		width: 100px;
	}
	/* link */
	ul.link2,
	ul.link3{
		font-size: 16px;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	ul.link3 li{
		width: 32%;
	}
	ul.link2 li{
		width: 40%;
	}
	ul.link2 li:first-child{
		width: 56%;
	}
	ul.link2 li a,ul.link3 li a{
		background: url("../images/arrow-right-beige.svg") right 8px center / 8px auto no-repeat;
	}
	ul.link2 li span,ul.link2 li a,
	ul.link3 li span,ul.link3 li a{
		font-size: 16px;
		padding: 10px;
	}
}






/*---------------------------------------------------------------------------------------
	footer
----------------------------------------------------------------------------------------*/

footer{
	clear: both;
	overflow: hidden;
}
footer #pagetop{
	height: 50px;
	margin-bottom: 30px;
	background: url("../images/pagetop.svg") center no-repeat #e60012;
	cursor: pointer;
	 -webkit-transition: all .2s;
	transition: all .2s;
}
footer #pagetop:hover{
	opacity: .7;
}
footer .leftcol{
	float: left;
	padding-left: 3%;
	margin-bottom: 20px;
}
footer .leftcol p{
	margin-bottom: 15px;
}
footer .leftcol dl,
footer .leftcol dl dd{
	overflow: hidden;
}
footer .leftcol dl dt{
	float: left;
	margin-right: 1em;
}
footer .leftcol dl dd a{
	display: inline-block;
	margin-right: 8px;
	vertical-align: middle;
}
footer .leftcol dl dd a img{
	width: 27px;
	border-radius: 5px;
}
footer .rightcol{
	float: right;
	padding-right: 3%;
	padding-bottom: 20px;
	overflow: hidden;
}
footer .rightcol ul{
	float: left;
	margin-left: 50px;
	font-size: 12px;
	text-align: left;
}
footer .rightcol ul li{
	padding-left: 1.3em;
	position: relative;
}
footer .rightcol ul li:before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 10px;
	height: 2px;
	background: #e60012;
}
footer .rightcol ul li.sub{
	margin-left: 1.3em;
}
footer .rightcol p{
	clear: both;
	padding-top: 60px;
	text-align: right;
}
footer #copy{
	clear: left;
	font-size: 10px;
	text-align: left;
	padding-left: 3%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	footer .leftcol{
		float: none;
		padding: 0 3%;
		margin-bottom: 20px;
	}
	footer .leftcol p{
		margin-bottom: 15px;
	}
	footer .leftcol dl dt{
		display: block;
		float: none;
		margin-bottom: 5px;
	}
	footer .leftcol dl dd{
		display: inline-block;
		vertical-align: top;
	}
	footer .leftcol dl dd a img{
		width: 40px;
	}
	footer .rightcol{
		float: none;
		padding: 0 3% 20px;
	}
	footer .rightcol ul{
		float: none;
		margin: 0 10px;
		font-size: 14px;
		display: inline-block;
		vertical-align: top;
	}
	footer .rightcol p{
		padding-top: 30px;
		text-align: center;
	}
	footer .rightcol p img{
		max-width: 150px;
	}
	footer #copy{
		clear: both;
		text-align: center;
		padding: 0 3%;
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 559px) {
}



















































/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	Sub-page settings
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------
	/
----------------------------------------------------------------------------------------*/

#top1{
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 768px;
	background: #000;
	overflow: hidden;
}
#top1 figure.pconly{
	display: table-cell;
	width: 50%;
	background: url("../images/top1.jpg") left center / cover no-repeat;
}
#top1 div{
	display: table-cell;
	width: 50%;
	color: #fff;
	font-size: 28px;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	position: relative;
}
#top1 div:after{
	display: inline-block;
	content: "";
	position: absolute;
	left: -145px;
	bottom: 15px;
	width: 400px;
	height: 116px;
	background: url("../images/top1-wave2.svg") center / cover no-repeat;
}
#top1 div h1{
	width: 230px;
	margin: 0 auto 80px;
	position: relative;
}
#top1 div h1 > img{
	width: 230px;
}
#top1 div h1:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: -217px;
	top: 288px;
	width: 306px;
	height: 133px;
	background: url("../images/top1-wave.svg") center / cover no-repeat;
}
#top1 div h1 span{
	position: absolute;
	left: -125px;
	top: 100px;
}
#top1 p{
	margin-bottom: 20px;
}
#top2{
	padding-top: 50px;
	padding-bottom: 50px;
}
#top2 a{
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 200px;
}
#top2 a span{
	display: table-cell;
	width: 50%;
	color: #fff;
	font-size: 36px;
	letter-spacing: .2em;
	line-height: 1;
	vertical-align: middle;
	background: url("../images/top2-bg.png") left bottom no-repeat #c7b46c;
	position: relative;
}
#top2 a span:after{
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translate(-50%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #962c13;
}
#top2 a:after{
	display: table-cell;
	content: "";
	width: 50%;
	background: url("../images/top2-img.jpg") center / cover no-repeat;
}
#top3{
	clear: both;
	overflow: hidden;
}
#top3 article{
	float: left;
	width: 33.333333%;
}
#top3 article h2 a{
	display: block;
	height: 270px;
	line-height: 300px;
	color: #fff;
	font-size: 36px;
	letter-spacing: .2em;
}
#top3 article:nth-child(1) h2 a{ background: url(../images/top3-img1.jpg) center top / cover no-repeat;}
#top3 article:nth-child(2) h2 a{ background: url(../images/top3-img2.jpg) center top / cover no-repeat;}
#top3 article:nth-child(3) h2 a{ background: url(../images/top3-img3.jpg) center top / cover no-repeat;}
#top3 article ul{
	width: 100%;
	overflow: hidden;
	background: #c7b46c;
}
#top3 article ul li{
	float: left;
	display: table;
	table-layout: fixed;
	width: 50%;
}
#top3 article:nth-child(2) ul li{ width: 33.333333%;}
#top3 article ul li a{
	display: table-cell;
	vertical-align: middle;
	height: 65px;
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
	padding: 0 25px 0 15px;
	background: url("../images/arrow-right.svg") right 15px center / no-repeat #c7b46c;
}
#top3 article ul li a.red{ background: url("../images/arrow-right.svg") right 15px center no-repeat #e60012;}
#top3 article ul li a.orange{ background: url("../images/arrow-right.svg") right 15px center no-repeat #d36529;}
#top3 article ul li a.gold{ background: url("../images/arrow-right.svg") right 15px center no-repeat #c7b46c;}
#top4{
	clear: both;
	overflow: hidden;
	padding-top: 80px;
	padding-bottom: 80px;
	background: url("../images/top4-bg.png") center top no-repeat;
}
#top4 h2{
	font-size: 46px;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1;
	margin-bottom: 50px;
}
#top4 figure{
	margin-bottom: 55px;
}
#top5{
	clear: both;
	padding: 80px 3% 45px;
	background: #c7b46c;
}
#top5 .wrap{
	padding: 0!important;
	position: relative;
}
#top5 .wrap:before{
	display: inline-block;
	content: "";
	position: absolute;
	right: -230px;
	top: -290px;
	width: 280px;
	height: 280px;
	background: url(../images/top5-bg1.png) center / cover no-repeat;
}
#top5 .wrap:after{
	display: inline-block;
	content: "";
	position: absolute;
	left: -223px;
	bottom: -113px;
	width: 378px;
	height: 166px;
	background: url(../images/top5-bg2.png) center / cover no-repeat;
}
#top5 a{
	display: table;
	table-layout: fixed;
	width: 100%;
	max-width: 850px;
	height: 170px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
#top5 a:before{
	display: table-cell;
	content: "";
	width: 50%;
	background: url("../images/top5-img.jpg") center / cover no-repeat;
}
#top5 a span{
	display: table-cell;
	width: 50%;
	color: #000;
	font-size: 32px;
	line-height: 1.3;
	vertical-align: middle;
	background: url("../images/top5-bg.png") right bottom no-repeat #fff;
	position: relative;
}
#top5 a span:after{
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	right: 100%;
	transform: translate(50%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 18px 10px 0;
	border-color: transparent #962c13 transparent transparent;
}
#top6{
	clear: both;
	padding-top: 60px;
	padding-bottom: 50px;
	overflow: hidden;
}
#top6 h2{
	float: left;
	width: 170px;
	margin-right: 40px;
	margin-bottom: 30px;
	padding-top: 10px;
	text-align: left;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1;
}
#top6 div{
	float: right;
	width: calc(100% - 210px);
	text-align: left;
}
#top6 div dl{
	clear: both;
	overflow: hidden;
	position: relative;
	padding: 10px 0 15px;
}
#top6 div dl:not(:last-child):before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: #dcdcdc;
}
#top6 div dl:not(:last-child):after{
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 90px;
	height: 2px;
	background: #e60012;
}
#top6 div dl dt{
	float: left;
	width: 130px;
}
#top6 div dl dd{
	overflow: hidden;
}
#top6 p{
	clear: left;
	float: left;
	width: 170px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	section#top{
		overflow-x: hidden;
	}
	#top1{
		display: block;
		height: auto;
	}
	#top1 div{
		display: block;
		width: auto;
		font-size: 28px;
	}
	#top1 div:after{
		content: none;
	}
	#top1 div h1{
		width: 200px;
		margin: 0 auto 150px;
		padding-top: 100px;
	}
	#top1 div h1 > img{
		width: 200px;
	}
	#top1 div h1:after{
		right: -230px;
		top: 370px;
	}
	#top1 div h1 span{
		position: absolute;
		left: -150px;
		top: 200px;
	}
	#top1 p{
		margin-bottom: 100px;
	}
	#top1 figure.sponly{
		clear: both;
		height: 280px;
		position: relative;
	}
	#top1 figure.sponly:after{
		display: inline-block;
		content: "";
		position: absolute;
		left: -30px;
		top: -50px;
		width: 280px;
		height: 80px;
		background: url("../images/top1-wave2.svg") center cover no-repeat;
	}
	#top2 a span{
		font-size: 28px;
	}
	#top3 article h2 a{
		font-size: 28px;
	}
	#top3 article ul li a{
		font-size: 16px;
		padding: 0 15px 0 5px;
		background: url("../images/arrow-right.svg") right 5px center / no-repeat #c7b46c;
	}
	#top3 article ul li a.red{ background: url("../images/arrow-right.svg") right 5px center no-repeat #e60012;}
	#top3 article ul li a.orange{ background: url("../images/arrow-right.svg") right 5px center no-repeat #d36529;}
	#top3 article ul li a.gold{ background: url("../images/arrow-right.svg") right 5px center no-repeat #c7b46c;}
}
@media screen and (max-width: 559px) {
	#top1 div{
		font-size: 18px;
	}
	#top1 div:after{
		content: none;
	}
	#top1 div h1{
		width: 100px;
		margin: 0 auto 80px;
		padding-top: 60px;
	}
	#top1 div h1 > img{
		width: 100px;
		z-index: 9;
		position: relative;
	}
	#top1 div h1:after{
		right: -75px;
		top: 200px;
		width: 175px;
		height: 77px;
	}
	#top1 div h1 span{
		left: -85px;
		top: 100px;
		width: 80px;
	}
	#top1 p{
		margin-bottom: 50px;
	}
	#top1 figure.sponly{
		clear: both;
		height: auto;
		position: relative;
	}
	#top1 figure.sponly:after{
		display: inline-block;
		content: "";
		position: absolute;
		left: -20px;
		top: -20px;
		width: 138px;
		height: 40px;
		background: url("../images/top1-wave2.svg") no-repeat;
		background-size: contain;
	}
	#top1 figure.sponly span{
		display: block;
		overflow: hidden;
	}
	#top1 figure.sponly span img{
		margin-bottom: -15%;
	}
	#top2{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	#top2 a{
		display: block;
		width: 100%;
		height: auto;
	}
	#top2 a span{
		display: block;
		width: auto;
		height: 100px;
		font-size: 24px;
		line-height: 100px;
		background-size: 250px auto;
	}
	#top2 a span:after{ content: none;}
	#top2 a span:before{
		display: inline-block;
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 20px 12px 0 12px;
		border-color: #962c13 transparent transparent transparent;
	}
	#top2 a:after{
		display: block;
		content: "";
		width: 100%;
		height: 100px;
		background: url("../images/top2-img.jpg") center / cover no-repeat;
	}
	#top3 article{
		float: none;
		width: auto;
	}
	#top3 article h2 a{
		height: 150px;
		line-height: 150px;
		font-size: 24px;
	}
	#top3 article ul li a{
		height: 50px;
		font-size: 14px;
		padding: 0 15px 0 5px;
		background: url("../images/arrow-right.svg") right 10px center / no-repeat #c7b46c;
	}
	#top3 article ul li a.red{ background: url("../images/arrow-right.svg") right 10px center no-repeat #e60012;}
	#top3 article ul li a.orange{ background: url("../images/arrow-right.svg") right 10px center no-repeat #d36529;}
	#top3 article ul li a.gold{ background: url("../images/arrow-right.svg") right 10px center no-repeat #c7b46c;}
	#top4{
		padding-top: 50px;
		padding-bottom: 50px;
		background: none;
	}
	#top4 h2{
		font-size: 30px;
		margin-bottom: 30px;
	}
	#top4 figure{
		padding: 0 8%;
		margin-bottom: 30px;
	}
	#top4 figure img{
		width: 100%;
		max-width: 300px;
	}
	#top4 p a.btn1{
		position: relative;
		z-index: 1;
	}
	#top5{
		padding: 50px 5% 50px;
		overflow: hidden;
	}
	#top5 .wrap:before{
		right: -70px;
		top: -155px;
		width: 140px;
		height: 140px;
	}
	#top5 .wrap:after{
		left: -40px;
		bottom: -84px;
		width: 189px;
		height: 83px;
	}
	#top5 a{
		display: block;
		height: auto;
	}
	#top5 a:before{ content: none;}
	#top5 a:after{
		display: block;
		content: "";
		height: 100px;
		background: url("../images/top5-img.jpg") center / cover no-repeat;
	}
	#top5 a span{
		display: block;
		width: auto;
		font-size: 24px;
		padding: 20px 0;
		background: url("../images/top5-bg.png") right bottom / 113px auto no-repeat #fff;
		position: relative;
	}
	#top5 a span:after{ content: none;}
	#top5 a span:before{
		display: inline-block;
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 20px 12px 0 12px;
		border-color: #962c13 transparent transparent transparent;
	}
	#top6{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#top6 h2{
		float: none;
		width: auto;
		margin-right: 0;
		margin-bottom: 10px;
		padding-top: 0;
		font-size: 24px;
	}
	#top6 div{
		float: none;
		width: auto;
		text-align: left;
		margin-bottom: 15px;
	}
	#top6 div dl dt{
		width: 90px;
	}
	#top6 div dl dd{
		overflow: hidden;
	}
	#top6 p{
		clear: both;
		float: none;
		width: auto;
	}
}






/*---------------------------------------------------------------------------------------
	feature/
----------------------------------------------------------------------------------------*/

#feature{
	text-align: left;
	font-size: 18px;
}
#feature .feature-ttl{
	width: 94px;
}
#feature .txt div{
	width: 80%;
}
#feature .txt p{
	line-height: 2;
}
#feature .btn1-small{
	font-size: 16px;
    max-width: 320px;
	width: 100%;
    padding: 12px 30px 15px;
    background: url(../images/arrow-right.svg) right 25px center / 6px auto no-repeat #c7b46c;
}
#feature1{
	background: url(../images/feature-bg1.png) right 11% top 10px no-repeat,
				url(../images/feature-bg2.png) left 3% bottom 115px no-repeat,
				url(../images/feature-bg3.png) left 48% bottom 0 no-repeat,
				url(../images/feature-bg4.png) right 4% bottom 10px no-repeat;
	margin-bottom: 85px;
}
#feature1 .txt{
	float: right;
	width: 47%;
}
#feature1 .txt .feature-ttl{
	float: right;
}
#feature1 .txt div{
	float: left;
	padding-top: 125px;
}
#feature1 figure{
	float: left;
	width: 46%;
	padding-top: 40px;
}
#feature2{
	background: url(../images/feature-bg4.png) right 50% bottom 160px no-repeat,
				url(../images/feature-bg3.png) left 46% bottom 85px no-repeat;
	position: relative;
	padding-bottom: 110px;
}
#feature2:before{
	content: "";
	position: absolute;
	display: block;
	top: 25px;
	right: 6%;
	width: 47px;
	height: 96px;
	background: url(../images/feature-bg5.png) center no-repeat;
}
#feature2 .abs1{
	position: absolute;
	top: 110px;
	left: 36%;
}
#feature2 .txt{
	float: left;
	width: 50%;
}
#feature2 .txt .feature-ttl{
	float: left;
}
#feature2 .txt div{
	float: right;
	padding-top: 245px;
}
#feature2 figure{
	float: right;
	width: 46%;
	padding-top: 100px;
}
#feature3{
	background: url(../images/feature-bg4.png) right 48% top 0 no-repeat,
				url(../images/feature-bg2.png) left 1% top 220px no-repeat,
				url(../images/feature-bg3.png) right 48% bottom 78px no-repeat;
	position: relative;
	padding-bottom: 85px;
}
#feature3 .abs2{
	position: absolute;
	top: -135px;
	right: 10%;
}
#feature3:before{
	content: "";
	position: absolute;
	display: block;
	left: 7.5%;
	bottom: 15px;
	width: 47px;
	height: 96px;
	background: url(../images/feature-bg5.png) center no-repeat;
}
/*#feature #feature3 .feature-ttl{
	width: 20%;
}*/
#feature3 .txt{
	float: right;
	width: 47%;
}
#feature3 .txt .feature-ttl{
	float: right;
}
#feature3 .txt div{
	float: left;
	padding-top: 175px;
}
#feature3 figure{
	float: left;
	width: 46%;
	padding-top: 40px;
}
#feature4{
	background: url(../images/feature-bg8.png) left 36% top 60px no-repeat,
				url(../images/feature-bg4.png) left 52.8% bottom 90px no-repeat;
	position: relative;
	padding-bottom: 135px;
}
/*#feature #feature4 .feature-ttl{
	width: 14%;
}*/
#feature4:before{
	content: "";
	position: absolute;
	display: block;
	top: 22px;
	right: 6%;
	width: 47px;
	height: 96px;
	background: url(../images/feature-bg5.png) center no-repeat;
}
#feature4 .abs3{
	position: absolute;
	bottom: 105px;
	left: 12.5%;
}
#feature4 .txt{
	float: left;
	width: 54%;
}
#feature4 .txt .feature-ttl{
	float: left;
}
#feature4 .txt div{
	float: right;
	padding-top: 245px;
}
#feature4 figure{
	float: right;
	width: 45%;
	padding-top: 100px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	#feature1 .txt div,
	#feature2 .txt div,
	#feature3 .txt div,
	#feature4 .txt div{
		padding-top: 0;
	}
	#feature1 figure,
	#feature2 figure,
	#feature3 figure,
	#feature4 figure{
		padding-top: 0;
	}
}
@media screen and (max-width: 559px) {
	#feature{
		font-size: 16px;
	}
	#feature .feature-ttl{
		width: 100%;
		text-align: center;
	}
	#feature .feature-ttl img{
		width: 30%;
	}
	#feature .txt div{
		width: 100%;
	}
	#feature .txt p{
		line-height: 1.8;
	}
	#feature .btn1-small{
		font-size: 14px;
	}
	#feature1{
		background: url(../images/feature-bg1.png) right 11% top 10px / 156px auto no-repeat,
					url(../images/feature-bg2.png) left 3% bottom 115px / 12px auto no-repeat,
					url(../images/feature-bg3.png) left 48% bottom 0 / 11px auto no-repeat,
					url(../images/feature-bg4.png) right 4% bottom 10px / 21px auto no-repeat;
		margin-bottom: 45px;
	}
	#feature1 .txt{
		float: none;
		width: 100%;
	}
	#feature1 .txt .feature-ttl{
			float: none;
	}
	#feature1 .txt div{
		text-align: center;
		padding-top: 30px;
	}
	#feature1 figure{
		float: none;
		width: 100%;
		padding-top: 40px;
	}
	#feature2{
		background: url(../images/feature-bg4.png) right 50% bottom 160px / 21px auto no-repeat,
					url(../images/feature-bg3.png) left 46% bottom 85px / 11px auto no-repeat;
		padding-bottom: 55px;
	}
	#feature2:before{
		top: 25px;
		right: 6%;
		width: 23px;
		height: 48px;
		background: url(../images/feature-bg5.png) center / 23px auto no-repeat;
	}
	#feature2 .abs1{
		width: 139px;
		height: 74px;
		top: 110px;
		left: 10%;
	}
	#feature2 .txt{
		float: none;
		width: 100%;
	}
	#feature2 .txt .feature-ttl{
		float: none;
		width: 100%;
	}
	#feature2 .txt div{
		text-align: center;
		float: none;
		padding-top: 30px;
	}
	#feature2 figure{
		float: none;
		width: 100%;
		padding-top: 30px;
	}
	#feature3{
		background: url(../images/feature-bg4.png) right 45% top 0 / 21px auto no-repeat,
					url(../images/feature-bg2.png) left 1% top 220px / 12px auto no-repeat,
					url(../images/feature-bg3.png) right 48% bottom 78px / 11px auto no-repeat;
		padding-bottom: 45px;
	}
	#feature3 .abs2{
		top: -135px;
		right: 10%;
	}
	#feature3:before{
		left: 7.5%;
		bottom: 15px;
		width: 47px;
		height: 96px;
		background: url(../images/feature-bg5.png) center no-repeat;
	}
	#feature #feature3 .feature-ttl{
		width: 100%;
	}
	#feature3 .txt{
		float: none;
		width: 100%;
	}
	#feature3 .txt .feature-ttl{
		float: none;
	}
	#feature3 .txt div{
		text-align: center;
		float: none;
		padding-top: 30px;
	}
	#feature3 figure{
		float: none;
		width: 100%;
		padding-top: 30px;
	}
	#feature4{
		background: url(../images/feature-bg8.png) left 36% top 60px / 130px auto no-repeat,
					url(../images/feature-bg4.png) left 50% bottom 90px / 21px auto no-repeat;
		padding-bottom: 70px;
	}
	#feature #feature4 .feature-ttl{
		width: 100%;
	}
	#feature4:before{
		top: 15px;
		right: 6%;
		width: 24px;
		height: 48px;
		background: url(../images/feature-bg5.png) center / 24px auto no-repeat;
	}
	#feature4 .abs3{
		bottom: 105px;
		left: 10%;
	}
	#feature4 .txt{
		float: none;
		width: 100%;
	}
	#feature4 .txt .feature-ttl{
		float: none;
	}
	#feature4 .txt div{
		text-align: center;
		float: none;
		padding-top: 30px;
	}
	#feature4 figure{
		float: none;
		width: 100%;
		padding-top: 30px;
	}
}






/*---------------------------------------------------------------------------------------
	menu/
----------------------------------------------------------------------------------------*/

#menu{
	text-align: center;
	margin-bottom: 40px;
}
#menu ul.menu-list{
	font-size: 18px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
#menu ul.menu-list > li{
	width: 22%;
	margin: 0 4% 35px 0;
}
#menu ul.menu-list > li:nth-child(4n){
	margin-right: 0;
}
#menu ul.menu-list > li figure{
	margin-bottom: 15px;
}
#menu ul.menu-list.clm3{
	display: block;
}
#menu ul.menu-list.clm3 > li{
	display: inline-block;
	margin: 0 2% 35px;
}
#menu ul.menu-txt-list{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 85px;
}
#menu ul.menu-txt-list > li{
	text-align: left;
	width: 30%;
	margin: 0 5% 30px 0;
	position: relative;
	padding-bottom: 5px;
	border-bottom: 2px solid #dcdcdc;
}
#menu ul.menu-txt-list > li:before{
	content: "";
	display: block;
	position: absolute;
	bottom: -2px;
	left: 0;
	height: 2px;
	width: 30%;
	background: #e60012;
}
#menu ul.menu-txt-list > li:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
}
#menu ul.menu-txt-list > li:nth-child(3n){
	margin-right: 0;
}
#menu ul.menu-txt-list > li p{
	float: left;
}
#menu ul.menu-txt-list > li p.price{
	float: right;
}
#menu ul.menu-txt-list > li p.price small{
	font-size: 12px;
}
#menu .ippin{
	display: flex;
	justify-content: space-between;
}
#menu .ippin div{
	width: 48%;
}
#menu .ippin ul.menu-list > li{
	width: 46%;
	margin-right: 8%;
}
#menu .ippin ul.menu-list > li:nth-child(2n){
	margin-right: 0;
}
#menu ul.menu-list.clm2{
	justify-content: space-between;
}
#menu ul.menu-list.clm2 > li{
	width: 46%;
	margin-bottom: 50px;
}
#menu ul.menu-list.clm2 > li p{
	margin-bottom: 15px;
}
#menu ul.menu-list.clm2 > li p small{
	font-size: 12px;
}
#menu ul.menu-list.clm2 > li p em{
	font-size: 16px;
}
#menu ul.menu-list.clm2 > li p.neta{
	font-size: 14px;
	border-top: 1px solid #ddd;
	padding-top: 15px;
	margin-bottom: 0;
}
#menu small{
	font-size: 14px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	#menu ul.menu-txt-list > li{
		width: 48%;
		margin: 0 4% 15px 0;
	}
	#menu ul.menu-txt-list > li:nth-child(3n){
		margin-right: 4%;
	}
	#menu ul.menu-txt-list > li:nth-child(2n){
		margin-right: 0;
	}
}
@media screen and (max-width: 559px) {
	#menu{
		margin-bottom: 30px;
	}
	#menu ul.menu-list{
		font-size: 16px;
		margin-bottom: 30px;
	}
	#menu ul.menu-list > li{
		width: 48%;
		margin: 0 4% 10px 0;
	}
	#menu ul.menu-list > li:nth-child(2n){
		margin-right: 0;
	}
	#menu ul.menu-list > li figure{
		margin-bottom: 5px;
	}
	#menu ul.menu-list.clm3 > li{
		display: inline-block;
		margin: 0 4% 10px 0;
	}
	#menu ul.menu-list.clm3 > li:nth-child(2n){
		margin-right: 0;
	}
	#menu ul.menu-list.clm3 > li:last-child{
		margin-right: 0;
	}
	#menu ul.menu-txt-list{
		margin-bottom: 45px;
	}
	#menu ul.menu-txt-list > li{
		width: 100%;
		margin: 0 0 15px;
	}
	#menu ul.menu-txt-list > li:nth-child(3n){
		margin-right: 0;
	}
	#menu ul.menu-txt-list > li p.price small{
		font-size: 10px;
	}
	#menu .ippin{
		flex-wrap: wrap;
	}
	#menu .ippin div{
		width: 100%;
	}
	#menu .ippin ul.menu-list > li{
		width: 48%;
		margin-right: 4%;
	}
	#menu ul.menu-list.clm2{
		flex-wrap: wrap;
	}
	#menu ul.menu-list.clm2 > li{
		width: 100%;
		margin-bottom: 25px;
	}
	#menu ul.menu-list.clm2 > li p{
		margin-bottom: 10px;
	}
	#menu ul.menu-list.clm2 > li p small{
		font-size: 10px;
	}
	#menu ul.menu-list.clm2 > li p em{
		font-size: 14px;
	}
	#menu ul.menu-list.clm2 > li p.neta{
		font-size: 12px;
		padding-top: 10px;
	}
	#menu small{
		font-size: 12px;
	}
}






/*---------------------------------------------------------------------------------------
	togo/
----------------------------------------------------------------------------------------*/

#togo{
	text-align: center;
	margin-bottom: 50px;
}
#togo small{
	font-size: 16px;
}
#togo ul.togo-list{
	display: flex;
	flex-wrap: wrap;
}
#togo ul.togo-list li{
	width: 46%;
	margin: 0 8% 60px 0;
}
#togo ul.togo-list li:nth-child(2n){
	margin-right: 0;
}
#togo ul.togo-list li figure{
	margin-bottom: 60px;
}
#togo ul.togo-list li .price{
	padding-bottom: 10px; 
	border-bottom: 2px solid #dcdcdc;
	margin-bottom: 15px;
	position: relative;
}
#togo ul.togo-list li .price:before{
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 89px;
	height: 2px;
	background: #e60012;
	display: block;
}
#togo ul.togo-list li .price:after{
	content: "";
	display: block;
	height: 0;
	clear: both;
}
#togo ul.togo-list li .price p{
	font-size: 20px;
	float: right;
}
#togo ul.togo-list li .price p.suu{
	float: left;
}
#togo ul.togo-list li .price p small{
	font-size: 12px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 559px) {
	#togo{
		margin-bottom: 25px;
	}
	#togo small{
		font-size: 14px;
	}
	#togo ul.togo-list li{
		width: 100%;
		margin: 0 0 30px;
	}
	#togo ul.togo-list li figure{
		margin-bottom: 30px;
	}
	#togo ul.togo-list li .price{
		padding-bottom: 5px; 
		margin-bottom: 10px;
	}
	#togo ul.togo-list li .price:before{
		width: 60px;
	}
	#togo ul.togo-list li .price p{
		font-size: 18px;
	}
	#togo ul.togo-list li .price p small{
		font-size: 10px;
	}
}






/*---------------------------------------------------------------------------------------
	company/
----------------------------------------------------------------------------------------*/

#company1{
	text-align: left;
	clear: both;
	overflow: hidden;
	margin-bottom: 90px;
}
#company1 .txt{
	float: left;
	width: 58%;
	padding: 10% 25px 0;
}
#company1 .txt table{
	width: 100%;
	max-width: 465px;
}
#company1 .txt table th,#company1 .txt table td{
	padding: 15px 0;
}
#company1 .txt table th{
	border-bottom: 2px solid #e60012;
	width: 88px;
}
#company1 .txt table td{
	border-bottom: 2px solid #dcdcdc;
	padding-left: 15px;
}
#company1 .txt table tr:last-child th,#company1 .txt table tr:last-child td{
	border-bottom: none;
}
#company1 figure{
	float: right;
	width: 38.5%;
}
#company2{
	color: #fff;
	text-align: left;
	padding: 65px 0 90px;
	background: url(../images/company-bg2.png) right 5% top 55% no-repeat #c7b46c;
}
#company2 .wrap{
	background: url(../images/company-bg1.png) left 6% top 0 no-repeat;
}
#company2 dl.company2-1{
	clear: both;
	overflow: hidden;
	margin-bottom: 45px;
}
#company2 dl dt{
	font-size: 28px;
	line-height: 1.6;
}
#company2 dl dd{
	font-size: 16px;
	line-height: 2;
}
#company2 dl.company2-1 dt{
	text-align: center;
	float: left;
	width: 32.5%;
}
#company2 dl.company2-1 dd{
	padding-top: 5px;
	float: right;
	width: 67.5%;
}
#company2 .company2-2{
	clear: both;
	overflow: hidden;
}
#company2 .company2-2 figure{
	float: left;
	width: 50%;
}
#company2 .company2-2 dl{
	padding-top: 17%;
	float: right;
	width: 45%;
}
#company2 .company2-2 dl dt{
	text-align: right;
	margin-bottom: 25px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 559px) {
	#company1{
		margin-bottom: 45px;
	}
	#company1 .txt{
		float: none;
		width: 100%;
		padding: 0 0 20px;
	}
	#company1 .txt table th,#company1 .txt table td{
		padding: 10px 0;
	}
	#company1 .txt table th{
		width: 5em;
	}
	#company1 .txt table td{
		padding-left: 5px;
	}
	#company1 figure{
		float: none;
		width: 50%;
		margin: 0 auto;
	}
	#company2{
		padding: 35px 0 45px;
		background: url(../images/company-bg2.png) right 5% top 60% / 156px auto no-repeat #c7b46c;
	}
	#company2 .wrap{
		background: url(../images/company-bg1.png) right 0 top 0 / 139px auto no-repeat;
	}
	#company2 dl.company2-1{
		margin-bottom: 25px;
	}
	#company2 dl dt{
		font-size: 20px;
	}
	#company2 dl dd{
		font-size: 14px;
		line-height: 1.8;
	}
	#company2 dl.company2-1 dt{
		text-align: left;
		float: none;
		width: 100%;
	}
	#company2 dl.company2-1 dd{
		float: none;
		width: 100%;
		padding-top: 10px;
	}
	#company2 .company2-2 figure{
		text-align: center;
		float: none;
		width: 100%;
	}
	#company2 .company2-2 figure img{
		width: 100%;
		max-width: 250px;
	}
	#company2 .company2-2 dl{
		padding-top: 20px;
		float: none;
		width: 100%;
	}
	#company2 .company2-2 dl dt{
		text-align: left;
		margin-bottom: 10px;
	}
}






/*---------------------------------------------------------------------------------------
	property/
----------------------------------------------------------------------------------------*/

#property1{
	text-align: center;
	margin-bottom: 115px;
}
#property1 .imgleft:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
}
#property1 .imgleft dl{
	width: 34%;
	float: right;
}
#property1 .imgleft dl dt{
	color: #fff;
	font-size: 20px;
	line-height: 1.4;
	width: 148px;
	height: 148px;
	border-radius: 50%;
	background: #c7b46c;
	position: relative;
	padding-top: 50px;
	top: -20px;
	left: -75px;
	margin-bottom: 10px;
}
#property1 .imgleft dl dd p{
	font-size: 14px;
	text-align: left;
}
#property1 .imgleft dl dd p em{
	font-size: 18px;
	padding-bottom: 5px;
	border-bottom: 2px solid #ddd;
	margin-bottom: 10px;
	position: relative;
	display: block;
}
#property1 .imgleft dl dd p em:after{
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 142px;
	height: 2px;
	display: block;
	background: #e60012;
}
#property1 .imgleft figure{
	width: 61%;
}
#property2{
	color: #fff;
	text-align: left;
	padding: 50px 0;
	background: #c7b46c;
}
#property2 .wrap{
	position: relative;
}
#property2 .wrap dl{
	width: 39%;
	margin-left: 3%;
}
#property2 .wrap dl dt{
	padding-bottom: 5px;
	border-bottom: 2px solid #fff;
	margin-bottom: 10px;
}
#property2 .wrap dl dd{
	font-size: 14px;
}
#property2 .wrap dl dd p.tel{
	padding-left: 50px;
	background: url(../images/icon-tel.png) left 10px center no-repeat;
}
#property2 .wrap dl dd p.fax{
	padding-left: 50px;
	background: url(../images/icon-fax.png) left 10px center no-repeat;
}
#property2 .wrap dl dd p strong{
	font-size: 20px;
	font-weight: normal;
	margin-right: 5px;
}
#property2 .wrap dl dd p a{
	color: #fff;
}
#property2 .wrap figure{
	position: absolute;
	bottom: 0;
	right: -0.5%;
	width: 51%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	#property1 .imgleft dl dt{
		font-size: 16px;
		width: 115px;
		height: 115px;
		padding-top: 35px;
		top: -10px;
		margin-bottom: 0;
	}
}
@media screen and (max-width: 559px) {
	#property1{
		margin-bottom: 60px;
	}
	#property1 .subtitle{
		line-height: 1.2;
	}
	#property1 .imgleft dl{
		width: 100%;
		float: none;
		margin-bottom: 30px;
	}
	#property1 .imgleft dl dt{
		top: 0;
		left: 0;
		margin: 0 auto 10px;
	}
	#property1 .imgleft dl dd p{
		font-size: 12px;
	}
	#property1 .imgleft dl dd p em{
		font-size: 16px;
		margin-bottom: 5px;
	}
	#property1 .imgleft dl dd p em:after{
		width: 130px;
	}
	#property1 .imgleft figure{
		width: 100%;
	}
	#property1 .imgleft figure img{
		max-width: 305px;
		width: 100%;
	}
	#property2{
		padding: 25px 0;
	}
	#property2 .wrap dl{
		width: 100%;
		margin: 0 0 20px;
	}
	#property2 .wrap dl dd{
		font-size: 12px;
	}
	#property2 .wrap dl dd p.tel{
		padding-left: 20px;
		background: url(../images/icon-tel.png) left center / 10px auto no-repeat;
	}
	#property2 .wrap dl dd p.fax{
		padding-left: 20px;
		background: url(../images/icon-fax.png) left center / 14px auto no-repeat;
	}
	#property2 .wrap dl dd p strong{
		font-size: 18px;
	}
	#property2 .wrap figure{
		text-align: center;
		position: static;
		width: 100%;
	}
	#property2 .wrap figure img{
		max-width: 228px;
	}
}






/*---------------------------------------------------------------------------------------
	privacy/
----------------------------------------------------------------------------------------*/

#privacy{
	text-align: left;
	margin-bottom: 50px;
}
#privacy h4{
	font-size: 20px;
	font-weight: normal;
	padding-bottom: 5px;
	border-bottom: 1px dashed #dcdcdc;
	margin-bottom: 10px;
}
@media screen and (max-width: 559px) {
	#privacy{
		margin-bottom: 25px;
	}
	#privacy h4{
		font-size: 18px;
		padding-bottom: 5px;
		margin-bottom: 10px;
	}
}






/*---------------------------------------------------------------------------------------
	event/
----------------------------------------------------------------------------------------*/

.f-red{ color: #f00;}
#event{
	margin-bottom: 70px;
}
#event .subtitle2{
	font-size: 32px;
}
#event .subtitle2 strong{
	vertical-align: middle;
}
#event .subtitle2 span{
	font-size: 20px;
	vertical-align: middle;
}
#event ul{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
#event ul li{
	margin: 0 20px 10px;
}
#event ul li .subtitle{
	font-size: 20px;
	letter-spacing: 0;
	padding-bottom: 25px;
}
#event ul li p{
	line-height: 2.25;
}
@media screen and (max-width: 959px) {
	#event .subtitle2{
		line-height: 1;
	}
	#event .subtitle2 strong{
		display: block;
		line-height: 1;
	}
	#event .subtitle2 span{
		line-height: 1.6;
	}
}
@media screen and (max-width: 559px) {
	#event{
		margin-bottom: 35px;
	}
	#event .subtitle2{
		font-size: 24px;
	}
	#event .subtitle2 span{
		font-size: 18px;
	}
	#event ul{
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	#event ul li{
		width: 100%;
		margin: 0 0 20px;
	}
	#event ul li .subtitle{
		font-size: 18px;
		padding-bottom: 10px;
	}
	#event ul li p{
		line-height: 1.6;
	}
}






/*---------------------------------------------------------------------------------------
	sitemap/
----------------------------------------------------------------------------------------*/

#sitemap{
	text-align: left;
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
#sitemap dl{
	width: 44%;
	border-top: 1px dashed #dcdcdc;
}
#sitemap dl a{
	display: block;
	position: relative;
	padding: 15px 0 15px 50px;
}
#sitemap dl dt{
	font-size: 20px;
	letter-spacing: 0.3em;
	font-weight: normal;
	border-bottom: 1px dashed #dcdcdc;
}
#sitemap dl dt a{
}
#sitemap dl a:before{
	content: "";
	position: absolute;
	left: 0;
	display: block;
}
#sitemap dl dt a:before{
	top: 30px;
	width: 22px;
	height: 2px;
	background: #e60012;
}
#sitemap dl dd{
	border-bottom: 1px dashed #dcdcdc;
}
#sitemap dl dd p a:before{
	top: 20px;
	width: 11px;
	height: 17px;
	background: url(../images/arrow-right-beige2.svg) center no-repeat;
}
@media screen and (max-width: 559px) {
	#sitemap{
		flex-wrap: wrap;
		margin-bottom: 25px;
	}
	#sitemap dl{
		width: 100%;
	}
	#sitemap dl a{
		padding: 10px 0 10px 25px;
	}
	#sitemap dl dt{
		font-size: 18px;
		letter-spacing: 0;
	}
	#sitemap dl dt a:before{
		top: 24px;
		width: 16px;
	}
	#sitemap dl dd p a:before{
		top: 16px;
		width: 8px;
		height: 14px;
		background: url(../images/arrow-right-beige2.svg) center / 8px auto no-repeat;
	}
}






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

#location{
	text-align: center;
	margin-bottom: 40px;
}
#location article{
	float: left;
	width: 46%;
	text-align: left;
	margin-bottom: 70px;
}
#location article:nth-of-type(2n+1){ clear: left; margin-right: 8%;}
#location article h4{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	padding-bottom: 10px;
	margin-bottom: 40px;
	border-bottom: 3px solid #dcdcdc;
	position: relative;
}
#location article h4:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 90px;
	height: 3px;
	background: #e70516;
}
#location article h4 span{
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: -.6em;
	font-size: 18px;
	font-weight: normal;
	background: #fff;
	padding-left: .7em;
}
#location article h4 small{
	color: #e60516;
	font-weight: normal;
	font-size: 16px;
	vertical-align: middle;
	margin-left: .5em;
}
#location article ul{
	line-height: 1.3;
	margin-bottom: 20px;
}
#location article ul li{
	padding: 20px 0 20px 50px;
}
#location article ul li.add{ background: url("../images/location-add.png") left 10px top 20px / 23px no-repeat;}
#location article ul li.tel{ background: url("../images/location-tel.png") left 10px top 20px / 23px no-repeat;}
#location article ul li.hour{ background: url("../images/location-hour.png") left 10px top 20px / 23px no-repeat;}
#location article ul li:not(:last-child){
	border-bottom: 1px solid #ddd;
}
#location article p{
	display: table;
	table-layout: fixed;
	width: 100%;
	border: 1px solid #c7b46c;
}
#location article p span{
	display: table-cell;
	padding: 10px;
	line-height: 1.3;
	vertical-align: middle;
}
#location article p a{
	display: table-cell;
	width: 28%;
	color: #fff;
	text-align: center;
	background: #c7b46c;
	vertical-align: middle;
}
#location .kome{
	clear: both;
	font-size: 14px;
	text-align: right;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 559px) {
	#location{
		text-align: center;
		margin-bottom: 40px;
	}
	#location article{
		float: none;
		width: auto;
		margin-bottom: 40px;
	}
	#location article:nth-of-type(2n+1){ clear: left; margin-right: 0;}
	#location article h4{
		font-size: 18px;
		padding-bottom: 10px;
		margin-bottom: 30px;
	}
	#location article h4 span{
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: -.6em;
		font-size: 14px;
		font-weight: normal;
		background: #fff;
		padding-left: .7em;
	}
	#location article ul{
		font-size: 16px;
		line-height: 1.3;
		margin-bottom: 10px;
	}
	#location article ul li{
		padding: 10px 0 10px 50px;
	}
	#location article ul li.add{ background: url("../images/location-add.png") left 10px top 10px / 23px no-repeat;}
	#location article ul li.tel{ background: url("../images/location-tel.png") left 10px top 10px / 23px no-repeat;}
	#location article ul li.hour{ background: url("../images/location-hour.png") left 10px top 10px / 23px no-repeat;}
	#location article p a{
		width: 5em;
	}
	#location .kome{
		font-size: 14px;
		text-align: left;
	}
}









