@charset "utf-8";
/*-------------------------------------------------------
reset
-------------------------------------------------------*/
html,body,header,footer,article,section,nav,aside,main,h1,h2,h3,h4,h5,h6,p,div,ul,ol,li,dl,dt,dd,table,th,td,blockquote,pre,figure {margin: 0; padding: 0;}
header,footer,article,section,nav,aside,main,figure {display: block;}
a {outline: 0; text-decoration: none;}
a:focus,*:focus {outline: none;}
a img {backface-visibility: hidden;}
img {border: 0; outline: 0;}
ul,ol {list-style: none;}
em,address {font-style: normal;}



/*-------------------------------------------------------
common
-------------------------------------------------------*/
html {font-size: 62.5%;}
body {
	line-height: 1.5rem;
	color: #603813;
	font-family: "Noto Serif JP","ヒラギノ明朝 ProN W3","Hiragino Mincho ProN W3","ヒラギノ明朝 ProN","Hiragino Mincho ProN","ヒラギノ明朝 Pro","Hiragino Mincho Pro","Yu Mincho",YuMincho,sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	word-wrap: break-word;
}
a {color: #603813;}
a:hover,a:hover img,button:hover {
	cursor: pointer;
	transition: 0.3s;
	opacity: 0.7;
}
img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
}
iframe {
	border: none;
	width: 100%;
	height: 500px;
	vertical-align: bottom;
}
.row {display: flex;}
.w800 {
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
}
.w980 {
	margin: 0 auto;
	width: 100%;
	max-width: 980px;
}
.w1080 {
	margin: 0 auto;
	width: 100%;
	max-width: 1080px;
}
.gothic {
	font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,Segoe UI,HiraginoCustom,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN W3","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","游ゴシック体",YuGothic,"Yu Gothic",sans-serif;
	font-weight: 500;
}


/* title */
.tit_border_en,
.tit_border_en_white {
	margin: 0 auto;
	max-width: 500px;
	line-height: 1;
	font-weight: 600;
	font-size: 2.5rem;
	text-align: center;
	letter-spacing: 0.2rem;
}
.tit_border_en span,
.tit_border_en_white span {
	margin: 10px 0 0 0;
	padding: 5px 0 0 0;
	border-top: 1px solid #603813;
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0.05rem;
}
.tit_border_en_white span {border-color: #fff;}



/* button */
.btn_border_brown,
.btn_border_white,
.btn_brown {
	margin: 0 auto;
	padding: 5px;
	border: 2px solid #603813;
	box-sizing: border-box;
	display: block;
	position: relative;
	max-width: 145px;
	height: 30px;
	line-height: 1;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: 0.3rem;
}
.btn_border_brown:hover,
.btn_border_white:hover,
.btn_brown:hover {
	color: #fff;
	background: #603813;
	opacity: 1;
}
.btn_border_brown:after,
.btn_border_white:after,
.btn_brown:after {
	position: absolute;
	top: 50%;
	right: 4px;
	content: "";
	transition: 0.3s;
	transform: translateY(-50%);
}


/* btn_border_brown AND btn_border_white */
.btn_border_brown:after,
.btn_border_white:after {
	border-style: solid;
	border-width: 5.5px 0 5.5px 7px;
	border-color: transparent transparent transparent #603813;
}
.btn_border_brown:hover:after,
.btn_border_white:hover:after {
	border-color: transparent transparent transparent #fff;
	right: 8px;
}


/* btn_border_white */
.btn_border_white {
	border: 2px solid #fff;
	color: #fff;
}
.btn_border_white:hover {
	color: #96131a;
	background: #fff;
}
.btn_border_white:after {border-color: transparent transparent transparent #fff;}
.btn_border_white:hover:after {border-color: transparent transparent transparent #96131a;}


/* btn_brown */
.btn_brown {
	padding: 11px;
	border: 2px solid #603813;
	max-width: 250px;
	height: 40px;
	color: #fff;
	background: #603813;
	letter-spacing: 0.05rem;
}
.btn_brown:hover {
	border: 2px solid #603813;
	color: #603813;
	background: #fff;
}
.btn_brown:after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	top: 12px;
	right: 10px;
	width: 10px;
	height: 10px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn_brown:hover:after {
	border-color: #603813;
	right: 18px;
}

@media(max-width: 767px) {
	iframe {height: 250px;}
}

@media(max-width: 560px) {
	.tit_border_en,
	.tit_border_en_white {font-size: 1.8rem;}
	.tit_border_en span,
	.tit_border_en_white span {font-size: 1.2rem;}
}



/*-------------------------------------------------------
header
-------------------------------------------------------*/
header {
	height: 360px;
	background: url(../img/hd_bg.jpg) no-repeat center / cover;
}
header .border {
	position: relative;
	width: 100%;
	height: 5px;
	background: #bc131a;
}
header .in {padding: 0 60px;}
header .w1080 {
	height: 280px;
	position: relative;
}
header .url {
	position: absolute;
	top: 20px;
	right: 0;
	width: 100%;
	font-weight: 600;
	text-align: right;
	letter-spacing: 0.15rem;
}
header .logo {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 220px;
}
.gNV {
	padding: 5px 0;
	border-top: 1px solid #603813;
	border-bottom: 1px solid #603813;
	box-sizing: border-box;
	height: 62px;
	font-weight: 600;
	font-size: 1.4rem;
	text-align: center;
}
.gNV ul {
	margin: 0 auto;
	display: flex;
	width: 100%;
	max-width: 920px;
}
.gNV li {
	border-right: 1px solid #603813;
	box-sizing: border-box;
	width: 20%;
}
.gNV li:last-child {border-right: none;}
.gNV a {
	padding: 8px 0;
	box-sizing: border-box;
	display: block;
	position: relative;
	height: 50px;
}
.gNV a:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 12px);
	height: 3px;
	content: "";
	background: #603813;
}
.gNV span {
	display: block;
	font-size: 1.2rem;
}

@media(min-width: 501px) {
	.gNV ul {display: flex !important;}
}

@media(max-width: 500px) {
	header {height: auto;}
	header .w1080 {height: auto;}
	header .url {
		position: absolute;
		top: 10px;
		right: 50%;
		transform: translateX(50%);
		font-size: 1.1rem;
		text-align: center;
	}
	header .logo {
		margin: auto;
		padding: 40px 0 20px 10px;
		position: static;
		transform: none;
		max-width: 150px;
	}
	.gNV {
		padding: 0;
		border: none;
		height: auto;
	}
	.gNV ul {
		padding: 8px 0;
		border-top: 1px solid #603813;
		border-bottom: 1px solid #603813;
		display: none;
	}
	.gNV li {
		border: none;
		width: 100%;
	}
	.gNV a {height: auto;}
	.gNV a:after {display: none;}
	.gNV span {
		display: block;
		font-size: 1.2rem;
	}
	#toggle {
		position: absolute;
		top: 20px;
		right: 20px;
		z-index: 1000;
		width: 18px;
		height: 16px;
		cursor: pointer;
	}
	#toggle span {
		position: absolute;
		top: 0;
		width: 18px;
		height: 2px;
		background: #bc131a;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	#toggle .bar01 {top: 0;}
	#toggle .bar02 {top: 7px;}
	#toggle .bar03 {top: 14px;}
	#toggle.is-active .bar01 {
		top: 7px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#toggle.is-active .bar02 {opacity: 0;}
	#toggle.is-active .bar03 {
		top: 7px;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
}



/*-------------------------------------------------------
footer
-------------------------------------------------------*/
#pagetop {
	padding: 20px;
	display: block;
	text-align: center;
}
#pagetop span {position: relative;}
#pagetop span:after {
	position: absolute;
	top: 50%;
	right: -25px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	content: "";
	background: url(../img/ic_arrow_top.png) no-repeat top / cover;
}
footer {
	height: 250px;
	color: #fff;
	background: #96131a url(../img/bg_mark.png) repeat-x bottom / 1920px;
}
footer a {color: #fff;}
#pagetop_fixed {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 64px;
	height: 60px;
	content: "";
	background: url(../img/pagetop.png) no-repeat right bottom / cover;
}
footer .gNV {
	border-color: #fff;
	font-weight: normal;
}
footer .gNV li {border-color: #fff;}
footer .gNV a:after {background: #fff;}
footer .in {padding: 50px 20px 20px 20px;}
footer .row {align-items: baseline;}
footer .logo {width: 40%;}
footer .logo img {max-width: 220px;}
#copyright {
	width: 60%;
	font-size: 1.3rem;
	text-align: right;
}

@media(max-width: 650px) {
	#pagetop_fixed {
		width: 44px;
		height: 41px;
	}
	footer {height: auto;}
	footer .in {padding: 20px;}
	footer .row {
		display: inherit;
		text-align: center;
	}
	footer .logo {width: 100%;}
	#copyright {
		margin: 20px 0 0 0;
		width: 100%;
		font-size: 1rem;
		text-align: center;
	}
}
