@charset "UTF-8";
/************************************************************
 * reset
 ************************************************************/
*, *::before, *::after{
  box-sizing: border-box;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-weight: normal;
}
a{
	margin: 0;
	padding: 0;
	font-size: 100%;
	text-decoration: none;
	vertical-align: baseline;
	background: transparent;
}
a, img{
	border: none;
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
body{
	line-height: 1.2;
	-webkit-text-size-adjust: none;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display: block;
}
li{
	list-style: none;
}
ul, ol, li{
	list-style-position: outside;
	vertical-align: bottom;
}

/************************************************************
 * common style
 ************************************************************/
html{
	font-size: 62.5%;
}
html, body{
	overflow-x: hidden;
}
img{
	width:100%;
}
.pc{ display: none !important; }
.sp{ display: block !important; }
@media (min-width: 999px){
  .pc{ display: block !important; }
  .sp{ display: none !important; }
}
body{
	width: 100%;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.8;
	box-sizing: border-box;
	text-align: center;
	position: relative;
}
.f-small{
	font-size: 85%;
}
.f-large{
	font-size: 120%;
}
.alignleft{
	text-align: left;
}
.alignright{
	text-align: right;
}
.bold{
	font-weight: 500;
}
.c-or{
	color: #EA5514;
}
.f-sen{
	font-family: "Sen", system-ui;
	font-optical-sizing: auto;
  font-weight: 400;
}
/* flex */
@media (min-width: 999px){
	.dispflex{
		display: flex;
	}
}
.dispinblock{
	display: inline-block;
}
.animation{
	opacity : 0;
	visibility: hidden;
	transition: 2s;
	transform: translateY(30px);
}
.animation.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
/* layout */
.inner{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
/*PC*/
@media (min-width: 999px){
	.inner{
		max-width: 960px;
	}
}
/* hover */
@media (min-width: 999px){
	.hov{
		-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
		-webkit-transition: .3s ease-in;
		-moz-transition: .3s ease-in;
		-ms-transition: .3s ease-in;
		transition: .3s ease-in;
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.hov:hover{
		filter: alpha(opacity=70);
		opacity: .7;
		text-decoration: none;
		cursor: pointer!important;
	}
	.hov:hover a{
		text-decoration: none;
	}
}
.btn{
	display: block;
	color: #000;
	border: 1px solid #000;
	padding: 2rem;
	-webkit-border-radius: 50px;
	        border-radius: 50px;
	text-align: center;
	position: relative;
}
.btn span.arr{
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	right: 3rem;
	top: 50%;
	margin-top: -7px;
}
/* margin */
.mb1{
	margin-bottom: 1rem;
}
.mb2{
	margin-bottom: 2rem;
}
.mb3{
	margin-bottom: 3rem;
}
section{
	padding-bottom: 6rem;
}
/*PC*/
@media (min-width: 999px){
	.mb2{
		margin-bottom: 3rem;
	}
	.mb3{
		margin-bottom: 6rem;
	}
	section{
		padding-bottom: 10rem;
	}
}
/************************************************************
 * header
 ************************************************************/
.header{
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  position: relative;
}
.head_logo{
	position: absolute;
	top: 1.5rem;
	left: 2rem;
  width: calc(175 / 390 * 100vw);
  max-width: 175px;
  z-index: 2;
}
@media (min-width: 999px){
	.header{
  	height: 100px;
		display: flex;
		-webkit-align-items: center;
		        align-items: center;
	}
  .head_logo{
    width: calc(192 / 1400 * 100vw);
    max-width: 192px;
    left: calc(160 / 1400 * 100vw);
  }
  .header .contact-btn{
  	position: absolute;
  	top: 0;
  	right: 0;
  	width: calc(230 / 1400 * 100vw);
  	height: 100px;
  }
  .header .contact-btn a{
  	display: flex;
  	-webkit-justify-content: center;
  	        justify-content: center;
  	    -webkit-align-items: center;
  	            align-items: center;
  	width: 100%;
  	height: 100%;
  	background: #EA5514;
  	color: #fff;
		position: relative;
		z-index: 1;
  	transition: .3s;
  }
	.header .contact-btn a::before {
	  content: "";
	  width: 100%;
	  height: 100%;
	  position: absolute;
	  top: 0;
	  left: 0;
	  z-index: -1;
	  background: #333;
	  transform-origin: 100% 50%;
	  transform: scaleX(0);
	  transition: transform ease .3s;
	}
	.header .contact-btn a:hover {
	  color: #fff;
	}
	.header .contact-btn a:hover::before {
	  transform-origin: 0% 50%;
	  transform: scaleX(1);
	}
}
/*********************************	navigation *********************************/
#mobile-head{
	width: 100%;
	position: relative;
}
#global-nav{
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	background: #FFF;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
	width: 100%;
	height: 100%;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	z-index: 2;
	-ms-overflow-y: auto;
	    overflow-y: auto;
}
#global-nav nav{
	text-align: left;
	padding: 10rem 3rem 4rem;
}
#global-nav ul li{
	margin: 2rem 0;
}
#global-nav ul li:last-child{
	margin-bottom: 0;
}
#global-nav ul li a{
	color: #000;
	font-size: 1.8rem;
	position: relative;
	padding-left: 55px;
}
#global-nav ul li a:before{
	content: "";
	display: block;
	width: 30px;
	height: 2px;
	background: #D8B172;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -1px;
}
#global-nav section.contact-area{
	padding: 3rem 0!important;
}
#global-nav section.contact-area h2{
	margin-bottom: 2rem;
}

/*********************************	nav-toggle *********************************/
#mobile-head .f-sen{
	font-size: 12px;
	position: fixed;
	top: calc( 36px + 1.5rem );
	right: 2rem;
}
#nav-toggle{
	display: block;
	position: fixed;
	right: 2rem;
	top: 2rem;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 999;
}
#nav-toggle div{
	position: relative;
}
#nav-toggle span{
	display: block;
	position: absolute;
	height: 1px;
	width: 100%;
	background: #000;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1){
	top: 0;
}
#nav-toggle span:nth-child(2){
	top: 11px;
}
#nav-toggle span:nth-child(3){
	top: 22px;
}
.open #nav-toggle span:nth-child(1){
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2){
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3){
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
.open #global-nav{
	width: 100%;
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: visible;
	opacity: 1;
}
.open #nav-toggle span{
	background: #000;
}
body.fixed{
	position: fixed;
	overflow: hidden;
}
/*PC*/
@media (min-width: 999px){
	#mobile-head{
		display: none;
	}
	#global-nav{
		position: absolute;
		top: 0;
		opacity: 1;
		visibility: visible;
		background: none;
		transition: none;
		z-index: 0;
	}
	#global-nav nav{
		position: absolute;
		top: 50%;
  	transform:translateY(-50%);
		padding: 0;
  	right: calc(260 / 1400 * 100vw);
  	padding-left: calc(360 / 1400 * 100vw);
  	text-align: center;
	}
	#global-nav ul{
		display: flex;
		-webkit-align-items: center;
		        align-items: center;
	}
	#global-nav ul li{
		margin: 0;
		line-height: 1.2;
	}
	#global-nav ul li.pc{
		margin: 0 1.5rem;
	}
	#global-nav ul li a{
		padding-left: 0;
		font-size: 1.4rem;
	}
	#global-nav ul li a:before{
		display: none;
	}
	
}
/************************************************************
 * contact-area
 ************************************************************/
.pagetop{
	position: fixed;
	display: block;
	width: 40px;
	height: 40px;
	right: 0;
	bottom: 0;
}
section.contact-area{
	padding-top: 6rem;
	background: #323232;
	color: #fff;
}
section.contact-area .text{
	font-size: 1.5rem;
}
/*PC*/
@media (min-width: 999px){
	section.contact-area{
		padding: 6rem 0;
	}
	section.contact-area .dispflex{
		max-width: 692px;
		margin-left: auto;
		margin-right: auto;
		gap: 20px;
	}
	section.contact-area .dispflex p{
		margin-bottom: 0;
	}
}

/************************************************************
 * footer
 ************************************************************/
footer{
	padding: 5rem 0;
}
footer .foot-logo{
  width: calc(232 / 390 * 100vw);
  margin-left: auto;
  margin-right: auto;
}
footer .copy{
	font-size: 10px;
}

/*PC*/
@media (min-width: 999px){
	footer nav a{
		color: #000;
	}
	footer nav ul{
		-webkit-justify-content: center;
		        justify-content: center;
	    font-size: 1.4rem;
	}
	footer .foot-logo{
	  width: 290px;
	}
}