@charset "UTF-8";

body {
    margin: 0;
    padding: 0;
    color: #363636;
    font-family: "Zen Old Mincho", serif;
}

h1 {
    font-size: 40px;
    line-height: 1.2;
    padding: 0;
    letter-spacing: .04em;
    margin: 0;    
}
h2 {
    font-size: 32px;
    line-height: 1.3;
    padding: 0;
    letter-spacing: .04em;
    margin: 0;    
}
h3 {
    font-size: 24px;
    line-height: 1.4em;
    padding: 0;
    letter-spacing: .04em;
    margin: 0;    
}
h4 {
    font-size: 20px;
    line-height: 1.5;
    padding: 0;
    letter-spacing: .04em;
    margin: 0;    
}
h5 {
    font-size: 16px;
    line-height: 1.6;
    padding: 0;
    letter-spacing: .04em;
    margin: 0;    
}

p {
    font-size: 16px;
    line-height: 1.8;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: .06em;
    margin: 0;
    padding: 0;
}

a {
    font-size: 16px;
    line-height: 1.8;
    text-decoration: none;
    letter-spacing: .06em;
}

ul,li {
    list-style: none;
    padding: 0;
    margin: 0;
}

dl,dt,dd {
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;    
}

tr,th {
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.inner {
    background-color: #ffffff;
    position: relative;
    z-index: 2;
}

@media (max-width: 1200px) {
    .wrapper {
        max-width: 90vw;
        margin: 0 auto;
    }
}

/********************

navigation

*********************/

.site-header-sp {
    display: none;
}

.site-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    position: fixed;
    transition: .2s;
    width: 100%; 
    z-index: 999;   
}

.site-header__thumb {
    padding: 12px 0 12px 24px;
    width: 227px;
    height: 53px;
}

.site-header__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-header nav ul {
    align-items: center;
    column-gap: 32px;
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-header nav ul li a {
    color: #181E26;
    text-decoration: none;
    font-size: 14px;
}

.site-header nav ul li a.btn {
    align-items: center;
    background-color: #4192CA;
    color: #fff;
    display: flex;
    padding: 0;
    justify-content: center;
    transition: .5s;
    height: 77px;
    width: 160px;
}

.changeBg {
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

@media (max-width: 880px) {
    .site-header {
        display: none;
    }
    .site-header-sp {
        background: #ffffff;
        display: flex;
        position: fixed;
        z-index: 99;
        width: 100%;
    }
    .openbtn1 {
        position: absolute;
        z-index: 99999999;
        top: 0;
        right: 0;
        cursor: pointer;
        width: 80px;
        height: 80px;
        background-color: #D5EBFC;
    }

    .openbtn1 span:nth-of-type(1) {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        height: 2px;
        left: 16px;
        background-color: #4192CA;
        width: 60%;        
        top: 20px;
    }

    .openbtn1 span:nth-of-type(2) {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        height: 2px;
        left: 16px;
        background-color: #4192CA;
        width: 60%;        
        top: 31px;
    }

    .openbtn1 span:nth-of-type(3) {
        display: inline-block;
        transition: all .4s;
        position: absolute;    
        color:#4192CA;
        top: 42px;
        width: 100%;
        text-align: center;
        font-family: "Zen Kaku Gothic New", sans-serif;                
    }    

    .openbtn1.active span:nth-of-type(1) {
        top: 22px;
        left: 22px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }

    .openbtn1.active span:nth-of-type(2) {
        top: 35px;
        left: 22px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }

    .openbtn1.active span:nth-of-type(3) {
        opacity: 0;
    }

    #g-nav {
        position: fixed;
        z-index: -1;
        opacity: 0;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        background: #ffffff;
        transition: all 0.3s;
        display: none;
    }

    #g-nav.panelactive {
        opacity: 1;
        z-index: 9999999;
        display: block;
    }

    #g-nav.panelactive #g-nav-list {
        z-index: 999;
        width: 100%;
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    #g-nav .g-nav-box {
        position: absolute;
        z-index: 999;
        top: 40%;
        left: 50%;
        width: 100%;
        transform: translate(-50%, -50%);
    }

    #g-nav .g-nav-box ul.g-nav-main {
        align-items: left;
        display: flex;
        flex-direction: column;    
        margin: 0 auto;
        width: 100%;
    }

    #g-nav .g-nav-box ul.g-nav-main li a {
        text-decoration: none;
        border-top: 1px dashed #4192CA;
        padding: 4.0vw;
        font-size: 4.4vw;
        display: block;
        font-weight: 300;
        font-family: "Zen Kaku Gothic New", sans-serif;
        color: #181E26;
    } 
    #g-nav .g-nav-box ul.g-nav-main li a.last {
        border-bottom: 1px dashed #4192CA;
    }
}

@media (max-width: 680px) {
    .site-header__thumb {
        padding: 3vw 4vw;
        width: 50vw;
        height: 12vw;
    }
    .openbtn1 {
        width: 18vw;
        height: 18vw;
        top: 0vw;
        right: 0vw;
    }
    .openbtn1.active span:nth-of-type(1) {
        top: 7vw;
        left: 5vw;
        transform: translateY(6px) rotate(-45deg);
        width: 50%;
    }   
    .openbtn1.active span:nth-of-type(2) {
        top: 10vw;
        left: 5vw;
        transform: translateY(-6px) rotate(45deg);
        width: 50%;
    }        
}

/********************

footer

*********************/

footer {
    position: relative;
    z-index: 99;
}

.footer-wrapper {
    background-color: #e6f1ff;
    padding: 80px 0;    
}

.footer__inner {
    display: flex;
    justify-content: space-between;
}

.footer__nav {
    display: flex;
    column-gap: 40px;
    width: 60%;
}

.footer__logo {
    width: 35%;
}

.footer__nav .footer__nav-content dl {
    margin: 0;
}

.footer__nav .footer__nav-content {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}

.footer__nav .footer__nav-content dl dt a,
.footer__nav .footer__nav-content dl dd a {
    color: #363636;
    font-size: 14px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.footer__nav .footer__nav-content dl dt a {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
}

.footer__nav .footer__nav-content dl dd {
    margin-left: 16px;
}

.footer__logo p {
    color: #363636;
    font-size: 14px;
    font-weight: 600;    
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.footer__logo ul {
    display: flex;
    flex-direction: column;
    row-gap: 4px;
    margin-top: 24px;
}

.footer__logo ul li {
    color: #363636;
    font-size: 14px;
    font-weight: 400; 
    font-family: "Zen Kaku Gothic New", sans-serif;    
}

a.footer__logo-thumb {
    display: block;
    width: 242px;
    height: 56px;
    margin-bottom: 16px;
}

a.footer__logo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-advertisement__inner {
    display: flex;
    justify-content: center;
    column-gap: 24px;
}

.footer-advertisement__thumb {
    width: 264px;
    height: 64px;
}

.footer-advertisement__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-advertisement__copyright {
    padding-top: 24px;
}

.footer-advertisement {
    padding: 48px 0 24px 0;
}

.footer-advertisement p {
    text-align: center;
}

@media (max-width: 880px) {
    .footer__inner {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 780px) {
    .footer-wrapper {
        padding: 10vw 0;
    }
    .footer__nav {
        width: 100%;
        flex-wrap: wrap;
    }
    .footer__inner {
        row-gap: 8vw;
    }
    .footer__logo {
        width: 100%;
        text-align: center;
    }
    a.footer__logo-thumb {
        margin: 0 auto 4.8vw auto;
    }
    .footer-advertisement__inner {
        column-gap: 3.2vw;
    }
    .footer-advertisement {
        padding: 4vw 0;
    }
}

/********************

common-btn

*********************/

.ancorBtn {
    align-items: center;
    background-color: #e3eff9;
    color: #1873B2;
    display: flex;
    padding: 16px 0;
    justify-content: center;
    transition: .5s;
    position: relative;
    width: 320px;
}

.ancorBtn .arrow {
    top: 18px;
    position: absolute;
    right: 16px;
}

.ancorBtn .arrow img {
    height: 16px;
    width: 6px;    
}

.ancorBtn:hover {
    background-color: #4192CA;
    color: #fff;
}

.ancorBtn:hover .arrow img {
    filter: invert(1);
    transform: translateY(4px);
}

.ancorSmallBtn {
    align-items: center;
    background-color: #e3eff9;
    color: #1873B2;
    display: flex;
    padding: 16px 0;
    justify-content: center;
    transition: .5s;
    position: relative;
    width: 160px;
}

.ancorSmallBtn .arrow {
    top: 18px;
    position: absolute;
    right: 16px;
}

.ancorSmallBtn .arrow img {
    height: 16px;
    width: 6px;    
}

.ancorSmallBtn:hover {
    background-color: #4192CA;
    color: #fff;
}

.ancorSmallBtn:hover .arrow img {
    filter: invert(1);
    transform: translateY(4px);
}

.linkBtn {
    align-items: center;
    background-color: #1873B2;
    border: 1px solid #1873B2;
    color: #ffffff;
    display: flex;
    padding: 16px 0;
    justify-content: center;
    transition: .5s;
    position: relative;
    width: 320px;
}

.linkBtn .arrow {
    top: 12px;
    position: absolute;
    right: 16px;
}

.linkBtn .arrow img {
    height: 6px;
    width: 16px;    
}

.linkBtn:hover {
    background-color: #ffffff;
    color: #1873B2;
}

.linkBtn:hover .arrow img {
    filter: invert(1);
    transform: translateX(4px);
}

@media (max-width: 780px) {
    .ancorBtn {
        padding: 2.1vw 0;
        width: 43vw;
    }
    .ancorBtn .arrow {
        top: 3vw;
        right: 1vw;
    }  
    .ancorSmallBtn {
        padding: 2.1vw 0;
        width: 38vw;
    }
    .ancorSmallBtn .arrow {
        top: 3vw;
        right: 1vw;
    }        
}

/********************

common-title

*********************/

.common-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.common-title__box {
    display: flex;
    flex-direction: column;
    row-gap: 4px;
}

.common-title__box h2 {
    font-size: 32px;
    letter-spacing: .05em;
}

.common-title__box h3 {
    color: #4192CA;
    font-size: 16px;
    letter-spacing: .08em;
}

.common-title a.btn {
    align-items: center;
    background-color: #daefff;
    color: #4192CA;
    column-gap: 8px;
    display: flex;
    padding: 8px 0;
    justify-content: center;
    transition: .2s;
    width: 160px;
}

.common-title a.btn svg {
    font-size: 12px;
}

.common-title__txt {
    padding-top: 24px;
}

.common-title-sp {
    display: none;
}

@media (max-width: 780px) {
    .common-title a.btn {
        display: none;
    }
    .common-title-sp {
        display: block;
    }
    .common-title__box h2 {
        font-size: 6.4vw;
    }
    .common-title__box h3 {
        font-size: 3.4vw;
    }
    .common-title__txt {
        padding-top: 3.2vw;
    }   
    .common-title-sp a.btn {
        align-items: center;
        background-color: #daefff;
        color: #4192CA;
        column-gap: 8px;
        display: flex;
        padding: 4vw 0;
        justify-content: center;
        margin: 8vw auto 0 auto;
        width: 50vw;
    }
    .common-title-sp a.btn svg {
        font-size: 12px;
    }     
}

/********************

common-contact

*********************/

a.components-contact {
    background-color: #4292CA;
    padding: 96px 0;
    display: flex;
    justify-content: center;  
    position: relative;  
    z-index: 99;
}

.components-contact__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.components-contact__inner h5 {
    color: #fff;
    letter-spacing: .1em;
    font-size: 20px;
}

.components-contact__inner h2 {
    color: #fff;
    font-size: 40px;
    letter-spacing: .12em;  
}

.components-letter {
    border-top: 1px solid #e2e2e2;
    background-color: #ffffff;
    position: relative;
    z-index: 99;
}

.components-letter__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    padding: 56px 0 64px 0;
}

.components-letter__inner-box p {
    text-align: center;
    font-size: 14px;
}

.components-letter__inner-box p a {
    color: #4797D0;
    font-size: 14px;    
}

.components-letter__detail {
    display: flex;
}

.components-letter__detail dl,
.components-letter__detail dl dd {
    margin: 0;
}

.components-letter__detail p input.wpcf7-submit {
    background: #333;
    border: none;
    color: #fff;
    padding: 12px 0;
    letter-spacing: .08em;
    font-weight: 600;
    width: 180px;
}

.components-letter__detail dd p span input.wpcf7-form-control {
    width: 320px;
    border: 1px solid #e2e2e2;
    padding: 11px 8px;
    font-size: 18px;
}

.components-contact__arrow {
    position: absolute;
    top: 50%;
    right: 5%;
    height: 32px;
    width: 72px;
}

.components-contact__arrow img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.components-page-banner {
    position: fixed;
    padding-top: 77px;
    top: 0;
    width: 100%;
    z-index: 1;
}

.components-page-banner__thumb {
    width: 100%;
    height: 320px;
}

.components-page-banner__thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.components-page-banner__inner {
    position: absolute;
    display: flex;
    flex-direction: column;
    row-gap: 8px;
    left: 8%;
    top: 50%;
    bottom: 0;
}

.components-page-banner__inner h1 {
    color: #fff;
    font-size: 40px;
    letter-spacing: .12em;
} 

.components-page-banner__inner h4 {
    color: #fff;
    font-size: 18px;
    letter-spacing: .2em;
} 

@media (max-width: 780px) {
    .components-letter__detail dd p span input.wpcf7-form-control {
        width: 55vw;
    }
    .components-letter__detail p input.wpcf7-submit {
        font-size: 2.8vw;
        width: 32vw;
    }
    .components-letter__detail {
        justify-content: center;
        width: 90vw;
    } 
    .components-letter__inner h3 {
        font-size: 4.2vw;
    } 
    .components-letter__inner {
        padding: 8vw 0;
    }
    .components-letter__inner-box p {
        text-align: left;
    }     
    .components-letter__inner-box {
        margin-top: -6vw;
        width: 90vw;
    }
    .components-contact__inner h2 {
        font-size: 7.2vw;
    }
    .components-contact__inner h5 {
        font-size: 3.2vw;
    }
    .components-contact__arrow {
        height: 5vw;
        width: 8vw;
    }
    .components-page-banner__inner h1 {
        font-size: 7.6vw;
    }
    .components-page-banner__inner {
        left: 5%;
    }
}

/********************

pankuzu

*********************/

.pankuzu .breadcrumbs {
    background: #F7F8FA;
    padding: 8px 0 12px 40px;
}

.pankuzu .breadcrumbs a span {
    color: #3EA1E3;
}

.pankuzu .breadcrumbs a span,.pankuzu .breadcrumbs span {
    font-size: 12px;
    letter-spacing: .1em;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

@media (max-width: 780px) {
  .pankuzu .breadcrumbs {
        padding: 2.1vw;
    }
}

/********************

404

*********************/

.error {
    padding-top: 77px;
}

.error-wrapper {
    padding-top: 80px;
   padding-bottom: 80px;;
}

.error-content {
    padding-top: 32px;
}

.error-content a.error-btn {
    align-items: center;
    background-color: #4192CA;
    border: 1px solid #4192CA;
    color: #ffffff;
    display: flex;
    font-weight: 500;
    padding: 12px 0;
    justify-content: center;
    text-align: center;
    margin-top: 32px;
    transition: .3s;
    width: 220px;
}

.error-content a.error-btn:hover {
    background-color: #ffffff;
    color: #4192CA;
}