@charset "UTF-8";
/********************************
DEFAULT
*********************************/
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,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: 0px;
    padding: 0px;
    outline: 0;
}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section {
    display: block;
}
h1,h2,h3,h4,h5,h6,caption,address,th {
    font-weight: normal;
    margin: 0;
    padding: 0;
    font-size: 100%;
}
ul,ol,li,dl,dt,dd {
    list-style: none;
}
img,iframe {
    vertical-align: middle;
    border: 0px;
}
img {
    line-height: 0;
    font-size: 0;
    -webkit-backface-visibility: hidden;

}
table {
    border-collapse: collapse;
}
th {
    font-weight: normal;
    text-align: left;
}
button,fieldset,form,input,label,legend,select,textarea {
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}
select {
    padding: 2px;
}
input,select {
    font-size: 100%;
    vertical-align: middle;
}
input[type="text"],input[type="password"],textarea,select {
    outline: none;
}
textarea {
    font-size: 100%;
}
input {
    vertical-align: middle;
}
::-webkit-input-placeholder {
    color: #000;
}
label {
    padding: 0 0 0 2px;
}
hr {
    display: none;
}
a {
    transition: opacity 0.5s ease-in-out , all 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out , all 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out , all 0.5s ease-in-out;
    -webkit-transition: opacity 0.5s ease-in-out , all 0.5s ease-in-out;
}
a,a:link {
    color: #071045;
    text-decoration: none;
    word-break: break-all;
}
a:visited {
    color: #071045;
}
@media screen and (min-width: 896px) {
a:hover,a:active {
    color: #071045;
    text-decoration: underline;
}
}
*:focus {
    outline: none;
}
.m_b0 {
    margin-bottom: 0px !important;
}
.m_b1 {
    margin-bottom: 1px !important;
}
.m_b2 {
    margin-bottom: 2px !important;
}
.m_b3 {
    margin-bottom: 2px !important;
}
.m_b5 {
    margin-bottom: 5px !important;
}
.m_b7 {
    margin-bottom: 7px !important;
}
.m_b8 {
    margin-bottom: 8px !important;
}
.m_b10 {
    margin-bottom: 10px !important;
}
.m_b11 {
    margin-bottom: 11px !important;
}
.m_b12 {
    margin-bottom: 12px !important;
}
.m_b13 {
    margin-bottom: 13px !important;
}
.m_b15 {
    margin-bottom: 15px !important;
}
.m_b20 {
    margin-bottom: 20px !important;
}
.m_b25 {
    margin-bottom: 25px !important;
}
.m_b30 {
    margin-bottom: 30px !important;
}
.m_b35 {
    margin-bottom: 35px!important;
}
.m_b40 {
    margin-bottom: 40px !important;
}
.m_b45 {
    margin-bottom: 45px !important;
}
.m_b50 {
    margin-bottom: 50px !important;
}
.m_b55 {
    margin-bottom: 55px !important;
}
.a_center {
    text-align: center;
}
.a_left {
    text-align: left;
}
.a_right {
    text-align: right;
}
.f_bold {
    font-weight: 600;
}
.c_fix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    font-size: .01em;
    height: 0;
    overflow: hidden;
}
.c_fix {
    min-height: 1px;
}
html {
    height: 100%;
}
body {
    /*
    font-family: "游ゴシック体",YuGothic,"游ゴシック Medium",YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
    */
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif !important;
    line-height: 1.8;
    color: #071045;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    min-height: 100%;
    min-width: 1220px;
    height: auto !important;
    position: relative;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    background: #ffffff;
    box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    padding: 75px 0 0 0;
}
/********************************
HEADER
*********************************/
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    background: #ffffff;
    box-shadow: 0px 0px 30px 0px rgba(129, 139, 139, 0.1);
    -ms-box-shadow: 0px 0px 30px 0px rgba(129, 139, 139, 0.1);
    -moz-box-shadow: 0px 0px 30px 0px rgba(129, 139, 139, 0.1);
    -webkit-box-shadow: 0px 0px 30px 0px rgba(129, 139, 139, 0.1);
}
.head-logo {
    float: left;
    margin: 23px 0 0 50px;
    width: 240px;
    height: 29px;
}
@media screen and (min-width: 897px) and (max-width: 1025px) {
.head-logo {
    margin: 23px 0 0 20px;
}
}
.head-logo a {
    width: 240px;
    height: 31px;
    display: block;
    background: url(../svg/logo.svg) no-repeat center center;
    background-size: 100% auto;
    -ms-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -webkit-background-size: 100% auto;
}
.head-logo a span {
    display: block;
    width: 100%;
    height: 0;
    padding: 31px 0 0 0;
    overflow: hidden;
}
.headNav_wrap {
    float: right;
}
.headNav_wrap nav ul li {
    float: left;
    margin: 0 20px;
}
@media screen and (min-width: 897px) and (max-width: 1025px) {
.headNav_wrap nav ul li {
    margin: 0 10px;
}
}
.headNav_wrap nav ul li.is-contact {
    margin: 0 0 0 20px;
    width: 120px;
}
@media screen and (min-width: 897px) and (max-width: 1025px) {
.headNav_wrap nav ul li.is-contact {
    margin: 0 0 0 10px;
    width: 110px;
}
}
.headNav_wrap nav ul li a {
    display: table;
    width: 100%;
    height: 75px;
    font-size: 14px;
    text-decoration: none;
    position: relative;
    font-weight: 600;
}
.headNav_wrap nav ul li.is-contact a {
    color: #ffffff;
    background: #101c69;
    box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
@media screen and (min-width: 896px) {
.headNav_wrap nav ul li.is-contact a:hover {
    opacity: 0.7;
}
}
.headNav_wrap nav ul li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 4px;
    background: #101c69;
    transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -webkit-transform: scale(0, 1);
    transform-origin: right top;
    -ms-transform-origin: right top;
    -moz-transform-origin: right top;
    -webkit-transform-origin: right top;
    transition: transform 0.7s cubic-bezier(0, 0, 0.17, 1);
    -ms-transition: transform 0.7s cubic-bezier(0, 0, 0.17, 1);
    -moz-transition: transform 0.7s cubic-bezier(0, 0, 0.17, 1);
    -webkit-transition: transform 0.7s cubic-bezier(0, 0, 0.17, 1);
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(0, 0, 0.17, 1);
}
.headNav_wrap nav ul li.is-contact a:after {
    display: none;
}
@media screen and (min-width: 896px) {
.headNav_wrap nav ul li a:hover:after {
    transform-origin: left top;
    -ms-transform-origin: left top;
    -moz-transform-origin: left top;
    -webkit-transform-origin: left top;
    transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
}
}
.headNav_wrap nav ul li.is-on a:after {
    transform-origin: left top;
    -ms-transform-origin: left top;
    -moz-transform-origin: left top;
    -webkit-transform-origin: left top;
    transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
}
.headNav_wrap nav ul li a span {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.head-menu {
    display: none;
}
/********************************
FOOTER
*********************************/
footer {
    border-top: 1px solid #d9d9d9;
    padding: 60px 0 70px 0;
}
.foot-logo {
    margin: 0 auto 40px auto;
    width: 240px;
    height: 29px;
}
.foot-logo a {
    display: block;
    width: 100%;
    height: 0;
    padding: 29px 0 0 0;
    overflow: hidden;
    background: url(../svg/logo.svg) no-repeat center center;
    background-size: 100% auto;
    -ms-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -webkit-background-size: 100% auto;
}
.footLink_wrap {
    margin: 0 0 28px 0;
    text-align: center;
    letter-spacing: -.40em;
    line-height: 1;
}
.footLink_wrap li {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    letter-spacing: normal;
    line-height: 1;
    margin: 0 12px;
}
.footLink_wrap li a {
    color: #333333;
    font-size: 12px;
    font-weight: 600;
}
@media screen and (min-width: 896px) {
.footLink_wrap li a:hover {
    color: #101c69;
}
}
.foot-cp {
    text-align: center;
    line-height: 1;
    font-size: 10px;
    font-weight: 600;
    color: #333333;
    display: block;
}
/********************************
C系CSS
*********************************/
.c-pc {
    display: block;
}
.c-pc-in {
    display: inline;
}
.c-sp {
    display: none;
}
.c-sp-in {
    display: none;
}
/********************************
CONTETS
*********************************/
#Contents {
    background: #ffffff;
    text-align: left;
}
/*c-btn*/
.c-btn {
    text-align: center;
    max-width: 280px;
    margin: 0 auto;
}
.c-btn a {
    display: table;
    width: 100%;
    height: 46px;
    border: 1px solid #101c69;
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2em;
    box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
@media screen and (min-width: 896px) {
.c-btn a:hover {
    background: #101c69;
    color: #ffffff;
}
}
.c-btn .is-btn {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
/*c-topicpath*/
.c-topicpath {
    width: 1200px;
    margin: 0 auto;
    padding: 30px 0;
}
.c-topicpath ul {
    float: right;
    line-height: 1;
}
.c-topicpath ul li {
    float: left;
    line-height: 1;
    font-size: 14px;
}
/*c-sumyTtl_wrap*/
.c-sumyTtl_wrap {
    margin: 0 0 120px 0;
}
.c-sumyTtl-ttl {
    margin: 0 0 20px 0;
    text-align: center;
    line-height: 1.8;
    font-size: 22px;
}
.c-sumyTtl-ttl:last-child {
    margin: 0 0 0 0;
}
.c-sumyTtl-txt {
    text-align: center;
    line-height: 1.8;
    font-size: 15px;
}
@media screen and (max-width: 896px) {
    body {
        font-size: 12px;
        min-width: 320px;
        padding: 45px 0 0 0;
    }
    /********************************
    HEADER
    *********************************/
    header {
        height: 45px;
        min-width: initial;
    }
    .head-logo {
        float: none;
        width: 170px;
        height: 45px;
        margin: 0 0 0 20px;
    }
    .head-logo a {
        width: 170px;
        height: 45px;
    }
    .head-logo a span {
        padding: 17px 0 0 0;
    }
    .headNav_wrap {
        float: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999;
        display: none;
        background: #3d4a98;
        width: 100%;
        height: 100%;
        padding: 0 55px;
        box-sizing: border-box;
        -ms-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }
    .headNav_wrap nav {
        padding: 9vh 0 0 0;
    }
    .headNav_wrap nav ul li {
        float: none;
        margin: 0 0 3vh 0;
        text-align: left;
    }
    .headNav_wrap nav ul li.is-contact {
        margin: 0 0 0 0;
        width: auto;
    }
    .headNav_wrap nav ul li:last-child {
        margin: 0 0 0 0;
    }
    .headNav_wrap nav ul li a {
        display: block;
        width: 100%;
        height: auto;
        font-size: 15px;
        color: #ffffff;
    }
    .headNav_wrap nav ul li.is-contact a {
        background: none;
    }
    .headNav_wrap nav ul li a:after {
        display: none;
    }
    .headNav_wrap nav ul li a span {
        display: block;
        text-align: left;
    }
    .navSub_wrap {
        padding: 8vh 0 0 0;
    }
    .navSub_wrap ul {
        margin: 0 0 20px 0;
    }
    .navSub_wrap ul:last-child {
        margin: 0 0 0 0;
    }
    .navSub_wrap ul li {
        float: left;
        padding: 0 6px 0 0;
        margin: 0 6px 0 0;
        border-right: 1px solid #ffffff;
        line-height: 1;
        text-align: left;
    }
    .navSub_wrap ul li:last-child {
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        border-right: 0;
    }
    .navSub_wrap ul li a {
        font-size: 12px;
        font-weight: 600;
        color: #ffffff;
    }
    .head-menu {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 9999;
        width: 59px;
        height: 45px;
        cursor: pointer;
        display: -webkit-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-box: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    .head-menu span,
    .head-menu span:before,
    .head-menu span:after {
        display: block;
        width: 19px;
        height: 2px;
        background: #3d4a98;
    }
    body.is-selected .head-menu span,
    body.is-selected .head-menu span:before,
    body.is-selected .head-menu span:after {
        background: #ffffff;
    }
    .head-menu span {
        position: relative;
    }
    .head-menu span:before,
    .head-menu span:after {
        position: absolute;
        content: "";
    }
    .head-menu span:before {
        top: -6px;
    }
    .head-menu span:after {
        top: 6px;
    }
    body.is-selected .head-menu span ,
    body.is-selected .head-menu span:after {
        background: transparent;
    }
    /********************************
    FOOTER
    *********************************/
    footer {
        border-top: 1px solid #d9d9d9;
        padding: 30px 0 30px 0;
    }
    .foot-logo {
        margin: 0 auto 35px auto;
        /*
        width: 120px;
        height: 15px;
        */
    }
    /*
    .foot-logo a {
        padding: 15px 0 0 0;
    }
    */
    .footLink_wrap {
        margin: 0 0 35px 0;
    }
    .footLink_wrap li {
        margin: 25px 10px 0 10px;
        width: 43%;
    }
    .footLink_wrap li:nth-child(1) ,
    .footLink_wrap li:nth-child(2) {
        margin: 0 10px 0 10px;
    }
    .footLink_wrap li a {
        font-size: 13px;
    }
    .foot-cp {
        font-size: 10px;
    }
    /********************************
    C系CSS
    *********************************/
    #Contents {
        text-align: left;
    }
    .c-pc {
        display: none;
    }
    .c-pc-in {
        display: none;
    }
    .c-sp {
        display: block;
    }
    .c-sp-in {
        display: inline;
    }
    /********************************
    CONTETS
    *********************************/
    /*c-btn*/
    .c-btn {
        max-width: 335px;
    }
    .c-btn a {
        height: 50px;
        font-size: 15px;
    }
    /*c-topicpath*/
    .c-topicpath {
        width: auto;
        margin: 0 auto;
        padding: 0 0;
    }
    .c-topicpath ul {
        float: none;
        padding: 10px 15px;
        box-sizing: border-box;
        -ms-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        overflow-x: auto;
        white-space: nowrap;
        letter-spacing: -.40em;
    }
    .c-topicpath ul li {
        float: none;
        display: inline-block;
        letter-spacing: normal;
        font-size: 12px;
    }
    /*c-sumyTtl_wrap*/
    .c-sumyTtl_wrap {
        margin: 0 20px 30px 20px;
    }
    .c-sumyTtl-ttl {
        margin: 0 0 10px 0;
        line-height: 1.8;
        font-size: 17px;
    }
    .c-sumyTtl-txt {
        text-align: left;
        font-size: 13px;
    }
}

@media (max-width: 374px) {
    .footLink_wrap li a {
        font-size: 11px;
    }
    .foot-cp {
        font-size: 10px;
    }
}
