@charset "UTF-8";

/* RESPONSIVE 
---------------------------------------------------------------------- */

/* ===========================================

 	PC向け表示設定
 
============================================== */
@media only screen and (min-width: 960px){	

.spOn {
display: none!important;
}

/* -------------------------------------------
main
============================================== */
.container {
margin-right: auto;
margin-left: auto;
}

/* -------------------------------------------
header
============================================== */
#header {
background: #ffffff;
}

#header .headerContents {
margin: 0 auto;
width: 100%;
}
#header .headerWrap {
margin: 0 auto;
display:-webkit-box;
display:-ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
text-align: right;
}

#header h1 {
height: 52px;
line-height: 52px;

transition: all .3s;
}
#header h1 a {
width: 100%;
}
#header h1 img {
width: 70%;
}



/* -------------------------------------------
primarynavi
============================================== */
#primaryNav {
margin-right: auto;
margin-left: auto;
padding-top: 0.5em;
padding-bottom: 0.5em;
width: 960px;
font-size: 13px;
text-align: right;
display: table;
}
#primaryNav ul {
text-align: right;
display: table-cell;
vertical-align: middle;
}
#primaryNav ul li {
margin-left: 2em;
display: inline-block;
}
#primaryNav ul li a {
padding: 0.3em 1em;
position: relative;
background: #ffe200;
border-radius: 20px;
font-weight: bold;
}
#primaryNav ul li a:hover {
background: #003893;
color: #ffffff;
text-decoration: none;
}
#primaryNav ul li:last-child a {
background: #d44539;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
color: #ffffff;
}
#primaryNav ul li:last-child a:hover {
background: #003893;
}
#primaryNav .search-box {
margin-left: 2em;
display: inline-block;
min-width: 230px;
width: auto !important;
width: 230px;
}




/* -------------------------------------------
globalnavi
============================================== */
#header #close,
#header #toggle {
display: none;
}
#gnav { 
display: inline-block;
text-align: right;
vertical-align: middle;
}
#gnav .navMenu {
margin: 0 auto;
width: 100%;
position: relative;
display: flex;
font-size: 15px;
font-weight: bold;
}
#gnav a {
color: #ffffff;
}
.navMenu > li {
position: relative;
}
/*
.navMenu > li:hover {
-webkit-transition: all .5s;
transition: all .5s;
}
*/
#gnav .nav > li a {
display: block;
}
#gnav .navMenu {
*zoom: 1;
}
#gnav .navMenu li {
padding: 0.5em 0;
display: inline-block;
}
#gnav .navMenu li a {
margin: 0;
padding: 1em;
display: block;
position: relative;
text-align: center;
z-index: 0;
border-right: 1px solid #ffffff;
box-sizing: border-box;

overflow: hidden;
transition: .3s;
}

#gnav .navMenu li:last-child a {
border-right: none;
}
#gnav .navMenu li a::after {
content: '';
width: 100%;
height: 100%;
position: absolute;
display: block;
bottom: -100%;
left: 0;
z-index: -1;
transition: .3s;
}
#gnav .navMenu li a:hover {
text-decoration: none;
}
#gnav .navMenu li a:hover::after {
bottom: 0;
background: -moz-linear-gradient(top, rgba(0,56,147,1) 0%, rgba(78,134,255,0.7) 100%);
background: -webkit-linear-gradient(top, rgba(0,56,147,1) 0%,rgba(78,134,255,0.7) 100%);
background: linear-gradient(to bottom, rgba(0,56,147,1) 0%,rgba(78,134,255,0.7) 100%);
}

#gnav .navMenu li:hover .subNav {
top: 67px;
visibility: visible;

display: block;
}

#gnav .navMenu .subNav {
display: none;
visibility: hidden;
z-index: 99999;
}
#gnav .navMenu .subNav ul {
position: absolute;
top: 67px;
left: -1px;
width: 20em;
background: #003893;
text-align: left;
transition: all .2s ease;
}
#gnav .navMenu .subNav ul li {
display: block;
}
#gnav .navMenu .subNav ul li a {
text-align: left;	
border-right: none;
border-bottom: 1px solid #ffffff;
}
#gnav .navMenu .subNav ul li:last-of-type a {
border-bottom: 0;
}



#gnav li span {
margin: 0;
padding: 0;
}
/* -------------------------------------------
mainImg
============================================== */
#mainImg {
overflow: hidden;
}
#mainImg .warp {
margin: 0 auto;
width: 900px;
}

/* -------------------------------------------
Alert
============================================== */
#Alert .widget-area {
margin-top: 2em;
margin-right: auto;
margin-bottom: 2em;
margin-left: auto;
}
#Alert .widget-area .widget {
padding: 1em;
}
#Alert .widget-area .widget h2 {
margin-bottom: 1em;
text-align: center;
border-bottom: 3px double rgba(255,117,117,1);
}


/* -------------------------------------------
footer
============================================== */
#footer .footerWrap {
margin-top: 1em;
margin-right: auto;
margin-left: auto;
width: 960px;
}
#footer #extraNav ul {
margin-right: auto;
margin-left: auto;
width: 960px;
}
#footer #extraNav ul li {
margin-right: 1em;
display: inline-block;
}
#footer address {
width: 60%;
display: inline-block;
text-align: left;
}
#footer address p span {
margin-left: 1em;
}
#footer address li {
display: inline-block;
}
#footer .copyright {
padding-top: 0.5em;
}
#footer .line {
width: 39%;
display: inline-block;
}

}/* end */
/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

PC以外向け表示設定

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
@media only screen and (max-width: 959px){

/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
main
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
body {
margin-top: 150px!important;
display:  inherit;
}
h2 {
font-size: 5vw;
}
h3 {
font-size: 4.5vw;
}
.pcOn {
display: none!important;
}

/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
header
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
#header {
position: fixed;
top: 0;
z-index: 99999;
}
#header .headerContents {
margin: 0 auto;
padding: 0 0;
background: rgba(0,56,147,0.9);
}
#header .headerWrap {
position: relative;
}
#header h1 {
line-height: 0;
opacity: 1;
}
#header h1 img {
margin-top: 5px;
margin-left: 5px;
margin-bottom: 5px;
width: 65%;
}


/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
primarynavi
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
#primaryNav ul {
padding-right: 0.5em;
padding-left: 0.5em;
width: 100%;
display: table;
background: rgba(0,56,147,1);
}
#primaryNav li {
display: table-cell;
font-size: 0.7rem;
}
#primaryNav li a {
padding-top: 1em;
padding-bottom: 1em;
width: 96%;
display: block;
color: #ffffff;
text-align: center;
border-bottom: 2px solid transparent;
}
#primaryNav li a:hover {
border-bottom: 2px solid #ffffff;
box-sizing: border-box;
text-decoration: none;
}
#primaryNav .search-box {
padding-right: 15%;
padding-left: 15%;
background: #003893;
text-align: right;
font-size: 2vh;
}
#primaryNav .search-box form .bca-hidden {
border: 1px solid #003893;
display: inline-block;
vertical-align: middle;
}
#primaryNav .search-box form input[type="submit"] {
background-color: #d44539;
border: 0;
}
#primaryNav .search-box .gsc-search-button {
background-color: #d44539;
border: 0!important;
}
#primaryNav .search-box .gsc-input-box {
padding: 0!important;
border: 0!important;
border-radius: 0!important;
}


/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
globalnavi
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
#toggle {
position: absolute;
top: 10px;
right: 2em;
display: inline-block;
padding: 0;
color: #ffffff;
text-align: left;
background: none;
border: 1px solid #ffffff;
outline: none;
}
#toggle .fa-bars {
margin-right: 10px;
margin-left: 10px;
line-height: 1.5;
font-size: 1.5rem;
}	
#toggle	.toggleText {
margin-right: 10px;
font-size: 1rem;
}

#gnav {
display: none;
position: relative;
top: 0;
left: 0;
padding: 2em 1em;
padding-bottom: 5em;
width: 100%;
height: 80vh;
color: #ffffff;
z-index: 1;

background: rgba(0,56,147,0.5);
}

#gnav .navMenu {
font-size: 0.9rem;
}

#gnav a {
color: #ffffff;
}
.navMenuWrap {
width: 100%;

background: none;
}
#gnav ul {
display: block;
width: 100%;
height: auto;
}

#gnav li a {
padding-top: 0.3em;
padding-bottom: 0.3em;
padding-left: 1em;
height: auto;
display: block;
text-align: left;
}

#gnav .liLevel_1 {
border-top: 1px solid #ffffff;
}
#gnav li a:hover {
text-decoration: none;	
background: rgba(255,255,255,1);
color: #333333;
}
#gnav .navMenu li.current a {
background: rgba(255,255,255,1);
color: #003893;
}
#gnav .navMenu li.current a:hover {
background: none;
color: #ffffff;
transition: all .5s;
}
#gnav .navMenu .subNav > ul:empty {
display: none;
} 
#gnav .navMenu .subNav {
margin-right: auto;
margin-left: auto;
width: 90%;
}
#gnav .navMenu .subNav ul li {
width: 49%;
display: inline-block;
border-top: 0;
}
#gnav .navMenu .subNav ul li a {
margin-bottom: 0.4em;
padding-left: 1em;
background: none;
font-size: 0.8rem!important;
color: #ffffff;
border-left: 5px solid #ffe200;
}
#gnav .navMenu .subNav ul li a:hover {
background: rgba(255,255,255,0.8);
color: #003893;
}
#header #close {
margin-top: 0.5em;
padding-top: 0.5em;
width: 100%;
display: block;
background: none;
color: #ffe200;
font-size: 1.2rem;
font-weight: bold;
border: 0;
border-top: 1px solid #ffffff;
outline: none;
}


/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜	
Alert
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
#Alert .widget-area {
margin-top: 2em;
margin-right: auto;
margin-bottom: 2em;
margin-left: auto;
width: 96%;
border: 2px solid rgba(255,117,117,1);
}
#Alert .widget-area .widget {
padding: 1em;
}
#Alert .widget-area .widget h2 {
margin-bottom: 1em;
text-align: center;
border-bottom: 3px double rgba(255,117,117,1);
}



/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜	
mainImg
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
#mainImg {
display: inline-block;
}
.slick-slide .caption {
text-align: center;
}
.slick-slide .caption span {
margin-left: 2em;
width: 10%;
display: block;
font-size: 0.8rem;
}
#mainLogo p {
margin-bottom: 1em;
display: inline-block;
}

/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
footer
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
#footer .footerWrap {
margin-top: 1em;
}
#footer address {
margin-right: auto;
margin-left: auto;
width: 96%;
}
#footer .footerWrap address strong,
#footer .footerWrap address p,
#footer address li {
text-align: left;
}
#footer .footerWrap address strong span,
#footer address p span {
display: block;
}
#footer address li {
display: block;
}

#footer .line {
margin-top: 1em;
margin-right: auto;
margin-left: auto;
width: 90%;
display: block;
}

#footer .copyright {
padding-top: 1em;
}


}/* end */