@charset "UTF-8";

.grecaptcha-badge { visibility: hidden; }

@font-face
{
	font-family: "f-icons";
	src:
		url('../_fonts/foundation-icons.ttf') format('truetype');
	;
	font-weight: normal;
}
.f-icons
{
	font-family: f-icons;
	font-weight: 400;
}

@font-face
{
	font-family: 'lsm_font';
	src:
		url('../_fonts/lsm.ttf') format('truetype')
	;
	font-weight: 400;
}
.lsm_font
{
	letter-spacing: 0;
	font-family: lsm_font;
	font-weight: 400;
}

@font-face
{
	font-family: 'GG-R';
	src:
		url('../_fonts/GenShinGothic-Regular-web.ttf') format('truetype')
	;
	font-weight: 400;
}

@font-face
{
	font-family: 'Roboto-R';
	src:
		url('../_fonts/Roboto-Regular.ttf') format('truetype')
	;
	font-weight: 400;
}

@font-face
{
	font-family: 'Roboto-B';
	src:
		url('../_fonts/Roboto-Bold.ttf') format('truetype')
	;
	font-weight: 700;
}

h1, h2
{
/*	font-family: 'Roboto-R', 'GG-R', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 400;*/
	font-family: Roboto-B, GG-B, 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 700;
}
h3, h4, h5
{
	font-family: Roboto-B, GG-B, 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 700;
}

h3
{
	font-size: 1.05rem;
}

a:link,
a:active,
a:visited,
a:hover
{
	color:rgb(120, 120, 120);
	text-decoration: none;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

a.border,
a.border:link,
a.border:active,
a.border:visited,
a.border:hover
{
	color:rgb(120, 120, 120);
	cursor: pointer;
	border-bottom: 3px dotted;
	margin: 0 .1em;
}

body:not(.touch) a.border:hover
{
	color:rgba(50, 50, 50, 1);
}

a:not([class]):link,
a:not([class]):active,
a:not([class]):visited,
a:not([class]):hover
{
	margin: 0 .1em;
	border-bottom: 3px dotted;
}

body:not(.touch) a:not([class]):hover
{
	color:rgba(50, 50, 50, 1);
}

body
{
	-webkit-text-size-adjust: 100%; 
	color:rgb(50, 50, 50);
/*	text-align:center;*/
	line-height:1.7;
	font-size: 1rem;
	letter-spacing:0.025em;
	font-family: 'Roboto-R', 'GG-R', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 400;
	background-color: rgb(255, 255, 255);
	word-wrap: break-word;
	position: relative;
}

#allWrapper
{
	position: relative;
	overflow-x: hidden;
	width: 100%;
}

/**********************************************************************/
/***************************** 共通フレーム *****************************/
/**********************************************************************/

/* ボーダーローダー */
#loader
{
	position:fixed;
	height:100%;
	width:100%;
	top: 0px;
	left: 0px;
	background-color: rgb(255, 255, 255);
	z-index:9998;
}

/*#loader:after
{
	content: ""; 
	display: block;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	box-sizing:border-box;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 5px solid rgb(0, 0, 0);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite;
}*/

/* くるくるローダー */
.loader
{
	position:absolute;
	height:100%;
	width:100%;
	top: 0px;
	left:0px;
}

.loader:after
{
	content: ""; 
	display: block;

	box-sizing:border-box;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 5px solid rgb(150, 150, 150);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

@keyframes circle-spin
{
	0%
	{
		transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*0%の時は20％の透明度*/
	50%
	{
		transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	} /*50%の時は透明度なし*/
	100%
	{
		transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*100%の時に20％の透明度に戻る*/
}


.logo_anim:after
{
	content:"";
	display: block;
	padding-top: 35.7%
}

.logo_anim > span
{
	position: absolute;
	display: block;
	height: calc(100% / 15);
	background-color: rgb(150, 150, 150);

	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-duration: 7s;
}
.logo_anim ._1
{
	width: calc(1000% / 42);
	left: calc(1200% / 42);
	top: 0;
	
	animation-name: shrink_a_b;
}
.logo_anim ._2
{
	width: calc(300% / 42);
	left: calc(2600% / 42);
	top: 0;
	
	animation-name: shrink_b_b;
}
.logo_anim ._3
{
	width: calc(800% / 42);
	left: calc(500% / 42);
	top: calc(200% / 15);
	
	animation-name: shrink_a_b;
}
.logo_anim ._4
{
	width: calc(400% / 42);
	left: calc(2200% / 42);
	top: calc(200% / 15);
	
	animation-name: shrink_b_a;
}
.logo_anim ._5
{
	width: calc(800% / 42);
	left: calc(2900% / 42);
	top: calc(200% / 15);
	
	animation-name: shrink_a_a;
}
.logo_anim ._6
{
	width: calc(400% / 42);
	left: calc(100% / 42);
	top: calc(400% / 15);
	
	animation-name: shrink_b_a;
}
.logo_anim ._7
{
	width: calc(1200% / 42);
	left: calc(1500% / 42);
	top: calc(400% / 15);
	
	animation-name: shrink_a_a;
}
.logo_anim ._8
{
	width: calc(200% / 42);
	left: calc(3800% / 42);
	top: calc(400% / 15);
	
	animation-name: shrink_b_b;
}

.logo_anim ._9
{
	width: calc(500% / 42);
	left: calc(2500% / 42);
	top: calc(600% / 15);
	
	animation-name: shrink_a_b;
}
.logo_anim ._10
{
	width: calc(1000% / 42);
	left: calc(3200% / 42);
	top: calc(600% / 15);
	
	animation-name: shrink_b_a;
}
.logo_anim ._11
{
	width: calc(700% / 42);
	left: calc(0% / 42);
	top: calc(700% / 15);
	
	animation-name: shrink_a_b;
}
.logo_anim ._12
{
	width: calc(1000% / 42);
	left: calc(1000% / 42);
	top: calc(700% / 15);
	
	animation-name: shrink_a_a;
}
.logo_anim ._13
{
	width: calc(200% / 42);
	left: calc(800% / 42);
	top: calc(900% / 15);
	
	animation-name: shrink_b_b;
}
.logo_anim ._14
{
	width: calc(1200% / 42);
	left: calc(2000% / 42);
	top: calc(900% / 15);
	
	animation-name: shrink_a_b;
}
.logo_anim ._15
{
	width: calc(600% / 42);
	left: calc(3500% / 42);
	top: calc(900% / 15);
	
	animation-name: shrink_b_a;
}
.logo_anim ._16
{
	width: calc(300% / 42);
	left: calc(200% / 42);
	top: calc(1000% / 15);
	
	animation-name: shrink_a_b;
}
.logo_anim ._17
{
	width: calc(400% / 42);
	left: calc(1300% / 42);
	top: calc(1000% / 15);
	
	animation-name: shrink_a_a;
}
.logo_anim ._18
{
	width: calc(800% / 42);
	left: calc(500% / 42);
	top: calc(1200% / 15);
	
	animation-name: shrink_b_b;
}
.logo_anim ._19
{
	width: calc(900% / 42);
	left: calc(2900% / 42);
	top: calc(1200% / 15);

	animation-name: shrink_a_a;
}
.logo_anim ._20
{
	width: calc(1600% / 42);
	left: calc(1300% / 42);
	top: calc(1400% / 15);
	
	animation-name: shrink_a_c;
}

@keyframes shrink_a_a
{
	0%
	{
		transform: scaleX(1);
	}
	50%
	{
		transform: scaleX(.9);
	}
	100%
	{
		transform: scaleX(1);
	}
}
@keyframes shrink_a_b
{
	0%
	{
		transform: scaleX(.7);
	}
	50%
	{
		transform: scaleX(1);
	}
	100%
	{
		transform: scaleX(.7);
	}
}
@keyframes shrink_a_c
{
	0%
	{
		transform: scaleX(.5);
	}
	50%
	{
		transform: scaleX(1);
	}
	100%
	{
		transform: scaleX(.5);
	}
}

@keyframes shrink_b_a
{
	0%
	{
		transform: scaleX(1.2);
	}
	50%
	{
		transform: scaleX(1);
	}
	100%
	{
		transform: scaleX(1.2);
	}
}
@keyframes shrink_b_b
{
	0%
	{
		transform: scaleX(1);
	}
	50%
	{
		transform: scaleX(1.2);
	}
	100%
	{
		transform: scaleX(1);
	}
}

/**********************************************************/
/*********************** Selector **************************/
/**********************************************************/

#selector
{
	text-transform: uppercase;
/*	text-transform: capitalize;*/
	position: fixed;
	top: 0;
	padding: 1.5rem 0 1rem;
	width: 100%;
	z-index: 9900;
	background-color: rgba(255, 255, 255, 1);

	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	
	-webkit-align-items: flex-start;
	align-items: flex-start;
	
	-webkit-transition: padding .2s ease;
	-moz-transition: padding .2s ease;
	-ms-transition: padding .2s ease;
	-o-transition: padding .2s ease;
	transition: padding .2s ease;
}

#selector .logo
{
	align-items: flex-start;
	position: absolute;
}

#selector .logo_anim
{
	width: 10vw;
	transform-origin: left top;
}

body:not(.touch) #selector .logo_anim:hover > span
{
	animation-duration: 2s;
}

#selector .logo_text
{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

body:not(.touch) #selector .logo_text:hover
{
	filter:alpha(opacity=70);
	-moz-opacity: .7;
	opacity: .7;
}

#selector .logo,
#selector .logo_anim,
#selector .logo_text
{
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-ms-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

body.hamburger #selector .logo,
#selector.b .logo
{
	top: 1rem;
	left: 2rem;
}

body.hamburger #selector .logo_text,
#selector.b .logo_text
{
	transform: translateX(-3vw) translateY(-3vw) scale(0, 0);
}

#selector .logo_text:before
{
	content:"";
	display: block;
	padding-top: calc(100% * 6 / 38);
}
.svg #selector .logo_text{background-image: url(../_img/logo.svg);}
.no-svg #selector .logo_text{background-image: url(../_img/logo.png);}

#selector .selector
{
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center;
}

#subSelector
{
	font-size: 1rem;
	position: absolute;
	right: 0;
	top: 3.7rem;
	padding: 0rem 1.5rem .75rem;
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
	
	transform-origin: top center;
	
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body.hamburger #selector #subSelector,
#selector.b #subSelector
{
	transform: scale(1, 0);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

#selector .sns,
#menuList .sns
{
	font-size: 1.3rem;
	line-height: 1;
	margin-left: 1.5rem;
	
	-webkit-align-items: center;
	align-items: center;
}
#menuList .sns
{
	font-size: 2rem;
	margin-left: 0rem;
}

#selector .sns a
{
	color: rgba(120, 120, 120, .7);
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body:not(.touch) #selector .sns a:hover
{
	color: rgba(120, 120, 120, 1);
}

#selector .sns a.newsletter,
#menuList .sns a.newsletter,
#footerLink .snsWrapper > .sns a.newsletter
{
	color: white;
	background-color: rgb(150, 150, 150);
	font-family: 'lsm_font';
	font-size: .3em;
	border: 1px solid;
	padding: .5em .2em .5em .75em;
	letter-spacing: 0;
	margin-left: 1.5em;

	-webkit-align-items: center;
	align-items: center;
}

#menuList .sns a.newsletter
{
	background-color: rgb(120, 120, 120);
}

body:not(.touch) #selector .sns a.newsletter:hover,
body:not(.touch) #menuList .sns a.newsletter:hover,
body:not(.touch) #footerLink .snsWrapper > .sns a.newsletter:hover
{
	color: rgb(255, 255, 255);
	background-color: rgb(100, 100, 100);
}

body:not(.touch) #menuList .sns a.newsletter:hover
{
	background-color: rgb(50, 50, 50);
}

#selector .sns a + a,
#menuList .sns a + a
{
	margin-left: .5em;
}

#selector .lang
{
	margin-right: 1.2rem;
}

#selector .lang._1
{
	margin-left: 2rem;
}

#selector .lang._2
{
	display: none;
}

#selector .lang a,
#menuList .lang a
{
	text-transform: uppercase;
	text-decoration: none;
	color: rgb(120, 120, 120);
	display: inline-block;
	border-width: 0;
}

#selector .lang a
{
	font-size: .8rem;
}

#selector .lang a:first-child,
#menuList .lang a:first-child
{
	margin-right: .75em;
}

#selector .lang a:after,
#menuList .lang a:after
{
	content:"";
	position: absolute;
	width: 100%;
	border-bottom: 1px solid;
	transform: scale(0, 1);
	bottom: 0;
	left: 0;
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

#selector .lang a.now:after,
#menuList .lang a.now:after
{
	transform: scale(1, 1);
}

body:not(.touch) #selector .lang a:not(.reserve):hover:after,
body:not(.touch) .linksWrapper .lang a:not(.reserve):hover:after
{
	transform: scale(1, 1);
}

.selector ul
{
	list-style-type: none;
}

#selector .selector ul
{
	-webkit-align-items: center;
	align-items: center;
	line-height: 1;
}

.selector li
{
/*	font-family: 'Midashi Min MA31', 'YuMin-Extrabold', serif;
	font-weight: 700;
	text-transform: uppercase;*/
	margin-right: 1.5rem;
}
.selector li a._a
{
	font-size: .9rem;
	letter-spacing: 0.1em;
	
	position: relative;
	box-sizing:border-box;
	display: block;
	text-decoration: none;
	cursor: pointer;

	border-bottom-width: 0;

	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;	
}
.selector li a
{
	color: rgb(120, 120, 120);
}

.selector li a._a:after
{
	content:"";
	position: absolute;
	display: block;
	bottom: -6px;
	width: 0;
	height: 3px;
	
	background-image: linear-gradient(to right, rgb(120, 120, 120), rgb(120, 120, 120) 3px, transparent 3px, transparent 3px);
	background-size: 6px 3px;
	background-repeat: repeat-x;

	-webkit-transition: width .5s ease;
	-moz-transition: width .5s ease;
	-ms-transition: width .5s ease;
	-o-transition: width .5s ease;
	transition: width .5s ease;	
}

body:not(.touch) .selector li a._a:hover:after
{
	width:100%;
}

body.hamburger #mainSelector a._a
{
	display: none;
}

/**********************************************************/
/******************* Hamburger Menu **********************/
/**********************************************************/


/*##############################
############ Menu Bt ###########
##############################*/

#menuBt
{
	cursor: pointer;
	color: rgb(120, 120, 120);
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

body.hamburger #menuBt > p
{
	border-left-width: 0px;
}

#menuBt > p
{
	padding-left: 1.5rem;
	font-size: .6em;
	margin-right: 1em;
	line-height: 1.8;
	border-left: 1px solid rgb(150, 150, 150);
/*	color: rgb(180, 180, 180);*/
}

#menuBt > div
{
	width: 20px;
	height: 20px;

}

#menuBt > div > span
{
	display: block;
	position: absolute;
	width: calc(100% / 5);
	height: calc(100% / 5);
	background-color: rgba(0, 0, 0, .5);
	
	-webkit-transition: background-color .5s ease, left .1s ease, top .1s ease;
	-moz-transition: background-color .5s ease, left .1s ease, top .1s ease;
	-ms-transition: background-color .5s ease, left .1s ease, top .1s ease;
	-o-transition: background-color .5s ease, left .1s ease, top .1s ease;
	transition: background-color .5s ease, left .1s ease, top .1s ease;
}

body:not(.touch) #menuBt:hover > div > span
{
/*	background-color: rgba(0, 0, 0, 1);*/
	animation-name: blink;
	animation-duration: .5s;
	animation-timing-function: ease;
	animation-iteration-count: 1;
}

@keyframes blink
{
	0%
	{
		background-color: rgba(0, 0, 0, .5);
	}
	50%
	{
		background-color: rgba(0, 0, 0, .1);
	}
	100%
	{
		background-color: rgba(0, 0, 0, 1);
	}
}

#menuBt > div > span:nth-of-type(1){animation-delay:0s;}
#menuBt > div > span:nth-of-type(2){animation-delay:.1s;}
#menuBt > div > span:nth-of-type(3){animation-delay:.2s;}
#menuBt > div > span:nth-of-type(4){animation-delay:.3s;}
#menuBt > div > span:nth-of-type(5){animation-delay:.4s;}
#menuBt > div > span:nth-of-type(6){animation-delay:.5s;}
#menuBt > div > span:nth-of-type(7){animation-delay:.6s;}
#menuBt > div > span:nth-of-type(8){animation-delay:.7s;}
#menuBt > div > span:nth-of-type(9){animation-delay:.8s;}

#menuBt > div > span._l
{
	left: 0;
}
#menuBt > div > span._c
{
	left: calc(100% / 5 * 2);
}
#menuBt > div > span._r
{
	left: calc(100% / 5 * 4);
}
#menuBt > div > span._t
{
	top: 0;
}
#menuBt > div > span._m
{
	top: calc(100% / 5 * 2);
}
#menuBt > div > span._b
{
	top: calc(100% / 5 * 4);
}

#menuBt.menuBtOpen > div > span._c._t
{
	top: calc(100% / 5 * 1);
	left: calc(100% / 5 * 3);
}
#menuBt.menuBtOpen > div > span._l._m
{
	top: calc(100% / 5 * 1);
	left: calc(100% / 5 * 1);
}
#menuBt.menuBtOpen > div > span._r._m
{
	top: calc(100% / 5 * 3);
	left: calc(100% / 5 * 3);
}
#menuBt.menuBtOpen > div > span._c._b
{
	top: calc(100% / 5 * 3);
	left: calc(100% / 5 * 1);
}


#selectorBts
{
	display: none;
}

/*##############################
########### MENU LiIST #########
##############################*/

#menuList
{
	text-transform: uppercase;
	position:fixed; 
	top: 0rem;
	margin: 0;
	padding: 6rem 2rem;
	width:100%;
	height:100vh;
	z-index: 9800;
/*	color: rgb(255, 255, 255);*/
	background-color: rgb(255, 255, 255);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#menuList .otherLinks
{
	width: 100%;
	max-width: 1050px;
	margin: 0 auto 3rem;
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#menuList .linksWrapperWrapper + .otherLinks,
#menuList .linksWrapperWrapper + .otherLinks + .otherLinks
{
	-webkit-justify-content: center;
	justify-content: center;
	flex-wrap: wrap;
}

#menuList .linksWrapperWrapper
{
	width: 100%;
	max-width: 1050px;
	margin: 3rem auto 0;
	flex-wrap: wrap;
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.linksWrapper
{
	margin-right: 3rem;
}
.linksWrapper:last-child
{
	margin-right: 0rem;
}

#menuList .small
{
	color: rgba(120, 120, 120, .7);
	flex-wrap: wrap;
	width: 100%;
	margin-top: 5rem;
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-justify-content: center;
	justify-content: center;
}

body.touch #menuList .small
{
	margin-bottom: 5rem;
}

#menuList .small li
{
	font-size: .8rem;
	list-style-type: none;
	padding: 0em 1em;
	border-left: 1px solid;
}
#menuList .small ul:first-child li:first-child 
{
	border-left: 0px solid;
}

#menuList .linksWrapper .links.sub
{
	margin-bottom: 2rem;
}

#menuList a
{
	color: rgba(120, 120, 120, 1);
}

body:not(.touch) #menuList a:hover
{
	color: rgba(50, 50, 50, 1);
}

#menuList .accbox .accshow
{
	border-width: 0;
}

#menuList .accshow
{
	margin-top: 1em;
}

#menuList .accshow a
{
	position: relative;
	font-size: .9rem;
	margin-bottom: .5em;
}

#menuList a._b,
#menuList a._c,
#menuList h5
{
	display: block;
	font-family: Roboto-B, GG-B, 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 700;
	color: rgb(120, 120, 120);
	font-size: 1rem;
	margin-bottom: 1rem;
}
#menuList a._b
{
	margin: 1rem;
}
#menuList a._c:after,
#menuList a._b:after,
#menuList h5:after
{
	content:"";
	display: block;
	position: absolute;
	bottom: -.5em;
	width: 100%;
	height: 3px;
	background-image: linear-gradient(to right, rgb(120, 120, 120), rgb(120, 120, 120) 3px, transparent 3px, transparent 3px);
	background-size: 6px 3px;
	background-repeat: repeat-x;
}

#menuList a._b:after
{
	width: 0%;
	-webkit-transition: width .5s ease;
	-moz-transition: width .5s ease;
	-ms-transition: width .5s ease;
	-o-transition: width .5s ease;
	transition: width .5s ease;	
}
body:not(.touch) #menuList a._b:hover:after
{
	width: 100%;
}

/*#menuList .accshow a:before
{
	content:"";
	position: absolute;
	width: .3em;
	height: .3em;
	background-color: rgba(120, 120, 120, 0);
	border-style: solid;
	border-width: 1px 1px 0 0;
	left: .2em;
	top: .5em;
	
	transform: rotate(45deg);
	transform-origin: left bottom;
	
	-webkit-transition: transform .5s ease;
	-moz-transition: transform .5s ease;
	-ms-transition: transform .5s ease;
	-o-transition: transform .5s ease;
	transition: transform .5s ease;
}
body:not(.touch) #menuList .accshow a:hover:before
{
	transform: translateX(.2em) rotate(45deg);
}*/

#menuList .accbox .accshow a._a
{
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

#menuList .accbox .accshow a._a:hover > p
{
	transform: translateX(.1rem);
}

#menuList .accshow a._a > p
{
	width: 6px;
	height: 9px;
	margin-right: .5em;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#menuList .accshow a._a > p >span
{
	display: block;
	position:absolute;
	height: 3px;
	width: 3px;
	background-color: rgb(120, 120, 120);
}
#menuList .accshow a > p >span:nth-of-type(1)
{
	right: 0;
	top: 3px;
}
#menuList .accshow a > p >span:nth-of-type(2)
{
	right: 3px;
	top: 0px;
}
#menuList .accshow a > p >span:nth-of-type(3)
{
	right: 3px;
	top: 6px;
}


#menuList .accbox label
{
	display: none;
	color: rgba(120, 120, 120, 1);
	padding-right: 2em;
	padding-bottom: .5em;
	margin-bottom: .5em;
	font-family: Roboto-B, GG-B, 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 700;
	
	background-image: linear-gradient(to right, rgb(120, 120, 120), rgb(120, 120, 120) 3px, transparent 3px, transparent 3px);
	background-size: 6px 3px;
	background-repeat: repeat-x;
	background-position: 0 100%;
}

.archives
{
	margin-top: 5rem;
}

.accbox
{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;

	-moz-flex-direction: column-reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.archives.accbox a
{
	text-decoration: none;
	display: block;
	padding-left: 2em;
	position: relative;
	margin-bottom: 1em;
}

.archives.accbox a:last-child
{
	margin-bottom: 0em;
}

.archives.accbox a:before
{
	content:"";
	position: absolute;
	width: 1em;
	height: 1px;
	background-color: rgba(0, 0, 0, .3);
	left: 0;
	top: calc(50% + .5px);
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body:not(.touch) .archives.accbox a:hover
{
	color: rgba(0, 0, 0, 1);
}

body:not(.touch) .archives.accbox a:hover:before
{
	width: 1.5em;
	background-color: rgba(0, 0, 0, 1);
}

#menuList .cssacc + .accshow + label:before
{
	content: "";
	display: block;
	position: absolute;
    width: 1em;
    height: 2px;
	top: calc(50% - 1px - .1em);
	right: 0;
	background-color: rgba(120, 120, 120, 1);

	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

#menuList .cssacc:checked + .accshow + label:before
{
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#menuList .cssacc + .accshow + label:after
{
	content: "";
	display: block;
	position: absolute;
    width: 1em;
    height: 2px;
	top: calc(50% - 1px - .1em);
	right: 0;
	background-color: rgba(120, 120, 120, 1);
	
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

#menuList .cssacc:checked + .accshow + label:after
{
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}


/**********************************************************/
/*********************** Go Top Bt *************************/
/**********************************************************/
#goTopBt_footer,
#goTopBt
{
	position: fixed;
	z-index:900;
	cursor:pointer;
	width: 2rem;
	height: 72px;
	bottom: 2rem;
	right: 0rem;
	
	transform:translateY(200px);
	
/*	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;*/
}

#goTopBt_footer
{
	position: absolute;
	top: 0;
	bottom: auto;
	transform: translateY(1rem);
}

/*body:not(.touch) #goTopBt:hover
{
	bottom: 3rem;
}*/

.sc #goTopBt
{
	transform:translateY(0px);
}

#goTopBt_footer span,
#goTopBt span
{
	display: block;
	position: absolute;
	width: 3px;
	height: 3px;
	background-color: rgb(120, 120, 120);
}

#goTopBt_footer span
{
	background-color: rgb(255, 255, 255);
}

.goTopBt span:nth-of-type(2),
.goTopBt span:nth-of-type(3)
{
	top: 3px;
}
.goTopBt span:nth-of-type(4),
.goTopBt span:nth-of-type(5)
{
	top: 6px;
}

.goTopBt span:nth-of-type(1)
{
	top: 0;
	left: 50%;
}
.goTopBt span:nth-of-type(2)
{
	left: calc(50% - 3px);
}
.goTopBt span:nth-of-type(3)
{
	left: calc(50% + 3px);
}
.goTopBt span:nth-of-type(4)
{
	left: calc(50% - 6px);
}
.goTopBt span:nth-of-type(5)
{
	left: calc(50% + 6px);
}

.goTopBt p:nth-of-type(1)
{
	position:absolute;
	width: 3px;
	bottom: 3px;
	height: 60px;
	left: 50%;
	background-image: linear-gradient(to bottom, transparent 3px, transparent 3px, rgb(120, 120, 120), rgb(120, 120, 120) 3px);
	background-size: 3px 6px;
	background-repeat: repeat-y;
	transform-origin: center bottom;
}
.goTopBt#goTopBt_footer p:nth-of-type(1)
{
	background-image: linear-gradient(to bottom, transparent 3px, transparent 3px, rgb(255, 255, 255), rgb(255, 255, 255) 3px);
}

body:not(.touch) .goTopBt:hover
{
	color: rgb(50, 50, 50);
}
body:not(.touch) .goTopBt#goTopBt_footer:hover
{
	color: rgb(255, 255, 255);
}

body:not(.touch) .goTopBt:hover > p:nth-of-type(1)
{
	background-image: linear-gradient(to bottom, transparent 3px, transparent 3px, rgb(50, 50, 50), rgb(50, 50, 50) 3px);
	animation-name: shrink_y;
	animation-duration: .5s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}
body:not(.touch) .goTopBt#goTopBt_footer:hover > p:nth-of-type(1)
{
	background-image: linear-gradient(to bottom, transparent 3px, transparent 3px, rgb(255, 255, 255), rgb(255, 255, 255) 3px);
}

body:not(.touch) .goTopBt:hover > span
{
	background-color: rgb(50, 50, 50);
	animation-name: blink_3;
	animation-duration: .5s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}
body:not(.touch) .goTopBt#goTopBt_footer:hover > span
{
	background-color: rgb(255, 255, 255);
}

@keyframes shrink_y
{
	0%
	{
		height: 0;
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}

	100%
	{
		height: 60px;
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}
}


.pageContainer
{
	position: relative;
	box-sizing: border-box;
	margin: 0rem auto;
	z-index:1;
	
	-webkit-transition: width .7s ease;
	-moz-transition: width .7s ease;
	-ms-transition: width .7s ease;
	-o-transition: width .7s ease;
	transition: width .7s ease;
}
/*.pageContainer:not(#titleWrapper){overflow-x: hidden;}*/

.pageContainer .transY
{
	position: relative;
	box-sizing: border-box;
	
	transform: translateY(5rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: transform .7s ease, opacity .7s ease;
	-moz-transition: transform .7s ease, opacity .7s ease;
	-ms-transition: transform .7s ease, opacity .7s ease;
	-o-transition: transform .7s ease, opacity .7s ease;
	transition: transform .7s ease, opacity .7s ease;
}
.pageContainer.end .transY
{
	transform: translateY(0rem);
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .marginY
{
	position: relative;
	box-sizing: border-box;
	
	margin-top: 5rem;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: margin-top .7s ease, opacity .7s ease;
	-moz-transition: margin-top .7s ease, opacity .7s ease;
	-ms-transition: margin-top .7s ease, opacity .7s ease;
	-o-transition: margin-top .7s ease, opacity .7s ease;
	transition: margin-top .7s ease, opacity .7s ease;
}
.pageContainer.end .marginY
{
	margin-top: 0rem;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .transX
{
	position: relative;
	box-sizing: border-box;
	
	transform: translateX(5rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: transform .7s ease, opacity .7s ease;
	-moz-transition: transform .7s ease, opacity .7s ease;
	-ms-transition: transform .7s ease, opacity .7s ease;
	-o-transition: transform .7s ease, opacity .7s ease;
	transition: transform .7s ease, opacity .7s ease;
}
.pageContainer.end .transX
{
	transform: translateX(0rem);
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .transRX
{
	position: relative;
	box-sizing: border-box;
	
	transform: translateX(-5rem);
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: transform .7s ease, opacity .7s ease;
	-moz-transition: transform .7s ease, opacity .7s ease;
	-ms-transition: transform .7s ease, opacity .7s ease;
	-o-transition: transform .7s ease, opacity .7s ease;
	transition: transform .7s ease, opacity .7s ease;
}
.pageContainer.end .transRX
{
	transform: translateX(0rem);
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pageContainer .transBlur
{
	position: relative;
	box-sizing: border-box;
	
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-filter: blur(10px);
	filter: blur(10px);
	
	-webkit-transition: -webkit-filter .7s ease, opacity .7s ease;
	-moz-transition: -moz-filter .7s ease, -moz-opacity .7s ease;
	-ms-transition: -ms-filter .7s ease, opacity .7s ease;
	-o-transition: -o-filter .7s ease, opacity .7s ease;
	transition: filter .7s ease, opacity .7s ease;
}
.pageContainer.end .transBlur
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	
	-webkit-filter: blur(0px);
	filter: blur(0px);
}

/**********************************************************/
/************************** Parts **************************/
/**********************************************************/

a.pdf_link
{
	display: block;
	width: 50px;
	height: 50px;
	background-size: cover;
	background-repeat: no-repeat;
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
.svg a.pdf_link{background-image: url(../_img/pdf_icon.svg);}
.no-svg a.pdf_link{background-image: url(../_img/pdf_icon.png);}

body:not(.touch) a.pdf_link:hover
{
	filter:alpha(opacity=70);
	-moz-opacity: .7;
	opacity: .7;
}

.max_page_width
{
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 0 2rem;
}

.dirLink
{
	color: rgb(120, 120, 120);
	font-family: 'lsm_font';
/*	text-transform: uppercase;*/
	-webkit-align-items: center;
	align-items: center;
	
	cursor: pointer;
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.dirLink._white
{
	color: rgb(240, 240, 240);
}

.dirLink .dir
{
	flex: 0 0 auto;
	margin-left: .5rem;
	width: 48px;
	height: 3px;
}

.dirLink .dir > p
{
	position:absolute;
	width: 42px;
	height: 3px;
	left: 0px;
	background-image: linear-gradient(to right, rgb(120, 120, 120), rgb(120, 120, 120) 3px, transparent 3px, transparent 3px);
	background-size: 6px 3px;
	background-repeat: repeat-x;
}

.dirLink._white .dir > p
{
	background-image: linear-gradient(to right, rgb(240, 240, 240), rgb(240, 240, 240) 3px, transparent 3px, transparent 3px);
}

.dirLink .dir span
{
	display: block;
	position: absolute;
	width: 3px;
	height: 3px;
	background-color: rgb(120, 120, 120);
}

.dirLink._white .dir span
{
	background-color: rgb(240, 240, 240);
}

.dirLink .dir span:nth-of-type(2),
.dirLink .dir span:nth-of-type(3)
{
	right: 3px;
}
.dirLink .dir span:nth-of-type(4),
.dirLink .dir span:nth-of-type(5)
{
	right: 6px;
}
.dirLink .dir span:nth-of-type(2)
{
	bottom: 3px;
}
.dirLink .dir span:nth-of-type(3)
{
	bottom: -3px;
}
.dirLink .dir span:nth-of-type(4)
{
	bottom: 6px;
}
.dirLink .dir span:nth-of-type(5)
{
	bottom: -6px;
}
.dirLink .dir span:nth-of-type(1)
{
	right: 0;
	bottom: 0px;
}


body:not(.touch) a.dirLink:hover
{
	color: rgb(50, 50, 50);
}

body:not(.touch) a.dirLink._white:hover
{
	color: rgb(255, 255, 255);
}

body:not(.touch) a.dirLink:hover .dir > p
{
	background-image: linear-gradient(to right, rgb(50, 50, 50), rgb(50, 50, 50) 3px, transparent 3px, transparent 3px);
	animation-name: shrink_x;
	animation-duration: .5s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}

body:not(.touch) a.dirLink._white:hover .dir > p
{
	background-image: linear-gradient(to right, rgb(255, 255, 255), rgb(255, 255, 255) 3px, transparent 3px, transparent 3px);
}

body:not(.touch) a.dirLink:hover .dir > span
{
	background-color: rgb(50, 50, 50);
	animation-name: blink_3;
	animation-duration: .5s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}

body:not(.touch) a.dirLink._white:hover .dir > span
{
	background-color: rgb(255, 255, 255);
}

@keyframes shrink_x
{
	0%
	{
		width: 0%;
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}

	100%
	{
		width: 100%;
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}
}

@keyframes blink_3
{
	0%
	{
		filter:alpha(opacity=0);
		-moz-opacity: 0;
		opacity: 0;
	}
	80%
	{
		filter:alpha(opacity=0);
		-moz-opacity: 0;
		opacity: 0;
	}
	97%
	{
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}
}

.linkBt, .pdfLink, .linkBtL, .linkBtM
{
	display: inline-block;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	text-decoration: none;
/*	text-transform: uppercase;*/
	color: inherit;
	border-style: solid;
	border-width: 1px;
	border-color: rgb(150, 150, 150);
	
	background-color: rgba(255, 255, 255, 0);
	
	line-height: 1.5;
	padding: 0rem .5rem;
	font-size: .8rem;
	margin: 0 1.5rem 2px;
	letter-spacing: 0;
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

.linkBt._w, .pdfLink._w, .linkBtL._w, .linkBtM._w
{
	color: rgb(255, 255, 255);
	border-color: rgb(255, 255, 255);
}

.linkBt:before,
.pdfLink:before,
.linkBtL:before,
.linkBtM:before
{
	content:"";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(150, 150, 150);
	
	transform: scaleX(0);
	transform-origin: right center;

	-webkit-transition: transform .3s;
	-moz-transition: transform .3s;
	-ms-transition: transform .3s;
	-o-transition: transform .3s;
	transition: transform .3s;
}

.linkBt._w:before,
.pdfLink._w:before,
.linkBtL._w:before,
.linkBtM._w:before
{
	background-color: rgb(255, 255, 255);
}

body:not(.touch) .linkBt:hover:before,
body:not(.touch) .pdfLink:hover:before,
body:not(.touch) .linkBtL:hover:before,
body:not(.touch) .linkBtM:hover:before
{
	transform: scaleX(1);
	transform-origin: left center;
}

.linkBt{font-size: .8em; margin-left: .5em;}
.pdfLink{font-size: .9em; display:block; margin-top: 1em;}
.linkBtL{font-size: .9em; margin: 0 0 1rem 0; padding: .75em 2em;}
.linkBtM{font-size: .9em; padding: .5em 1em;}
.linkBtM p, .linkBtL p{display: inline-block; position: relative;}
.linkBtL p:not([class]){padding-right: 3em; padding-left: 3em;}
.linkBtL p:not([class]):before
{
	content:"";
	display: block;
	position: absolute;
	right: 0;
	top: calc(50% - 2px - .2em);
	width: .5em;
	height: .5em;
	border-style: solid;
	border-width: 0px 0px 1px 0px;
	transform: rotate(-135deg);
}
.linkBtL p:not([class]):after
{
	content:"";
	display: block;
	position: absolute;
	right: -1px;
	top: calc(50% - 2px);
	width: 2em;
	height: 0;
	border-style: solid;
	border-width: 1px 0 0 0;
}

.linkBtM
{
	background-color: rgb(150, 150, 150);
	color: rgb(255, 255, 255);
	border-color: rgb(150, 150, 150);
}
.linkBtM:before
{
	background-color: rgb(255, 255, 255);
}

body:not(.touch) .linkBtL:hover p:not([class]):after, 
body:not(.touch) .linkBtL:hover p:not([class]):before
{
	-webkit-transition: right .1s ease;
	-moz-transition: right .1s ease;
	-ms-transition: right .1s ease;
	-o-transition: right .1s ease;
	transition: right .1s ease;
	right: -.5em;
}

body:not(.touch) .linkBt:hover, 
body:not(.touch) .pdfLink:hover, 
body:not(.touch) .linkBtL:hover
{
/*	background-color: rgb(150, 150, 150);*/
	border-color: rgb(150, 150, 150);
	color: rgb(255, 255, 255);
}

body:not(.touch) .linkBt._w:hover, 
body:not(.touch) .pdfLink._w:hover, 
body:not(.touch) .linkBtL._w:hover
{
	border-color: rgb(255, 255, 255);
	color: rgb(120, 120, 120);
}

body:not(.touch) .linkBtM:hover
{
/*	background-color: rgb(255, 255, 255);*/
	border-color: rgb(150, 150, 150);
	color: rgb(150, 150, 150);
}

.italic{font-style: italic;}
.smallerText{font-size:.9em;}
.biggerText{font-size:1.2em;}
.strongText
{
	font-family: Roboto-B, GG-B, 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 700;
}
.subHead
{
	font-family: Roboto-B, GG-B, 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 700;
	font-size:1em;
	margin-bottom: 1em;
}

.sectionTitle
{
	width: 100%;
	margin-bottom: 3rem;
}

.sectionTitle a
{
	border-bottom-width: 0;
}

.sectionTitle.flex
{
	letter-spacing: 0;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.sectionTitle .dirLink
{
	font-size: .7rem;
}

.sectionTitle .dirLink > .roboto
{
	font-family: 'Roboto-R', 'GG-R', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 400;
	font-size: .9rem;
}

.roboto
{
	font-family: 'Roboto-R', 'GG-R', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 400;
}

.sectionTitle:after
{
	content:"";
	position: absolute;
	display: block;
	bottom: -6px;
	width: 0;
	height: 3px;
	
	background-image: linear-gradient(to right, rgb(120, 120, 120), rgb(120, 120, 120) 3px, transparent 3px, transparent 3px);
	background-size: 6px 3px;
	background-repeat: repeat-x;

	-webkit-transition: all 1s linear;
	-moz-transition: all 1s linear;
	-ms-transition: all 1s linear;
	-o-transition: all 1s linear;
	transition: all 1s linear;	
}

.end .sectionTitle:after
{
	width: 100vw;
}

.end .sectionTitle.mini:after
{
	width: 100%;
}

.sectionTitle h1,
.sectionTitle h2,
#footerLink h2
{
	text-transform: uppercase;
	font-size: 1.2rem;
	color: rgb(120, 120, 120);
}

.sectionTitle h3
{
	color: rgb(120, 120, 120);
}

.sectionTitle.mini h3
{
	font-size: 1rem;
}

/**********************************************************/
/************************ Sumnail *************************/
/**********************************************************/

div.sumnail_bg, a.sumnail_bg
{
	overflow: hidden;
	display: block;
	position: relative;
	width: 100%;
}
div.sumnail_bg > div, a.sumnail_bg > div
{
	width: 100%;
	position: relative;
	background-size: cover;
	background-position: 50% 50%;
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

.sumnail_bg .noimg
{
	background-color: rgba(150, 150, 150, .1);
}
.svg .sumnail_bg .noimg{background-image: url(../_img/noimg.svg);}
.no-svg .sumnail_bg .noimg{background-image: url(../_img/noimg.png);}

div.sumnail_bg > div:after, a.sumnail_bg > div:after
{
	content:"";
	position: relative;
	display: block;
	padding-top: 60%;
}

body:not(.touch) a.newsTile:hover div.sumnail_bg > div, body:not(.touch) a.sumnail_bg:hover > div, body:not(.touch) a:hover .sumnail_bg > div
{
	transform: scale(1.1);
}

/*********************************************************************/
/*************************** Footer Link ******************************/
/*********************************************************************/

#allWrapper > section#footerLink
{
	margin-top: 10rem;
	margin-bottom: 0rem;
	background-color: rgb(240, 240, 240);
	padding: 3rem 2rem;
	-moz-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	
	-webkit-align-items: center;
	align-items: center;
}

#footerLink h2
{
	margin-bottom: 2rem;
}

#footerLink .links
{
	flex-wrap: wrap;
	margin-bottom: 3rem;
	
	-webkit-justify-content: center;
	justify-content: center;
	
	-webkit-align-items: center;
	align-items: center;
}

#footerLink .links > a
{
	margin: 1rem;
	max-width: 15rem;
	max-height: 5rem;
	border-bottom-width: 0;
}

#footerLink .dirLink
{
	font-size: .8rem;
	margin-bottom: 1rem;
}

#footerLink .snsWrapper,
#footerLink .snsWrapper > .sns
{
	-webkit-justify-content: center;
	justify-content: center;
	
	-webkit-align-items: center;
	align-items: center;
}

#footerLink .snsWrapper
{
	flex-wrap: wrap;
}

#footerLink .snsWrapper > .sns
{
	font-size: 2rem;
	line-height: 1;
	margin: 0rem 1.5rem 1rem;
}

#footerLink .snsWrapper > .sns a
{
	color: rgba(120, 120, 120, .7);
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

body:not(.touch) #footerLink .snsWrapper > .sns a:hover
{
	color: rgba(120, 120, 120, 1);
}

#footerLink .snsWrapper > .sns a + a
{
	margin-left: .3em;
}

/*********************************************************************/
/****************************** Footer ********************************/
/*********************************************************************/

#allWrapper > section#footer
{
	margin-top: 0rem;
	margin-bottom: 0rem;
	z-index: 1001;
	width: 100%;
	padding: 3rem 2rem 5rem;
	background-color: rgba(150, 150, 150, 1);
	color: rgba(255, 255, 255, 1);
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
	
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

#footer .addWrapper
{
	-moz-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
}

#footer .logo
{
	width: 250px;
	background-size: contain;
	background-position: 50% 50%;
}

#footer .logo:after
{
	content:"";
	display:block;
	position: relative;
	padding-top: 50%;
}
.svg #footer .logo{background-image: url(../_img/logo_w.svg)}
.no-svg #footer .logo{background-image: url(../_img/logo_w.png)}

#footer .add_tel
{
	font-size: 1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
#footer .add_tel a
{
	color: white;
}

#footer .credit > p
{
	font-size: .7rem;
}


/*//////////////////////////////////////////////////////////////////////////////////
///=///////////////////////////////// Loadign //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/


.pace
{
	-webkit-pointer-events: none;
	pointer-events: none;

	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;

	z-index: 9999;
	position: fixed;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	background: rgba(200, 200, 200, 0);

	overflow: hidden;
}

.pace:after
{
	content: attr(data-progress-text);

	display: none;
	font-family: 'Roboto-R';
	
	position: fixed;
	top: calc(50% + 100px * 0.357 - 1rem);
	left: 0;
	width: 100vw;
	text-align: center;
	font-size: 2rem;
	line-height: 1;
	color: rgb(255, 255, 255);
}

#pace-bg
{
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background: rgba(200, 200, 200, 1);
}

.pace .pace-progress
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;

	-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);

	width: 100%;
	position: fixed;
	z-index: 9999;
	display: block;
	position: absolute;
	top: 50%;
	right: 100%;
	height: 2px;
	width: 100%;
	background: rgba(255, 255, 255, 0);
}

/*.pace .logo_anim
{
	width: calc((100vh - 14vh) / 0.357);
	position: fixed;
	left: calc(50% - 50vh / 0.357);
	top: calc(50% - 50vh + 7vh);
}*/

.pace .logo_anim
{
	width: calc(100vh / 0.357);
	position: fixed;
	left: calc(50% - 100vh / 0.357 / 2);
	top: 0;
}

.pace .logo_anim > span
{
	background-color: white;
}

.loaded .pace
{
	display: none;
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (min-width: 1501px)
{
	#selector .logo
	{
		top: calc(2rem + 50px);
		left: 2rem;
	}
	#selector .logo_anim
	{
		width: 200px;
	}
	#selector .logo_anim > span
	{
		height: 4px;
	}
	#selector .logo_text
	{
		width: 380px;
		transform: translateX(-60px) translateY(-60px);
	}
}

@media screen and (max-width: 1500px)
{
	#selector .logo
	{
		top: calc(3.5rem + 15px);
		left: 1.5rem;
	}
	#selector .logo_anim
	{
		width: 150px;
	}
	
	#selector .logo_anim > span
	{
		height: 3px;
	}
	
	#selector .logo_text
	{
		width: 285px;
		transform: translateX(-30px) translateY(-45px);
	}
}

@media screen and (max-width: 950px)
{
	#menuBt > p
	{
		font-size: .7rem;
		border-left-width: 0;
	}
	
	#mainSelector a._a,
	#subSelector
	{
		display: none;
	}
}

@media screen and (max-width: 850px)
{
	#selector .logo
	{
		top: calc(3rem + 15px);
		left: 1.5rem;
	}
	#selector .logo_anim
	{
		width: 130px;
	}
	
	#selector .logo_anim > span
	{
		height: 3px;
	}
	
	#selector .logo_text
	{
		width: 247px;
		transform: translateX(-30px) translateY(-39px);
	}
}

@media screen and (min-width: 651px)
{
	body.hamburger #selector .logo_anim,
	#selector.b .logo_anim
	{
		width: 100px;
	}
	
	body.hamburger #selector .logo_anim > span,
	#selector.b .logo_anim > span
	{
		height: 2px;
	}
	
	#menuList .accbox .accshow
	{
		opacity: 1;
		height: auto;
	}
}

@media screen and (max-width: 650px)
{
	#selector .logo
	{
		top: calc(1.5rem + 31px);
		left: 1.5rem;
	}
	
	#selector .logo_anim
	{
		width: 110px;
	}
	
	body.hamburger #selector .logo_anim,
	#selector.b .logo_anim
	{
		width: 80px;
	}

	#selector .logo_anim > span
	{
		height: 2px;
	}
	
	#selector .logo_text
	{
		width: 209px;
		transform: translateX(-30px) translateY(-33px);
	}
	
	#menuBt > p
	{
		display: none;
	}
	
	#allWrapper > section#footer
	{
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
		
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}

	#footer .credit
	{
		margin-top: 3rem;
		
	}

	#menuList .small
	{
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	#menuList .small ul li:first-child 
	{
		border-left: 0px solid;
	}

	.linksWrapper
	{
		margin-right: 0rem;
	}

	.linksWrapper .menuBt
	{
/*		font-family: Roboto-B, GG-B, sans-serif;
		font-weight: 700;*/
		text-transform: uppercase;
	}
	
	.linksWrapper .links a{color: rgb(255, 255, 255);}
	.linksWrapper .links.menu a
	{
		text-decoration: none;
		display: block;
		font-size: 1rem;
	}
	
	.linksWrapper .links a br{display: none;}
	.linksWrapper .links.menu
	{
		width: 100%;
		padding-right: 0em;
		padding-top: 2em;
		padding-bottom: 1em;
		display: block;
		border-bottom: 1px solid rgba(255, 255, 255, .2);
	}
	
	.linksWrapper .links.menu.snsWrapper
	{
		display:-webkit-box;
		display:-moz-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
	}
	.linksWrapper .links:last-child{border-bottom-width:0;}
	.linksWrapper .links.menu .linkParent{position: relative;}
	.linksWrapper .links.menu .opBt
	{
		display: block;
		position: relative;
		cursor: pointer;
		width: 100%;
		height:100%;
		top: 0;
		left: 0;
	}
	.linksWrapper .links.menu .opBt:after
	{
		content: "";
		position: absolute;
		width: .8rem;
		height: 2px;
		background-color: rgb(244, 232, 0);
		top: 50%;
		right: .5px;
		margin-top: -.15rem;
		-webkit-transition: all .2s ease;
		-moz-transition: all .2s ease;
		-ms-transition: all .2s ease;
		-o-transition: all .2s ease;
		transition: all .2s ease;
	}
	.linksWrapper .links.menu .opBt._op:after
	{
		transform: rotate( 45deg );
		-ms-transform: rotate( 45deg );
	}
	
	.linksWrapper .links.menu .opBt:before
	{
		content: "";
		position: absolute;
		width: 2px;
		height: .8rem;
		background-color: rgb(244, 232, 0);
		right: .35rem;
		top: 50%;
		margin-top: -.5rem;
		-webkit-transition: all .2s ease;
		-moz-transition: all .2s ease;
		-ms-transition: all .2s ease;
		-o-transition: all .2s ease;
		transition: all .2s ease;
	}
	.linksWrapper .links.menu .opBt._op:before
	{
		transform: rotate( 45deg );
		-ms-transform: rotate( 45deg );
	}
	
	.linksWrapper .links.menu .wrapper
	{
		height: 0;
		position: relative;
		overflow: hidden;
	}
	
	.linksWrapper .links.menu .wrapper div
	{
		margin-top: 0;
		padding-bottom: .5rem;
	}
	
	.linksWrapper .links.menu .wrapper
	{
		-webkit-transition: all .2s ease;
		-moz-transition: all .2s ease;
		-ms-transition: all .2s ease;
		-o-transition: all .2s ease;
		transition: all .2s ease;
	}

	.linksWrapper a.subBt
	{
		padding-left: 2em; font-size: .9em; position: relative;
		color: rgba(255, 255, 255, .8);
	}
	.linksWrapper a.subBt:before
	{
		content:"";
		display: block;
		position: absolute;
		width: 1em;
		height: 1px;
		top: 50%;
		left: 0;
	
		transform: scale(.5,1);
		transform-origin: left center;
		background-color: rgb(244, 232, 0);
	
		-webkit-transition: transform .1s ease;
		-moz-transition: transform .1s ease;
		-ms-transition: transform .1s ease;
		-o-transition: transform .1s ease;
		transition: transform .1s ease;
	}
	body:not(.touch) .linksWrapper a.subBt:hover:before
	{
		transform: scale(1,1);
	}

	.linksWrapper .links.menu a{margin-bottom: .5em;}
	
	.linksWrapper .otherLinks
	{
		font-size: 1.5em;
		margin-top: 2em;
		display:-webkit-box;
		display:-moz-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
	
		-webkit-align-items: center;
		align-items: center;
		
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	
	.otherLinks .links{margin-right: 1em;}
	
	#menuList .linksWrapperWrapper
	{
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	#menuList .accbox label
	{
		display: block;
	}
	
	#menuList .linksWrapper .links.sub > h5,
	#menuList .linksWrapper .links.sub > a
	{
		display: none;
	}
	
	.sectionTitle h1,
	.sectionTitle h2,
	#footerLink h2
	{
		font-size: 1rem;
	}
	
	.sectionTitle .dirLink > .roboto
	{
		font-size: .8rem;
	}
	.sectionTitle .dirLink > .roboto > span
	{
		display: block;
		line-height: 1.25;
	}

}

@media screen and (max-width: 370px)
{
	#selector .logo
	{
		top: calc(1.5rem + 24px);
		left: 1.5rem;
	}
	#selector .logo_anim
	{
		width: 80px;
	}
	#selector .logo_text
	{
		width: 152px;
		transform: translateX(-24px) translateY(-24px);
	}
	
	body.hamburger #selector .logo_anim,
	#selector.b .logo_anim
	{
		width: 70px;
	}
	
	.sectionTitle .dirLink > .roboto
	{
		font-size: .7rem;
	}
}

@media screen and (orientation: landscape) and (max-height: 800px)
{
	#menuList .linksWrapperWrapper
	{
		margin: 2.5rem auto 0;
	}

	#menuList .otherLinks
	{
		margin: 0 auto 1rem;
	}
	
	#menuList .small
	{
		margin-top: 3rem;
	}
	
	#menuList .accshow
	{
		margin-top: .5em;
	}
}

@media screen and (orientation: landscape) and (max-height: 750px)
{
	#menuList .accshow a
	{
		margin-bottom: 0em;
	}
}

@media screen and (orientation: portrait)
{
	.pace .logo_anim
	{
		width: calc(100vh / 0.357);
		position: fixed;
		left: calc(50% - 100vh / 0.357 / 2 + 10vh);
	}
}