﻿@charset "utf-8";

/*----------------------------------------------------------------

layout Set

----------------------------------------------------------------*/

/* Header
----------------------------------------------- */
#top-head .inner {
width: 100%;
margin: 0 auto;
}
#top-head .inner:after {
content: "";
clear: both;
display: block;
}
/* header */
#top-head {
top: -100px;
position: absolute;
width: 100%;
margin: 100px auto 0;
padding: 0 0 10px;
line-height: 1;
z-index: 999;
}
#top-head a,
#top-head {
color: #252525;
text-decoration: none;
}
#top-head .inner {
position: relative;
}
#top-head .logo {
float: left;
font-size: 24px;
background: #fff;
padding: 60px 20px 55px 25px;
}
#global-nav ul {
list-style: none;
position: absolute;
right: 20px;
top: 20px;
margin: 0;
}
#top-head.fixed.sub #global-nav ul {
right: 0px;
top: 35px;
}
#global-nav ul * {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 0.35s ease;
transition: all 0.35s ease;
}
#global-nav ul li {
list-style: outside none none;
float: left;
margin: 0 0 10px 10px;
}
#global-nav ul li a {
font-size: 0.9em;
padding: 0.5em 1em 0.5em 0.8em;
position: relative;
text-decoration: none;
display: inline-block;
color: #333;
}	

#global-nav ul li a:before {
position: absolute;
content: '';
-webkit-transition: all 0.35s ease;
transition: all 0.35s ease;
opacity: 0;
top: 25%;
bottom: 25%;
left: 0;
right: 0;
border-bottom: 2px solid #333;
}
#global-nav ul li a:hover,
#global-nav ul li .current a {
color: #333;
}
#global-nav ul li a:hover:before,
#global-nav ul li .current a:before {
opacity: 1;
top: 0;
bottom: 0;
}

/* Fixed */
#top-head.fixed {
margin-top: 0;
top: 0;
position: fixed;
padding-top: 10px;
height: 70px;
background: #fff;
background: rgba(255,255,255,.9);
transition: top 0.65s ease-in;
-webkit-transition: top 0.65s ease-in;
-moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
font-size: 24px;
color: #333;
background: none;
padding: 7px 0 0 30px;
height: 60px;
}
#top-head.fixed #global-nav ul li a {
}
/* Fixed sub */
#top-head.fixed.sub {
position: relative;
height: 100px;
}
#top-head.fixed.sub .inner {
width: 980px;
max-width: 98%;
margin: 0 auto;
}
#top-head.fixed.sub .logo {
height: auto;
margin: 0 auto;
padding: 10px 0 0;
}

/* Toggle Button */
#nav-toggle {
display: none;
position: absolute;
right: 18px;
top: 18px;
width: 30px;
height: 30px;
cursor: pointer;
z-index: 101;
}
#nav-toggle div {
position: relative;
}
#nav-toggle span {
display: block;
position: absolute;
height: 4px;
width: 100%;
background: #333;
left: 0;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
top: 0;
}
#nav-toggle span:nth-child(2) {
top: 10px;
}
#nav-toggle span:nth-child(3) {
top: 20px;
} 

@media screen and (max-width: 767px) {
#top-head,
#top-head .inner,
#top-head.fixed.sub .inner {
width: 100%;
max-width: 100%;
padding: 0;
}
#top-head {
top: 0;
position: fixed;
margin-top: 0;
}
/* Fixed reset */
#top-head.fixed,
#top-head.fixed.sub {
padding-top: 0;
background: transparent;
height: auto;
}
#mobile-head {
background: #fff;
width: 100%;
height: 60px;
z-index: 999;
position: relative;
}
#top-head.fixed.sub .logo,
#top-head.fixed .logo,
#top-head .logo {
position: absolute;
left: 12px;
top: 10px;
color: #333;
height: 42px;
background: none;
padding: 0;
}
#global-nav {
position: absolute;
/* 開いてないときは画面外に配置 */
top: -497px;
background: #777;
width: 100%;
padding: 15px 0;
-webkit-transition: .5s ease-in-out;
-moz-transition: .5s ease-in-out;
transition: .5s ease-in-out;
}
#global-nav ul {
list-style: none;
position: static;
right: 0;
bottom: 0;
margin: 0;
}
#global-nav ul li {
float: none;
position: static;
margin: 0;
}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
width: 100%;
display: block;
color: #fff;
padding: 18px 0;
text-align: center;
}
#nav-toggle {
display: block;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
top: 10px;
-webkit-transform: rotate(315deg);
-moz-transform: rotate(315deg);
transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
width: 0;
left: 50%;
}
.open #nav-toggle span:nth-child(3) {
top: 10px;
-webkit-transform: rotate(-315deg);
-moz-transform: rotate(-315deg);
transform: rotate(-315deg);
}
/* #global-nav スライドアニメーション */
.open #global-nav {
/* #global-nav top + #mobile-head height */
-moz-transform: translateY(556px);
-webkit-transform: translateY(556px);
transform: translateY(556px);
}
}
/* END Header
----------------------------------------------- */

/* ヘッドライン */
#headline {
width: 100%;
padding: 0;
margin: 60px auto 0;
text-align : center;
position: relative;
background: url(../images/common/bg_stripe.png) repeat left top, url(../images/main_bg_sp.jpg) no-repeat center top;
background-size: auto, contain ;
}
#headline #headcopy {
width: 90%;
margin: 0 auto 0;
padding-top: 5em;
text-align : center;
}
#headline #headcopy h2 {
font-size: 2em;
padding: 2em 0 0;
line-height: 1.3;
margin: 0 0 1.3em;
color: #014099;
}
#headline #headcopy h2 span {
display: inline-block;
margin-bottom: 0.3em;
}
#headline #headcopy p {
text-align : center;
}
#headline #headcopy .arrow {
padding: 0;
font-size: 3em;
color: #777;
}

#heading{
width: 100%;
padding: 1em 0;
min-height: 50px;
background: url(../images/common/bg_stripe02.png) repeat left top;
}
#heading h1{
width: 94%;
margin: 0 auto;
font-size: 1.5em;
font-weight: bold;
}
#heading h1 span{
display: inline-block;
font-family: 'Oswald', sans-serif;
font-weight: normal;
}

/* コンテンツ枠 */
#contents {
width : 100%;
margin : 0 auto;
}
#contents .inner{
width : 92%;
margin: 0 auto;
}

/* メインコンテンツ */
#main {
width : 100%;
}
section{
width : 92%;
margin : 0 auto 2em;
}

/* PageTOP */
#pagetop{
position: fixed;
bottom: 10px;
right: 10px;
width: 45px;
}
#pagetop a:hover img{
opacity: 0.7;
}

/* フッター */
footer {
padding : 30px 0 20px;
margin: 3em 0 0;
border-top : 1px solid #dadada;
color: #333;
line-height: 1.5;
overflow: hidden;
text-align: center;
}
footer .inner {
width: 90%;
margin: 0 auto;
}
footer a {color: #333; text-decoration: none;}
footer a:visited { color: #333; }
footer a:hover { color: #333; text-decoration: underline;}

#footerlogo{
height: 63px;
}
#footernav {
margin: 30px auto 0;
}
#footernav li {
}
#footernav li::before {
font-family: "fontawesome";
content: '\f105' ;
margin-right: 0.5em;
}
footer .copy {
text-align: center;
margin: 2em 0 0;
}


/*----------------------------------------------------------------

Media Queries

----------------------------------------------------------------*/
/* 768px～ メディアクエリ開始 */
@media screen and (min-width : 768px) {

/* メインコンテンツ */
#contents {
width: 100%;
margin-top: 80px;
}
#main {
margin: 0 auto;
}

/* ヘッダー（見出し・画像）枠 */
#headline {
width: 100%;
height: 800px;
padding: 0;
margin: 0 auto 0;
text-align : center;
position: relative;
background: url(../images/common/bg_stripe.png) repeat left top, url(../images/main_bg.jpg) no-repeat center top fixed;
background-size: auto,cover;
}
#headline #headcopy {
width: 100%;
margin: 0 auto;
padding: 0;
text-align : center;
}
#headline #headcopy h2 {
font-size: 3.5em;
letter-spacing: 2px;
padding: 320px 0 0;
line-height: 1.5;
margin: 0 0 1em;
}
#headline #headcopy h2 span {
margin-bottom: 0;
}
#headline #headcopy p {
font-size: 1.5em;
letter-spacing: 2px;
}
#headline #headcopy .arrow {
padding: 0;
color: #fff;
}

#heading{
padding: 30px 0;
min-height: 50px;
}

/* PageTOP */
#pagetop{
position: fixed;
bottom: 30px;
right: 30px;
width: 60px;
}

/* フッター */
footer {
padding : 40px 0 40px;
margin: 100px 0 0;
border-top : 1px solid #dadada;
color: #333;
line-height: 1.0;
overflow: hidden;
}
footer .inner {
width: 94%;
margin: 0 auto;
}
footer a {color: #333; text-decoration: none;}
footer a:visited { color: #333; }
footer a:hover { color: #333; text-decoration: underline;}

#footerlogo {
float: left;
}
#footernav {
float: right;
margin-top: 30px;
}
#footernav li {
display: inline;
margin: 0 0 0 30px;
}
#footernav li::before {
font-family: 'FontAwesome' ;
content: '\f105' ;
margin-right: 0.5em;
}
#footernav li::after {
content: none;
}
footer .copy {
clear: both;
padding: 35px 0 0;
text-align: left;
}


}
/* 1024px～ メディアクエリ開始 */
@media screen and (min-width : 1024px) {

#heading h1{
width: 980px;
}

/* メインコンテンツ */
#contents {
width: 100%;
}
#contents .inner{
width: 980px;
margin: 0 auto;
}
#main {
margin: 0 auto;
}
section{
width: 90%;
max-width: 980px;
margin: 0 auto 100px;
background: #fff;
font-size : 1em;
}
.toppage section,
section.w1080{
max-width: 1080px;
}
section p{
}
/* メインコンテンツ内部 */


} /* 1024px～ メディアクエリ終了 */
