@charset "UTF-8";

@font-face {
    font-family: 'DIN Alternate Bold';
    font-style: normal;
    font-weight: 100;
    src: url('../fonts/DIN Alternate Bold.woff2') format('woff2'),
	     url('../fonts/DIN Alternate Bold.woff') format('woff'),
	     url('../fonts/DIN Alternate Bold.ttf')  format('truetype'),
         url('../fonts/DIN Alternate Bold.eot') format('embedded-opentype'),
		 url('../fonts/DIN Alternate Bold.svg') format('svg');
}

/* common
-------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-align: center;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display: block;
}
ul {
    list-style: none;
}
img {
	width: 100%;
	border: none;
	vertical-align: bottom;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
address, em, code, cite, dfn, var, optgroup {
  font-style: normal;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
input, select {
    vertical-align: middle;
}
input[type="button"],input[type="text"],input[type="submit"],input[type="reset"],textarea {
	-webkit-appearance: none;
	border-radius: 0;
	font-family: "游ゴシック" , "Yu Gothic" , "游 ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐ ゴシック" , "MS PGothic" , sans-serif;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
.clear {
	font-size: 1px;
	height: 1px;
	clear: both;
}


/* module
------------------------------------------------- */
.floatL {
	float: left;
	display: inline;
}
.floatR {
	float: right;
	display: inline;
}
.alignCenter {text-align: center;}
.alignLeft {text-align: left;}
.alignRight {text-align: right;}
.valignTop {vertical-align: top;}
.valignMiddle {vertical-align: middle;}
.valignBottom {vertical-align: bottom;}

.bold { font-weight: bold; }
.fontDin {
	font-family: 'DIN Alternate Bold';
}

.none { display: none; }
.pcon { display: block; }
.spon { display: none; }
@media only screen and (max-width:767px){
.pcon { display: none; }
.spon { display: block; }
}


/* a
------------------------------------------------- */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
	text-decoration: none;
	outline: none;
    color: #000;
}
@media only screen and (min-width:768px){
a:hover {
	text-decoration: underline;
}
a.al:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	transition: 0.3s;
	text-decoration: none;
}
}


/* font
------------------------------------------------- */
@media only screen and (min-width:768px){
.fo14 { font-size: 14px; }
.fo15 { font-size: 15px; }
.fo16 { font-size: 16px; }
.fo17 { font-size: 17px; }
.fo18 { font-size: 18px; }
.fo20 { font-size: 20px; }
.fo22 { font-size: 22px; }
.fo24 { font-size: 24px; }
.fo25 { font-size: 25px; }
.fo32 { font-size: 32px; }
.fo33 { font-size: 33px; }
.fo40 { font-size: 40px; }
}
@media only screen and (min-width:768px) and (max-width:1024px){
.fo14 { font-size: 1.3671875vw; }
.fo15 { font-size: 1.4648436vw; }
.fo16 { font-size: 1.5625vw; }
.fo17 { font-size: 1.6601562vw; }
.fo18 { font-size: 1.7578123vw; }
.fo20 { font-size: 1.9531249vw; }
.fo22 { font-size: 2.1484374vw; }
.fo24 { font-size: 2.34375vw; }
.fo25 { font-size: 1.7857142vw; }
.fo32 { font-size: 3.125vw; }
.fo33 { font-size: 3.2226561vw; }
.fo40 { font-size: 3.90625vw; }
}

/* html
-------------------------------------------------*/
html {
	overflow-y: scroll;
	height: 100%;
}

/* body
------------------------------------------------- */
body {
	font-family: "游ゴシック" , "Yu Gothic" , "游 ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐ ゴシック" , "MS PGothic" , sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #000;
	-webkit-text-size-adjust: 100%;
	height: 100%;
}
@media only screen and (min-width:768px) and (max-width:1024px){
body {
	font-size: 1.3671875vw;
}
}
@media only screen and (max-width:767px){
body {
	font-size: 3.725vw;
}
}

/* wrapper
------------------------------------------------- */
#wrapper {
	width: 100%;
	margin: 0 auto;
	clear: both;
	position: relative;
	min-height: 100%;
}

/* header
------------------------------------------------- */
#header {
	width: 100%;
	clear: both;
	border-bottom: #000 1px solid;
}
#header .hinner {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
.logo {
	width: 13.6%;
	padding: 0.9286em 1% 1em;
}
@media only screen and (max-width:767px){
.logo {
	width: 20%;
	max-width: 136px;
	padding: 3vw 3%;
}
}


/* navi
------------------------------------------------- */
.hbtn a {
	border: #ff6926 0.1428571em solid;
	color: #ff6926;
	font-weight: bold;
	display: block;
	box-sizing: border-box;
	width: 12.1em;
	text-align: center;
	padding: 0.42em 0;
}
.hbtn a::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0.45em;
	height: 0.7em;
	background: url(../images/ico01.png) no-repeat left top;
	background-size: 100% 100%;
	margin-right: 0.85em;
}
@media only screen and (min-width:768px){
.btnMenu,
#navi .h-close,
.subnav-close {
	display:none;
}
#navi {
	width: 70%;
	text-align: right;
	position: absolute;
	top: 1.357em;
	right: 1%;
}
.gnavi {
	display: inline-block;
	vertical-align: middle;
	padding-right: 0.7em;
}
.gnavi li {
	display: inline-block;
}
.gnavi li:first-child {
	display: none;
}
.gnavi li a {
	text-align: center;
	display: block;
	padding: 0 1em;
	text-decoration: none;
	position: relative;
	z-index: 9999;
	font-weight: bold;
	position: relative;
	line-height: 1.2;
	color: #434343;
}
.gnavi li a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 1.12em;
	background: #000;
}
.gnavi li:last-child a::after {
	display: none;
}
.hbtn {
	display: inline-block;
	vertical-align: middle;
}
}
@media only screen and (max-width:767px){
.hmenu {
	position: absolute;
	right: 3vw;
	top: 3.5vw;
	display: block;
	cursor: pointer;
	width: 10.266vw;
}
#navi {
	position: fixed;
	top: 0;
    right: -150vw;
	width: 75%;
    height: 100%;
	z-index: 1000;
    -webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
    background-color: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
#navi .hmenu {
	position: absolute;
	right: 3vw;
	top: 3.5vw;
	display: block;
	cursor: pointer;
	width: 10.266vw;
}
.gnavi {
	width: 100%;
	padding: 12vw 0;
}
.gnavi li {
	padding: 0 5% 1px;
}
.gnavi li a {
	color: #434343;
	display: block;
	padding: 3vw 2.5vw;
	font-size: 4.2vw;
	border-bottom: #042250 1px solid;
	font-weight: bold;
}
.hbtn a {
	width: 90%;
	margin: 0 auto;
	font-size: 4.2vw;
}
body.active {
    width: 100%;
    height: 100%;
    margin: auto;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
}
body.active #navi {
	-moz-transform: translateX(-150vw);
	-webkit-transform: translateX(-150vw);
	transform: translateX(-150vw);
}
.overLay {
 	position: fixed;
 	top: 0;
 	left: 0;
 	background-color: rgba(0,0,0,0.50);
 	width: 100%;
 	height: 100%;
	z-index: 998;
	display: none;
	cursor: pointer;
}
}


/* contents
------------------------------------------------- */
#contents {
	width: 100%;
	clear: both;
	padding-bottom: 15.5em;
}
@media only screen and (max-width:767px){
#contents {
	padding-bottom: 35vw;
}
}


/* section
------------------------------------------------- */
section {
	width: 100%;
}
section .inner {
	max-width: 1000px;
	margin: 0 auto;
	clear: both;
	position: relative;
}
@media only screen and (max-width:767px){
section .inner {
	width: 94%;
}
}


/* headTitle
------------------------------------------------- */
.headTitle01 {
	text-align: center;
	color: #ff6926;
	letter-spacing: 0.12em;
	position: relative;
	padding: 0.25em 0;
	margin-bottom: 1.08em;
}
.headTitle01::after {
	content: "";
	background: #000;
	width: 0.7273em;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -0.36365em;
}
@media only screen and (max-width:767px){
.headTitle01 {
	font-size: 6vw;
}
}


/* btnDetail
------------------------------------------------- */
.btnDetail a {
	display: block;
	background: #1f2a40;
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 0.5em 0;
}


/* footer
------------------------------------------------- */
#footer {
	width: 100%;
	clear: both;
	background: #000;
	position: absolute;
	bottom: 0;
}
#footer .copyright {
	color: #fff;
	text-align: center;
	padding: 2.4em 0 5.2em;
}
@media only screen and (max-width:767px){
#footer .copyright {
	padding: 8vw 0;
}
}
