@charset "utf-8";
body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.grecaptcha-badge { visibility: hidden; }

body {
    font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size:16px;
	line-height:1.6em;
	word-wrap: break-word;
	color: #000000;
	background:#F9F6ED;
}

.en{
	font-family: 'Bebas Neue', sans-serif;
}

.kosu{
	font-family: 'Kosugi', sans-serif;
}


a{
	color:#000000;
}

h1,h2,h3,h4,h5,h6{
	font-weight:normal;
}

@media screen and (max-width: 800px) {
body {
    font-size:14px;
}
}

/* contents
-------------------------------------------------------------------*/
body.fixed {
    position: fixed;
    width: 100%;
}

.wrap {
	min-width:1024px;
	overflow:hidden;
	position:relative;
}

.wd{
	max-width:800px;
	margin:0 auto;
	box-sizing:border-box;
}


.contents{
	clear:both;
}

.scale{
	width:100%;
	height:auto;
}

.sp{
	display:none;
}

.left{
	float:left;
}

.right{
	float:right;
}

img{
	max-width:100%;
	height:auto;
}

.youtube .inner {
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
}

.youtube .inner iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:none;
}

.youtube-ratio 
iframe[src*="youtube.com"]
iframe[src*="youtube-nocookie.com"]
{
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
}

.coverimg{
	overflow:hidden;
	position:relative;
}

.coverimg:before{
	content: "";
	display: block;
	padding-top: 100%;
}

.coverimg img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	transition:1s all;
}

@media screen and (max-width: 800px) {
.wrap {
	min-width:100%;
	overflow:hidden;
}

.spleft{
	float:left;
}

.spright{
	float:right;
}

.spscale{
	width:100%;
	height:auto;
}

.contents{
	overflow:hidden;
	width:100%;
	box-sizing:border-box;
}

.wd{
	width:100%;
	margin:0 auto;
	box-sizing:border-box;
}

.spscale{
	width:100%;
	height:auto;
}

img{
	max-width:100%;
	height:auto;
	margin:0 auto;
}

.pc{
	display:none !important;
}

.sp{
	display:block;
}

.spleft{
	float:left;
}

.spright{
	float:right;
}

input{
	font-size:16px;
}
}

/* header
-------------------------------------------------------------------*/
.r_btn{
	position:fixed;
	z-index:99;
	right:-2px;
	top:200px;
	z-index:100;
}

.r_btn li a{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	height:200px;
	display:flex;
	justify-content:center;
	align-items:center;
	width:90px;
	box-sizing:border-box;
	padding:0 0 0 10px;
	background:url(../img/common/r_btn01_bg.png) no-repeat 2px center #F9F6ED;
	font-size:18px;
	font-weight:700;
	border:1px solid #AC8E2E;
	margin:0 0 10px 0;
}

.r_btn li:nth-child(2) a{
	background:url(../img/common/r_btn02_bg.png) no-repeat 2px center #F9F6ED;
	border:1px solid #DC0017;
}

.gnav{
	position:absolute;
	left:0;
	right:0;
	top:0;
	z-index:999;
}

.gnav .box{
	position:relative;
}

.gnav .box .menulogo{
	position:absolute;
	left:-390px;
	top:240px;
}

.gnav .box .menubox{
	width:980px;
	margin:0 auto;
	padding:120px 0 0 0;
	display:flex;
	justify-content:space-between;
	position:relative;
	transition: all 0.3s;
}

.gnav .box .nav > li{
	padding:0 0 70px 0;
}

.gnav .box .nav .tit a{
	font-size:28px;
	font-weight:700;
	color:#DC0017;
	margin:0 0 30px 0;
	display:inline-block;
}

.gnav .box .nav .link a{
	font-size:22px;
	font-weight:600;
	color:#fff;
	margin:0 0 25px 0;
	padding:0 0 0 20px;
	position:relative;
	display:inline-block;
}

.gnav .box .nav .link a:after{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	margin-top:-3px;
	width: 10px;
	height: 10px;
	background: #AC8E2E;
	transform: rotate(45deg);
}

.gnav .box ul .sns{
	display:flex;
	align-items:center;
}

.gnav .box ul .sns li:not(:last-child){
	margin:0 35px 0 0;
}


@media screen and (max-width: 1680px) {
.gnav .box .nav > li{
	padding:0 0 50px 0;
}	
	
.gnav .box .menulogo{
	width:280px;
	left:-40px;
	top:auto;
	bottom:0;
}

.gnav .box .menubox{
	width:800px;
	padding:100px 0 0 0;
}

.gnav .box .nav .tit a{
	font-size:20px;
	margin:0 0 20px 0;
}

.gnav .box .nav .link a{
	font-size:18px;
	margin:0 0 15px 0;
	padding:0 0 0 20px;
}
}

.topmenu {
    display: block;
    height: 144px;
	width:144px;
    position:fixed;
    right: 20px;
    top: 20px;
    z-index: 9999;
    cursor: pointer;
	background:url(../img/common/menu_bg.png) no-repeat left center;
}

.topmenu:after{
	content:"MENU";
	width:144px;
    position:fixed;
    right: 20px;
	text-align:center;
    top: 80px;
	font-size:24px;
	font-weight:bold;
}

.fixed .topmenu:after{
	opacity:0;
}

.top-trigger,
.top-trigger span {
	display: block;
	/*transition: all .4s;*/
	box-sizing: border-box;
    z-index: 99999;
}
.top-trigger {
    position: relative;
    width: 100%;
    height: 100%;
	cursor: pointer;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.top-trigger span {
	position: absolute;
	left:0;
	right:0;
	margin:0 auto;
	width: 35px;
	height: 3px;
	background-color: #333333;
    z-index: 99999;
    top: 50%;
	opacity:0;
}
.top-trigger.active span {
	opacity:1;
}
.top-trigger span:nth-of-type(1) {
    margin:-10px auto 0;
}
.top-trigger span:nth-of-type(2) {
}
.top-trigger span:nth-of-type(3) {
    margin:10px auto 0;
}

.mobilenav {
    top: 0;
    left: 0;
    z-index: 999;
    display: none;
    position: fixed;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    height: 100vh;
    background: url(../img/common/menu_img.png) no-repeat center center #000;
	background-size:cover;
    overflow: auto;
    bottom: 0;
    right: 0;
}

.movmobb1 .active span:nth-of-type(1) {
	margin:0 auto;
	-webkit-transform: translateY(1px) rotate(-45deg);
	transform: translateY(1px) rotate(-45deg);
}
.movmobb1 .active span:nth-of-type(2) {
	opacity:0;
}
.movmobb1 .active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

@media screen and (max-width: 800px) {
.f_btn{
	position:fixed;
	z-index:99;
	right:0;
	left:0;
	top:auto;
	bottom:-180px;
	border-top:2px solid #000;
	display:flex;
	transition: all 0.3s;
}

.f_btn.on{
    bottom: 0;
}

.f_btn.off {
    bottom: -180px;
}

.f_btn li{
	width:50%;
}

.f_btn li a{
	display:flex;
	justify-content:center;
	align-items:center;
	height:70px;
	width:100%;
	padding:0 0 13px 0;
	background:url(../img/common/sp/r_btn01_bg.png) repeat-x bottom center #F9F6ED;
	font-size:14px;
	font-weight:700;
	border:none;
	border-right:1px solid #000;
	margin:0;
}

.f_btn li:nth-child(2) a{
	background:url(../img/common/sp/r_btn02_bg.png) repeat-x bottom center #F9F6ED;
	border:none;
	border-left:1px solid #000;
	border-right:none;
}


.gnav .box{
	position:relative;
}

.gnav .box .menulogo{
	left:-20px;
	top:0;
	width:120px;
	bottom:auto;
}

.gnav .box .menubox{
	width:100%;
	padding:120px 0 0 20px;
	display:block;
}

.gnav .box .nav > li{
	padding:0 0 30px 0;
}

.gnav .box .nav .tit a{
	font-size:18px;
	color:#AC8E2E;
	margin:0 0 20px 0;
}

.gnav .box .nav .link a{
	font-size:16px;
	margin:0 0 20px 0;
	padding:0 0 0 20px;
}

.gnav .box .nav .link a:after{
	margin-top:-4px;
}

.gnav .box ul .sns li{
	width:38px;
}

.gnav .box ul .sns li:not(:last-child){
	margin:0 20px 0 0;
}


.topmenu {
    height: 60px;
	width:60px;
    right: 0;
    top: 0;
	background:#000;
}
	
.topmenu:after{
	width:60px;
    right: 0;
    top: 20px;
	font-size:13px;
	color:#fff;
}

.top-trigger span {
	width: 25px;
	height: 2px;
	background-color: #fff;
}

.mobilenav {
    padding: 0 20px;
    height: 100dvh;
    background:#000;
}

}


/* footer
-------------------------------------------------------------------*/
#breadcrumb{
	position:absolute;
	top:-40px;
	left:0;
	right:0;
	margin:0 auto;
	max-width:1100px;
	padding:0 20px;
	text-transform: uppercase;
}

#breadcrumb ul{
	display:flex;
}

#breadcrumb ul li{
	padding:0 30px 0 0;
	position:relative;
	color:#fff;
}

#breadcrumb ul li:not(:last-child):after{
	content:">";
	position:absolute;
	right:10px;
	top:0;
}

#breadcrumb li a{
	display:inline-block;
	color:#fff;
}

footer{
	border-top:60px solid #DC0717;
	border-bottom:60px solid #000;
	position:relative;
}

footer .box{
	display:flex;
}

footer .address{
	min-width:720px;
	color:#fff;
	background:#AC8E2E;
	padding:70px 0 40px 180px; 
}

footer .address dl dt{
	font-size:30px;
	line-height:1.4em;
	font-weight:700;
}

footer .address dl dd{
	font-size:20px;
	line-height:2em;
	font-weight:600;
	padding:30px 0 0 0;
}

footer .address dl dd a{
	color:#fff;
}

footer .address .sns{
	padding:40px 0;
	display:flex;
	align-items:center;
}

footer .address .sns li{
	margin:0 30px 0 0;
}

footer .map{
	width:100%;
	line-height: 0;
}

footer .map iframe{
	width:100%;
	height:100%;
}

@media screen and (max-width: 800px) {
#breadcrumb{
	position:static;
	max-width:inherit;
	padding:10px 20px;
	background:#DC0717;
}

#breadcrumb ul{
	display:block;
}

#breadcrumb ul li{
	padding:0 30px 0 0;
	color:#fff;
	display:inline-block;
	font-size:12px;
}
	
footer{
	border-bottom:100px solid #000;
	border-top:none;
}
	
.home footer{
	border-top:60px solid #DC0717;
}

footer .box{
	flex-wrap:wrap;
}

footer .address{
	min-width:inherit;
	width:100%;
	padding:50px 20px 30px 20px; 
	order:2;
	text-align:center;
}

footer .address dl dt{
	font-size:20px;
}

footer .address dl dd{
	font-size:16px;
	padding:20px 0 0 0;
}

footer .address .sns{
	padding:30px 0;
	justify-content:center;
}

footer .address .sns li{
	margin:0 10px;
	width:38px;
}

footer .map iframe{
	width:100%;
	height:300px;
}
}
