@charset "utf-8";

/* 共通パーツ */
html, body{
	width:100%;
	height:100%;
	font-family: 'Noto Serif JP', serif;
}
html{overflow-y: scroll;font-size: 625%;}

a{transition: all .3s ease-out;}
a:link {color: #000;text-decoration: none;}
a:visited {color: #000;text-decoration: none;}
a:hover{text-decoration: none; color: #E6AE75; }

.both{clear:both;}
.block{display: block;}
.nodisp{
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	height: 0;
}

.flexbox{
	position: relative;
	margin: 0 auto;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexbetween{justify-content: space-between;}
.flexaround{justify-content: space-around;}
.flexcenter{justify-content:center;}
.flexstart{justify-content: flex-start;}
.flexend{justify-content: flex-end;}
.flexaligncenter{align-items: center;}
.flexalignstart{align-items: flex-start;}
.flexstretch{align-items: stretch;}
.flexalignend{align-items: flex-end;}
.flexbox .box{
	position: relative;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.button{
	position: relative;
	margin: 0;
	display: inline-block;
	width: calc(100% - 6em);
	max-width: 320px;
	line-height: 1.5em;
	font-size: .18rem;
	padding: 15px 0;
	text-align: center;
	background-color: #93837d;
	border: solid 1px #93837d;
	color: #ffffff !important;
	transition: all .3s ease-out;
}
.button:hover{background-color: #ffffff;color: #93837d !important;}

img{
	max-width: 100%;
	height: auto;
    display: block;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	image-rendering: auto;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	body {
		image-rendering: -webkit-optimize-contrast;
	}
}
svg {vertical-align:bottom;max-width: 100%;}
img[src$=".svg"] {width: 100%;}

iframe[name="google_conversion_frame"] { position: absolute; top: 0; }

body{
	position: relative;
	width: 100%;
	color: #111111;
	background-color: #93837d;
	font-size: .14em;
	line-height: 1.7em;
	font-weight: 400; 
	font-feature-settings: "halt" 1;
	word-wrap: break-word;
	z-index: -10;
}

section{
	position: relative;
	margin: 0 auto;
	padding: 0;
}

h2{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	color: #000000;
	font-size: .22rem;
	text-align: center;
	font-weight: 500;
	letter-spacing: .03em;
	line-height: 1.6em;
	
}
.title{opacity: 0;}
.title span{
	position: relative;
	margin: 0;
	display: inline-block;
	opacity: 0;
	transform: translateY(8px) translate3d(0, 0, 0);
}
@keyframes contTxtanimation {
	0% {
		transform: translateY(8px);
		opacity: 0;
	}
	100% {
	  transform: translateY(0);
	  opacity: 1;
	}
}

#wrap{
	position: relative;
	width: 100% !important;
	margin:0 auto; 
	padding:0;
	overflow: hidden;
}
#main-contents{
	position: relative;
	margin: 0 auto;
	padding-top: 40px;
}

.contents{
	position: relative;
	opacity: 0;
	transform: translateY(25px) translate3d(0, 0, 0);
	z-index: 2;
}
@keyframes dispAnimation {
	0% {
		transform: translateY(25px);
		opacity: 0;
	}
	70% {
		opacity: 0.6;
	}
	100% {
	  transform: translateY(0);
	  opacity: 1;
	}
}

.contentsF{
	position: relative;
	opacity: 0;
	transform: translate3d(0, 0, 0);
	z-index: 3;
}
@keyframes disp_F_Animation {
	0% {
		opacity: 0;
	}
	70% {
		opacity: 0.6;
	}
	100% {
	  opacity: 1;
	}
}

#menu{
	position: relative;
	z-index: 10000;
}
#menu nav{
	position: fixed;
	top:40px;
	left: 0;
	width: 100%;
	height: calc(100% - 40px);
	display: none;
	border-top:solid 1px #a67c52;
	background-color: #ffffff;
}
#menu nav ul{
	position: relative;
	margin: 20px auto 0 auto;
}
#menu nav ul li{
	position: relative;
	margin: 20px auto;
	width: 100%;
	text-align: center;
}
#menu .btn_menu{
	position: fixed;
	top:0;
	right: 0;
	height: 40px;
	width: 100%;
	background-color: rgba(255,255,255,.8);
	z-index: 30002;
	cursor: pointer;
}
.menu-trigger {
	position: absolute;
	top: 11px;
	right: 10px;
	width: 20px;
	height: 14px;
}
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #a67c52;
  border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 6px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger span:nth-of-type(1) {
  animation: menu-bar01 .75s forwards;
}
@keyframes menu-bar01 {
  0% {
    transform: translateY(8px) rotate(45deg);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.menu-trigger span:nth-of-type(3) {
  animation: menu-bar02 .75s forwards;
}
@keyframes menu-bar02 {
  0% {
    transform: translateY(-6px) rotate(-45deg);
  }
  50% {
    transform: translateY(-6px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger.active span:nth-of-type(1) {
  animation: active-menu-bar01 .75s forwards;
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(6px) rotate(0);
  }
  100% {
    transform: translateY(6px) rotate(45deg);
  }
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  animation: active-menu-bar03 .75s forwards;
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-6px) rotate(0);
  }
  100% {
    transform: translateY(-6px) rotate(-45deg);
  }
}

/* modal */
.opwin, .opmovie{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.9);
	z-index: -20000;
	opacity: 0;
	overflow-y: auto;
}
.opwin.disp, .opmovie.disp{ z-index: 20000;animation: modal .6s ease-in-out 0s 1 normal forwards;}
.close{
	position: absolute;
	top:-40px;
	right: -20px;
	width:40px;
	height: 14px;
	cursor: pointer;
	transition: all .3s ease-out;
}
.close:hover{opacity: .6;}
.close span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #ffffff;
  border-radius: 1px;
}
.close span:nth-of-type(1) {top: 12px;transform: rotate(45deg);}
.close span:nth-of-type(2) {bottom: 0;transform: rotate(-45deg);}
.close_win {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 20001;
	overflow: hidden;
 }
@keyframes modal {
	100% {
	  opacity: 1;
	}
}
.opwin .modal{
	transition: all .3s ease-out 1s;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 40px);
	max-width:800px;
	opacity: 0;
	 z-index: -20002;
}
.opwin .modal.disp{ z-index: 20002;animation: modal .6s ease-in-out 0s 1 normal forwards;}
.opwin .modal .popUpImg{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width:800px;
}
.opmovie .modal{
	transition: all .3s ease-out 1s;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 10%);
	z-index: -20003;
	opacity: 0;
}
.opmovie .modal.disp{ z-index: 20003;animation: modal .6s ease-in-out 0s 1 normal forwards;}

.movieWrap{
    position: relative;
    margin: 0 auto;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}
.movieWrap .movie{
	position: absolute;
	top:50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	margin: 0 auto;
}
.movieWrap .movie iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}


.sp{ display: block; }
.pc{ display: none; }


/* ----- pc ----- */
@media screen and (min-width: 1090px) {
		
	.sp{ display: none; }
	.pc{ display: block; }
    
    body{font-size: .17em;line-height: 2em;}

	.button{
		font-size: .24rem;
		padding:25px 0;
		line-height: 1em;
	}

	#wrap{min-width: 1100px;padding: 0;}
	#main-contents{padding-top: 80px;}
	
	h2{
		padding: 80px 0;
		font-size: .36rem;
		line-height: 1.8em;
	}

	#menu nav{
		top:0;
		left: 0;
		height:80px;
		display: block;
		border-top:none;
		background-color: rgba(255,255,255,.9);
	}
	#menu nav ul{width: calc(100% - 40px); margin: 0 auto 0 0;}
	#menu nav ul li{
		margin: 0 15px;
		width: auto;
		font-size: .20rem;
		line-height: 60px;
		padding-top: 20px;
	}


}
@media screen and (max-height: 600px) and (min-width: 689px)  {
	.opwin .modal, .opmovie .modal{
		top:50px;
		transform: translate(-50%, 0);
	}
}

@media screen and (min-width: 540px) and (max-width: 1291px) {
	body{font-size: .16em;line-height: 2em;}
}
@media screen and (min-width: 540px) and (max-width: 1089px) {	
	
	h2{
		font-size: .26rem;
		line-height: 1.8em;
	}
	h2 .sp{display: none;}
	
}