@charset "UTF-8";

/*=============================================
 
	common
 
==============================================*/
@font-face {
	font-family: 'Myriad-bold';
	src: url(../fonts/MyriadPro-Bold.otf);
}
@font-face {
	font-family: 'Myriad-semibold';
	src: url(../fonts/MyriadPro-Semibold.otf);
}

body {
    font-family: 'Noto Sans JP', sans-serif;
	min-width: 1000px;
	color: #000;
	font-size: 1.5rem;
	overflow-x: hidden;
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}
@media all and (-ms-high-contrast: none) {
	body {
        background: url(../images/bg_body_ie.jpg);
        background-attachment: fixed;
        background-size: cover;
        position: relative;
	}
}
.wrapper {
	/*overflow: hidden;*/
}
#content {
	position: relative;
	margin: 7rem 0 0;
}
#content.lower {
	margin: 17rem 0 0;
}
.wi1000, .inner {
	width: 1000px;
	margin: 0 auto;
}
.sp {
	display: none;
}
.alignCenter {
	text-align: center;
}
.alignright{
	display: block;
	margin: 0 0 0 auto;
}
.alignleft{
	display: block;
	margin: 0 auto 0 0;
}
.aligncenter{
	display: block;
	margin: 0 auto;
}
figure.aligncenter{
	display: table;
	margin: 0 auto;
	text-align: center;
}



/*
	HEADER
================================*/
header {
	background: #F5F5F5;
	position: fixed;
	top: 0;
    left: 0;
    width: 100%;
    height: 7rem;
	-webkit-transition: 0.3s;
    transition: 0.3s;
	z-index: 10000;
}
header .inner {
	padding: 0 2rem;
}
header .logo {
	float: left;
	width: 210px;
	padding: 1.2rem 0 0;
}
header .navWrap {
	float: right;
	padding: 2.5rem 0 0;
}
header .navWrap .lang {
	float: left;
	margin: 1rem 2rem 0 0;
}
header .navWrap .lang li {
	font-family: 'Oswald', sans-serif;
	float: left;
	width: 30px;
	height: 20px;
	text-align: center;
	font-size: 1rem;
	font-weight: 500;
	color: #fff;
	padding: 0.4rem 0 0;
	margin: 0 0.8rem 0 0;
	background: #000;
}
header .navWrap .lang li:last-child {
	margin: 0;
}
header .navWrap .lang li.on {
	background: transparent;
	padding: 0;
}
header .navWrap .lang li.on a {
	border-bottom: solid 1px #000;
	color: #000;
	font-weight: 500;
	display: block;
	padding: 0.4rem 0 0.3rem;
}
header .navWrap .lang li.on a:hover {
	opacity: 0.6;
}
header .navWrap .nav {
	overflow: hidden;
	width: auto;
}
header .navWrap .nav li {
	float: left;
	width: 70px;
	margin: 0 10px 0 0;
}
header .navWrap .nav li:last-child {
	margin: 0;
}
header .navWrap .nav li a {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	text-align: center;
	font-size: 1.6rem;
	display: block;
	position: relative;
	padding: 0 0 12px;
	color: #2C4A8D;
}
header .navWrap .nav li a:before {
	content: "";
	width: 70px;
	height: 5px;
	/*background: rgba(255,255,255,0.3);*/
	background: #2C4A8D;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
header .navWrap .nav li a:hover:before {
	background: #2C4A8D;
}


/*
	parts
================================*/
/* TITLE */
.secTitBox {
	text-align: center;
	margin: 0 0 3rem;
}
.secTitBox .secTit {
	display: inline-block;
    margin: 0 auto;
}
.secTitBox .jpnTit {
	display: table;
	margin: 0 auto;
	color: #2C4A8D;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	visibility: hidden;
}
.subTitBox {
	text-align: center;
	margin: 0 0 2rem;
	font-size: 0;
}

.secTit span {
	overflow: hidden;
	display: inline-block;
	width: auto;
	/*-moz-background-clip: text;
    -webkit-background-clip: text;
    background-clip: text;
    -moz-text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;*/
	
	/*font-family: 'Myriad-bold';
	color: #fff;
	font-size: 8.5rem;
	letter-spacing: -0.03em;
	line-height: 1;*/
}
.secTit span span {
	transform: translateX(50px);
	-ms-transform: translateX(50px);
	-webkit-transform: translateX(50px);
	transition: .5s;
}
.secTit.active span span {
	transform: translateX(0);
	-ms-transform: translateX(0);
	-webkit-transform: translateX(0);
}
.secTit span img {
    height: 100%;
}
.lower .secTitBox {
    margin: 0 auto 8rem;
}
.lower .secTitBox .secTit {
    margin: 0 auto 1.5rem;
}
.lower .secTitBox .jpnTit {
    color: #000;
    font-size: 1.8rem;
    font-weight: normal;
}



/*
	CONTACT
================================*/
.contactArea {
	margin: 170px 0 0;
}
.contactArea .contactBox {
	background: #46D2FF;
	width: 465px;
	height: 245px;
	margin: 0 auto;
	text-align: center;
	padding: 9.5rem 1rem 0;
}
.contactArea .contactBox a {
	display: block;
}
.contactArea .contactBox .eng {
	width: 242px;
	margin: 0 auto 1rem;
}
.contactArea .contactBox .tit {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}


/*
	FOOTER
================================*/
footer {
	background: #F5F5F5;
	height: 100px;
	padding: 2.7rem 0 0;
	position: relative;
}
footer .inner {
	padding: 0 2rem;
}
footer .copy {
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
	font-size: 1.5rem;
	float: left;
	padding: 20px 0 0;
}
footer .logo {
	width: 250px;
	position: absolute;
	top: calc(50% - 24px);
	left: calc(50% - 125px);
}
footer .fotNav {
	float: right;
	padding: 20px 0 0;
}
footer .fotNav li {
	float: left;
	margin: 0 20px 0 0;
}
footer .fotNav li:last-child {
	margin: 0;
}
footer .fotNav li a {
	text-decoration: underline;
}
footer .fotNav li a:hover {
	text-decoration: none;
}






@media screen and (max-width: 768px) {
	
body {
	min-width: auto;
}
#content {}
#content.lower {
	margin: 10rem 0 0;
}
.sp {
	display: block;
}
.pc {
	display: none;
}

body {
	min-width: 100%;
	font-size: 1.5rem;
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}
.wrapper {
	/*overflow: hidden;*/
}
#content {
	position: relative;
	margin: 5.5rem 0 0;
}
.wi1000, .inner {
	width: 100%;
	margin: 0 auto;
}



/*
	HEADER
================================*/
header {
	background: #F5F5F5;
	position: fixed;
	top: 0;
    left: 0;
    width: 100%;
    height: 5.5rem;
	-webkit-transition: none;
    transition: none;
}
header .inner {
	padding: 0 4%;
}
header .logo {
	float: left;
	width: 150px;
	padding: 1.2rem 0 0;
}
header .navWrap .lang {
    float: none;
	margin: -8px 50px 0 0;
}
header .spNav {}
header .spNav .icon-animation {
    width: 40px;
    height: 45px;
    display: block;
    float: right;
    position: absolute;
    right: 0;
    top: 0;
}
header .spNav .icon-animation span {
    width: 23px;
    height: 2px;
    display: block;
    background: #2C4A8D;
    position: absolute;
    left: 50%;
    top: 58%;
    margin-left: -20px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}
header .spNav .icon-animation span:nth-child(1) {
    -webkit-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
}
header .spNav .icon-animation span:nth-child(3) {
    -webkit-transform: translateY(6px);
    -ms-transform: translateY(6px);
    transform: translateY(6px);
}
header .spNav .is-open span:nth-child(2) {
    background: rgba(51, 51, 51, 0);
}
header .spNav .is-open span:nth-child(1) {
    -webkit-transform: rotate(-45deg) translateY(0px);
    -ms-transform: rotate(-45deg) translateY(0px);
    transform: rotate(-45deg) translateY(0px);
}
header .spNav .is-open span:nth-child(3) {
    -webkit-transform: rotate(45deg) translateY(0px);
    -ms-transform: rotate(45deg) translateY(0px);
    transform: rotate(45deg) translateY(0px);
}
header .spNav .gNav {
	background: #F5F5F5;
	width: 100%;
	height: 100vh;
	border-top: solid 1px #fff;
	position: absolute;
	top: 5.5rem;
	left: 0;
	padding: 5rem 4% 10rem;
	box-sizing: border-box;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 100;
	display: none;
}
header .spNav .gNav.active {
	display: block;
}
header .spNav .gNav li {
    margin: 0 0 2rem;
}
header .spNav .gNav li:last-child {
    margin: 0;
}	
header .spNav .gNav li a {
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-align: center;
    font-size: 2.4rem;
    display: block;
    position: relative;
    color: #2C4A8D;
}
.scroll-prevent {
    z-index: -1;
    width: 100%;
    height: 100%;
    overflow: hidden;
}	
	
	
	
	

/*
	parts
================================*/
/* TITLE */
.secTitBox {
	text-align: center;
	margin: 0 0 3rem;
}
.secTitBox .secTit {
	display: inline-block;
    margin: 0 auto;
}
.secTitBox .jpnTit {
	display: table;
	margin: 0 auto;
	color: #2C4A8D;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	visibility: hidden;
}
.subTitBox {
	text-align: center;
	margin: 0 0 2rem;
	font-size: 0;
}

.secTit span {
	overflow: hidden;
	display: inline-block;
	width: auto;
}
.secTit span span {
	transform: translateX(50px);
	-ms-transform: translateX(50px);
	-webkit-transform: translateX(50px);
	transition: .5s;
}
.secTit.active span span {
	transform: translateX(0);
	-ms-transform: translateX(0);
	-webkit-transform: translateX(0);
}
.secTit span img {
    height: 100%;
}
.lower .secTitBox {
    margin: 0 auto 3rem;
}
.lower .secTitBox .secTit {
    margin: 0 auto 1rem;
}
.lower .secTitBox .jpnTit {
}



/*
	CONTACT
================================*/
.contactArea {
	margin: 170px 0 0;
}
.contactArea .contactBox {
	background: #46D2FF;
	width: 465px;
	height: 245px;
	margin: 0 auto;
	text-align: center;
	padding: 9.5rem 1rem 0;
}
.contactArea .contactBox a {
	display: block;
}
.contactArea .contactBox .eng {
	width: 242px;
	margin: 0 auto 1rem;
}
.contactArea .contactBox .tit {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}


/*
	FOOTER
================================*/
footer {
	height: auto;
	padding: 2.5rem 0 1rem;
	position: relative;
}
footer .inner {
	padding: 0 2rem;
}
footer .copy {
	font-size: 1.2rem;
	float: none;
	padding: 3rem 0 0;
	text-align: center;
}
footer .logo {
	width: 160px;
	margin: 0 auto;
	position: static;
}
footer .fotNav {
	float: none;
	padding: 20px 0 0;
	display: table;
	margin: 0 auto;
}
footer .fotNav li {
	float: left;
	margin: 0 20px 0 0;
}
footer .fotNav li:last-child {
	margin: 0;
}
footer .fotNav li a {
	text-decoration: underline;
}
footer .fotNav li a:hover {
	text-decoration: none;
}



	
	
}