@charset "UTF-8";

/* import
----------------------------------------------- */
@import "responsive.css";
@import "print.css";
@import "animate.min.css";

/* kyoutu body
----------------------------------------- */
*{
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
height: 100%;
font-size: 62.5%;
}
body {
margin: 0 auto;
padding: 0;

width: 100%;
height: 100%;
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.8rem;/* 18px*/
-webkit-text-size-adjust: 100%;
font-style: normal;
color: #003b4d;
line-height: 2;
letter-spacing: 0.8pt;

background-color: #ffffff;
word-wrap: break-word;
overflow-wrap: break-word;

position: relative;
animation: main_effect .4s ease-in forwards;
}
@keyframes main_effect {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}



a {
text-decoration: none;
outline: none;
color: #004688;
-moz-transition: all .3s;
-webkit-transition: all .3s;
transition: all .3s;	
}
a:hover {
color: #cc6600;
text-decoration: underline;
}

h1 {
line-height: 1.3;
}

h2 {
line-height: 1.3;
font-weight: bold;
letter-spacing: 0.2em;
}


ul, li {
list-style-type: none;
}
hr {
margin-bottom: 30px;
border: 1px solid #bfbfbf;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p {
margin: 0;
padding: 0;
}
img {
border: none;
max-width: 100%;
height: auto;
}
section {
clear:both;
}
::selection {
background: #f5c53a;
color: #4d452e;
}
::-moz-selection {
background: #f5c53a;
color: #4d452e;
}
.green {
color: #1ba135;
border-bottom-color: #1ba135;
}
.blue {
color: #29abe2;
border-bottom-color: #29abe2;
}
.brown {
color: #8c6239;	
border-bottom-color: #8c6239;	
}
.red {
color: #c1272d;
border-bottom-color: #c1272d;
}
.En {
font-weight: 400;
letter-spacing: 0.2em;
}

.pkLine {
background:rgba(0, 0, 0, 0) linear-gradient(transparent 70%, rgba(255,178,216,0.5) 0%) repeat scroll 0 0;
}
.blLine {
background:rgba(0, 0, 0, 0) linear-gradient(transparent 70%, rgba(173,214,255,0.5) 0%) repeat scroll 0 0;
}
.ylLine {
background:rgba(0, 0, 0, 0) linear-gradient(transparent 70%, rgba(255,255,127,0.8) 0%) repeat scroll 0 0;
}
ul > li > ul.typeInline li {	
margin-left: 2em;	
}


/* GoogleWebFonts
----------------------------------------- */

.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;  /* Preferred icon size */
display: inline-block;
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
white-space: nowrap;
direction: ltr;

/* Support for all WebKit browsers. */
-webkit-font-smoothing: antialiased;
/* Support for Safari and Chrome. */
text-rendering: optimizeLegibility;

/* Support for Firefox. */
-moz-osx-font-smoothing: grayscale;

/* Support for IE. */
font-feature-settings: 'liga';
}


/* header
----------------------------------------- */
#header {
margin: 0 auto;
padding: 0 0;
z-index: 9999;
}

/* main
----------------------------------------- */
#main {
margin: 0 auto;
}
#gnav #nav > li {
font-weight: bold;
}

/* link
----------------------------------------- */

#Link .wrap {
padding-top: 3em;
padding-bottom: 3em;
text-align: center;
vertical-align: middle;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
#Link .wrap a {
margin-bottom: 1em;
}
#Link .wrap a img:hover {
box-shadow: 0 0 3px #888888;
}

#Link .wrap a.noImg p {
padding: 10px 20px;
line-height: 1.5;
display: inline-block;
border: 1px solid #004688;
border-bottom: 3px solid #004688;
position: relative;
overflow: hidden;
}
#Link .wrap a.noImg p:hover {
box-shadow: 0 0 3px #888888;
}
#Link .wrap a.noImg p::before {
content: '';
width: 0;
height: 0;
display: block;
position: absolute;
left: 0;
top: -30px;
border-left: 30px solid #004688;
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
}


/* footer
----------------------------------------- */
#footer {
margin: 0;
padding: 0;
width: 100%;
position: relative;
}
#footer .wrap {
padding-top: 1vw;
}
#footer address {
font-style: normal;
font-size: 1.4rem;
}
#footer address p {
line-height: 1.5;
}
#footer address dt p {
   margin-bottom: 0.5em;
    padding-top: .5em;
    padding-right: 3em;
    padding-bottom: 0.5em;
    padding-left: 1.5em;
    display: inline-block;
    background: #004688;
    border-radius: 37px;
    color: #ffffff;
    text-align: right;
}
#footer address dt span {
margin-right: 1em;
padding-right: 0.8em;
padding-left: 0.8em;
border-radius: 100px;
background: #ffffff;
color: #004688;
}
#footer address dd p.add {
margin-bottom: 0.3em;
text-align: right;
display: inline-block;
border-bottom: 1px solid #004688;
}
#footer .siteMap ul {
text-align: left;
}
#footer .siteMap > li {
position: relative;
}
#footer .siteMap > li:last-of-type {
margin-top: 0.8em;
}
#footer .siteMap > li > ul {
margin-left: 0.7em;
}

#footer .siteMap > li::before, 
#footer .siteMap > li > ul li::before {
font-size: 0.6em;
vertical-align: middle;
}
#footer .siteMap > li::before {
content: '●';
}
#footer .siteMap > li > ul li::before {
content: '◯';
}


#footer .copyright {
width: 100%;
position: relative;
background: #97b3ce;
display: flex;
text-align: left;
}
#footer .copyright::before {
content: '';
width: 40%;
min-height: 1em;
display: inline-block;
background: -moz-linear-gradient(left, #004688 0%, #004688 50%, #336b9f 50%, #336b9f 80%, #668eb7 80%, #668eb7 100%);
background: -webkit-linear-gradient(left, #004688 0%,#004688 50%,#336b9f 50%,#336b9f 80%,#668eb7 80%,#668eb7 100%);
background: linear-gradient(to right, #004688 0%,#004688 50%,#336b9f 50%,#336b9f 80%,#668eb7 80%,#668eb7 100%);
}
#footer .copyright p {
padding-left: 1.5vw;
display: inline-block;
color: #ffffff;
}

#footer .footPamp {
margin-top: 20px;
}
#footer .footPamp > p {
border-top: 3px double #004688;
border-bottom: 1px solid #004688;
text-align: center;
}

#footer .footPamp dt p {
line-height: 1.5;
}

#footer .footPamp dt small {
font-size: clamp(10px, 3vw, 13px);
display: block;
}

#footer .footPamp .linkBox li {
margin-bottom: 15px;
}
#footer .footPamp .linkBox li a {
padding-right: 1em;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
border: 1px solid #004688;
border-top-right-radius: 100px;
border-bottom-right-radius: 100px;
}
#footer .footPamp .linkBox li a {
text-decoration: none;
font-size: clamp(12px, 3vw, 13px);
}
#footer .footPamp .linkBox i {
padding-top: 5px;
padding-bottom: 5px;
margin-right: 10px;
background-color: #004688;
text-align: center;
}
#footer .footPamp .linkBox i img {
width: 50%;
height: auto;
vertical-align: sub;
}



/* pageTop
----------------------------------------- */
#pageTop {
position: fixed;
bottom: 20px;
right: 20px;
text-align: center;
z-index: 999;
opacity: 1!important;
}
#pageTop a {
display: block;
z-index: 999;
width: 54px;
height: 54px;
line-height: 54px;
background: rgba(255,255,255,0.6);
-webkit-border-radius: 30px;
-moz-border-radius: 30px;
border-radius: 30px;
}
#pageTop a:hover {
-webkit-opacity: 0.7;
-moz-opacity: 0.7;
opacity: 0.7;
}
#pageTop span {
display: inline-block;
margin: 0 auto 0 auto;
font-size: 1.3rem;
color: #333333;
}
#pageTop .fas {
-moz-text-shadow: 2px 2px 0 #cccccc;	
-webkit-text-shadow: 2px 2px 0 #cccccc;	
text-shadow: 2px 2px 0 #cccccc;	
}