@charset "UTF-8";

@font-face 
{
	font-family: 'MyYuGothic-m';
	font-weight: medium;
	src: local('游ゴシック Medium'),
		local('YuGothic-Medium'), /* Postscript name */
		local('Yu Gothic Medium'), /* for Chrome */
		local('游ゴシック体'), /* for Mac */
		local('YuGothic'), /* for Mac */
		local('YuGothic-Regular'); /* Mediumがない場合 */
}
@font-face 
{
	font-family: 'MyYuGothic-b';
	font-weight: bold;
	src: local('游ゴシック Bold'),
		local('YuGothic-Bold'), /* Postscript name */
		local('Yu Gothic'), /* for Chrome */
		local('游ゴシック体'), /* for Mac */
		local('YuGothic'); /* for Mac */
}

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

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

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

@font-face
{
	font-family: 'Roboto-M';
	src:
		url('../_fonts/Roboto-Medium.ttf') format('truetype')
	;
	font-weight: 500;
}

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

body
{
	-webkit-text-size-adjust: 100%; 
	color:rgb(50, 50, 50);
	text-align:center;
	line-height:1.7;
	font-size: 13px;
	letter-spacing:0.025em;
	font-family: Roboto-R, GG-R, 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%;
}

a:not([class])
{
	color: rgba(0, 0, 0, 1);
	display: inline-frame;
	text-decoration: under-line;
	
	-webkit-transition: color .5s ease;
	-moz-transition: color .5s ease;
	-ms-transition: color .5s ease;
	-o-transition: color .5s ease;
	transition: color .5s ease;
}

a:not([class]):hover
{	
	color: rgba(0, 0, 0, .5);
}

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

#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; /*1秒毎にくるくる回転するアニメーション*/
}

/* くるくるローダー */
.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(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; /*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％の透明度に戻る*/
}


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

#selector
{
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9900;
	box-sizing:border-box;
	
	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-justify-content: space-between;
	justify-content: space-between;
	
	-webkit-align-items: flex-start;
	align-items: flex-start;
	
	-webkit-transition: background-color .2s ease;
	-moz-transition: background-color .2s ease;
	-ms-transition: background-color .2s ease;
	-o-transition: background-color .2s ease;
	transition: background-color .2s ease;
}

#selector .selector
{
	position:relative;
	box-sizing:border-box;

	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-justify-content: space-between;
	justify-content: space-between;
}

#selector .logo
{
	width: 350px;
	display: block;
	position:relative;
	box-sizing:border-box;
	line-height:0;
	font-size: 0;
	text-decoration: none;
	text-indent: -9999px;
	
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	
	filter: drop-shadow(1px 1px 0px rgba(255, 255, 255, .5));
	
	-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 .logo:after
{
	content:"";
	display:block;
	position: relative;
	padding-top: 10%;
}
.svg #selector .logo{background-image: url(../_img/logo.svg)}
.no-svg #selector .logo{background-image: url(../_img/logo.png)}

#selector.sc .logo
{
	transform-origin: left top;
	transform: scale(.7);
}

.selector ul
{
	list-style-type: none;
	letter-spacing: .2rem;
}

#selector .selector ul
{
	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: stretch;
	align-items: stretch;
}

.selector li
{
	font-family: Roboto-B, GG-B, sans-serif;
	font-weight: 700;
	text-transform: uppercase;

	box-sizing:border-box;
	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;
	
	position: relative;

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

/*	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);*/

	padding: 0em 1em 1em 1em;
}

.selector li:first-child{padding-left: 2em;}
.selector li.lang a, .linksWrapper .lang a
{
	text-decoration: none;
	font-size: .7em;
	padding: .2em .2em .2em .4em;
	border: 1px solid;
}

.selector .sns
{
	padding-left: 0;
}
.selector li:nth-last-of-type(1){margin-left: .5em;}

.selector .sns a, .linksWrapper  .sns a
{
	display: block;
	position: relative;
	width: 1em;
	height: 1em;
	background-size: cover;
	background-position: 50% 50%;
}
.svg .selector li.sns a.fb, .svg .linksWrapper a.fb{background-image: url(../_img/fb.svg)}
.no-svg .selector li.sns a.fb, .no-svg .linksWrapper a.fb{background-image: url(../_img/fb.png)}
.svg .selector li.sns a.ig, .svg .linksWrapper a.ig{background-image: url(../_img/ig.svg)}
.no-svg .selector li.sns a.ig, .no-svg .linksWrapper a.ig{background-image: url(../_img/ig.png)}

.selector li a.information
{
	border-style: solid;
	border-color: rgb(255, 255, 255);
	border-width: 0 1px;
	padding: 0 2em;
}

.selector li.linkSubBt:hover .sub
{
	height: auto;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.selector li.linkSubBt .sub
{
	height: 0;
	top: 1em;
	left: -1.5em;
	padding-top: .5em;
	position: absolute;
	background-color: rgba(255, 255, 255, 0);
	
/*	background-image: radial-gradient(rgba(205, 190, 0, .5) 50%, rgba(115, 100, 0, 1) 0), radial-gradient(rgba(205, 190, 0, .5) 50%, rgba(115, 100, 0, 1) 0);
	background-position: 0 0, 2px 2px;
	background-size: 4px 4px;*/
	
	box-sizing:border-box;
	overflow: hidden;
	line-height: 1.75;
	
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}
.selector .sub div
{
	position: relative;
	padding: .5em 0;
}

.selector li.linkSubBt .sub:hover + a.menuBt:after
{
	transform: scale(1, 1);
}

.selector .subBtWrapper, .linksWrapper .subBtWrapper
{
	position: relative;
}

.selector .sub div p
{
	position: relative;
	padding-left: 1.5em; 
	margin-bottom: .25em;
	box-sizing:border-box;
}
.selector .sub div p a
{
	display: inline-block;
	position: relative;
	
	-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 .sub div a.subBt{font-size: .9em; letter-spacing: .2em;}
/*.selector .sub div a.subBt:before
{
	content:"";
	display: block;
	position: absolute;
	width: .3em;
	height: .3em;
	top: 50%;
	left: .75em;
	margin-top: -.2em;
	border-style: solid;
	border-width: 1px 1px 0 0;
	
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);

	-webkit-transition: all .1s ease;
	-moz-transition: all .1s ease;
	-ms-transition: all .1s ease;
	-o-transition: all .1s ease;
	transition: all .1s ease;
}
.selector .sub div a.subBt:hover:before
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}*/

.selector .sub div a.subBt:before
{
	content:"";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -3px;
	left: 0em;
	background-color: rgb(255, 255, 255);
	
	transform-origin: center top;
	transform: scale(0, 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 .sub div a.subBt:hover:before
{
	transform: scale(1, 1);
}
.selector .sub div a.subBt:before{background-color: rgb(0, 0, 0);}

.selector li a
{
	font-size: 1rem;
	padding: 0em;
	
	letter-spacing: 0;
	line-height: 1;
	position: relative;
	box-sizing:border-box;
	display: block;
	text-decoration: none;
	cursor: pointer;
	color: rgb(255, 255, 255);

	-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(0, 0, 0);}

.selector li.menu a.menuBt:hover
{
	letter-spacing: .2em;
}


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

#menuList
{
	position:fixed; 
	box-sizing:border-box;
	top: 0rem;
	padding: 8rem 2rem;
	width:100%;
	height:100vh;
	z-index: 8999;
	background-color: rgb(255, 255, 255);
}

#menuList .selector
{
	font-size: 1em;
	position: relative;
	max-width: 400px;
	margin: 0 auto;
	text-align: center;
}
#menuList .selector li
{
	margin: 1rem 0;
}

#menuList a.tel
{
	display: inline-block;
	margin-top: 1em;
	position: relative;
	padding-left: 1.25em;
	line-height: 1;
	color: inherit;
	text-decoration: none;
}
#menuList a.tel:before
{
	content: "";
	display: block;
	position:absolute;
	left: 0;
	top: 0;
	background-color: rgb(50, 50, 50);
	border: 2px solid rgb(50, 50, 50);
	box-sizing: border-box;
	border-radius: 50%;
	width: 1em;
	height: 1em;
	background-size: contain;
	background-position: 50% 50%;
	-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 #menuList a.tel:before{background-image: url(../_img/tel.svg)}
.no-svg #menuList a.tel .tel:before{background-image: url(../_img/tel.png)}

#menuList a.tel:hover:before
{
	border-color: rgb(105, 171, 219);
	background-color: rgb(105, 171, 219);
}

#menuBt
{
	display: none;
	width: 40px;
	height:  40px;
	position: relative;
	cursor: pointer;
}
#menuBt span
{
	transition: all 0.3s;
	transform: rotate(0deg);
	width: 40px;
	height: 2px;
	display: block;
	position: absolute;
	background: rgb(0, 0, 0);
	border-bottom: 1px solid rgba(255, 255, 255, .7);
}

#menuBt.menuBtOpen .middle
{
	background: rgba(0, 0, 0, 0);
}
#menuBt.menuBtOpen .top
{
	top: 10px;
	background: rgb(0, 0, 0);
	transform: rotate(-45deg);
}
#menuBt.menuBtOpen .bottom
{
	top: 10px;
	background: rgb(0, 0, 0);
	transform: rotate(45deg);
}

.sectionTitle p{font-size: 1.2rem;}


/**********************************************************/
/*********************** Go Top Bt *************************/
/**********************************************************/

#goTopBt
{
	position:fixed;
	bottom: 3rem;
	right: 1.5rem;
	z-index:9800;
	display:none;
	cursor:pointer;
	width: 2em;
	height: 2em;
	background-color: rgba(255, 255, 255, 0);
	-webkit-transition:bottom .3s ease;
	-moz-transition:bottom .3s ease;
	-ms-transition:bottom .3s ease;
	-o-transition:bottom .3s ease;
	transition:bottom .3s ease;
}
#goTopBt span
{
	position: absolute;
	right: 50%;
	margin-right: -5px;
	margin-bottom: 1em;
	
	width: 10px;
	height: 10px;
	border-left: 2px solid #000;
	border-bottom: 2px solid #000;
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);

	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	box-sizing: border-box;
}
#goTopBt span:nth-of-type(1)
{
	display: none;
	bottom: 20px;
}
#goTopBt span:nth-of-type(2)
{
	display: none;
	bottom: 10px;
}
#goTopBt span:nth-of-type(3)
{
	bottom: 0px;
}


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

.credit
{
	font-size: .7em;
	letter-spacing: 0;
	position: relative;
	padding: 1rem 2rem;
	text-align: right;
	width: 100%;
	box-sizing:border-box;
	z-index: 1000;
}


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

.linkBt, .pdfLink, .linkBtL
{
	display: inline-block;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	text-decoration: none;
	color: rgb(0, 0, 0);
	border: 1px solid rgb(0, 0, 0);
	
	line-height:1;
	padding: .2rem .3rem;
	font-size: .8rem;
	margin: 0 1.5rem;
	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{font-size: .8em; margin-left: .5em; transform: translateY(-.3em);}
.pdfLink{font-size: .9em; display:block; margin-top: 1em;}
.linkBtL{font-size: .9em; margin: 0 0 1rem 0; padding: .5em 2em;}
.linkBtL p{display: inline-block; position: relative;}
.linkBtL p:not([class]){padding-right: 1em;}
.linkBtL p:not([class]):before
{
	content:"";
	display: block;
	position: absolute;
	right: 0;
	top: .2em;
	width: .5em;
	height: .5em;
	border-style: solid;
	border-width: 1px 1px 0 0;
	transform: rotate(45deg);
}

.linkBt:hover, .pdfLink:hover, .linkBtL:hover
{
	background-color: rgb(0, 0, 0);
	color: rgb(255, 255, 255);
}


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


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


@media screen and (min-width: 901px)
{
	#menuList{display: none;}
}

@media screen and (max-width: 900px)
{
	.selector li:last-child{padding-right: 2rem;}
	
	.selectorSubBts
	{
		padding: 1em 2em 0 2em;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	
	#selector
	{
		border-top-width: 0px;
		flex-direction: row-reverse;
	}
	#selector .wrapper
	{
		-webkit-align-items: center;
		align-items: center;
	}
	#selector .selector{display:none;}
	#selectorSubBts{display: none;}

	#menuBt
	{
		margin-right: 2rem;
		display: block;
		width: 20px;
		height:  20px;
	}
	#menuBt span
	{
		width: 20px;
	}
	#menuBt .top
	{
		transform: translateY(0px);
	}
	#menuBt .middle
	{
		transform: translateY(7px);
	}
	#menuBt .bottom
	 {
		 transform: translateY(14px);
	}

	#menuList
	{
		color: rgb(0, 0, 0);
		position:fixed; 
		box-sizing:border-box;
		top: 0em;
		width:100%;
		height:100vh;
		z-index: 9800;
		background-color: rgb(255, 255, 255);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.linksWrapper .menuBt
	{
		font-family: Roboto-B, GG-B, sans-serif;
		font-weight: 700;
		text-transform: uppercase;
	}
	
	.linksWrapper .links a{color: rgb(0, 0, 0);}
	.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: 1em;
		display: block;
		border-bottom: 1px solid rgba(0, 0, 0, 1);
	}
	.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(0, 0, 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(0, 0, 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;}
	.linksWrapper a.subBt:before
	{
		content:"";
		display: block;
		position: absolute;
		width: .3em;
		height: .3em;
		top: 50%;
		left: .75em;
		margin-top: -.2em;
		border-style: solid;
		border-width: 1px 1px 0 0;
		
		filter:alpha(opacity=0);
		-moz-opacity: 0;
		opacity: 0;
		
		transform: rotate(45deg);
		-ms-transform: rotate(45deg);
	
		-webkit-transition: all .1s ease;
		-moz-transition: all .1s ease;
		-ms-transition: all .1s ease;
		-o-transition: all .1s ease;
		transition: all .1s ease;
	}
	.linksWrapper a.subBt:hover:before
	{
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 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;}
}

@media screen and (orientation: landscape)
{
	#selector{padding: 1.5rem 0;}

	#selector .logo
	{
		margin-left: 2rem;
	}
	.selector li:last-child{padding-right: 2rem;}

	h5.secTitle
	{
		margin-top: 2rem;
		margin-bottom: 3rem;
	}

	.sectionTitle._v{display: inline-block;}
	
	#footer .contact
	{
		max-width: 980px;
		margin-top: 2rem;

		-webkit-align-items: space-between;
		align-items: space-between;
		
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	
	#footer .add
	{
		margin-top: 5em;
		margin-bottom: 5em;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	
		-webkit-justify-content: space-between;
		justify-content: space-between;	
	}
	
	#footer .add .jp p
	{
		white-space: nowrap;
	}
	
	#footer .add .en
	{
		padding-left: 3em;
	}
	
	#footer .linkWrapper
	{
		width: 22em;
		padding-left: 2em;
	}
}

@media screen and (orientation: portrait)
{

	#selector
	{
		padding: 2rem 0;
		background-color: rgba(255, 255, 255, 0);
	}

	#selector a.logo
	{
		margin-left: 2rem;
	}

	.selector li:last-child{padding-right: 2rem;}
	
	#menuBt
	{
		margin-top: 0em;
		margin-right: 2rem;
	}

	.sectionTitle._v
	{
		transform: translateY(-5rem);
/*		-ms-writing-mode: lr;
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;*/
	}
	
	h5.secTitle
	{
		margin-top:2rem;
		margin-bottom:2rem;
	}
	
	#footer
	{
		padding: 4em 2em 8em 2em;
	}
	
	#footer .contact
	{
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;

		-webkit-align-items: center;
		align-items: center;
		
		-webkit-justify-content: center;
		justify-content: center;
	}
	
	#footer .linkWrapper
	{
		width: 100%;
		min-width:10em;
		margin-top: 3em;
		-webkit-justify-content: center;
		justify-content: center;
	}
	
	#footer .add
	{
		margin-top: 6em;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
		
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	
	#footer .add .en{margin-top: 2em;}
	
	#modalWindow{padding: 1em;}
	#modalWindow .contents_area{padding:3em 1em; margin-top: 0; margin-bottom: 5rem; border-width: 0;}
	
	#goTopBt{right: 0;}
}

@media screen and (max-width: 650px) and (orientation: portrait)
{
	body
	{
		font-size: 14px; 
		line-height:1.75;
	}
	
	#menuList
	{
		padding: 5rem 1.5rem 8rem 1.5rem;
	}
	
	#selector a.logo
	{
		margin-left: 1.5rem;
	}
	
	#menuBt
	{
		margin-top: 0em;
		margin-right: 1.5rem;
	}
	
	#selector .logo
	{
		width: 220px;
	}
	
	#selector.sc .logo
	{
		transform-origin: left top;
		transform: scale(.7) translateY(.3rem);
	}
	
	.credit
	{
		text-align: center;
	}
}