@charset "UTF-8";

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

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

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

@font-face
{
	font-family: 'NotoSerif-SB';
	src:
		url('../_fonts/NotoSerifCJKjp-SemiBold-web.woff') format('woff'),
		url('../_fonts/NotoSerifCJKjp-SemiBold-web.ttf') format('truetype')
	;
	font-weight: 600;
}

body
{
	-webkit-text-size-adjust: 100%; 
	color:rgb(0, 0, 0);
	text-align:center; line-height:2.2; letter-spacing:0.05em;
	font-size: 14px;
	font-family: NotoSerif-R, 'Hiragino Mincho ProN', serif;
	font-weight: 400;
	background-color: rgb(255, 255, 255);
	word-wrap: break-word;
	position: relative;
}

#allWrapper
{
	position: relative;
	width: 100%;
	min-height: 100vh;
	-webkit-overflow-scrolling: touch;
}

a:not([class])
{
	color: rgb(0, 0, 0);
	display: inline-frame;
	text-decoration: under-line;
	text-decoration-color: rgb(199, 174, 0);
	
	-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: rgb(199, 174, 0);
}

a:not([class]):active
{	
	color: rgb(0, 0, 0);
}

/* ボーダーローダー */
#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: 1px 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;
	z-index:9998;
}

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

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

	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％の透明度に戻る*/
}


.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;
}

#titleWrapper.pageContainer
{
	top:0;
	height: 100vh;
	position: fixed;
	z-index: 2;
	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: center;
	justify-content: center;
}

.sectionTitle
{
	box-sizing:border-box;
	font-family: NotoSerif-R, 'Hiragino Mincho ProN', serif;
	font-weight: 300;
	
	display: block;
	position: absolute;
	line-height: 1;
	letter-spacing: .1em;
	font-size: 4em;
	text-align: center;
	color: rgb(205, 190, 0);
	white-space: nowrap;
}
.sectionTitle._v
{
	left:0;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.linkBt, .pdfLink, .linkBtL
{
	font-family: Roboto-R, sans-serif;
	font-weight: 400;
	
	display: inline-block;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	text-decoration: none;
	color: rgb(255, 255, 255);
	background-color: rgba(0, 0, 0, 1);
	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: color .5s ease, background-color .5s ease;
	-moz-transition: color .5s ease, background-color .5s ease;
	-ms-transition: color .5s ease, background-color .5s ease;
	-o-transition: color .5s ease, background-color .5s ease;
	transition: color .5s ease, background-color .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; display:block; padding: 1em 4em;}
.linkBtL p{display: inline-block; padding-right: 1em; position: relative;}
.linkBtL p: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(199, 174, 0);
	border-color: rgb(199, 174, 0);
	color: rgb(255, 255, 255);
}

.accbox label
{
	display: block;
	border: 1px solid;
	color: rgb(205, 190, 0);
	width: 100%;
	text-align: center;
	padding: 1em;
	box-sizing: border-box;
	cursor :pointer;
	transition: all 0.5s;
}

.accbox label:hover
{
	background-color: rgb(205, 190, 0);
	border-color: rgb(205, 190, 0);
	color: white;
}

.accbox input
{
	display: none;
}

.accbox .accshow
{
	height: 0;
	overflow: hidden;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	transition: 0.8s;
}

.cssacc:checked + .accshow
{
	height: auto;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	padding-bottom: 1em;
}


h5.secTitle
{
	font-family: Roboto-R, sans-serif;
	font-weight: 400;

	position: relative;
	text-align: center;
	letter-spacing: .1rem;
	padding-bottom: .2rem;
	display: inline-block;
	
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 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;
}
.end h5.secTitle
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
h5.secTitle:after
{
	content: "";
	z-index: -1;
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: rgb(0, 0, 0);
	bottom: 0rem;
	
	transform-origin: center top;
	transform: scale(0, 1);
	
	-webkit-transition:all .5s ease;
	-moz-transition:all .5s ease;
	-ms-transition:all .5s ease;
	-o-transition:all .5s ease;
	transition:all .5s ease;
}

.end h5.secTitle:after
{
	transform: scale(1, 1);
}


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

#selector
{
	font-family: Roboto-R, sans-serif;
	font-weight: 400;
	position: fixed;
	z-index:9000;
	top: 0;
   	right: 0;
	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: center;
	align-items: center;
	
	-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 .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: flex-end;
	justify-content: flex-end;
}

#selector .logo, #menuList .logo
{
	display: block;
	box-sizing:border-box;
	text-indent: -9999px;
	font-size: 0;
	
	background-size: contain;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	
	-webkit-transition: all .7s ease;
	-moz-transition: all .7s ease;
	-ms-transition: all .7s ease;
	-o-transition: all .7s ease;
	transition: all .7s ease;
}
#selector .logo:before, #menuList .logo:before
{
	content:"";
	position: relative;
	display: block;
	padding-top: 18%;
}

.svg #selector .logo, .svg #menuList .logo{background-image: url(../_img/logo.svg)}
.no-svg #selector .logo, .no-svg #menuList .logo{background-image: url(../_img/logo.png)}


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

#selector .selector ul
{
	width: 100%;
	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;

	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.selector li
{
	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;

	padding: 0;
}

.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(2){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 .selector li.sns a.fb, .svg .linksWrapper a.fb{background-image: url(../_img/fb.svg)}
.no-svg .selector li.sns a.fb, .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 .selector li.sns a.ig, .svg .linksWrapper a.ig{background-image: url(../_img/ig.svg)}
.no-svg .selector li.sns a.ig, .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: 1em;
	padding: 0em;
	
	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:after
{
	content: "";
	z-index: -1;
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: rgb(255, 255, 255);
	bottom: -.4rem;
	
	transform-origin: center top;
	transform: scale(0, 1);
	
	-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.menu a.menuBt:after{background-color: rgb(199, 174, 0);}
.selector li.menu a.menuBt:hover:after, .selector li.menu a.menuBt.now:after
{
	transform: scale(1, 1);
}

#menuList
{
	font-family: Roboto-R, serif;
	font-weight: 400;

	position:fixed; 
	box-sizing:border-box;
	top: 0rem;
	padding: 5em;
	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;
}
#menuBt span
{
	transition: all 0.3s;
	transform: rotate(0deg);
	width: 40px;
	height: 2px;
	display: block;
	position: absolute;
	background: rgb(199, 174, 0);
}

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

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


/********GO TOP******/

#goTopBt
{
	position:fixed;
	bottom: 3rem;
	right: 1.5rem;
	z-index:9800;
	display:none;
	cursor:pointer;
	width: 2em;
	height: 5em;
	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: 1px solid #000;
	border-bottom: 1px 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 ********************************/
/*********************************************************************/

#footer
{
	color: rgb(0, 0, 0);
	margin-top: 10em;
	position: relative;
	z-index: 1001;

	width: 100%;
	box-sizing:border-box;
	padding: 4em 4em 4em 4em;
	background-color: rgb(230, 230, 230);
	
	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;
	-webkit-flex-direction: column;
	flex-direction: column;

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

#footer .contact
{
	width: 100%;
	max-width: 980px;
	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;
}

#footer .contact .text
{
	font-size: .9em;
	position:relative;
	flex: 1;
}

#footer .contact .text .statement
{
	font-size: 1.1em;
	letter-spacing: 0;
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 500;	
}

#footer .linkWrapper
{
	position:relative;
	margin-top: 0;
	
	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-end;
	justify-content: flex-end;
}

#footer .contact .linkWrapper .linkBtL
{
	margin: 0;
}

#footer .add
{
	font-size: .9em;
	width: 100%;
	max-width: 980px;
	
	color: rgba(0, 0, 0, .7);
	
	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;
}

#credit
{
	font-size: .7em;
	font-family: Roboto-R, sans-serif;
	font-weight: 400;
	position: relative;
	box-sizing:border-box;
	padding: 3em;
	text-align: right;
	width: 100%;
	bottom: 0;
}

#footer .telfax span:last-child{margin-left: 1em;}

/*****************************************************************
************************  Modal Window ***************************
*****************************************************************/

a.modalWindowBt
{
	cursor: pointer;
	display: block;
	margin: 1em 1em;
	background-color: white;
	color:rgb(0, 0, 0);
	font-size:1.1em;
	text-align: 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;
}
a.modalWindowBt span{display: block; padding:1em; text-align: center;}

a.modalWindowBt:hover
{
	background-color: rgb(255, 233, 0);
	color:white;
}
div.modalWindow
{
/*	display: none;*/
}

#modalWindow
{
	position:fixed;
	left: 0;
	top: 0;
	
	box-sizing:border-box;
	padding: 2em;
	width:100%;
	height: 100vh;
	z-index: 9999;
	background-color: rgba(0, 0, 0, .3);
	
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

#modalWindow:after
{
	content: ""; 
	display: block;
	position: absolute;
	z-index: 9000;
	width: 2.5rem;
	height: 2.5rem;
	box-sizing:border-box;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 2px solid rgb(255, 255, 255);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

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

#modalWindow.loaded:after
{
	display: none;
}

#modalWindow .modalBg
{
	position: fixed;
	width: 100%;
	height: 100%;
}

#modalWindow .contents_area
{
	position:relative;
	box-sizing:border-box;
	max-width:900px;
	padding: 5em;
	margin: 3em auto;
/*	word-wrap: break-word;*/
	background-color: rgb(255, 255, 255);
	
	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;
	-webkit-flex-direction: column;
	flex-direction: column;
	
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-justify-content: center;
	justify-content: center;
	
	top: 5em;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
/*	transform-origin: center center;
	transform: scale(0, 0); fixed が効かなくなる*/
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

#modalWindow.loaded .contents_area
{
/*	transform: scale(1, 1);*/
	top: 0em;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

#modalWindow img
{
	max-width:100%;
	height: auto;
}

#modalWindow .text h1
{
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
	font-size: 1.3em;
	margin-bottom: 1em;
}

#modalWindow .text p
{
	margin-bottom: 1em;
}

#modalWindow .closeBtWrapper
{
	width: 2em;
	height: 2em;
	position: absolute;
	top: 1rem;
	right: 1rem;
}

#modalWindow .closeBtWrapper .closeBt
{
	position: fixed;
	cursor:pointer; 
	text-indent: -9999px;
	width:3em;
	height: 3em;
}
#modalWindow .closeBtWrapper .closeBt:before
{
	content: "";
	display: block;
	position: absolute;
	width: 2em;
	height: 2px;
	top: 1.5em;
	right: 1em;
	background-color: rgb(0, 0, 0);

	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}
#modalWindow .closeBtWrapper .closeBt:after
{
	content: "";
	display: block;
	position: absolute;
	width: 2em;
	height: 2px;
	top: 1.5em;
	right: 1em;
	background-color: rgb(0, 0, 0);
	
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}


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


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

@media screen and (max-width: 950px)
{
	.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
	{
		display: block;
		position: fixed;
		padding-top: 1rem;
		top: 0;
		right: 0;
		box-sizing: border-box;
		width: 3rem;
		height: 3rem;
		cursor: pointer;
		z-index: 9900;
		background-color: rgb(0, 0, 0);
	}
	#menuBt span
	{
		width: 2rem;
		left: .5rem;
	}
	#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;
		
		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;
		-webkit-flex-direction: column;
		flex-direction: column;
		
		-webkit-align-items: center;
		align-items: center;
		
/*		-webkit-justify-content: center;
		justify-content: center;*/
		
		padding: 2em;
		padding-top: 5em;

		width:100%;
		height:100vh;
		z-index: 9800;
		
		background-color: rgb(255, 255, 255);
		overflow-y: auto;
		
		-webkit-overflow-scrolling: touch;
	}
	
	.linksWrapper .links a{color: rgb(0, 0, 0);}
	
	.linksWrapper .links a br{display: none;}
	.linksWrapper .links.menu
	{
		padding-right: 0em;
		padding-top: 1em;
		display: block;
	}
	.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: 1px;
		background-color: rgb(0, 0, 0);
		top: 50%;
		right: .5px;
		margin-top: -.2rem;
		-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: 1px;
		height: .8rem;
		background-color: rgb(0, 0, 0);
		right: .4rem;
		top: 50%;
		margin-top: -.6rem;
		-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:after
	{
		content: "";
		z-index: -1;
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: rgb(0, 0, 0);
		bottom: 0rem;
		
		transform-origin: center top;
		transform: scale(0, 1);
		
		-webkit-transition:all .3s ease;
		-moz-transition:all .3s ease;
		-ms-transition:all .3s ease;
		-o-transition:all .3s ease;
		transition:all .3s ease;
	}
	.linksWrapper a.subBt:hover:after
	{
		transform: scale(1, 1);
	}

	.linksWrapper .links.menu a
	{
		font-size: 1.2rem;
		text-decoration: none;
		display: inline-block;
		margin-bottom: .5rem;
		position: relative;
	}
	
	.linksWrapper .links.menu a:after
	{
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: rgb(0, 0, 0);
		bottom: 0rem;
		
		transform-origin: center top;
		transform: scale(0, 1);
		
		-webkit-transition:all .3s ease;
		-moz-transition:all .3s ease;
		-ms-transition:all .3s ease;
		-o-transition:all .3s ease;
		transition:all .3s ease;
	}
	.linksWrapper .links.menu a:hover:after
	{
		transform: scale(1, 1);
	}
	
	.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: 1em 0;
	    width: 50vw;
		-webkit-align-items: flex-end;
		align-items: flex-end;
	}
	
	#selector .selector
	{
		width: 100%;
		padding: 1em 3em;
		flex-direction: column;
		-webkit-align-items: flex-end;
		align-items: flex-end;
	}
	
	#selector .logo
	{
		width: 20vw;
		max-width: 300px;
		margin-bottom: 1rem;
	}
	
	#menuList .logo
	{
	    width: 100%;
		max-width: 400px;
		margin-bottom: 1rem;
	}

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

@media screen and (orientation: portrait)
{
	#allWrapper
	{
		height: auto;
	}

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

	#selector a.logo
	{
		width: 380px;
		margin-left: 1rem;
	}
	
	#menuList .logo
	{
	    width: 100%;
		max-width: 400px;
		margin-bottom: 1rem;
	}
	
	h5.secTitle
	{
		margin-top:2rem;
		margin-bottom:2rem;
	}
	
	#modalWindow{padding: 1em;}
	#modalWindow .contents_area{padding:3em 1em; margin-top: 0; margin-bottom: 5rem; border-width: 0;}
	
	#goTopBt{right: .1em;}
}

@media screen and (max-width: 650px) and (orientation: portrait)
{
	#selector a.logo
	{
		width: 280px;
		margin-left: 1rem;
	}
}