@charset "utf-8";

/* CSSリセット
  ############################################################################################# */

* {
	-webkit-tap-highlight-color: transparent;
}

html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, tr, th, td, form {
	font-size: inherit;
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	empty-cells: show;
}
th, td {
	text-align: left;
	vertical-align: top;
}
li {
	list-style: none;
}
img {
	vertical-align: top;
}
input,
textarea,
select {
	-webkit-appearance: none;
	appearance: none;
}

/* 共通設定
  ############################################################################################# */

body {
	font-size: 12px;
	line-height: 1.5;
}

body {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
}
.serif {
	font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.pc-visible{
	display: block;
}
@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
	}
	.serif {
		font-family: "ＭＳ Ｐ明朝", "MS PMincho", serif;
	}

}

a {
	color: inherit;
	text-decoration: none;
}
a:hover{
	text-decoration: none;
	transition: 0.5;
	opacity: 0.7;
}
a:focus,a:hover{
	text-decoration: inherit;
}
#header .siteTitle a:hover{
	text-decoration: none;
	transition: 0.5;
	opacity: 1;
}
a[href^="tel:"] {
	pointer-events: none;
}
input,
textarea,
select {
	font-family: inherit;
}
img,
video {
	max-width: 100%;
}
img[src$="_sp.jpg"],
img[src$="_sp.png"] {
	display: none;
}

[disabled] {
	cursor: not-allowed;
}

#wrap {
	overflow: hidden;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
.hov {
	transition: opacity .3s;
}
.hov:hover {
	opacity: .8;
}
.indent {
	padding-left: 1em;
	text-align: left;
	text-indent: -1em;
}
.sp {
	display: none;
}
.text-shadow {
	text-shadow: 0 0 1px #fff,  0 0 2px #fff, 0 0 3px #fff, 0 0 4px #fff, 0 0 5px #fff;
}
.white {
	color: #fff;
}
.white.text-shadow {
	text-shadow: 0 0 1px #000,  0 0 2px #000, 0 0 3px #000, 0 0 4px #000, 0 0 5px #000;
}
.wrap {
	width: 970px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 5px;
	padding-right: 5px;
}
#main .bnr-box a{
	width: 485px;
	margin: 10px auto;
	transition: 0.5s;
}
#main .bnr-box a:hover{
	opacity: 0.8;
	transition: 0.5s;
}
@media only screen and (max-width:640px) {
	body {
		font-size: calc(100vw * 24 / 640);
	}
	a[href^="tel:"] {
		pointer-events: auto;
	}
	img[src$="_sp.jpg"],
	img[src$="_sp.png"] {
		display: inline-block;
	}
	img[src$="_sp.jpg"] + img,
	img[src$="_sp.png"] + img {
		display: none;
	}

	.pc {
		display: none;
	}
	.sp {
	display: block;
	}
	br.sp {
		display: inline;
	}
	.pc-visible{
	display: none;
	}
	.wrap {
		width: auto;
		margin-right: auto;
		margin-left: auto;
		padding-left: calc(100vw * 30 / 640);
		padding-right:  calc(100vw * 30 / 640);
	}
}

/* header
  ############################################################################################# */

#header {
	width: 100%;
	padding: 20px 0 21px;
	position: fixed;
	z-index: 9900;
	background: #000023;
}
#header .wrap{
	display: flex;
	position: relative;
}
#header .siteTitle {
	color: #fff;
	font-size: 10px;
	font-weight: normal;
	line-height: 30px;
	max-width: 469px;
}
#header .siteTitle span {
	margin: 0 0 0 2px;
}
#header .siteTitle a:hover span{
	opacity: 1;
	color: #fff;
}
.header_content {
	display: flex;
	max-width: 485px;
	width: 70%;
	height: 30px;
	position: absolute;
	right: 0px;
	text-align: center;
	vertical-align: middle;
}
.header_content .padtop{
	padding-top: 5px;
}
.header_content img{
	padding-top: 5px;
}
.header_content .header_content_box{
	width: 80%;/* 本告ver2*/
	/*width: 48%;/* 本告ver1*/
	background: #fff;
	color: #000;
	font-weight: bold;
	margin:0 auto;
	position: relative;
}
.header_content .header_content_box .arrow_img{
	vertical-align: middle;
	position: absolute;
	right: -13px;
	top: 4px;
}
.header_content a{
	width: 50%;/* 本告ver2*/
	/*width: 47.5%;/* /* 本告ver1*/
	height: 30px;
	background: #fff;
	color: #000;
	font-weight: bold;
	margin:0 3px;
	/*padding-top: 5px;*/
	text-align: center;
	transition: 0.5s;
	font-size: 12px;
}
.header_content a:hover{
	transition: 0.5s;
	opacity: 0.5;
}
.header_content .off{
	display: none;
}
@media only screen and (max-width:640px) {
	#header {
		/*padding: calc(100vw * 21 / 640) 0;*/
		padding: calc(100vw * 40 / 640) 0;
		background: #A99535;
	}
	#header .wrap {
		padding-left: calc(100vw * 24 / 640);
	}
	#header .siteTitle {
		font-size: calc(100vw * 16 / 640);
		line-height: calc(100vw * 28 / 640);
	}
	#header .siteTitle img {
		width: calc(100vw * 295 / 640);
	}
	#header .siteTitle span {
		margin: 0 0 0 calc(100vw * 10 / 640);
	}
	.header_content{
		display: none;
	}
}

/* bt-gNav
   ========================================================================== */

.btn-gNav {
	display: none;
}

@media only screen and (max-width:640px) {
	.btn-gNav {
		display: block;
		width: calc(100vw * 40 / 640);
		height: calc(100vw * 30 / 640);
		position: absolute;
		top: 50%;
		right: calc(100vw * 23 / 640);
		transform: translateY(-50%);
	}
	.btn-gNav .btn-gNav_box{
		display: none!important;
	}
	.btn-gNav a{
		background: initial;
	}
	.btn-gNav::before,
	.btn-gNav::after,
	.btn-gNav span {
		display: block;
		width: calc(100vw * 40 / 640);
		height: calc(100vw * 3 / 640);
		position: absolute;
		top: 50%;
		left: 50%;
		background: #fff;
		transition: .2s;
	}
	.btn-gNav::before,
	.btn-gNav::after {
		content: '';
		transition-property: transform;
	}
	.btn-gNav::before {
		transform: translate(-50%, -2.34375vw);
	}
	.btn-gNav::after {
		transform: translate(-50%, 1.825vw);
	}
	.btn-gNav.active::before {
		transform: translate(-50%, -50%) rotate(135deg);
	}
	.btn-gNav.active::after {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.btn-gNav span {
		transform: translate(-50%, -50%);
		transition-property: opacity;
	}
	.btn-gNav.active span {
		opacity: 0;
	}
}

/* gNav
   ========================================================================== */

#gNav {
	padding: 80px 0 0;
	background: #A99535;
}
#gNav ul {
	display: flex;
}
#gNav li {
	box-sizing: border-box;
	width: calc(100% / 6);
	padding: 0 1px;
	position: relative;
	border: none;
}
#gNav li::after,
#gNav li:first-child::before {
	content: '';
	display: block;
	width: 1px;
	height: 40px;
	position: absolute;
	top: 15px;
	right: 0;
	background: #222;
}
#gNav li:first-child::before {
	right: auto;
	left: 0;
}
#gNav a {
	display: block;
	padding: 18px 0 19px;
	position: relative;
	color: #fff;
	font-size: 13px;
	line-height: 1;
	text-align: center;
}

#gNav a::after {
	content: '';
	display: block;
	width: calc(100% - 16px);
	height: 3px;
	position: absolute;
	bottom: 6px;
	left: 8px;
	background: #CBBF86;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .3s;
}
#gNav a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
#gNav a.off {
	opacity: .5;
	pointer-events: none;
}
#gNav .en {
	display: block;
	margin: 0 0 5px;
	color: #222;
	font-size: 13px;
}
#gNav .wrap02{
	display: none;
}
@media only screen and (min-width:641px) {
	#gNav {
		display: block !important;
	}
}
@media only screen and (max-width:640px) {
	#gNav {
		display: none;
		width: 100vw;
		height: calc(100vh - 100vw * 70 / 640);
		padding: 0;
		position: fixed;
		top: calc(100vw * 100 / 640);
		left: 0;
		z-index: 9900;
		background: rgba(0,0,35,.9);
		overflow-y: scroll;
	}
	#gNav .wrap {
		padding: 0 calc(100vw * 130 / 640);
	}
	#gNav ul {
		display: block;
	}
	#gNav li {
		width: auto;
		border-bottom: 1px solid #A99535;
		padding: 0;
	}
	#gNav li::after,
	#gNav li:first-child::before {
		content: none;
	}
	#gNav a {
		padding: calc(100vw * 40 / 640) 0 calc(100vw * 38 / 640);
		font-size: calc(100vw * 24 / 640);
	}
	#gNav a::after {
		content: none;
	}
	#gNav .en {
		margin: 0 0 calc(100vw * 7 / 640);
		color: #A99535;
		font-size: calc(100vw * 27 / 640);
	}
	#gNav .en02 {
		color: #000;
		font-size: calc(100vw * 24 / 640);
		/*position: relative;*/
	}
	#gNav .en02 .arrow_img{
		position: absolute;
		/*vertical-align: middle;
		margin: 0 auto;*/
		transition: 0.5s;
		left: 42%;
		bottom: 10%;
	}
	#gNav .wrap02{
		margin-top: 30px;
		margin-bottom: 30px;
		display: flex;
		padding: 0 calc(100vw * 20 / 640);
		margin-right: calc(100vw * 20 / 640);
		margin-left: calc(100vw * 20 / 640);
	}
	#gNav .wrap02 ul {
		display: inherit;
		width: 100%;
	}
	#gNav .wrap02 li{
		width: 45%;
		border:none;
		background: #A99535;
		margin: 0 calc(100vw * 16 / 640);
	}
	#gNav .wrap02 li:hover{
		background: rgba(169,149,53,.7);
	}
	#gNav .wrap02 li a:hover .en02{
		color: #fff;
		transition: 0.5s;
	}
	#gNav .wrap02 li a:hover .arrow_img{
		opacity: 0;
		transition: 0.5s;
	}
	#gNav .wrap02 li.off{
		display: none;
	}
}

/* main
  ############################################################################################# */

#main {
}
@media only screen and (max-width:640px) {
	#main {
		padding-top: calc(100vw * 70 / 640);
	}
}

/* footer
  ############################################################################################# */

.fNav {
	padding: 5px 0 20px;
}
.fNav ul {
	display: flex;
}
.fNav li {
	box-sizing: border-box;
	width: calc(100% / 6);
	padding: 0 1px;
	position: relative;
}
.fNav li::after,
.fNav li:first-child::before {
	content: '';
	display: block;
	width: 1px;
	height: 30px;
	position: absolute;
	top: 0;
	right: 0;
	background: #fff;
}
.fNav li:first-child::before {
	right: auto;
	left: 0;
}
.fNav a {
	display: block;
	padding: 7px 0;
	position: relative;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	text-align: center;
}
.fNav a.off {
	opacity: .5;
	pointer-events: none;
}

#footer .about {
	background: #fff;
}
#footer .about .wrap {
	display: flex;
	padding-top: 25px;
	padding-bottom: 35px;
	align-items: center;
}
#footer .about .block01 {
	padding: 0 0 0 55px;
}
#footer .about .block01 .phone {
	display: flex;
	margin: 25px 0 0;
	align-items: center;
}
#footer .about .block01 .phone .label {
	display: none;
}
#footer .about .block01 .phone a {
	display: block;
	padding: 0 0 0 45px;
	background: url("../imgs/ico01.png") 0 50% no-repeat;
	/*font-size: 39px;*/
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
}
body.ipad #footer .about .block01 .phone a {
	font-size: 30px;
}
#footer .about .block01 .phone .time {
	margin: 0 0 0 15px;
	font-size: 12px;
	line-height: 17px;
}
#footer .about .block01 .phone .time .line01 {
	padding: 0 0 0 0;
}
#footer .about .block01 .phone .time .line02 {
	text-align: right;
}
#footer .about .block02 {
	margin: 0 0 0 80px;
}
#footer .about .block03 {
	margin: 0 0 0 35px;
}
#footer .copyright {
	border-top: 1px solid #A99535;
	padding: 15px 0;
	background: #fff; 
	font-size: 12px;
	line-height: 1;
	text-align: center;
}

.btPagetop {
	position: fixed;
	left: calc(50% + 485px);
	bottom: 0;
	transition: opacity .5s;
}
.btPagetop.off {
	opacity: 0;
}

@media only screen and (max-width:640px) {
	.fNav {
		display: none;
	}

	#footer .about .wrap {
		padding-top: calc(100vw * 45 / 640);
		padding-bottom: calc(100vw * 25 / 640);
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#footer .about .block01 {
		padding: 0;
	}
	#footer .about .block01 .ci {
		width: calc(100vw * 510 / 640);
		margin: 0 auto;
	}
	#footer .about .block01 .phone {
		margin: calc(100vw * 15 / 640) 0 calc(100vw * 45 / 640);
		flex-wrap: wrap;
		justify-content: center;
	}
	#footer .about .block01 .phone .label {
		display: block;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		padding: calc(100vw * 4 / 640) calc(100vw * 8 / 640);
		font-size: calc(100vw * 19 / 640);;
		line-height: 1;
		color: #000;
	}
	#footer .about .block01 .phone a {
		margin: 0 0 0 calc(100vw * 10 / 640);
		padding: 0;
		background: none;
		font-size: calc(100vw * 42 / 640);
	}
	#footer .about .block01 .phone .time {
		width: auto;
		margin: calc(100vw * 15 / 640) 0 0;
		font-size: calc(100vw * 19 / 640);
		line-height: 1;
	}
	#footer .about .block01  .phone .time .line01 {
		display: inline;
		padding: 0;
	}
	#footer .about .block01  .phone .time .line02 {
		display: inline;
		text-align: inherit;
	}
	
	#footer .about .block02 {
		width: calc(100vw * 280.5 / 640);
		margin: 0 0 0 calc(100vw * 28 / 640);
	}
	#footer .about .block03 {
		width: calc(100vw * 180.5 / 640);
		margin: 0 calc(100vw * 25 / 640) 0 0;
	}
	#footer .copyright {
		padding: calc(100vw * 10 / 640) 0;
		font-size: calc(100vw * 17 / 640);
		line-height: 1.5;
	}

	.btPagetop {
		width: calc(100vw * 75 / 640);
		left: auto;
		right: 30px;
		bottom: 30px;
	}
}
