@charset "UTF-8";

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
.slick-slider{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:rgba(0,0,0,0)}.slick-list,.slick-slider{position:relative;display:block}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir='rtl'] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}


/*!
 * Slidebars - A jQuery Framework for Off-Canvas Menus and Sidebars
 * Version: 2.0.2
 * Url: http://www.adchsm.com/slidebars/
 * Author: Adam Charles Smith
 * Author url: http://www.adchsm.com/
 * License: MIT
 * License url: http://www.adchsm.com/slidebars/license/
 */

[canvas],[off-canvas*=push]{z-index:1}[off-canvas*=reveal],[off-canvas*=shift]{z-index:0}[canvas=container],[off-canvas],body,html{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden}[canvas=container]{width:100%;height:100%;overflow-y:auto;position:relative;background-color:#fff;-webkit-overflow-scrolling:touch}[canvas=container]:after,[canvas=container]:before{clear:both;content:'';display:table}[off-canvas]{display:none;position:fixed;overflow:hidden;overflow-y:auto;background-color:#000;color:#fff;-webkit-overflow-scrolling:touch}[off-canvas*=top]{width:100%;height:255px;top:0}[off-canvas*=right]{width:255px;height:100%;top:0;right:0}[off-canvas*=bottom]{width:100%;height:255px;bottom:0}[off-canvas*=left]{width:255px;height:100%;top:0;left:0}[off-canvas*=overlay]{z-index:9999}[canvas],[off-canvas]{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-backface-visibility:hidden}[off-canvas*=shift][off-canvas*=top]{-webkit-transform:translate(0,50%);transform:translate(0,50%)}[off-canvas*=shift][off-canvas*=right]{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}[off-canvas*=shift][off-canvas*=bottom]{-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}[off-canvas*=shift][off-canvas*=left]{-webkit-transform:translate(50%,0);transform:translate(50%,0)}@media print{[canvas]{-webkit-transform:translate(0,0)!important;-ms-transform:translate(0,0)!important;transform:translate(0,0)!important}[off-canvas]{display:none!important}}

[canvas="container"]{
	background-color:transparent;
}
[off-canvas]{
	background-color: #333;
	padding:2rem;;
}
[off-canvas] ul.main{
	list-style:none;
	font-weight: 400;
}
[off-canvas] ul.main li{
	margin-bottom: 2rem;
}
[off-canvas] ul.main a{
	color: #fff;
}
.container{
	max-width: 1280px;
	padding:0 40px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.container > .inner-middle{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.container > .inner-small{
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width:640px){
	[off-canvas] ul.main{
		font-size: 14px;
	}
    .container{
       padding:0 20px;
    }
}
@media screen and (min-width:641px){
	[off-canvas] ul.main{
		font-size: 12px;
	}
}

@media screen and (max-width:640px){
	.sp-n{display: none;}
	.pd-t{padding-top:6rem;}
	.pd-b{padding-bottom:6rem;}
	.pd-m{padding:3rem;}
	.mb-m{margin-bottom:3rem;}
	.mb-l{margin-bottom:4rem;}
	}
	@media screen and (min-width:641px){
	.pd-t{padding-top:12rem;}
	.pd-b{padding-bottom:12rem;}
	.pd-m{padding:6rem;}
	.mb-m{margin-bottom:6rem;}
	.mb-l{margin-bottom:8rem;}
}
/*------------------------------------------------------------*/

h2.line-lead{
    font-weight: normal;
    position: relative;
	color: #767171;
	margin-bottom: 4rem;
}
h2.line-lead::before{
position: absolute;
top: 40%;
left: -5rem;
content: '';
display: block;
width: 4rem;
height: 1px;
background-color: #333;
}


html,
body{
  height: 100%;
}
*,
*::after,
*::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*{
  margin: 0;
  padding: 0;
}
img{
	max-width: 100%;
	height: auto;
}
html {
  font-size: 12px;
}
@media screen and (min-width: 320px) and (max-width:979px){
  html {
    font-size: calc(12px + (14 - 12) * ((100vw - 320px) / (980 - 320)));
  }
}
@media screen and (min-width:980px) {
  html {
    font-size: 14px;
  }
}

::-moz-selection,
::selection {
    background: #b3d4fc;
    text-shadow: none;
}
body{
  font-family: -apple-system, BlinkMacSystemFont,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",  'Kosugi', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', "メイリオ", sans-serif;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: 'pkna';
  font-feature-settings: 'pkna';
  letter-spacing: normal;
  color: #333;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
}
.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
li.dammy{
	position: relative;
	z-index: 0;
}
li.dammy::before,
li.dammy::after{
	display: block;
	position:absolute;
	width:100%;
	height:100%;
	top: 0;
	bottom:0;
	left: 0;
	right: 0;
}
li.dammy::before{
	content: '';
	z-index:1;
	background-color: rgba(255,255,255,.7);
}
li.dammy::after{
	z-index:2;
	content: '下層表示';
	text-align: center;
	line-height: 1.4;
	color: fuchsia;
}
/*IE11only hack new!!
_:lang(x)::-ms-backdrop, .selector{}
*/
.js body.loading::before{
	content: '';
	position: fixed;
	z-index: 100000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.js body.loading::after{
	content: '';
	position: fixed;
	z-index: 100000;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	pointer-events: none;
	border-radius: 50%;
	opacity: 0.4;
	background-color:#333;
	animation: loaderAnim 0.7s linear infinite alternate forwards;
}
@keyframes loaderAnim {to{opacity: 1;transform: scale3d(0.5,0.5,1);}}
@-webkit-keyframes loaderAnim {to{opacity: 1;transform: scale3d(0.5,0.5,1);}}

.f--en--l{
    font-family: 'Lato', sans-serif;
	font-weight: 100;
	font-style: normal;
}
.f--en--b{
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f--upc{
    text-transform: uppercase;
}

/*z-index*/
#header{
	z-index:100;
	/*max-width: 1800px;*/
	margin: 0 auto;
}
main{
	display: block;
	/*max-width: 1800px;*/
	margin: 0 auto;
}

.fx{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.fx--item-s {
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}

.fx--item-c {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.fx--item-st {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.fx--jc-c {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.fx--jc-e {
	-webkit-box-pack: flex-end;
	-ms-flex-pack: flex-end;
	justify-content: flex-end;
  }
.fx--jc-sb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.fx--dir-r {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}
.fx--dir-c {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction:column;
	flex-direction:column;
  }
.fx--dir-r-r {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.fx--wrap {
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width:640px){
    .fx--sp-block{
        display: block;
    }
}
.cell.is-empty {
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
  }
  
@media screen and (min-width:641px){}


.box--link{
	position: relative;
}
.box--link a{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	text-indent: -999em;
	background-color: rgba(255,255,255,0);
}
a {
	color: #333;
	text-decoration: none;
}
.btn{
	padding:1rem 2.5rem;
	border-radius:2px;
}
.btn--styleA{
	color: #fff;
	background-color: #767171;
}
.btn--styleB{
	color: #767171;
	background-color: #fff;
}
.btn.sizel{
	font-size:18px;
	padding:1rem 2.5rem;
}
.btns-wrap{}
.btns-wrap.fx p{
padding: 4rem;
}
@media screen and (min-width:980px){
	.box--link a,
	.btn{
		transition: all .3s;
	}
	.box--link:hover a{
		background-color: rgba(255,255,255,0.2);
	}
	.box--link:hover .btn.btn--styleA,
	a.btn.btn--styleA:hover{
		color: #767171;
		background-color: #fff;
		border: solid 1px #767171;
	}
	.box--link:hover .btn.btn--styleB,
	a.btn.btn--styleB:hover{
		color: #fff;
		background-color:rgba(255,255,255,0.3);
		border: solid 1px #fff;
	}
}
@media screen and (max-width: 825px){
.btn.sizel {
    font-size: 15px;
    padding: 1rem 2.5rem;
}
.btns-wrap.fx p {
    padding: 3rem;
}
}
.t--c{
text-align: center;
}
.t--r{
	text-align: right;
	}
.t--jc{
text-align: justify;
text-justify: inter-ideograph;
}


a.text-link{
	color: #999;
	text-decoration: underline;
}
a.ico{
	position: relative;
}
a.ico.arrow-r::before,
a.ico.arrow-l::before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 0;
	margin-right: .2rem;
}
a.ico.arrow-r::before{
border-top: solid 4px transparent;
border-right: solid 4px transparent;
border-bottom: solid 4px transparent;
border-left: solid 4px #fff;
}
a.ico.arrow-l::before{
border-top: solid 4px transparent;
border-right: solid 4px #fff;
border-bottom: solid 4px transparent;
border-left: solid 4px transparent;
}
@media screen and (min-width:980px){
	a.text-link{
		transition: opacity .3s;
	}
	a.text-link:hover{
		color: #666;
		text-decoration: none;
	}
}
/*nav
header*/

#header.sticky{
	top:0;
	left: 0;
	z-index: 10;
	position: -webkit-sticky;
	position: sticky;
}
#header.fixed{
	position: fixed;
	top:0;
	left: 0;
	right:0;
	transition: background-color .3s;
}
#header.fixed.on{
	background-color:rgba(255,255,255,0.7);
}

#header .inner header h1{
	font-size:0px;
    margin:0;
}

.menu{
	text-align: center;
}
.menu b{
	font-size: 9px;
	letter-spacing: .12rem;
	color: #fff;
}
#header.fixed.on .menu b{
	color: #333;
}


@media screen and (max-width:640px){
	#header{
		padding:1.2rem;
	}
	#header .inner.fx header{
		flex-basis:60%;
		max-width:180px;
	}
}
@media screen and (min-width:641px){
	#header{
		padding:2.4rem;
	}
	#header .inner.fx header{
		flex-basis:30%;
		max-width:200px;
	}
}
/*
#header .inner.fx span.menu{
flex-basis:50%;
}
*/
.js-toggle-main-menu{
	cursor: pointer;
}
.hamburger{
	position: relative;
	display:block;
	overflow: hidden;
	width:35px;
	height:25px;
	margin: 0 auto;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.hamburger::before,
.hamburger::after{
	content: '';
	display: block;
	position: absolute;
	height: 1px;
	width: 100%;
	background-color: #fff;
}
#header.fixed.on .hamburger{
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
}
#header .hamburger.close{
	
}
#header.fixed.on .hamburger.close{
	border-top: 0 solid #fff;
	border-bottom: 0 solid #fff;
}
#header.fixed.on .hamburger::before,
#header.fixed.on .hamburger::after{
	background-color: #333;
}
.hamburger::before{
top:50%;
margin-top: 0px;
}
.hamburger::after{
	display: none;
}
.hamburger.close{
	border:none;
}
.hamburger.close::before,
.hamburger.close::after{
	top: 50%;
	left: 0;
	display:block;
	margin-top: -1px;
	height: 1px;
}
.hamburger.close::before{
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.hamburger.close::after{
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


footer{
}
footer address{
	font-style: normal;
	text-align:center;;
}


.prlx-bg {
	position: relative;
	overflow: hidden;
	z-index: 0;
	}
.prlx-bg .bg {
	height: 110%;
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	top: -10%;
	background-size:cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.prlx-bg .container {
	position: relative;
	z-index: 2;
}

.gray-bg{
    position: relative;
    z-index: 0;
}
.gray-bg::after{
    content: '';
    display: block;
    position:absolute;
    top:0;
    bottom:0;
    left: 0;
	right: 0;
	width: 100%;
	height: 100%;
    z-index:0;
    background-color: rgba(0,0,0,0.4);
}

svg{
fill: currentColor;
}
.sc-svg-c {
	position: relative;
	height: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	padding-bottom: 100%;
	display: inline-block;
}
.sc-svg-c > svg{
position: absolute;
height: 100%;
width: 100%;
left: 0;
top: 0;
}
svg path,
svg polygon{
fill: inherit;
stroke: inherit;
stroke-width: inherit;
transform: inherit;
}
#header use.use-logo{
--primary-color: #fff;
--secondary-color: #333;
}
#header h1 svg.A{
display:block;
}
#header h1 svg.B{
display:none;
}
#header.on h1 svg.A{
	display:none;
}
#header.on h1 svg.B{
	display:block;
}
_:lang(x)::-ms-backdrop, #header.on use.use-logo{}

.sc-svg-c.logo{
	padding-bottom: 27.160493827160494%;
	/*viewbox 77/283.5 = 0.271604938271605 x 100*/
  }
.video-fluid {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
}
iframe {
	border: 0;
}
.video-fluid > iframe {

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

}



/*------------------------------------------------------------*/
.container.header-rect{
    position: relative;
    z-index: 0;
}
.container.header-rect::before{
    position:absolute;
    z-index: -1;
    content:'';
    display:block;
    top: 0;
    left:0;
    width: 14rem;
    height: 14rem;
    background-color: #efefef;
}
.container.header-rect header{
	padding-top: 4rem;
	margin-bottom: 4rem;
}
.container.header-rect header h3{
    color: #333;
    font-weight:300;
    line-height: 2;
    letter-spacing: .04em;
    font-size:18px;
}
/*------------------------------------------------------------*/
.hr{
    border-bottom: 1px #ccc solid;
}
/*------------------------------------------------------------*/
.header-middle{
	margin-bottom: 4rem;
}
.header-middle h2{
	font-weight:200;
	position: relative;
	padding-bottom: 2rem;
}
.header-middle h2::before{
	font-weight:200;
	position: absolute;
	left:50%;
	margin-left: -2rem;
	content: '';
	display: block;
	bottom:0;
	background-color: #333;
	width: 4rem;
	height: 1px;
}
/*------------------------------------------------------------*/

ul.layout-base li img{
	display: block;
	margin-bottom: 1rem;
}
ul.layout-base li h3{
    color: #767171;
    font-size: 14px;
    margin-bottom: 1rem;
}
ul.layout-base li p{
    line-height: 1.6;
}
ul.layout-base li figcaption{
	margin-bottom: .25rem;
}
ul.layout-base li span{
	font-size: 14px;
	margin-bottom: .25rem;
	display: block;
}
ul.layout-base li b{
	display: block;
}

ul.layout3{
    list-style: none;
}
ul.layout3 li{
    margin-bottom: 2rem;
}
ul.layout3 li figure{
    margin-bottom: 1rem;
}
ul.layout3 li img{
    display: block;
    margin-bottom: 2rem;
}
@media screen and (max-width:640px){
    ul.layout3.fx li{
        flex-basis:50%;
        padding:1rem;
    }
}
@media screen and (min-width:641px){
    ul.layout3.fx li{
		flex-basis: 32%;
		margin-right: 2%;
	}
	ul.layout3.fx li:nth-of-type(3n){
		margin-right: 0;
	}
}

ul.layout4{
    list-style: none;
}
ul.layout4{
    margin-bottom: 4rem;
}
ul.layout4 > li{
    margin-bottom: 2rem;
}
ul.layout4 > li figure{
    margin-bottom: 1rem;
}
@media screen and (max-width:640px){
    ul.layout4.fx{
        -webkit-flex-wrap:wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    ul.layout4.fx > li{
        flex-basis:50%;
        padding:1rem;
    }
}
@media screen and (min-width:641px){
    ul.layout4.fx > li{
		flex-basis: 23.5%;
		margin-right: 2%;
	}
	ul.layout4.fx > li:nth-of-type(4n){
		margin-right: 0;
	}
}




ul.layout5{
    list-style: none;
}
ul.layout5 > li{
    margin-bottom: 2rem;
}
@media screen and (max-width:640px){
	ul.layout5.fx{
        -webkit-flex-wrap:wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    ul.layout5.fx > li{
        flex-basis:50%;
        padding:1rem;
    }
}
@media screen and (min-width:641px){
	ul.layout5.fx > li{
		flex-basis: 18.4%;
		margin-right: 2%;
	}
	ul.layout5.fx > li:nth-of-type(5n){
		margin-right: 0;
	}
}


.header-ct{
    min-height: 200px;
	background-size: cover;
	background-position: center center;
    position: relative;
    z-index: 0;
    overflow: hidden;
    /*border:1px #ccc solid;*/
}
_:lang(x)::-ms-backdrop, .header-ct{
	height: 200px;
}
.header-ct::before,
.header-ct::after{
    content: '';
    position: absolute;
    display: block;
    top:0;
    bottom:0;
    left: 0;
    right: 0;
}
.header-ct::before{
    background: inherit;
	-webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
	filter: blur(5px);
	
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
	z-index: -2;
}
.header-ct::after{
background-color:rgba(255,255,255,0.5);
z-index: -1;
}
/*
filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='5');
@-webkit-keyframes blur-class {
0%{-webkit-filter: blur(0px);filter: blur(0px);opacity: .2;}
100% {-webkit-filter: blur(15px);filter: blur(15px);opacity: 1;}
}
@keyframes blur-class {
0%{-webkit-filter: blur(0px);filter: blur(0px);opacity: .2;}
100% {-webkit-filter: blur(15px);filter: blur(15px);opacity: 1;}
}
*/