@charset "utf-8";

*{ box-sizing: border-box;word-break : break-all;font-feature-settings : "palt";-webkit-appearance: none;
}

/* =base
------------------------------------------------------------------------------------------*/
body {
	text-align: center;
	color: #000;
	font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-weight: 500;
	font-size: 16px;
	line-height: 1.4em;
	background-color: #fff;
	margin: 0;
	min-height:100%;
}

.sp_only{display: none;}
.pc_only{display: block;}

@media only screen and (max-width: 639px){
body{ min-width:inherit;}

.sp_only{display: block;}
.pc_only{display: none!important;}
}

html {overflow-y:scroll; height:100%;}
a {  text-decoration: none;  cursor: pointer;color:#003493; outline:none;  }
a:link {  text-decoration: none;  }
a:hover {  color: #003493;  text-decoration:none;}
a:active {  text-decoration: none;}
a img { outline:none;}
a:hover img {  opacity: .7;}

/* =fade
/********************** fade *******************************/
#js_fade2 {position : fixed;top : 0;left : 0;width: 100%; height : 100%;background-color: #fff;background-image : url( ../images/loading.gif );background-repeat : no-repeat; background-position : 50% 50%; z-index:99;}

/********************** header *******************************/
header { text-align:left; position:fixed; z-index:20; width:100%;  background-color:#003493; color:#fff;transition: 1s;}


header img{ width:100%;}
header h1{ float: left; line-height:0; padding:14px 0 0 0;transition: all 0.3s ease; margin-left:20px; font-weight:bold;}
header h1 img{max-width:120px; float:left; transition: 0.3s;}


header nav ul {  width: 100%; }
header nav ul li,
header aside ul li { float: left; margin-right:1px;}
header aside ul li { margin-right: 8px; }
header::after,
header ul::after { content: ""; clear: both; display: block; }


@media only screen and (max-width: 768px){
header { padding-bottom:0; height: 50px; top:0;}
.head_wrap{  padding: 0 0;height:50px;}

header h1{ max-width: inherit; width:auto; padding:12px 0 0 4%; margin-left:0;}
header h1 img{max-width:80px;margin-right:8px;}
}

/* =global nav
------------------------------------------------------------------------------------------*/

.toggle_nav{ float:right; }

.nav a{ color:#fff;}
.global{ line-height:0;}

.nav nav{ display: inline-block; padding-right:15px;}
.nav ul{ width: 100%;  }
.nav li {display:inline-block;  float: left;}
.nav li a{ display:block; line-height:1em; font-size:13px; font-weight:bold; text-align:center;  padding:26px 0px 22px; position:relative; width:110px;transition: 0.3s;}
.nav_trigger{display: none;}

.nav aside{ display: inline-block; padding-right:15px; float:right;}
.nav aside li{ display:inline-block; float:left; padding:20px 10px 0px; transition: 0.3s; margin:0;}
.nav aside a{ display:block; width:25px; line-height:0; padding:0;}
.nav aside a img{ width:100%;}


ul.ddmenu li { text-align: center; display: inline-block; list-style-type: none; position: relative; background-color: #003493;}
ul.ddmenu a { text-decoration: none; font-weight: bold; display: block;}
ul.ddmenu ul { display: none; margin: 0px; padding: 0px; position: absolute;}
ul.ddmenu li:hover ul { display: block;}

.secondmenu { padding-right: 0px; padding-left: 0px; margin-left: 10px; margin-right: 10px; width: 140px;}

/*
.nav aside{ display: inline-block;}
.nav aside a{ width:32px;  padding:0 8px 0; font-size:20px; height:45px; line-height:45px;}
.nav aside a img{ width:100%;}
*/
.nav li a span.btm{ position: absolute; bottom: 0; left:0px; width: 0%; height: 4px; background: #fff;
    -webkit-transition: all 0.3s ease;
       -moz-transition: all 0.3s ease;
        -ms-transition: all 0.3s ease;
         -o-transition: all 0.3s ease;
            transition: all 0.3s ease;
}
.nav li a:hover span.btm,
.nav li a.active span.btm{ width: 100%;}
.nav_trigger{display: none;}


/* scroll nav */
header.innav h1{ padding:7px 0 0 0; }
header.innav h1 img{max-width:90px;}
header.innav li a{ padding:14px 0; }
header.innav .nav aside li{ padding:8px 10px 0;}
header.innav .nav aside a{ padding:0;}


@media only screen and (max-width: 930px){
.nav nav li a{ width:10vw; font-size:1.4vw;}
}


@media only screen and (max-width: 768px){
.global{width:100%; position:fixed; z-index:10; top:0; left:0; overflow-y: hidden; padding-top:0; height:0; background-color:rgba(0,30,85,0.7); box-sizing: border-box;
 -webkit-transition: 1s ease;  -moz-transition: 0.5s ease;  -o-transition: 0.5s ease;  -ms-transition: 0.5s ease;  transition:0.5s ease;}
.global li{width: 100%; display:inherit; background-color:#003493;}
.nav-active .global{ height:100vh;padding-top:50px;}

.toggle_nav{ -webkit-transition: 0.2s ease;  -moz-transition: 0.2s ease;  -o-transition: 0.2s ease;  -ms-transition: 0.2s ease;  transition: 0.2s ease;}
.nav{ margin-bottom:0; width:100%; height:inherit;}
.nav li{ border-bottom:1px solid #013ca9;  padding-right: 0;}
.nav li a{ width:100%; max-width:inherit; text-align:center; padding:6vw 0; color:#fff; height:auto; line-height:1em; font-size:16px; border-top:1px solid #002c7b;}

.nav nav{ width:100%; margin:0; display:block; padding:0;}
.nav nav li a{ width:auto; font-size:16px;}

.nav aside{ width:100%; display:block; background-color:#003493; padding:0; float:none;}
.nav aside ul{ display:table; width:100%; margin:0 auto; padding:0 5%;}
.nav aside li{ display:table-cell; width:25%; margin:0; padding:0;}
.nav aside li a{ height:inherit; line-height:1em; padding:5vw 0; margin-top: 115px;}
.nav aside li a img{ width:30%;}

/* scroll nav */
header.innav h1{ padding:12px 0 0 4%; }
header.innav h1 img{    max-width: 80px;}
header.innav li a{ padding:6vw 0; }
header.innav .nav aside li{ padding: 0;}
header.innav .nav aside a{ padding: 5vw 0;}

/* Default navigation icon */
.nav_trigger { display: block; position: fixed; width: 30px; height: 25px; right:4vw; top: 10px; z-index: 200;}
.nav-active .nav_trigger { opacity: 0.7;}
.nav_icon { display: inline-block; position: relative; width: 30px; height: 3px; background-color: #fff; -webkit-transition-property: background-color, -webkit-transform; transition-property: background-color, -webkit-transform; transition-property: background-color, transform; transition-property: background-color, transform, -webkit-transform; -webkit-transition-duration: 300ms; transition-duration: 300ms;}
.nav_icon:before,
.nav_icon:after { content: ''; display: block; width: 30px; height: 3px; position: absolute; background: #fff; -webkit-transition-property: margin, -webkit-transform; transition-property: margin, -webkit-transform; transition-property: margin, transform; transition-property: margin, transform, -webkit-transform; -webkit-transition-duration: 300ms; transition-duration: 300ms;}
.nav_icon:before { margin-top: -10px;}
.nav_icon:after { margin-top: 10px;}
.nav-active .nav_icon { background: rgba(0, 0, 0, 0);}
.nav-active .nav_icon:before { margin-top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); background:#fff;}
.nav-active .nav_icon:after { margin-top: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); background:#fff;}

.nav li a:hover span.btm,
.nav li a.active span.btm{ display:none;}
.nav li a span.jp{ font-size:3vw;}

ul.ddmenu li { text-align: center; display: inline-block; list-style-type: none; position: relative; background-color: #003493;}
ul.ddmenu a { text-decoration: none; font-weight: bold; display: block;}
ul.ddmenu ul { display: block; margin: 0px; padding: 0px; position: absolute;}
ul.ddmenu li:hover ul { display: block;}


}



/* =foot
-----------------------------------------------------------------------------------------*/
.foot_contact{ padding:50px 0 60px;}

.foot_contact ul li{ display: inline-block; background-size:50px; background-repeat:no-repeat; background-position:left; padding:10px 50px 10px 70px;font-weight:bold; }
.foot_contact ul li a{ display:block; color:#000;}
.foot_contact ul li a:hover{ opacity:0.7;}
.foot_contact ul li strong{ color:#002b79; font-size:22px; line-height:1.4em;}
.foot_contact ul .phone{ background-image:url(../images/icon_phone.png);}
.foot_contact ul .mail{ background-image:url(../images/icon_mail.png);}

footer{  padding:20px 30px 25px; background-color:#003493; color:#fff;}
footer p{ margin:0; font-size:12px; line-height:2em;}
footer small{ display:block; font-size:14px;}


@media only screen and (max-width: 639px){

.foot_contact{ padding:30px 0;}
.foot_contact ul li{ padding:7px 0 7px 4em; text-align:center; background-size:3em; font-size:14px;}
.foot_contact ul li strong{ font-size:18px;}

footer{ padding: 30px 10px 25px; text-align:center;}
footer p{ font-size:10px; line-height:1.5em;}
footer small{ padding-top:0.5em; font-size:12px;}

}


/********************** share area *******************************/


/* =ページトップ
------------------------------------------------------------------------------------------*/
.page_top{text-align: right;margin: 0;  width:80px;  text-align:center;position:fixed; right:30px; bottom:40px;  z-index:10}
.page_top a{background-color:#c3a368; display:block;border-radius: 50%;height:80px; width:80px; line-height:80px; color:#fff; font-family: 'Oswald';font-size:12px;}
.page_top a:hover{background-color:#d1b582; text-decoration:none;}


@media only screen and (max-width: 639px){
.page_top{ display:none;}
}


/* =clearfix
------------------------------------------------------------------------------------------*/
.clearfix:after{clear:both;display:block;height:0;line-height:0;visibility:hidden;font-size:0.1em;content:".";}


/* = parallax
------------------------------------------------------------------------------------------*/
.arrow{ position:relative;}
.arrow::after { content: ""; position: absolute; top: calc(50% - 3px); right: 4%; width: 6px; height: 6px; border: 1px solid; border-color: transparent #fff #fff transparent; transform: rotate(-45deg); }


/* = parallax
------------------------------------------------------------------------------------------*/

.fadeInUp {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInUp;
 animation-name: fadeInUp;
 visibility: visible !important;
}
@-webkit-keyframes fadeInUp {
 0% { opacity: 0; -webkit-transform: translateY(100px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInUp {
 0% { opacity: 0; -webkit-transform: translateY(100px); -ms-transform: translateY(100px); transform: translateY(100px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}



.fadeInRight {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInRight;
 animation-name: fadeInRight;
 visibility: visible !important;
}
@-webkit-keyframes fadeInRight {
 0% { opacity: 0; -webkit-transform: translateX(30px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInRight {
 0% { opacity: 0; -webkit-transform: translateX(30px); -ms-transform: translateX(30px); transform: translateX(30px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-50px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-50px); -ms-transform: translateY(-50px); transform: translateY(-50px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

.fadeInLeft {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInLeft;
 animation-name: fadeInLeft;
 visibility: visible !important;
}
@-webkit-keyframes fadeInLeft {
 0% { opacity: 0; -webkit-transform: translateX(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInLeft {
 0% { opacity: 0; -webkit-transform: translateX(-20px); -ms-transform: translateX(-20px); transform: translateX(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

