@charset "UTF-8";
/* CSS Document */

/*YUI 3.18.1 (build f7e7bcb)*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

@font-face {
  font-family:"NotoSansJP";
  src:url("../font/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-family:"NotoSerifJP";
  src:url("../font/NotoSerifJP-VariableFont_wght.ttf") format("truetype");
}

@font-face {
  font-family:"Helvetica Neue";
  src:url("../font/HelveticaNeueMedium.otf") format("opentype");
  font-weight: 500;
}

@font-face {
  font-family:"Helvetica Neue";
  src:url("../font/HelveticaNeueBold.otf") format("opentype");
  font-weight: 700;
}


html,body {position:relative;font-family:"NotoSansJP",sans-serif;font-size:14px;line-height:2em;letter-spacing:0.2em;}
html{ scrollbar-gutter:stable;}
a {text-decoration:none;color:#000;}
.inner {max-width:1520px;width:calc(100% - 70px);padding:0 35px;margin:0 auto;}
input[type="text"],
input[type="number"] {border:solid 1px #fff;border-radius:8px;padding:0.5em;}
input[type="button"] {font-size:1rem;border-radius:50px;padding:14px 30px;}

h1,h2 {font-family: "NotoSerifJP",serif;}
.wrap {width:100%;background:#F2F2F2;position:relative;overflow:hidden;}

/*header*/
header {width:100%;font-size:14px;line-height:1.3em;}

.site-title {width:152px;position:absolute;left:35px;top:48px;z-index:100;}
.site-title a,
.site-title img {display:block;width:100%;}

.main-menu {display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.7);border-radius:50px;padding-left:50px;padding-right:20px;position:fixed;right:35px;top:39px;z-index:100;}
.main-menu .menu {display:flex;justify-content:space-between;align-items:center;}
.main-menu .menu > li {position:relative;}
.main-menu .menu > li > a {display:block;position:relative;padding:31px 15px;}

.main-menu .sub-menu {display:none;width:322px;padding-top:21px;position:absolute;top:100%;left:-21px;}
.main-menu .sub-menu > .sub-menu-inner {background:#fff;border-radius:21px;overflow:hidden;padding:23px 40px;}
.sub-menu-inner li a {display:block;position:relative;padding:12px 0 12px 0;}
.main-menu .sub-menu > .sub-menu-inner > li > .sub-menu-inner li a {padding:12px 0 12px 12px;}
.main-menu .sub-menu > .sub-menu-inner > li > .sub-menu-inner li a:before {content:"-";position:absolute;left:0;top:11px;}

.main-menu .contact-menu a {display:block;background:#000;color:#fff;border-radius:50px;padding:14px 60px; margin-left:51px;}

/*header action*/
.main-menu .menu a,
.main-menu .contact-menu a {transition:0.3s;}
.main-menu:hover .menu > li > a {color:#707070;}
.main-menu:hover .menu > li > a:hover {color:#000;}
.main-menu:hover .contact-menu a {background:#B5B5B5;}
.main-menu:hover .contact-menu a:hover {background:#000;}
.main-menu:hover .menu .sub-menu-inner:hover li a {color:#707070;}
.main-menu:hover .menu .sub-menu-inner:hover li a:hover {color:#000;}

.sp-menu {display:none;}

#simulation {width:200px;height:100px;border-radius:30px;background:#000;color:#fff;overflow:hidden;position:fixed;right:35px;bottom:30px;transition:right 0.5s;z-index:100;}
#simulation .simulation-title {width:200px;height:100px;display:flex;align-items:center;text-align:center;justify-content:center;line-height:1.5em;position:absolute;right:0;bottom:0;cursor:pointer;z-index:10;}
#fbuilder {display:none;position:absolute;left:0;top:0;width:100%;height:100%;overflow-y:scroll;}
#fbuilder .uh {display:none;}
#fbuilder > div {width:100%;max-width:500px;padding:30px;margin:0 auto;}
#fbuilder .fields {margin-top:30px;}
#fbuilder .fields > label {display: block;font-family: "NotoSerifJP";font-weight:400;font-size: 1.5em;margin-bottom: 0.5em;}
#fbuilder .fields .dfield .one_column {font-size:1.2em;margin-bottom:0.5em;}
#fbuilder .cff-button-field {margin-top:1em;}
#fbuilder .cff-button-field input[type="button"] {background:#000;color:#fff;border:solid 1px #fff;}

#simulation.open {animation:simulationOpen 1s cubic-bezier(0.33,1,0.68,1) forwards;z-index:110;}
#simulation.close {animation:simulationClose 1s cubic-bezier(0.33,1,0.68,1) forwards;z-index:100;}

@keyframes simulationOpen {
  0% {width:200px;height:100px;}
  50% {width:calc(100% - 70px);height:calc(100% - 60px);}
  100% {width:calc(100% - 70px);height:calc(100% - 60px);}
}

@keyframes simulationClose {
  0% {width:calc(100% - 70px);height:calc(100% - 60px);}
  50% {width:200px;height:100px;}
  100% {width:200px;height:100px;}
}

#simulation.avoid {right:-200px;}

@media screen and (max-width:1100px){
	.main-menu {display:none;}
	.sp-menu {display:block;}
	
	/*
	.site-title {width:150px;left:35px;top:48px;}
	
	.sp-menu {width:170px;height:80px;background:rgba(255,255,255,0.7);border-radius:21px;position:fixed;right:35px;top:39px;font-size:20px;line-height:1.3em;overflow:hidden;overflow-y:hidden;}
	.sp-menu.open {
		animation: menuOpen 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	}
	.sp-menu.close {
		animation: menuClose 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	}
	@keyframes menuOpen {
		0% {
			width:170px;height:80px;overflow-y:hidden;
		}
		50% {
			width:calc(100% - 60px);height:calc(100% - 80px);overflow-y:hidden;
		}
		100% {
			width:calc(100% - 60px);height:calc(100% - 80px);overflow-y:scroll;
		}
	}
	@keyframes menuClose {
		0% {
			width:calc(100% - 60px);height:calc(100% - 80px);overflow-y:hidden;
		}
		50% {
			width:170px;height:80px;overflow-y:hidden;
		}
		100% {
			width:170px;height:80px;overflow-y:hidden;
		}
	}

	.menu-btn {display:flex;align-items:center;width:118px;height:80px;font-size:20px;padding:0 26px;font-family:"Helvetica Neue";font-weight:500;background:url("../images/icon-menu.svg") no-repeat right 26px center;background-size:25px auto;position:fixed;right:35px;top:39px;}
	
	.sp-menu .menu-inner {background:#fff;padding:110px 50px 110px 50px;}
	.sp-menu .menu {opacity:0;padding:0 110px 0 50px;}
	.sp-menu.open .menu {opacity:1;transition:opacity 0.5s 0.5s;}
	.sp-menu.close .menu {opacity:0;transition:opacity 0s;}
	
	.sp-menu .menu > li {position:relative;}
	.sp-menu .menu > li > a {display:block;padding:30px 0;}
	.sp-menu .menu > li.parent > a {padding-right:25px;}
	.sp-menu .menu > li.parent > .icon {width:calc(1.3em + 60px);height:calc(1.3em + 60px);background:url("../images/icon-accordion.svg") no-repeat center;background-size:25px auto;position:absolute;right:0;top:0;transition:0.3s;}
	.sp-menu .menu > li.parent > .icon.open {transform:rotate(180deg);}
	
	.sp-menu .sub-menu {display:none;padding:0 25px 30px;}
	.sp-menu .sub-menu li a {display:block;padding:20px 0 20px 15px;}
	.sp-menu .sub-menu li a:before {content:"-";position:absolute;left:0;top:18px;}
	.sp-menu .contact-menu a {display:block;background:#000;color:#fff;text-align:center;border-radius:50px;padding:23px;margin:53px 0 60px;}
	
	.sp-menu .menu-text div {font-size:0.75em;line-height:1.3em;margin-bottom:30px;}
	.sp-menu .menu-text small {font-size:0.65em;line-height:1.3em;}
	*/
	.site-title {width:87.5px;left:35px;top:50px;}

	.sp-menu {width:119px;height:56px;background:rgba(255,255,255,0.7);border-radius:15px;position:fixed;right:35px;top:39px;font-size:14px;line-height:1.3em;overflow:hidden;max-width: 455px;z-index:100;}
	.sp-menu.open {animation:menuOpen 1s cubic-bezier(0.33,1,0.68,1) forwards;z-index:110;}
	.sp-menu.close {animation:menuClose 1s cubic-bezier(0.33,1,0.68,1) forwards;z-index:100;}

	@keyframes menuOpen {
	  0% {width:119px;height:56px;background:rgba(255,255,255,0.7);}
	  50% {width:calc(100% - 70px);height:calc(100% - 56px);background:rgba(255,255,255,1);}
	  100% {width:calc(100% - 70px);height:calc(100% - 56px);background:rgba(255,255,255,1);}
	}

	@keyframes menuClose {
	  0% {width:calc(100% - 70px);height:calc(100% - 56px);background:rgba(255,255,255,1);}
	  50% {width:119px;height:56px;background:rgba(255,255,255,1);}
	  100% {width:119px;height:56px;background:rgba(255,255,255,0.7);}
	}

	.menu-btn {display:flex;align-items:center;width:83px;height:56px;font-size:14px;padding:0 18px;font-family:"Helvetica Neue";font-weight:500;letter-spacing:0.15em;background:url("../images/icon/icon-menu.svg") no-repeat right 18px center;background-size:18px auto;position:fixed;right:35px;top:39px;}

	.sp-menu .menu-block {display:flex;height:calc(100% - 112px);padding:77px 18px 35px 25px;margin: 0 auto;}
	.sp-menu .menu-inner {width:100%;height:100%;overflow:hidden;overflow-y:scroll;padding:0 17px 0 10px;}
	.sp-menu .menu {opacity:0;padding:0 77px 0 35px;}
	.sp-menu.open .menu {opacity:1;transition:opacity 0.5s 0.5s;}
	.sp-menu.close .menu {opacity:0;transition:opacity 0s;}

	.sp-menu .menu > li {position:relative;}
	.sp-menu .menu > li > a {display:block;padding:21px 0;}
	.sp-menu .menu > li.parent > a {padding-right:40px;}
	.sp-menu .menu > li.parent > .icon {width:calc(1.3em + 42px);height:calc(1.3em + 42px);background:url("../images/icon/icon-accordion.svg") no-repeat center;background-size:18px auto;cursor:pointer;position:absolute;right:-20px;top:0;transition:0.3s;}
	.sp-menu .menu > li.parent > .icon.open {transform:rotate(180deg);}

	.sp-menu .sub-menu {display:none;padding:0 18px 21px;}
	.sp-menu .sub-menu > .sub-menu-inner > li a {display:block;padding:14px 0 14px 0;}
	.sp-menu .sub-menu > .sub-menu-inner > li > .sub-menu-inner > li a {padding-left:11px;}
	.sp-menu .sub-menu > .sub-menu-inner > li > .sub-menu-inner > li a:before {content:"-";position:absolute;left:0;top:13px;}

	.sp-menu .contact-menu a {display:block;background:#000;color:#fff;text-align:center;border-radius:35px;padding:16px;margin:37px 0 42px;}
	.sp-menu .menu-text {padding: 0 0 77px 35px;}
	.sp-menu .menu-text div {font-size:0.75em;line-height:1.3em;margin-bottom:21px;}
	.sp-menu .menu-text small {font-size:0.65em;line-height:1.3em;}

}
@media screen and (max-width:525px){
	.sp-menu .menu {padding:0;}
	.sp-menu .menu-text {padding-left:0;}
}


footer {background:url("../images/footer.jpg") no-repeat center top;background-size:cover;position:relative;padding:145px 0 32px;}
footer .logo {width:152px;position:absolute;left:35px;top:105px;z-index:100;}
footer .logo a,
footer .logo img {display:block;width:100%;}
footer .inner {max-width:1282px;}
footer .nav {display:flex;margin-bottom:400px;}
footer .nav a {display:inline-block;color:#fff;}

footer nav > ul > li > a {font-size:16px;margin-top:40px;margin-bottom:25px;}
footer nav > ul > li:first-of-type > a {margin-top:0;}
footer nav > ul > li > ul > li {margin-top:15px;}
footer nav > ul > li > ul > li:first-of-type {margin-top:0;}
footer nav > ul > li > ul > li > a {position:relative;padding-left:1em;}
footer nav > ul > li > ul > li > a:before {content:"- ";position:absolute;left:0;top:0;}

footer .copy,
footer .copy ul {display:flex;}
footer .copy {justify-content:end;align-items:center;margin-right:35px;}
footer .copy ul li a,
footer .copy small {font-size:15px;line-height:1em;color:#fff;}
footer .copy ul li {margin:0 1em;}
footer .copy small {margin-left:67px;}

@media screen and (max-width:1589px){
	footer {padding-top:230px;}
}
@media screen and (max-width:768px){
	footer .nav,
	footer .copy,
	footer .copy ul {display:block;}
	footer .copy {width: calc(100% - 70px);padding: 0 35px;margin:0;}
	footer .copy ul li {margin:0;}
	footer .copy small {display:block;margin:30px 0 0;}
}
