<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";

/* CSS カスタムプロパティ */
:root{
    --font-family-gothic:'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    --font-family-meiryo:"メイリオ", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    --font-family-mincho:"A1明朝", "A1 Mincho", source-han-serif-japanese, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    --text-color:#4F4D4D;
    --ratio-calc: calc(100vw / 1920);
    --ratio-calc-sp: calc(100vw / 640);
}

/* 基本・共通情報 */
body {
    font-family:var(--font-family-gothic);
    font-size:18px;
    font-weight:400;
    font-style:normal;
    color:var(--text-color);
    line-height:1.2;
    font-feature-settings:"palt" 1;
    overflow:scroll;
}
a{
    text-decoration: none;
}
@media(min-width: 641px){
    a[href^="tel:"]{
        pointer-events: none;
    }
}
p{
    margin: 0 0;
}
img{
    display: block;
}

.disp-sp{
    display: none;
}

.button{
    display: block;
    position: relative;
    margin: 37px auto;
    width: 260px;
}
.button-main{
    display: block;
    position: relative;
    width: 257px;
    height: 48px;
    background: #245096;
    z-index: 2;
}
.button-main p{
    display: inline-block;
    margin-top: 10px;
    font-size: 21px;
    color: #FFF;
}
.button-base{
    position: absolute;
    top: 3px;
    left: 3px;
    width: 257px;
    height: 48px;
    background: #A8A8AA;
    z-index: 1;
}

.head-title{
    display: block;
    width: 100%;
    height: 87px;
    margin: 0 auto;
    padding-top: 37px;
    font-size: 45px;
    color: #FFF;
    background: #245096;
    text-align: center;
}

.container{
    width: 1280px;
    margin: 0 auto;
}
@media (max-width: 640px) {
    body {
        font-size: 27px;
        font-size: min(27px, 27 * var(--ratio-calc-sp));
    }
    .disp-pc{
        display: none;
    }
    .disp-sp{
        display: block;
    }
    .button{
        margin: 59px auto;
        margin-top: min(59px, 59 * var(--ratio-calc-sp));
        margin-bottom: min(59px, 59 * var(--ratio-calc-sp));
        width: 410px;
        width: min(410px, 410 * var(--ratio-calc-sp));
    }
    .button-main{
        width: 406px;
        width: min(406px, 406 * var(--ratio-calc-sp));
        height: 75px;
        height: min(75px, 75 * var(--ratio-calc-sp));
    }
    .button-main p{
        margin-top: 18px;
        margin-top: min(18px, 18 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
    }
    .button-base{
        top: 4px;
        top: min(4px, 4 * var(--ratio-calc-sp));
        left: 4px;
        left: min(4px, 4 * var(--ratio-calc-sp));
        width: min(406px, 406 * var(--ratio-calc-sp));
        height: 75px;
        height: min(75px, 75 * var(--ratio-calc-sp));
    }   
    .head-title{
        height: 63px;
        height: min(63px, 63 * var(--ratio-calc-sp));
        padding-top: 15px;
        padding-top: min(15px, 15 * var(--ratio-calc-sp));
        font-size: 37px;
        font-size: min(37px, 37 * var(--ratio-calc-sp));
    }
    .container{
        width: 100vw;
    }
}

/* メニュー */
.menu-sp{
    display: none;
}
#menu-btn-check {
    display: none;
}
header .logo{
    display: inline-block;
    width: 349px;
    margin: 28px 43px 19px 45px;
}
header .menu-pc{
    display: inline-block;
    margin: 37px 0 0;
    vertical-align: top;
}
header .menu-pc p{
    display: inline-block;
    margin: 13px 74px 21px 0;
    font-size: 21px;
    font-weight: 300;
    color: #4F4D4D;
    line-height: 1;
}
header .menu-pc img{
    display: inline;
    height: 21px;
    margin-right: 5px;
    vertical-align: bottom;
}
header .menu-pc a:last-child p{
    margin-right: 0;
}
header .menu-pc .menu-address{
    display: block;
    margin: 0 0;
    font-size: 18px;
}
header .contact{
    display: inline-block;
    margin-left: 73px;
    vertical-align: top;
}
header .contact-box{
    width: 270px;
    height: 57px;
    background: #2A935C;
    text-align: left;
}
header .contact-box img{
    display: inline-block;
    margin: 21px 13px 16px 52px;
    width: 30px;
}
header .contact-box p{
    display: inline-block;
    margin: 0 0;
    margin-top: 18px;
    vertical-align: top;
    font-size: 21px;
    color: #FFF;
}
header .contact hr{
    margin: 0 0 0 auto;
    border: 2px solid #808081;
    width: 262px;
    text-align: right;
}
@media (max-width: 640px) {
    header .logo{
        margin: 31px 0 26px 31px;
        margin-top: min(31px, 31 * var(--ratio-calc-sp));
        margin-bottom: min(26px, 26 * var(--ratio-calc-sp));
        margin-left: min(31px, 31 * var(--ratio-calc-sp));
        width: 63vw;
    }
    header .menu-pc{
        display: none;
    }
    header .menu-sp{
        display: block;
    }
    header .contact{
        display: none;
    }

    /*　ハンバーガーボタン　*/
    .menu-btn {
        position: absolute;
        top: 34px;
        top: min(34px, 34 * var(--ratio-calc-sp));
        right: 28px;
        right: min(28px, 28 * var(--ratio-calc-sp));
        display: flex;
        height: 78px;
        height: min(78px, 78 * var(--ratio-calc-sp));
        width: 78px;
        width: min(78px, 78 * var(--ratio-calc-sp));
        justify-content: center;
        align-items: center;
        z-index: 90;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        height: min(3px, 3 * var(--ratio-calc-sp));
        width: 78px;
        width: min(78px, 78 * var(--ratio-calc-sp));
        background-color: #245096;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 17px;
        bottom: min(17px, 17 * var(--ratio-calc-sp));
    }
    .menu-btn span:after {
        top: 17px;
        top: min(17px, 17 * var(--ratio-calc-sp));
    }
    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }
    .menu-sp{
        position: fixed;
        top: 0;
        left: 100%;
        width: 100vw;
        text-align: right;
        z-index: 50;
        background: #E0EBF1;
    }
    .menu-sp ul{
        margin-top: 170px;
        margin-top: min(170px, 170 * var(--ratio-calc-sp));
        margin-bottom: 106px;
        margin-bottom: min(106px, 106 * var(--ratio-calc-sp));
        margin-right: 25px;
        margin-right: min(25px, 25 * var(--ratio-calc-sp));
        padding-left: 55vw;
        list-style-type: none;
    }
    .menu-sp ul li{
        display: block;
        font-size: 33px;
        font-size: min(33px, 33 * var(--ratio-calc-sp));
        font-weight: 300;
        border-bottom: 0.89px solid #245096;
        
    }
    .menu-sp ul li a{
        display: block;
        margin-top: 41px;
        margin-top: min(41px, 41 * var(--ratio-calc-sp));
        margin-bottom: 20px;
        margin-bottom: min(20px, 20 * var(--ratio-calc-sp));
        color: #424040;
    }
    #menu-btn-check:checked ~ .menu-sp {
        left: 0;
    }
}

footer .main{
    display: block;
    margin: 0 auto;
    padding-bottom: 43px;
    background: #245096;
    text-align: center;
}
footer .main .title{
    padding-top: 35px;
    font-size: 40px;
    color: #FFF;
}
footer .main .message{
    margin-bottom: 22px;
    font-size: 15px;
    font-weight: 300;
    color: #FFF;
}
footer .main .box{
    display: block;
    position: relative;
    margin: 0 auto;
    width: 904px;
    height: 97px;
    background: #FFF;
}
footer .main .tel{
    display: inline-block;
    margin: 0 0;
    width: 390px;
    text-align: left;
}
footer .main .tel p:first-child{
    display: inline-block;
    margin-top: 20px;
    margin-left: 55px;
    font-size: 34px;
    font-weight: 500;
}
footer .main .tel p:last-child{
    display: inline-block;
    margin-bottom: 12px;
    margin-left: 55px;
    font-size: 13px;
    font-weight: 300;
}
footer .main .tel p a{
    color: #4F4D4D;
}
footer .main .separator{
    display: inline-block;
    vertical-align: top;
    margin-top: 30px;
    height: 35px;
    border-right: 0.5px solid #000;
}
footer .button-contact{
    display: inline-block;
    position: relative;
    margin: 21px auto 0 105px;
    vertical-align: top;
    width: 273px;
}
footer .button-main{
    display: block;
    position: relative;
    width: 270px;
    height: 57px;
    background: #2A935C;
    text-align: left;
    z-index: 2;
}
footer .button-main img{
    display: inline-block;
    width: 39px;
    margin: 15px 6px 0 43px;
}
footer .button-main p{
    display: inline-block;
    margin-top: 15px;
    vertical-align: top;
    font-size: 23px;
    color: #FFF;
}
footer .button-base{
    position: absolute;
    top: 3px;
    left: 3px;
    width: 270px;
    height: 57px;
    background: #A8A8AA;
    z-index: 1;
}
footer .sub{
    font-size: 13px;
    font-weight: 300;
    color: #4F4D4D;
    background: #E0EBF1;
}
footer .sub p{
    display: inline-block;
    margin: 12px 0 14px;
}
footer .sub p:first-child{
    margin-left: 206px;
}
footer .sub p:last-child{
    margin-left: 595px;
}
footer .sub a{
    color: #4F4D4D;
}

@media (max-width: 640px) {
    footer .main{
        padding-bottom: 30px;
        padding-bottom: min(30px, 30 * var(--ratio-calc-sp));
    }
    footer .main .title{
        padding-top: 36px;
        padding-top: min(36px, 36 * var(--ratio-calc-sp));
        font-size: 42px;
        font-size: min(42px, 42 * var(--ratio-calc-sp));
    }
    footer .main .message{
        margin-bottom: 22px;
        margin-bottom: min(22px, 22 * var(--ratio-calc-sp));
        font-size: 28px;
        font-size: min(28px, 28 * var(--ratio-calc-sp));
    }
    footer .main .box{
        display: flex;
        width: 92vw;
        height: auto;
        flex-direction: column-reverse;
    }
    footer .main .tel{
        display: block;
        width: 92vw;
        text-align: center;
    }
    footer .main .tel p:first-child{
        margin-top: 21px;
        margin-top: min(21px, 21 * var(--ratio-calc-sp));
        margin-bottom: 7px;
        margin-bottom: min(7px, 7 * var(--ratio-calc-sp));
        margin-left: 0;
        font-size: 47px;
        font-size: min(47px, 47 * var(--ratio-calc-sp));
    }
    footer .main .tel p:last-child{
        margin-bottom: 47px;
        margin-bottom: min(47px, 47 * var(--ratio-calc-sp));
        margin-left: 0;
        font-size: 26px;
        font-size: min(26px, 26 * var(--ratio-calc-sp));
    }
    footer .main .separator{
        display: block;
        margin-top: 0;
        margin: 0 30vw;
        height: auto;
        border-right: none;
        border-bottom: 0.5px solid #000;
    }
    footer .button-contact{
        margin: 50px auto 25px;
        margin-top: min(50px, 50 * var(--ratio-calc-sp));
        margin-bottom: min(25px, 25 * var(--ratio-calc-sp));
        width: 353px;
        width: min(353px, 353 * var(--ratio-calc-sp));
        text-align: center;
    }
    footer .button-main{
        width: 350px;
        width: min(350px, 350 * var(--ratio-calc-sp));
        height: 77px;
        height: min(77px, 77 * var(--ratio-calc-sp));
    }
    footer .button-main img{
        width: 50px;
        width: min(50px, 50 * var(--ratio-calc-sp));
        margin: 23px 11px 0 56px;
        margin-top: min(23px, 23 * var(--ratio-calc-sp));
        margin-right: min(11px, 11 * var(--ratio-calc-sp));
        margin-left: min(56px, 56 * var(--ratio-calc-sp));
    }
    footer .button-main p{
        margin-top: 20px;
        margin-top: min(20px, 20 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
    }
    footer .button-base{
        top: 3px;
        top: min(3px, 3 * var(--ratio-calc-sp));
        left: 3px;
        left: min(3px, 3 * var(--ratio-calc-sp));
        width: min(350px, 350 * var(--ratio-calc-sp));
        height: 77px;
        height: min(77px, 77 * var(--ratio-calc-sp));
    }
    footer .sub{
        font-size: 22px;
        font-size: min(22px, 22 * var(--ratio-calc-sp));
    }
    footer .sub p{
        display: inline-block;
        margin: 18px 0 14px;
        margin-top: min(18px, 18 * var(--ratio-calc-sp));
        margin-bottom: min(14px, 14 * var(--ratio-calc-sp));
    }
    footer .sub p:first-child{
        margin-left: 31px;
        margin-left: min(31px, 31 * var(--ratio-calc-sp));
    }
    footer .sub p:last-child{
        margin-left: 150px;
        margin-left: min(150px, 150 * var(--ratio-calc-sp));
    }
}
/* トップメニュー */
.top-head{
    display: block;
    position: relative;
}
.top-head img{
    width: 100%;
}
.top-head .text-main{
    display: block;
    position: absolute;
    top: 93px;
    left: 180px;
    font-size: 54.4px;
    font-weight: 500;
    color: #424040;
    line-height: 1.38;
}
.top-head .text-sub{
    display: block;
    position: absolute;
    top: 330px;
    left: 180px;
    font-size: 32px;
    color: #424040;
    line-height: 1.26;
}
.top-service{
    margin: 43px auto 55px;
    text-align: center;
}
.top-service .title-en{
    font-size: 35px;
    color: #245096;
}
.top-service .title{
    margin-top: 7px;
    font-size: 25px;
    color: #4F4D4D;
}
.top-service .contents{
    margin: 36px auto 40px;
}
.top-service .contents-box{
    display: inline-block;
    margin: 0 20px;
    width: 432px;
    border: 0.9px solid #939090;
}
.top-service .contents-box img{
    width: 100%;
}
.top-service .contents-box .service-name{
    height: 39px;
    padding-top: 10px;
    font-size: 25px;
    color: #4F4D4D;
    background: #E0EBF1;
}
.top-service .contents-box .service-desc{
    margin: 22px auto 0;
    width: 381px;
    font-weight: 300;
    line-height: 1.45;
    text-align: justify;
}
.top-service .contents-box .service-desc img{
    width: 22px;
    margin: 20px 0 14px 365px;
}
@media (max-width: 640px) {
    .top-head img{
        width: 100vw;
    }
    .top-head .text-main{
        display: none;
        top: 437px;
        top: min(437px, 437 * var(--ratio-calc-sp));
        left: 67px;
        left: min(67px, 67 * var(--ratio-calc-sp));
        font-size: 54.4px;
        font-size: min(54.4px, 54.4 * var(--ratio-calc-sp));
        background-color: rgba(255,255,255,0.5);
    }
    .top-head .text-sub{
        display: none;
        top: 674px;
        top: min(674px, 674 * var(--ratio-calc-sp));
        left: 72px;
        left: min(72px, 72 * var(--ratio-calc-sp));
        font-size: 32px;
        font-size: min(32px, 32 * var(--ratio-calc-sp));
        background-color: rgba(255,255,255,0.5);
    }
    .top-service{
        margin: 52px auto 95px;
        margin-top: min(52px, 52 * var(--ratio-calc-sp));
        margin-bottom: min(95px, 95 * var(--ratio-calc-sp));
    }
    .top-service .title-en{
        font-size: 42px;
        font-size: min(42px, 42 * var(--ratio-calc-sp));
    }
    .top-service .title{
        margin-top: 7px;
        margin-top: min(7px, 7 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
    }
    .top-service .contents{
        margin: 51px auto 59px;
        margin-top: min(51px, 51 * var(--ratio-calc-sp));
        margin-bottom: min(59px, 59 * var(--ratio-calc-sp));
    }
    .top-service .contents-box{
        display: block;
        margin: 0 auto 59px;
        margin-bottom: min(59px, 59 * var(--ratio-calc-sp));
        width: 92vw;
    }
    .top-service .contents-box img{
        width: 100%;
    }
    .top-service .contents-box .service-name{
        height: 57px;
        height: min(57px, 57 * var(--ratio-calc-sp));
        padding-top: 10px;
        padding-top: min(10px, 10 * var(--ratio-calc-sp));
        font-size: 35px;
        font-size: min(35px, 35 * var(--ratio-calc-sp));
    }
    .top-service .contents-box .service-desc{
        margin: 41px auto 0;
        margin-top: min(41px, 41 * var(--ratio-calc-sp));
        width: 514px;
        width: min(514px, 514 * var(--ratio-calc-sp));
    }
    .top-service .contents-box .service-desc img{
        width: 27px;
        width: min(27px, 27 * var(--ratio-calc-sp));
        margin: 40px 0 20px 505px;
        margin-top: min(40px, 40 * var(--ratio-calc-sp));
        margin-bottom: min(20px, 20 * var(--ratio-calc-sp));
        margin-left: min(505px, 505 * var(--ratio-calc-sp));
    }
}

.top-policy{
    display: block;
    position: relative;
}
.top-policy img{
    width: 100%;
}
.top-policy .title-en{
    display: block;
    position: absolute;
    top: 62px;
    width: 100%;
    font-size: 35px;
    color: #FFF;
    text-align: center;
}
.top-policy .title{
    display: block;
    position: absolute;
    top: 104px;
    width: 100%;
    font-size: 25px;
    color: #FFF;
    text-align: center;
}
.top-policy .policy-box{
    display: block;
    position: absolute;
    width: 586px;
    height: 279px;
    top: 169px;
    left: 193px;
    background: #FFF;
}
.top-policy .policy-box .policy-text{
    margin: 28px 34px 12px 41px;
    font-size: 30px;
    color: #000;
    line-height: 1.49;
}
.top-policy .policy-box hr{
    margin: 0 34px 0 41px;
    border-bottom: 0.5px solid #2A935C;
}
.top-policy .policy-box .logo-desc{
    margin: 14px 34px 34px 41px;
    font-weight: 300;
    color: #000;
    line-height: 1.6;
}
.top-policy .logo{
    display: block;
    position: absolute;
    width: 252px;
    top: 182px;
    right: 191px
}
.top-message{
    margin: 0 auto;
    padding: 74px 0 108px;
    background: #E0EBF1;
    text-align: center;
}
.top-message .title-en{
    font-size: 35px;
    color: #245096;
}
.top-message .title{
    margin-top: 7px;
    margin-bottom: 31px;
    font-size: 25px;
    color: #4F4D4D;
}
.top-message img{
    display: inline-block;
    width: 210px;
    margin-right: 21px;
    margin-top: 25px;
    vertical-align: top;
}
.top-message .message{
    display: inline-block;
    width: 669px;
    font-weight: 300;
    color: #000;
    background: #FFF;
    line-height: 1.6;
}
.top-message .message p{
    margin: 17px 17px;
    text-align: justify;
}
@media (max-width: 640px) {
    .top-policy img{
        width: 100vw;
    }
    .top-policy .title-en{
        top: 57px;
        top: min(57px, 57 * var(--ratio-calc-sp));
        font-size: 42px;
        font-size: min(42px, 42 * var(--ratio-calc-sp));
    }
    .top-policy .title{
        top: 105px;
        top: min(105px, 105 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
    }
    .top-policy .policy-box{
        display: block;
        position: absolute;
        width: 92vw;
        height: auto;
        top: 164px;
        top: min(164px, 164 * var(--ratio-calc-sp));
        left: 4vw;
    }
    .top-policy .policy-box .policy-text{
        margin: 38px auto 23px;
        margin-top: min(38px, 38 * var(--ratio-calc-sp));
        margin-bottom: min(23px, 23 * var(--ratio-calc-sp));
        width: 82vw;
        font-size: 35px;
        font-size: min(35px, 35 * var(--ratio-calc-sp));
        letter-spacing: 5px;
        letter-spacing: min(5px, 5 * var(--ratio-calc-sp));
        text-align: center;
    }
    .top-policy .policy-box hr{
        margin: 0 6vw;
    }
    .top-policy .policy-box .logo-desc{
        margin: 24px 7vw;
        margin-top: min(24px, 24 * var(--ratio-calc-sp));
        margin-bottom: min(24px, 24 * var(--ratio-calc-sp));
        line-height: 1.46;
    }
    .top-policy .logo{
        width: 43vw;
        height: 43vw;
        top: 532px;
        top: min(532px, 532 * var(--ratio-calc-sp));
        right: 28.5vw;
    }
    .top-message{
        padding: 80px 0 58px;
        padding-top: min(80px, 80 * var(--ratio-calc-sp));
        padding-bottom: min(58px, 58 * var(--ratio-calc-sp));
    }
    .top-message .title-en{
        font-size: 42px;
        font-size: min(42px, 42 * var(--ratio-calc-sp));
    }
    .top-message .title{
        margin-top: 7px;
        margin-top: min(7px, 7 * var(--ratio-calc-sp));
        margin-bottom: 32px;
        margin-bottom: min(32px, 32 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
    }
    .top-message img{
        width: 40vw;
        margin-right: auto;
        margin-top: 0;
        margin-bottom: 34px;
        margin-bottom: min(34px, 34 * var(--ratio-calc-sp));
    }
    .top-message .message{
        width: 92vw;
        line-height: 1.46;
    }
    .top-message .message p{
        margin: 5.5vw 5.5vw;
    }
}

.service{
    display: block;
    position: relative;
    margin: 0 auto;
    width: 780px;
}
.service p{
    margin: 62px auto 31px;
    font-size: 30px;
    text-align: center;
}
.service .service-box{
    margin-bottom: 26px;
    border: 1px solid #86949C;
}
.service .bg-on{
    background: #E0EBF1;
}
.service .service-box img{
    display: inline-block;
    margin: 19px 0 0 27px;
    width: 214px;
    vertical-align: top;
}
.service .service-box div img{
    display: none;
}
.service .service-box div{
    width: 500px;
    display: inline-block;
    margin-left: 29px;
}
.service .service-box p{
    display: inline-block;
    width: 230px;
    margin: 7px 0;
    padding: 8px 0;
    margin-right: 15px;
    font-size: 18px;
    background: #FFF;
    border: 1px solid #86949C;
}
.service .service-box p:last-child{
    margin-bottom: 17px;
}
.service .service-box .title{
    display: block;
    padding-left: 12px;
    padding-bottom: 0;
    font-size: 22px;
    background: none;
    text-align: left;
    border: 0;
}
.service .service-box .sub-title{
    width: 120px;
    margin-right: 10px;
    color: #FFF;
    background: #245096;
    border: 1px solid #245096;
}
.service .service-box .short{
    width: 162px;
    margin-right: 12px;
}
@media (max-width: 640px) {
    .service{
        width: 92vw;
    }
    .service p{
        margin: 40px auto 41px;
        margin-top: min(40px, 40 * var(--ratio-calc-sp));
        margin-bottom: min(41px, 41 * var(--ratio-calc-sp));
        font-size: 35px;
        font-size: min(35px, 35 * var(--ratio-calc-sp));
    }
    .service .service-box{
        position: relative;
        margin-bottom: 31px;
        margin-bottom: min(31px, 31 * var(--ratio-calc-sp));
    }
    .service .service-box img{
        display: none;
    }
    .service .service-box div img{
        display: inline-block;
        margin: 19px 0 22px 24px;
        margin-top: min(19px, 19 * var(--ratio-calc-sp));
        margin-bottom: min(22px, 22 * var(--ratio-calc-sp));
        margin-left: min(24px, 24 * var(--ratio-calc-sp));
        width: 214px;
        width: min(214px, 214 * var(--ratio-calc-sp));
    }
    .service .service-box div{
        display: block;
        position: relative;
        margin-left: 0;
        width: 100%;
    }
    .service .service-box p{
        width: 42vw;
        padding: 15px 0;
        padding-top: min(15px, 15 * var(--ratio-calc-sp));
        padding-bottom: min(15px, 15 * var(--ratio-calc-sp));
        margin-right: 0;
        margin: 6px 1.15vw;
        margin-top: min(6px, 6 * var(--ratio-calc-sp));
        margin-bottom: min(6px, 6 * var(--ratio-calc-sp));
        font-size: 28px;
        font-size: min(28px, 28 * var(--ratio-calc-sp));
    }
    .service .service-box p:nth-child(odd){
        margin-left: 2.3vw;
    }
    .service .service-box p:last-child{
        margin-bottom: 32px;
        margin-bottom: min(32px, 32 * var(--ratio-calc-sp));
    }
    .service .service-box .title{
        display: inline-block;
        margin: 98px auto 0;
        margin-top: min(98px, 98 * var(--ratio-calc-sp));
        padding-top: 0;
        padding-left: 0;
        padding-bottom: 0;
        width: 340px;
        width: min(340px, 340 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
        text-align: center;
    }
    .service .service-box .short{
        width: 42vw;
        margin-left: 2.3vw;
        margin-right: 0;
    }
    .service .service-box .sub-title,
    .service .service-box .long-sp{
        width: 86.8vw;
        margin-left: 2.3vw;
        margin-right: 0;
    }
}

.office-outline{
    display: block;
    margin: 0 auto;
    width: 100%;
    text-align: center;
}
.office-outline p{
    margin: 59px auto 29px;
    font-size: 30px;
    color: #424040;
}
.office-outline img{
    display: inline-block;
    margin-right: 31px;
    margin-top: 5px;
    width: 257px;
    vertical-align: top;
}
.office-outline table{
    display: inline-block;
    border-collapse: collapse;
}
.office-outline table tr td{
    padding: 11px 0;
    font-weight: 300;
    line-height: 1;
    border: 1px solid #000;
}
.office-outline table tr td:first-child{
    width: 205px;
    background: #E0EBF1;
}
.office-outline table tr td:last-child{
    width: 412px;
    padding-left: 20px;
    text-align: left;
}
.office-map{
    display: block;
    margin: 0 auto 51px;
    text-align: center;
}
.office-map p{
    margin: 56px auto 32px;
    font-size: 30px;
    color: #424040;
}
.office-map iframe{
    width: 905px;
    height: 323px;
}
@media (max-width: 640px) {
    .office-outline{
        width: 92vw;
    }
    .office-outline p{
        margin: 33px auto 29px;
        margin-top: min(33px, 33 * var(--ratio-calc-sp));
        margin-bottom: min(29px, 29 * var(--ratio-calc-sp));
        font-size: 35px;
        font-size: min(35px, 35 * var(--ratio-calc-sp));
    }
    .office-outline img{
        margin-right: 0;
        margin-top: 0;
        margin-bottom: 36px;
        margin-bottom: min(36px, 36 * var(--ratio-calc-sp));
        width: 61vw;
    }
    .office-outline table tr td{
        padding: 13px 0 16px;
        padding-top: min(13px, 13 * var(--ratio-calc-sp));
        padding-bottom: min(16px, 16 * var(--ratio-calc-sp));
        font-size: 28px;
        font-size: min(28px, 28 * var(--ratio-calc-sp));
    }
    .office-outline table tr td:first-child{
        width: 23vw;
    }
    .office-outline table tr td:last-child{
        width: 69vw;
        padding-left: 30px;
        padding-left: min(30px, 30 * var(--ratio-calc-sp));
    }
    .office-map{
        margin: 0 auto 88px;
        margin-bottom: min(88px, 88 * var(--ratio-calc-sp));
    }
    .office-map p{
        margin: 64px auto 22px;
        margin-top: min(64px, 64 * var(--ratio-calc-sp));
        margin-bottom: min(22px, 22 * var(--ratio-calc-sp));
        font-size: 30px;
        font-size: min(30px, 30 * var(--ratio-calc-sp));
    }
    .office-map iframe{
        width: 92vw;
        height: 70vw;
    }
}

.contact{
    margin: 0 auto;
    text-align: center;
}
.contact .title{
    display: block;
    margin-top: 50px;
    font-size: 30px;
    color: #000;
}
.contact .desc{
    display: inline-block;
    margin: 31px auto 24px;
    font-weight: 300;
    text-align: left;
    line-height: 1.6;
}
.contact .must{
    font-size: 13px;
    color: #E10039;
}
.contact table{
    margin: 0 auto;
    width: 905px;
    border-collapse: collapse;
    text-align: center;
}
.contact table tr{
    height: 79px;
}
.contact table tr td{
    padding-left: 64px;
    font-weight: 300;
    text-align: left;
    border-top: 1px solid #86949C;
}
.contact table tr td:first-child{
    width: 150px;
    padding-left: 80px;
}
.contact table tr:last-child td{
    border-bottom: 1px solid #86949C;
}
.contact table tr:last-child td:first-child{
    padding-top: 29px;
    vertical-align: top;
}
.contact input[type="text"],
.contact textarea {
    background: #C9C9C9;
    border: none;
}
.contact input[type="text"]{
    width: 511px;
    height: 52px;
    padding-left: 15px;
}
.contact textarea {
    margin: 14px 0;
    padding: 15px 15px;
    width: 496px;
    height: 141px;
}
.contact input[type="submit"],
.contact input[type="button"]{
    border: none;
    color: #FFF;
}
.contact .privacy-link{
    margin: 16px auto 39px;
    font-size: 16px;
    text-align: center;
}
.contact .button{
    margin: 33px auto 16px;
}
.contact .privacy-link a{
    color: #000;
}
@media (max-width: 640px) {
    .contact .title{
        margin-top: 40px;
        margin-top: min(40px, 40 * var(--ratio-calc-sp));
        font-size: 35px;
        font-size: min(35px, 35 * var(--ratio-calc-sp));
    }
    .contact .desc{
        margin: 38px auto 32px;
        margin-top: min(38px, 38 * var(--ratio-calc-sp));
        margin-bottom: min(32px, 32 * var(--ratio-calc-sp));
        width: 92vw;
        font-size: 28;
        font-size: min(28px, 28 * var(--ratio-calc-sp));
        line-height: 1.49;
    }
    .contact .must{
        font-size: 13px;
        font-size: min(13px, 13 * var(--ratio-calc-sp));
    }
    .contact table{
        width: 92vw;
    }
    .contact table tr{
        height: auto;
    }
    .contact table tr td{
        display: block;
        padding-left: 0;
        font-size: 28px;
        font-size: min(28px, 28 * var(--ratio-calc-sp));
    }
    .contact table tr td:first-child{
        width: 92vw;
        padding-left: 0;
        padding-top: 20px;
        padding-top: min(20px, 20 * var(--ratio-calc-sp));
    }
    .contact table tr td:last-child{
        border-top: none;
    }
    .contact table tr:last-child td:first-child{
        padding-top: 20px;
        padding-top: min(20px, 20 * var(--ratio-calc-sp));
        margin-bottom: 0;
        border-bottom: none;
    }
    .contact input[type="text"]{
        margin: 18px 0 22px;
        margin-top: min(18px, 18 * var(--ratio-calc-sp));
        margin-bottom: min(22px, 22 * var(--ratio-calc-sp));
        width: 90vw;
        height: 50px;
        height: min(50px, 50 * var(--ratio-calc-sp));
        padding-left: 2vw;
    }
    .contact textarea {
        margin: 24px 0 28px;
        margin-top: min(24px, 24 * var(--ratio-calc-sp));
        margin-bottom: min(28px, 28 * var(--ratio-calc-sp));
        padding: 15px 0;
        padding-top: min(15px, 15 * var(--ratio-calc-sp));
        padding-bottom: min(15px, 15 * var(--ratio-calc-sp));
        padding-left: 2vw;
        width: 90vw;
        height: 19vw;
    }
    .contact .privacy-link{
        margin: 26px auto 65px;
        margin-top: min(26px, 26 * var(--ratio-calc-sp));
        margin-bottom: min(65px, 65 * var(--ratio-calc-sp));
        font-size: 25px;
        font-size: min(25px, 25 * var(--ratio-calc-sp));
    }
    .contact .button{
        margin: 47px auto 26px;
        margin-top: min(47px, 47 * var(--ratio-calc-sp));
        margin-bottom: min(26px, 26 * var(--ratio-calc-sp));
    }
}

.privacy{
    width: 905px;
    margin: 44px auto 99px;
    text-align: center;
}
.privacy p{
    display: block;
    font-weight: 300;
    color: #000;
    line-height: 1.6;
    text-align: left;
    text-align: justify;
}
@media (max-width: 640px) {
    .privacy{
        width: 92vw;
        margin: 50px auto 94px;
        margin-top: min(50px, 50 * var(--ratio-calc-sp));
        margin-bottom: min(94px, 94 * var(--ratio-calc-sp));
    }
    .privacy p{
        font-size: 28px;
        font-size: min(28px, 28 * var(--ratio-calc-sp));
    }
}</pre></body></html>