@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");

.noto-sans {
    font-family: "Noto Sans JP", sans-serif;
}

html {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    color: #333;
}

.color-white {
    color: #fff;
}

.color01 {
    color: #ef8000;
}

.color02 {
    background: #ef8001;
    background: linear-gradient(135deg, #ef8001 0%, #e95708 100%);
    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
}

.color03 {
    color: #4f6fad;
}

.fw500 {
    font-weight: 500;
}

.fw600 {
    font-weight: 600;
}

.fw700 {
    font-weight: 700;
}

.fw800 {
    font-weight: 800;
}

dt {
    font-weight: normal;
}

.up-lst-disc {
    padding-left: 30px;
}

.up-lst-deci {
    padding-left: 30px;
}

.up-w-fit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

@media (max-width: 599px) {
    .up-lst-disc,
    .up-lst-deci {
        padding-left: 20px;
    }
}

/* font-size */
.fs50 {
    font-size: 50px;
}

.fs48 {
    font-size: 48px;
}

.fs46 {
    font-size: 46px;
}

.fs44 {
    font-size: 44px;
}

.fs42 {
    font-size: 42px;
}

.fs40 {
    font-size: 40px;
}

.fs38 {
    font-size: 38px;
}

.fs36 {
    font-size: 36px;
}

.fs34 {
    font-size: 34px;
}

.fs32 {
    font-size: 32px;
}

.fs30 {
    font-size: 30px;
}

.fs28 {
    font-size: 28px;
}

.fs26 {
    font-size: 26px;
}

.fs24 {
    font-size: 24px;
}

.fs22 {
    font-size: 22px;
}

.fs20 {
    font-size: 20px;
}

.fs18 {
    font-size: 18px;
}

.fs16 {
    font-size: 16px;
}

.fs14 {
    font-size: 14px;
}

.fs13 {
    font-size: 13px;
}

.fs12 {
    font-size: 12px;
}

@media (max-width: 1024px) {
    .fs50 {
        font-size: 36px;
    }

    .fs48 {
        font-size: 36px;
    }

    .fs46 {
        font-size: 36px;
    }

    .fs44 {
        font-size: 32px;
    }

    .fs42 {
        font-size: 32px;
    }

    .fs40 {
        font-size: 32px;
    }

    .fs38 {
        font-size: 32px;
    }

    .fs36 {
        font-size: 32px;
    }

    .fs34 {
        font-size: 30px;
    }

    .fs32 {
        font-size: 28px;
    }

    .fs30 {
        font-size: 26px;
    }

    .fs28 {
        font-size: 24px;
    }

    .fs26 {
        font-size: 22px;
    }

    .fs24 {
        font-size: 20px;
    }

    .fs22 {
        font-size: 18px;
    }

    .fs20 {
        font-size: 18px;
    }

    .fs18 {
        font-size: 16px;
    }

    .fs16 {
        font-size: 14px;
    }
}

@media (max-width: 599px) {
    .fs50 {
        font-size: 28px;
    }

    .fs48 {
        font-size: 28px;
    }

    .fs46 {
        font-size: 28px;
    }

    .fs44 {
        font-size: 24px;
    }

    .fs42 {
        font-size: 24px;
    }

    .fs40 {
        font-size: 24px;
    }

    .fs38 {
        font-size: 24px;
    }

    .fs36 {
        font-size: 24px;
    }

    .fs34 {
        font-size: 24px;
    }

    .fs32 {
        font-size: 22px;
    }

    .fs30 {
        font-size: 22px;
    }

    .fs28 {
        font-size: 20px;
    }

    .fs26 {
        font-size: 20px;
    }

    .fs24 {
        font-size: 18px;
    }

    .fs22 {
        font-size: 18px;
    }

    .fs20 {
        font-size: 16px;
    }

    .fs18 {
        font-size: 14px;
    }

    .fs16 {
        font-size: 14px;
    }
}

/* area */
.area5 {
    padding-top: 5px;
    padding-bottom: 5px;
}

.area6 {
    padding-top: 6px;
    padding-bottom: 6px;
}

.area7 {
    padding-top: 7px;
    padding-bottom: 7px;
}

.area8 {
    padding-top: 8px;
    padding-bottom: 8px;
}

.area9 {
    padding-top: 9px;
    padding-bottom: 9px;
}

.area10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.area11 {
    padding-top: 11px;
    padding-bottom: 11px;
}

.area12 {
    padding-top: 12px;
    padding-bottom: 12px;
}

.area13 {
    padding-top: 13px;
    padding-bottom: 13px;
}

.area14 {
    padding-top: 14px;
    padding-bottom: 14px;
}

.area15 {
    padding-top: 15px;
    padding-bottom: 15px;
}

.area16 {
    padding-top: 16px;
    padding-bottom: 16px;
}

.area17 {
    padding-top: 17px;
    padding-bottom: 17px;
}

.area18 {
    padding-top: 18px;
    padding-bottom: 18px;
}

.area19 {
    padding-top: 19px;
    padding-bottom: 19px;
}

.area20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (max-width: 1024px) {
    .area5 {
        padding-top: 3.75px;
        padding-bottom: 3.75px;
    }

    .area6 {
        padding-top: 4.5px;
        padding-bottom: 4.5px;
    }

    .area7 {
        padding-top: 5.25px;
        padding-bottom: 5.25px;
    }

    .area8 {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .area9 {
        padding-top: 6.75px;
        padding-bottom: 6.75px;
    }

    .area10 {
        padding-top: 7.5px;
        padding-bottom: 7.5px;
    }

    .area11 {
        padding-top: 8.25px;
        padding-bottom: 8.25px;
    }

    .area12 {
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .area13 {
        padding-top: 9.75px;
        padding-bottom: 9.75px;
    }

    .area14 {
        padding-top: 10.5px;
        padding-bottom: 10.5px;
    }

    .area15 {
        padding-top: 11.25px;
        padding-bottom: 11.25px;
    }

    .area16 {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .area17 {
        padding-top: 12.75px;
        padding-bottom: 12.75px;
    }

    .area18 {
        padding-top: 13.5px;
        padding-bottom: 13.5px;
    }

    .area19 {
        padding-top: 14.25px;
        padding-bottom: 14.25px;
    }

    .area20 {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

@media (max-width: 599px) {
    .area5 {
        padding-top: 2.5px;
        padding-bottom: 2.5px;
    }

    .area6 {
        padding-top: 3px;
        padding-bottom: 3px;
    }

    .area7 {
        padding-top: 3.5px;
        padding-bottom: 3.5px;
    }

    .area8 {
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .area9 {
        padding-top: 4.5px;
        padding-bottom: 4.5px;
    }

    .area10 {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .area11 {
        padding-top: 5.5px;
        padding-bottom: 5.5px;
    }

    .area12 {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .area13 {
        padding-top: 6.5px;
        padding-bottom: 6.5px;
    }

    .area14 {
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .area15 {
        padding-top: 7.5px;
        padding-bottom: 7.5px;
    }

    .area16 {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .area17 {
        padding-top: 8.5px;
        padding-bottom: 8.5px;
    }

    .area18 {
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .area19 {
        padding-top: 9.5px;
        padding-bottom: 9.5px;
    }

    .area20 {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

.area10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.area20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.area30 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.area40 {
    padding-top: 40px;
    padding-bottom: 40px;
}

.area50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.area60 {
    padding-top: 60px;
    padding-bottom: 60px;
}

.area70 {
    padding-top: 70px;
    padding-bottom: 70px;
}

.area80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.area90 {
    padding-top: 90px;
    padding-bottom: 90px;
}

.area100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.area110 {
    padding-top: 110px;
    padding-bottom: 110px;
}

.area120 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.area130 {
    padding-top: 130px;
    padding-bottom: 130px;
}

.area140 {
    padding-top: 140px;
    padding-bottom: 140px;
}

.area150 {
    padding-top: 150px;
    padding-bottom: 150px;
}

.area160 {
    padding-top: 160px;
    padding-bottom: 160px;
}

.area170 {
    padding-top: 170px;
    padding-bottom: 170px;
}

.area180 {
    padding-top: 180px;
    padding-bottom: 180px;
}

.area190 {
    padding-top: 190px;
    padding-bottom: 190px;
}

.area200 {
    padding-top: 200px;
    padding-bottom: 200px;
}

@media (max-width: 1024px) {
    .area10 {
        padding-top: 7.5px;
        padding-bottom: 7.5px;
    }

    .area20 {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .area30 {
        padding-top: 22.5px;
        padding-bottom: 22.5px;
    }

    .area40 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .area50 {
        padding-top: 37.5px;
        padding-bottom: 37.5px;
    }

    .area60 {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .area70 {
        padding-top: 52.5px;
        padding-bottom: 52.5px;
    }

    .area80 {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .area90 {
        padding-top: 67.5px;
        padding-bottom: 67.5px;
    }

    .area100 {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .area110 {
        padding-top: 82.5px;
        padding-bottom: 82.5px;
    }

    .area120 {
        padding-top: 90px;
        padding-bottom: 90px;
    }

    .area130 {
        padding-top: 97.5px;
        padding-bottom: 97.5px;
    }

    .area140 {
        padding-top: 105px;
        padding-bottom: 105px;
    }

    .area150 {
        padding-top: 112.5px;
        padding-bottom: 112.5px;
    }

    .area160 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .area170 {
        padding-top: 127.5px;
        padding-bottom: 127.5px;
    }

    .area180 {
        padding-top: 135px;
        padding-bottom: 135px;
    }

    .area190 {
        padding-top: 142.5px;
        padding-bottom: 142.5px;
    }

    .area200 {
        padding-top: 150px;
        padding-bottom: 150px;
    }
}

@media (max-width: 599px) {
    .area10 {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .area20 {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .area30 {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .area40 {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .area50 {
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .area60 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .area70 {
        padding-top: 35px;
        padding-bottom: 35px;
    }

    .area80 {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .area90 {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .area100 {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .area110 {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .area120 {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .area130 {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .area140 {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .area150 {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .area160 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .area170 {
        padding-top: 85px;
        padding-bottom: 85px;
    }

    .area180 {
        padding-top: 90px;
        padding-bottom: 90px;
    }

    .area190 {
        padding-top: 95px;
        padding-bottom: 95px;
    }

    .area200 {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

@media (max-width: 599px) {
    .w100\@sp {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .fs14\@tb {
        font-size: 14px;
    }

    .fs15\@tb {
        font-size: 15px;
    }

    .fs16\@tb {
        font-size: 16px;
    }

    .fs17\@tb {
        font-size: 17px;
    }

    .fs18\@tb {
        font-size: 18px;
    }

    .fs19\@tb {
        font-size: 19px;
    }

    .fs20\@tb {
        font-size: 20px;
    }

    .fs21\@tb {
        font-size: 21px;
    }

    .fs22\@tb {
        font-size: 22px;
    }

    .fs23\@tb {
        font-size: 23px;
    }

    .fs24\@tb {
        font-size: 24px;
    }

    .fs25\@tb {
        font-size: 25px;
    }

    .fs26\@tb {
        font-size: 26px;
    }

    .fs27\@tb {
        font-size: 27px;
    }

    .fs28\@tb {
        font-size: 28px;
    }

    .fs29\@tb {
        font-size: 29px;
    }

    .fs30\@tb {
        font-size: 30px;
    }
}

@media (max-width: 599px) {
    .fs14\@sp {
        font-size: 14px;
    }

    .fs15\@sp {
        font-size: 15px;
    }

    .fs16\@sp {
        font-size: 16px;
    }

    .fs17\@sp {
        font-size: 17px;
    }

    .fs18\@sp {
        font-size: 18px;
    }

    .fs19\@sp {
        font-size: 19px;
    }

    .fs20\@sp {
        font-size: 20px;
    }

    .fs21\@sp {
        font-size: 21px;
    }

    .fs22\@sp {
        font-size: 22px;
    }

    .fs23\@sp {
        font-size: 23px;
    }

    .fs24\@sp {
        font-size: 24px;
    }

    .fs25\@sp {
        font-size: 25px;
    }

    .fs26\@sp {
        font-size: 26px;
    }

    .fs27\@sp {
        font-size: 27px;
    }

    .fs28\@sp {
        font-size: 28px;
    }

    .fs29\@sp {
        font-size: 29px;
    }

    .fs30\@sp {
        font-size: 30px;
    }
}

/* padding */
.pt5 {
    padding-top: 5px;
}

.pb5 {
    padding-bottom: 5px;
}

.pt6 {
    padding-top: 6px;
}

.pb6 {
    padding-bottom: 6px;
}

.pt7 {
    padding-top: 7px;
}

.pb7 {
    padding-bottom: 7px;
}

.pt8 {
    padding-top: 8px;
}

.pb8 {
    padding-bottom: 8px;
}

.pt9 {
    padding-top: 9px;
}

.pb9 {
    padding-bottom: 9px;
}

.pt10 {
    padding-top: 10px;
}

.pb10 {
    padding-bottom: 10px;
}

.pt11 {
    padding-top: 11px;
}

.pb11 {
    padding-bottom: 11px;
}

.pt12 {
    padding-top: 12px;
}

.pb12 {
    padding-bottom: 12px;
}

.pt13 {
    padding-top: 13px;
}

.pb13 {
    padding-bottom: 13px;
}

.pt14 {
    padding-top: 14px;
}

.pb14 {
    padding-bottom: 14px;
}

.pt15 {
    padding-top: 15px;
}

.pb15 {
    padding-bottom: 15px;
}

.pt16 {
    padding-top: 16px;
}

.pb16 {
    padding-bottom: 16px;
}

.pt17 {
    padding-top: 17px;
}

.pb17 {
    padding-bottom: 17px;
}

.pt18 {
    padding-top: 18px;
}

.pb18 {
    padding-bottom: 18px;
}

.pt19 {
    padding-top: 19px;
}

.pb19 {
    padding-bottom: 19px;
}

.pt20 {
    padding-top: 20px;
}

.pb20 {
    padding-bottom: 20px;
}

@media (max-width: 1024px) {
    .pt5 {
        padding-top: 3.75px;
    }

    .pb5 {
        padding-bottom: 3.75px;
    }

    .pt6 {
        padding-top: 4.5px;
    }

    .pb6 {
        padding-bottom: 4.5px;
    }

    .pt7 {
        padding-top: 5.25px;
    }

    .pb7 {
        padding-bottom: 5.25px;
    }

    .pt8 {
        padding-top: 6px;
    }

    .pb8 {
        padding-bottom: 6px;
    }

    .pt9 {
        padding-top: 6.75px;
    }

    .pb9 {
        padding-bottom: 6.75px;
    }

    .pt10 {
        padding-top: 7.5px;
    }

    .pb10 {
        padding-bottom: 7.5px;
    }

    .pt11 {
        padding-top: 8.25px;
    }

    .pb11 {
        padding-bottom: 8.25px;
    }

    .pt12 {
        padding-top: 9px;
    }

    .pb12 {
        padding-bottom: 9px;
    }

    .pt13 {
        padding-top: 9.75px;
    }

    .pb13 {
        padding-bottom: 9.75px;
    }

    .pt14 {
        padding-top: 10.5px;
    }

    .pb14 {
        padding-bottom: 10.5px;
    }

    .pt15 {
        padding-top: 11.25px;
    }

    .pb15 {
        padding-bottom: 11.25px;
    }

    .pt16 {
        padding-top: 12px;
    }

    .pb16 {
        padding-bottom: 12px;
    }

    .pt17 {
        padding-top: 12.75px;
    }

    .pb17 {
        padding-bottom: 12.75px;
    }

    .pt18 {
        padding-top: 13.5px;
    }

    .pb18 {
        padding-bottom: 13.5px;
    }

    .pt19 {
        padding-top: 14.25px;
    }

    .pb19 {
        padding-bottom: 14.25px;
    }

    .pt20 {
        padding-top: 15px;
    }

    .pb20 {
        padding-bottom: 15px;
    }
}

@media (max-width: 599px) {
    .pt5 {
        padding-top: 2.5px;
    }

    .pb5 {
        padding-bottom: 2.5px;
    }

    .pt6 {
        padding-top: 3px;
    }

    .pb6 {
        padding-bottom: 3px;
    }

    .pt7 {
        padding-top: 3.5px;
    }

    .pb7 {
        padding-bottom: 3.5px;
    }

    .pt8 {
        padding-top: 4px;
    }

    .pb8 {
        padding-bottom: 4px;
    }

    .pt9 {
        padding-top: 4.5px;
    }

    .pb9 {
        padding-bottom: 4.5px;
    }

    .pt10 {
        padding-top: 5px;
    }

    .pb10 {
        padding-bottom: 5px;
    }

    .pt11 {
        padding-top: 5.5px;
    }

    .pb11 {
        padding-bottom: 5.5px;
    }

    .pt12 {
        padding-top: 6px;
    }

    .pb12 {
        padding-bottom: 6px;
    }

    .pt13 {
        padding-top: 6.5px;
    }

    .pb13 {
        padding-bottom: 6.5px;
    }

    .pt14 {
        padding-top: 7px;
    }

    .pb14 {
        padding-bottom: 7px;
    }

    .pt15 {
        padding-top: 7.5px;
    }

    .pb15 {
        padding-bottom: 7.5px;
    }

    .pt16 {
        padding-top: 8px;
    }

    .pb16 {
        padding-bottom: 8px;
    }

    .pt17 {
        padding-top: 8.5px;
    }

    .pb17 {
        padding-bottom: 8.5px;
    }

    .pt18 {
        padding-top: 9px;
    }

    .pb18 {
        padding-bottom: 9px;
    }

    .pt19 {
        padding-top: 9.5px;
    }

    .pb19 {
        padding-bottom: 9.5px;
    }

    .pt20 {
        padding-top: 10px;
    }

    .pb20 {
        padding-bottom: 10px;
    }
}

.pt10 {
    padding-top: 10px;
}

.pb10 {
    padding-bottom: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pb20 {
    padding-bottom: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pb30 {
    padding-bottom: 30px;
}

.pt40 {
    padding-top: 40px;
}

.pb40 {
    padding-bottom: 40px;
}

.pt50 {
    padding-top: 50px;
}

.pb50 {
    padding-bottom: 50px;
}

.pt60 {
    padding-top: 60px;
}

.pb60 {
    padding-bottom: 60px;
}

.pt70 {
    padding-top: 70px;
}

.pb70 {
    padding-bottom: 70px;
}

.pt80 {
    padding-top: 80px;
}

.pb80 {
    padding-bottom: 80px;
}

.pt90 {
    padding-top: 90px;
}

.pb90 {
    padding-bottom: 90px;
}

.pt100 {
    padding-top: 100px;
}

.pb100 {
    padding-bottom: 100px;
}

.pt110 {
    padding-top: 110px;
}

.pb110 {
    padding-bottom: 110px;
}

.pt120 {
    padding-top: 120px;
}

.pb120 {
    padding-bottom: 120px;
}

.pt130 {
    padding-top: 130px;
}

.pb130 {
    padding-bottom: 130px;
}

.pt140 {
    padding-top: 140px;
}

.pb140 {
    padding-bottom: 140px;
}

.pt150 {
    padding-top: 150px;
}

.pb150 {
    padding-bottom: 150px;
}

.pt160 {
    padding-top: 160px;
}

.pb160 {
    padding-bottom: 160px;
}

.pt170 {
    padding-top: 170px;
}

.pb170 {
    padding-bottom: 170px;
}

.pt180 {
    padding-top: 180px;
}

.pb180 {
    padding-bottom: 180px;
}

.pt190 {
    padding-top: 190px;
}

.pb190 {
    padding-bottom: 190px;
}

.pt200 {
    padding-top: 200px;
}

.pb200 {
    padding-bottom: 200px;
}

@media (max-width: 1024px) {
    .pt10 {
        padding-top: 7.5px;
    }

    .pb10 {
        padding-bottom: 7.5px;
    }

    .pt20 {
        padding-top: 15px;
    }

    .pb20 {
        padding-bottom: 15px;
    }

    .pt30 {
        padding-top: 22.5px;
    }

    .pb30 {
        padding-bottom: 22.5px;
    }

    .pt40 {
        padding-top: 30px;
    }

    .pb40 {
        padding-bottom: 30px;
    }

    .pt50 {
        padding-top: 37.5px;
    }

    .pb50 {
        padding-bottom: 37.5px;
    }

    .pt60 {
        padding-top: 45px;
    }

    .pb60 {
        padding-bottom: 45px;
    }

    .pt70 {
        padding-top: 52.5px;
    }

    .pb70 {
        padding-bottom: 52.5px;
    }

    .pt80 {
        padding-top: 60px;
    }

    .pb80 {
        padding-bottom: 60px;
    }

    .pt90 {
        padding-top: 67.5px;
    }

    .pb90 {
        padding-bottom: 67.5px;
    }

    .pt100 {
        padding-top: 75px;
    }

    .pb100 {
        padding-bottom: 75px;
    }

    .pt110 {
        padding-top: 82.5px;
    }

    .pb110 {
        padding-bottom: 82.5px;
    }

    .pt120 {
        padding-top: 90px;
    }

    .pb120 {
        padding-bottom: 90px;
    }

    .pt130 {
        padding-top: 97.5px;
    }

    .pb130 {
        padding-bottom: 97.5px;
    }

    .pt140 {
        padding-top: 105px;
    }

    .pb140 {
        padding-bottom: 105px;
    }

    .pt150 {
        padding-top: 112.5px;
    }

    .pb150 {
        padding-bottom: 112.5px;
    }

    .pt160 {
        padding-top: 120px;
    }

    .pb160 {
        padding-bottom: 120px;
    }

    .pt170 {
        padding-top: 127.5px;
    }

    .pb170 {
        padding-bottom: 127.5px;
    }

    .pt180 {
        padding-top: 135px;
    }

    .pb180 {
        padding-bottom: 135px;
    }

    .pt190 {
        padding-top: 142.5px;
    }

    .pb190 {
        padding-bottom: 142.5px;
    }

    .pt200 {
        padding-top: 150px;
    }

    .pb200 {
        padding-bottom: 150px;
    }
}

@media (max-width: 599px) {
    .pt10 {
        padding-top: 5px;
    }

    .pb10 {
        padding-bottom: 5px;
    }

    .pt20 {
        padding-top: 10px;
    }

    .pb20 {
        padding-bottom: 10px;
    }

    .pt30 {
        padding-top: 15px;
    }

    .pb30 {
        padding-bottom: 15px;
    }

    .pt40 {
        padding-top: 20px;
    }

    .pb40 {
        padding-bottom: 20px;
    }

    .pt50 {
        padding-top: 25px;
    }

    .pb50 {
        padding-bottom: 25px;
    }

    .pt60 {
        padding-top: 30px;
    }

    .pb60 {
        padding-bottom: 30px;
    }

    .pt70 {
        padding-top: 35px;
    }

    .pb70 {
        padding-bottom: 35px;
    }

    .pt80 {
        padding-top: 40px;
    }

    .pb80 {
        padding-bottom: 40px;
    }

    .pt90 {
        padding-top: 45px;
    }

    .pb90 {
        padding-bottom: 45px;
    }

    .pt100 {
        padding-top: 50px;
    }

    .pb100 {
        padding-bottom: 50px;
    }

    .pt110 {
        padding-top: 55px;
    }

    .pb110 {
        padding-bottom: 55px;
    }

    .pt120 {
        padding-top: 60px;
    }

    .pb120 {
        padding-bottom: 60px;
    }

    .pt130 {
        padding-top: 65px;
    }

    .pb130 {
        padding-bottom: 65px;
    }

    .pt140 {
        padding-top: 70px;
    }

    .pb140 {
        padding-bottom: 70px;
    }

    .pt150 {
        padding-top: 75px;
    }

    .pb150 {
        padding-bottom: 75px;
    }

    .pt160 {
        padding-top: 80px;
    }

    .pb160 {
        padding-bottom: 80px;
    }

    .pt170 {
        padding-top: 85px;
    }

    .pb170 {
        padding-bottom: 85px;
    }

    .pt180 {
        padding-top: 90px;
    }

    .pb180 {
        padding-bottom: 90px;
    }

    .pt190 {
        padding-top: 95px;
    }

    .pb190 {
        padding-bottom: 95px;
    }

    .pt200 {
        padding-top: 100px;
    }

    .pb200 {
        padding-bottom: 100px;
    }
}

/* margin */
.mt5 {
    margin-top: 5px;
}

.mb5 {
    margin-bottom: 5px;
}

.mt6 {
    margin-top: 6px;
}

.mb6 {
    margin-bottom: 6px;
}

.mt7 {
    margin-top: 7px;
}

.mb7 {
    margin-bottom: 7px;
}

.mt8 {
    margin-top: 8px;
}

.mb8 {
    margin-bottom: 8px;
}

.mt9 {
    margin-top: 9px;
}

.mb9 {
    margin-bottom: 9px;
}

.mt10 {
    margin-top: 10px;
}

.mb10 {
    margin-bottom: 10px;
}

.mt11 {
    margin-top: 11px;
}

.mb11 {
    margin-bottom: 11px;
}

.mt12 {
    margin-top: 12px;
}

.mb12 {
    margin-bottom: 12px;
}

.mt13 {
    margin-top: 13px;
}

.mb13 {
    margin-bottom: 13px;
}

.mt14 {
    margin-top: 14px;
}

.mb14 {
    margin-bottom: 14px;
}

.mt15 {
    margin-top: 15px;
}

.mb15 {
    margin-bottom: 15px;
}

.mt16 {
    margin-top: 16px;
}

.mb16 {
    margin-bottom: 16px;
}

.mt17 {
    margin-top: 17px;
}

.mb17 {
    margin-bottom: 17px;
}

.mt18 {
    margin-top: 18px;
}

.mb18 {
    margin-bottom: 18px;
}

.mt19 {
    margin-top: 19px;
}

.mb19 {
    margin-bottom: 19px;
}

.mt20 {
    margin-top: 20px;
}

.mb20 {
    margin-bottom: 20px;
}

@media (max-width: 1024px) {
    .mt5 {
        margin-top: 3.75px;
    }

    .mb5 {
        margin-bottom: 3.75px;
    }

    .mt6 {
        margin-top: 4.5px;
    }

    .mb6 {
        margin-bottom: 4.5px;
    }

    .mt7 {
        margin-top: 5.25px;
    }

    .mb7 {
        margin-bottom: 5.25px;
    }

    .mt8 {
        margin-top: 6px;
    }

    .mb8 {
        margin-bottom: 6px;
    }

    .mt9 {
        margin-top: 6.75px;
    }

    .mb9 {
        margin-bottom: 6.75px;
    }

    .mt10 {
        margin-top: 7.5px;
    }

    .mb10 {
        margin-bottom: 7.5px;
    }

    .mt11 {
        margin-top: 8.25px;
    }

    .mb11 {
        margin-bottom: 8.25px;
    }

    .mt12 {
        margin-top: 9px;
    }

    .mb12 {
        margin-bottom: 9px;
    }

    .mt13 {
        margin-top: 9.75px;
    }

    .mb13 {
        margin-bottom: 9.75px;
    }

    .mt14 {
        margin-top: 10.5px;
    }

    .mb14 {
        margin-bottom: 10.5px;
    }

    .mt15 {
        margin-top: 11.25px;
    }

    .mb15 {
        margin-bottom: 11.25px;
    }

    .mt16 {
        margin-top: 12px;
    }

    .mb16 {
        margin-bottom: 12px;
    }

    .mt17 {
        margin-top: 12.75px;
    }

    .mb17 {
        margin-bottom: 12.75px;
    }

    .mt18 {
        margin-top: 13.5px;
    }

    .mb18 {
        margin-bottom: 13.5px;
    }

    .mt19 {
        margin-top: 14.25px;
    }

    .mb19 {
        margin-bottom: 14.25px;
    }

    .mt20 {
        margin-top: 15px;
    }

    .mb20 {
        margin-bottom: 15px;
    }
}

@media (max-width: 599px) {
    .mt5 {
        margin-top: 2.5px;
    }

    .mb5 {
        margin-bottom: 2.5px;
    }

    .mt6 {
        margin-top: 3px;
    }

    .mb6 {
        margin-bottom: 3px;
    }

    .mt7 {
        margin-top: 3.5px;
    }

    .mb7 {
        margin-bottom: 3.5px;
    }

    .mt8 {
        margin-top: 4px;
    }

    .mb8 {
        margin-bottom: 4px;
    }

    .mt9 {
        margin-top: 4.5px;
    }

    .mb9 {
        margin-bottom: 4.5px;
    }

    .mt10 {
        margin-top: 5px;
    }

    .mb10 {
        margin-bottom: 5px;
    }

    .mt11 {
        margin-top: 5.5px;
    }

    .mb11 {
        margin-bottom: 5.5px;
    }

    .mt12 {
        margin-top: 6px;
    }

    .mb12 {
        margin-bottom: 6px;
    }

    .mt13 {
        margin-top: 6.5px;
    }

    .mb13 {
        margin-bottom: 6.5px;
    }

    .mt14 {
        margin-top: 7px;
    }

    .mb14 {
        margin-bottom: 7px;
    }

    .mt15 {
        margin-top: 7.5px;
    }

    .mb15 {
        margin-bottom: 7.5px;
    }

    .mt16 {
        margin-top: 8px;
    }

    .mb16 {
        margin-bottom: 8px;
    }

    .mt17 {
        margin-top: 8.5px;
    }

    .mb17 {
        margin-bottom: 8.5px;
    }

    .mt18 {
        margin-top: 9px;
    }

    .mb18 {
        margin-bottom: 9px;
    }

    .mt19 {
        margin-top: 9.5px;
    }

    .mb19 {
        margin-bottom: 9.5px;
    }

    .mt20 {
        margin-top: 10px;
    }

    .mb20 {
        margin-bottom: 10px;
    }
}

.mt10 {
    margin-top: 10px;
}

.mb10 {
    margin-bottom: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mb20 {
    margin-bottom: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mb30 {
    margin-bottom: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mb40 {
    margin-bottom: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mb50 {
    margin-bottom: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mb60 {
    margin-bottom: 60px;
}

.mt70 {
    margin-top: 70px;
}

.mb70 {
    margin-bottom: 70px;
}

.mt80 {
    margin-top: 80px;
}

.mb80 {
    margin-bottom: 80px;
}

.mt90 {
    margin-top: 90px;
}

.mb90 {
    margin-bottom: 90px;
}

.mt100 {
    margin-top: 100px;
}

.mb100 {
    margin-bottom: 100px;
}

.mt110 {
    margin-top: 110px;
}

.mb110 {
    margin-bottom: 110px;
}

.mt120 {
    margin-top: 120px;
}

.mb120 {
    margin-bottom: 120px;
}

.mt130 {
    margin-top: 130px;
}

.mb130 {
    margin-bottom: 130px;
}

.mt140 {
    margin-top: 140px;
}

.mb140 {
    margin-bottom: 140px;
}

.mt150 {
    margin-top: 150px;
}

.mb150 {
    margin-bottom: 150px;
}

.mt160 {
    margin-top: 160px;
}

.mb160 {
    margin-bottom: 160px;
}

.mt170 {
    margin-top: 170px;
}

.mb170 {
    margin-bottom: 170px;
}

.mt180 {
    margin-top: 180px;
}

.mb180 {
    margin-bottom: 180px;
}

.mt190 {
    margin-top: 190px;
}

.mb190 {
    margin-bottom: 190px;
}

.mt200 {
    margin-top: 200px;
}

.mb200 {
    margin-bottom: 200px;
}

@media (max-width: 1024px) {
    .mt10 {
        margin-top: 7.5px;
    }

    .mb10 {
        margin-bottom: 7.5px;
    }

    .mt20 {
        margin-top: 15px;
    }

    .mb20 {
        margin-bottom: 15px;
    }

    .mt30 {
        margin-top: 22.5px;
    }

    .mb30 {
        margin-bottom: 22.5px;
    }

    .mt40 {
        margin-top: 30px;
    }

    .mb40 {
        margin-bottom: 30px;
    }

    .mt50 {
        margin-top: 37.5px;
    }

    .mb50 {
        margin-bottom: 37.5px;
    }

    .mt60 {
        margin-top: 45px;
    }

    .mb60 {
        margin-bottom: 45px;
    }

    .mt70 {
        margin-top: 52.5px;
    }

    .mb70 {
        margin-bottom: 52.5px;
    }

    .mt80 {
        margin-top: 60px;
    }

    .mb80 {
        margin-bottom: 60px;
    }

    .mt90 {
        margin-top: 67.5px;
    }

    .mb90 {
        margin-bottom: 67.5px;
    }

    .mt100 {
        margin-top: 75px;
    }

    .mb100 {
        margin-bottom: 75px;
    }

    .mt110 {
        margin-top: 82.5px;
    }

    .mb110 {
        margin-bottom: 82.5px;
    }

    .mt120 {
        margin-top: 90px;
    }

    .mb120 {
        margin-bottom: 90px;
    }

    .mt130 {
        margin-top: 97.5px;
    }

    .mb130 {
        margin-bottom: 97.5px;
    }

    .mt140 {
        margin-top: 105px;
    }

    .mb140 {
        margin-bottom: 105px;
    }

    .mt150 {
        margin-top: 112.5px;
    }

    .mb150 {
        margin-bottom: 112.5px;
    }

    .mt160 {
        margin-top: 120px;
    }

    .mb160 {
        margin-bottom: 120px;
    }

    .mt170 {
        margin-top: 127.5px;
    }

    .mb170 {
        margin-bottom: 127.5px;
    }

    .mt180 {
        margin-top: 135px;
    }

    .mb180 {
        margin-bottom: 135px;
    }

    .mt190 {
        margin-top: 142.5px;
    }

    .mb190 {
        margin-bottom: 142.5px;
    }

    .mt200 {
        margin-top: 150px;
    }

    .mb200 {
        margin-bottom: 150px;
    }
}

@media (max-width: 599px) {
    .mt10 {
        margin-top: 5px;
    }

    .mb10 {
        margin-bottom: 5px;
    }

    .mt20 {
        margin-top: 10px;
    }

    .mb20 {
        margin-bottom: 10px;
    }

    .mt30 {
        margin-top: 15px;
    }

    .mb30 {
        margin-bottom: 15px;
    }

    .mt40 {
        margin-top: 20px;
    }

    .mb40 {
        margin-bottom: 20px;
    }

    .mt50 {
        margin-top: 25px;
    }

    .mb50 {
        margin-bottom: 25px;
    }

    .mt60 {
        margin-top: 30px;
    }

    .mb60 {
        margin-bottom: 30px;
    }

    .mt70 {
        margin-top: 35px;
    }

    .mb70 {
        margin-bottom: 35px;
    }

    .mt80 {
        margin-top: 40px;
    }

    .mb80 {
        margin-bottom: 40px;
    }

    .mt90 {
        margin-top: 45px;
    }

    .mb90 {
        margin-bottom: 45px;
    }

    .mt100 {
        margin-top: 50px;
    }

    .mb100 {
        margin-bottom: 50px;
    }

    .mt110 {
        margin-top: 55px;
    }

    .mb110 {
        margin-bottom: 55px;
    }

    .mt120 {
        margin-top: 60px;
    }

    .mb120 {
        margin-bottom: 60px;
    }

    .mt130 {
        margin-top: 65px;
    }

    .mb130 {
        margin-bottom: 65px;
    }

    .mt140 {
        margin-top: 70px;
    }

    .mb140 {
        margin-bottom: 70px;
    }

    .mt150 {
        margin-top: 75px;
    }

    .mb150 {
        margin-bottom: 75px;
    }

    .mt160 {
        margin-top: 80px;
    }

    .mb160 {
        margin-bottom: 80px;
    }

    .mt170 {
        margin-top: 85px;
    }

    .mb170 {
        margin-bottom: 85px;
    }

    .mt180 {
        margin-top: 90px;
    }

    .mb180 {
        margin-bottom: 90px;
    }

    .mt190 {
        margin-top: 95px;
    }

    .mb190 {
        margin-bottom: 95px;
    }

    .mt200 {
        margin-top: 100px;
    }

    .mb200 {
        margin-bottom: 100px;
    }
}

.txt {
    line-height: 2.3;
}

.pa100 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.pa50 {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

/* left right */
@media (max-width: 1024px) {
    .tb>[class^="left-cmn"] {
        width: 100%;
    }

    .tb>[class^="right-cmn"] {
        width: 100%;
    }

    .tb>.right-cmn01 {
        margin-top: 10px;
    }

    .tb>.right-cmn02 {
        margin-top: 15px;
    }

    .tb>.right-cmn03 {
        margin-top: 20px;
    }

    .tb>.right-cmn {
        margin-top: 25px;
    }
}

@media (max-width: 599px) {
    [class^="left-cmn"] {
        width: 100%;
    }

    [class^="right-cmn"] {
        width: 100%;
    }

    .right-cmn01 {
        margin-top: 5px;
    }

    .right-cmn02 {
        margin-top: 10px;
    }

    .right-cmn03 {
        margin-top: 15px;
    }

    .right-cmn {
        margin-top: 20px;
    }
}

/* 偶数と奇数番目で左右反転No.2 */
.up-fxd-even02>*:nth-child(even)>.up-d-flex,
.up-fxd-odd02>*:nth-child(odd)>.up-d-flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

/* calc */
.up-fxd-even02>*:nth-child(even) .calc1000,
.up-fxd-odd02>*:nth-child(even) ._calc1000 {
    padding-left: calc(50vw - 500px);
}

.up-fxd-even02>*:nth-child(odd) .calc1000,
.up-fxd-odd02>*:nth-child(odd) ._calc1000 {
    padding-right: calc(50vw - 500px);
}

.up-fxd-even02>*:nth-child(even) .calc1200,
.up-fxd-odd02>*:nth-child(even) ._calc1200 {
    padding-left: calc(50vw - 600px);
}

.up-fxd-even02>*:nth-child(odd) .calc1200,
.up-fxd-odd02>*:nth-child(odd) ._calc1200 {
    padding-right: calc(50vw - 600px);
}

.up-fxd-even02>*:nth-child(even) .calc1100,
.up-fxd-odd02>*:nth-child(even) ._calc1100 {
    padding-left: calc(50vw - 550px);
}

.up-fxd-even02>*:nth-child(odd) .calc1100,
.up-fxd-odd02>*:nth-child(odd) ._calc1100 {
    padding-right: calc(50vw - 550px);
}

@media (max-width: 1200px) {
    .up-fxd-even02>*:nth-child(even) .calc1200,
    .up-fxd-odd02>*:nth-child(even) ._calc1200 {
        padding-left: 2vw;
    }

    .up-fxd-even02>*:nth-child(odd) .calc1200,
    .up-fxd-odd02>*:nth-child(odd) ._calc1200 {
        padding-right: 2vw;
    }
}

@media (max-width: 1100px) {
    .up-fxd-even02>*:nth-child(even) .calc1100,
    .up-fxd-odd02>*:nth-child(even) ._calc1100 {
        padding-left: 2vw;
    }

    .up-fxd-even02>*:nth-child(odd) .calc1100,
    .up-fxd-odd02>*:nth-child(odd) ._calc1100 {
        padding-right: 2vw;
    }
}

@media (max-width: 1024px) {
    .up-fxd-even02>*:nth-child(even) .calc1000,
    .up-fxd-odd02>*:nth-child(even) ._calc1000 {
        padding-left: 2vw;
    }

    .up-fxd-even02>*:nth-child(odd) .calc1000,
    .up-fxd-odd02>*:nth-child(odd) ._calc1000 {
        padding-right: 2vw;
    }
}

@media (max-width: 599px) {
    .up-fxd-even02>*:nth-child(even) .calc1000,
    .up-fxd-odd02>*:nth-child(even) ._calc1000,
    .up-fxd-even02>*:nth-child(even) .calc1200,
    .up-fxd-odd02>*:nth-child(even) ._calc1200,
    .up-fxd-even02>*:nth-child(even) .calc1100,
    .up-fxd-odd02>*:nth-child(even) ._calc1100 {
        padding-left: 0;
    }

    .up-fxd-even02>*:nth-child(odd) .calc1000,
    .up-fxd-odd02>*:nth-child(odd) ._calc1000,
    .up-fxd-even02>*:nth-child(odd) .calc1200,
    .up-fxd-odd02>*:nth-child(odd) ._calc1200,
    .up-fxd-even02>*:nth-child(odd) .calc1100,
    .up-fxd-odd02>*:nth-child(odd) ._calc1100 {
        padding-right: 0;
    }

    .inner\@sp {
        width: 96%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* left-calc, right-calc */
.left-calc01 {
    padding-left: calc(50vw - 500px);
}

.right-calc01 {
    padding-right: calc(50vw - 500px);
}

.left-calc02 {
    padding-left: calc(50vw - 600px);
}

.right-calc02 {
    padding-right: calc(50vw - 600px);
}

@media (max-width: 1200px) {
    .left-calc02 {
        padding-left: 2vw;
    }

    .right-calc02 {
        padding-right: 2vw;
    }
}

@media (max-width: 1024px) {
    .left-calc01 {
        padding-left: 2vw;
    }

    .right-calc01 {
        padding-right: 2vw;
    }
}

@media (max-width: 599px) {
    .left-calc01,
    .left-calc02 {
        padding-left: 0;
    }

    .right-calc01,
    .right-calc02 {
        padding-right: 0;
    }
}

/* ---------------------------
コンポーネント
----------------------------- */
.back01 {
    background-image: url(/import/tenant_1/160.16.235.150/html/images/back01.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.icon01 {
    width: 17px;
    height: 17px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 3px;
    font-size: 12px;
    color: #333;
    border-radius: 50%;
    background-color: #ebebeb;
}

.icon03 {
    width: 15px;
    height: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 7px;
    font-size: 10px;
    color: #fff;
    border-radius: 50%;
    background-color: #696969;
}

.icon04 {
    min-width: 85px;
    padding: 0 10px;
    text-align: center;
    position: relative;
}

.icon04:before {
    content: "";
    width: 3px;
    height: 66px;
    background-image: url(/import/tenant_1/160.16.235.150/html/images/shape03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

.icon04:after {
    content: "";
    width: 13px;
    height: 66px;
    background-image: url(/import/tenant_1/160.16.235.150/html/images/shape04.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    position: absolute;
    top: 0;
    right: 0;
}

.icon04 .text {
    display: block;
    font-weight: 500;
}

.icon05 {
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    color: #ef8001;
    border: 3px solid #ef8001;
    border-radius: 50%;
}

.triangle01 {
    position: relative;
}

.triangle01:after {
    content: "";
    width: 0;
    height: 0;
    border-width: 50px 65px 0 65px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    position: absolute;
    bottom: 0;
    left: 50%;
}

.arrow01 {
    position: relative;
}

.arrow01:after {
    content: "";
    width: 23px;
    height: 212px;
    background-image: url(/import/tenant_1/160.16.235.150/html/images/shape05.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    position: absolute;
    top: 50%;
    right: 0;
}

/* 背景色 */
.bgc01 {
    background: #ef8000;
    background: -webkit-gradient(linear, left top, right top, from(#ef8000), to(#e95808));
    background: linear-gradient(90deg, #ef8000 0%, #e95808 100%);
}

.bgc02 {
    background-color: #f4f6fa;
}

.bgc03 {
    background-color: #faf5f2;
}

.bgc04 {
    background-color: #faf5f2;
}

.bgc05 {
    background: #ef8001;
    background: linear-gradient(135deg, #ef8001 0%, #e95708 100%);
}

.bgc06 {
    background: #f9c822;
    background: -webkit-gradient(linear, left top, right top, from(#f9c822), to(#ff6c00));
    background: linear-gradient(90deg, #f9c822 0%, #ff6c00 100%);
}

.bgc-white {
    background-color: #fff;
}

/* ボタン */
.btn-cmn01 a,
.btn-cmn01 button {
    width: 262px;
    height: 62px;
    display: inline-block;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    border: 1px solid #7ab9ff;
    border-radius: 1000px;
    background: #3bd2ff;
    background: -webkit-gradient(linear, left top, right top, from(#3bd2ff), to(#2c86eb));
    background: linear-gradient(90deg, #3bd2ff 0%, #2c86eb 100%);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

.btn-cmn01 a .yen,
.btn-cmn01 button .yen {
    width: 25px;
    height: 28px;
    font-size: 120%;
    white-space: nowrap;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 15%;
}

.btn-cmn01 a .text,
.btn-cmn01 button .text {
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 55%;
}

.btn-cmn01 a:before,
.btn-cmn01 button:before {
    content: "";
    width: 2px;
    height: 33px;
    background-color: #38cbff;
    -webkit-box-shadow: 1px 0 1px #2c9bec;
    box-shadow: 1px 0 1px #2c9bec;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 30%;
}

.btn-cmn01 a:after,
.btn-cmn01 button:after {
    content: "\f054";
    width: 37px;
    height: 37px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 70%;
    border-radius: 50%;
    background: #227edc;
    background: -webkit-gradient(linear, left top, right top, from(#227edc), to(#30a6f4));
    background: linear-gradient(90deg, #227edc 0%, #30a6f4 100%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 15px;
}

.btn-cmn01.__small a,
.btn-cmn01.__small button {
    width: 161px;
    height: 43px;
    font-size: 14px;
}

.btn-cmn01.__small a:before,
.btn-cmn01.__small button:before {
    width: 1px;
    height: 22px;
    left: 27%;
}

.btn-cmn01.__small a .yen,
.btn-cmn01.__small button .yen {
    width: 18px;
    height: 20px;
    left: 10%;
}

.btn-cmn01.__small a .text,
.btn-cmn01.__small button .text {
    left: 53%;
}

.btn-cmn01.__small a:after,
.btn-cmn01.__small button:after {
    width: 23px;
    height: 23px;
    right: 11px;
}

.btn-cmn01.__orange a,
.btn-cmn01.__orange button {
    border-color: #f9c823;
    background: #f7c727;
    background: -webkit-gradient(linear, left top, right top, from(#f7c727), to(#f98404));
    background: linear-gradient(90deg, #f7c727 0%, #f98404 100%);
}

.btn-cmn01.__orange a:before,
.btn-cmn01.__orange button:before {
    background-color: #fddd6b;
}

.btn-cmn01.__orange a:after,
.btn-cmn01.__orange button:after {
    background: #f97903;
    background: -webkit-gradient(linear, left top, right top, from(#f97903), to(#fbbd0e));
    background: linear-gradient(90deg, #f97903 0%, #fbbd0e 100%);
}

.btn-cmn01.__long a,
.btn-cmn01.__long button {
    width: 241px;
}

.btn-cmn01.__border-none a:before,
.btn-cmn01.__border-none button:before {
    content: none;
}

.btn-cmn01.__border-none a .text,
.btn-cmn01.__border-none button .text {
    left: 50%;
}

.btn-cmn02 a,
.btn-cmn02 button {
    min-width: 152px;
    display: inline-block;
    padding: 10px 10px 10px 0;
    font-weight: 500;
    color: #4f6fad;
    text-align: center;
    border: 1px solid #7cbaff;
    border-radius: 1000px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

.btn-cmn02 a:after,
.btn-cmn02 button:after {
    content: "\f054";
    width: 23px;
    height: 23px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 70%;
    color: #fff;
    border-radius: 50%;
    background: #38c5ff;
    background: -webkit-gradient(linear, left top, right top, from(#38c5ff), to(#3797f2));
    background: linear-gradient(90deg, #38c5ff 0%, #3797f2 100%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 12px;
}

.btn-cmn02.__back a,
.btn-cmn02.__back button {
    padding: 10px 0 10px 10px;
}

.btn-cmn02.__back a:after,
.btn-cmn02.__back button:after {
    content: "\f053";
    left: 12px;
    right: auto;
}

.btn-cmn02.__long a,
.btn-cmn02.__long button {
    min-width: 190px;
}

.btn-cmn02.__long2 a,
.btn-cmn02.__long2 button {
    min-width: 220px;
}

.btn-cmn02.__blue a,
.btn-cmn02.__blue button {
    color: #fff;
    background: #3bd2ff;
    background: -webkit-gradient(linear, left top, right top, from(#3bd2ff), to(#2c86eb));
    background: linear-gradient(90deg, #3bd2ff 0%, #2c86eb 100%);
}

.btn-cmn02.__100\% a,
.btn-cmn02.__100\% button {
    width: 100%;
}

@media (max-width: 1024px) {
    .btn-cmn01 a,
    .btn-cmn01 button {
        width: 200px;
        height: 45px;
        padding: 8px 8px 8px 0;
        font-size: 14px;
        font-size: 13px;
    }

    .btn-cmn01 a:before,
    .btn-cmn01 button:before {
        width: 1px;
        height: 25px;
    }

    .btn-cmn01 a:after,
    .btn-cmn01 button:after {
        width: 28px;
        height: 28px;
        right: 10px;
    }

    .btn-cmn02 a,
    .btn-cmn02 button {
        min-width: 140px;
        font-size: 13px;
    }

    .btn-cmn02 a:after,
    .btn-cmn02 button:after {
        width: 20px;
        height: 20px;
        right: 10px;
    }

    .btn-cmn02.__long a,
    .btn-cmn02.__long button {
        min-width: 170px;
    }



    .btn-cmn02.__detail a,
    .btn-cmn02.__detail button {
        min-width: 120px;
        padding: 5px 5px 5px 0;
        font-size: 11px;
    }

    .btn-cmn02.__detail a:after,
    .btn-cmn02.__detail button:after {
        width: 16px;
        height: 16px;
        right: 6px;
    }

    .icon04 {
        min-width: 70px;
        padding: 0 5px;
    }

    .icon04 img {
        width: 25px;
    }

    .icon04 .text {
        font-size: 12px;
    }

    .icon04:before {
        width: 2px;
        height: 50px;
    }

    .icon04:after {
        width: 10px;
        height: 50px;
    }

    .icon03 {
        width: 12px;
        height: 12px;
        margin-left: 4px;
        font-size: 8px;
    }
}

@media (max-width: 599px) {
    .btn-cmn01 a,
    .btn-cmn01 button {
        width: 170px;
        height: 38px;
        font-size: 12px;
    }

    .btn-cmn01 a:after,
    .btn-cmn01 button:after {
        width: 24px;
        height: 24px;
        right: 8px;
    }

    .btn-cmn01.__small a,
    .btn-cmn01.__small button {
        width: 150px;
        height: 38px;
        font-size: 12px;
    }

    .btn-cmn01.__small a:after,
    .btn-cmn01.__small button:after {
        right: 8px;
    }

    .btn-cmn01.__long a,
    .btn-cmn01.__long button {
        width: 190px;
        height: 38px;
        font-size: 12px;
    }
}

/* タイトル、見出し */
.title01 {
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500;
    text-align: center;
    border: 1px solid #fff;
    border-radius: 1000px;
    background-color: #fff;
}

.title01 .icon {
    display: inline-block;
    margin-right: 7px;
    font-size: 18px;
}

.title01 .icon:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.title01 .icon.setting:before {
    content: "\f013";
}

.title01 .icon.mail:before {
    content: "\f0e0";
}

.title01 .icon.phone:before {
    content: "\f095";
}

.title01.yellow {
    color: #fff;
    border-color: #fbb343;
    background-color: #fbb343;
}

.title01.blue {
    color: #fff;
    border-color: #3d62a7;
    background-color: #3d62a7;
}

.title01.light-blue {
    color: #fff;
    border-color: #1da0f2;
    background-color: #1da0f2;
}

.title01.color-yellow {
    color: #fbb343;
    border-color: #fbb343;
}

.title01.color-blue {
    color: #3d62a7;
    border-color: #3d62a7;
}

.title01.color-light-blue {
    color: #1da0f2;
    border-color: #1da0f2;
}

.popular {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    position: relative;
}

.popular .rebon {
    width: 170px;
}

.popular .text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500;
    font-size: 20px;
    color: #fff;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 5%;
}

.popular .text img {
    margin-right: 5px;
}

.title02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
}

.title02 .icon {
    width: 60px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-left: 2px solid #ebebeb;
    border-right: 2px solid #ebebeb;
}

.title02 .icon img {
    width: 34px;
}

.title02 .text {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 15px;
    font-weight: bold;
}

.title03 {
    padding-bottom: 10px;
    font-weight: 500;
    border-bottom: 1px solid #e7e7e7;
}

.title04 {
    padding: 10px;
    font-weight: 500;
    color: #fff;
    background: #f7c727;
    background: -webkit-gradient(linear, left top, right top, from(#f7c727), to(#f98404));
    background: linear-gradient(90deg, #f7c727 0%, #f98404 100%);
}

.heading01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 60px;
}

.heading01 img {
    width: 70px;
}

.heading01 span {
    margin-left: 15px;
    font-weight: bold;
    font-size: 40px;
}

@media (max-width: 1024px) {
    .heading01 img {
        width: 60px;
    }

    .heading01 span {
        margin-left: 10px;
        font-size: 32px;
    }
}

@media (max-width: 599px) {
    .title01 .icon {
        margin-right: 5px;
        font-size: 16px;
    }

    .title01 .text {
        font-size: 13px;
    }

    .title02 {
        margin-bottom: 15px;
    }

    .heading01 {
        margin-bottom: 40px;
    }

    .heading01 img {
        width: 45px;
    }

    .heading01 span {
        font-size: 24px;
    }

    .title04 {
        padding: 7px;
    }
}

.gnav .toggle {
    width: 42px;
    height: 42px;
    display: block;
    display: none;
    opacity: 0.8;
    cursor: pointer;
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 999;
}

.gnav .toggle button {
    border-style: inherit;
}

.gnav .bar {
    width: 28px;
    height: 2px;
    display: block;
    margin-top: -1px;
    padding: 0;
    text-indent: 9999px;
    background: #000;
    -webkit-transition: ease 0.4s;
    transition: ease 0.4s;
    position: absolute;
    top: 50%;
    left: 7px;
}

.gnav .bar:before {
    content: "";
    width: 28px;
    height: 2px;
    display: block;
    background: #000;
    position: absolute;
    top: -10px;
    left: 0;
}

.gnav .bar:after {
    content: "";
    width: 28px;
    height: 2px;
    display: block;
    background: #000;
    position: absolute;
    top: 10px;
    left: 0;
}

.gnav.action .toggle .bar {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.gnav.action .toggle .bar:after,
.gnav.action .toggle .bar:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    left: 0;
}

@media (max-width: 1024px) {
    .gnav .toggle {
        display: block;
        text-indent: 999px;
    }
}

/* gnav アコーディオン */
.gnav {
    width: calc(100% - 170px);
}

.g-list {
    max-width: 570px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.g-item {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.g-item>a {
    display: block;
    padding: 10px 10px;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
}

.pull {
    position: relative;
}

.accordionbox {
    width: 200px;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    left: 50%;
    z-index: 10;
}

.accordionbox ul {
    background-color: #fff;
}

.accordionbox li {
    text-align: center;
    border-bottom: 1px solid #ffa569;
}

.accordionbox a {
    display: block;
    padding: 10px;
}

.accordionbox a:hover {
    background-color: rgba(255, 102, 0, 0.29);
}

.g-item.pull:hover .accordionbox {
    visibility: visible;
    opacity: 1;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.gnav.fixed {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
}

.header-logo img {
    width: 142px;
}

header {
    padding: 10px 0;
    background-color: rgba(255, 255, 255, 0.7);
}

header.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
}

.pc-none {
    display: none;
}

@media (max-width: 1024px) {
    .pc-none {
        display: block;
    }

    .overlay:after {
        content: "";
        width: 100%;
        height: 100vh;
        background: #000;
        opacity: 0.3;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 150;
    }

    .gnavinn {
        width: 90%;
        max-width: 400px;
        height: 100vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 30px 15px;
        padding-bottom: 100px;
        border: none;
        background: white;
        background-color: #fff;
        opacity: 1;
        -webkit-transition: height ease 0.1s, opacity ease 0.4s;
        -webkit-transition: 0.4s ease;
        transition: height ease 0.1s, opacity ease 0.4s;
        transition: 0.4s ease;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 250;
    }

    .gnav.action .gnavinn {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    /* ハンバーガーメニュー内 */
    .g-item>a {
        padding: 10px 15px;
        text-align: left;
        position: relative;
    }

    .g-item>a:after {
        content: "\f054";
        display: block;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        -webkit-transform: translate(50%, -50%);
        transform: translate(50%, -50%);
        position: absolute;
        top: 50%;
        right: 10%;
    }

    /* .g-item.pull > a:after {
    background-image: none;
    content: "+";
    font-weight: bold;
    height: auto;
    right: 11%;
  } */


    .accordionbox .g-item>a {
        padding-left: 2em;
    }

    .accordionbox {
        width: 100%;
        visibility: visible;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: static;
    }

    /* .g-item.pull > a {
    pointer-events: none;
  } */
}

/* ---------------------------
トップページメインビジュアル
----------------------------- */
.top-mv-box {
    padding: 60px 0;
    /* margin-bottom: 8%; */
}

.top-mv-box .left {
    font-weight: 500;
    color: #fff;
    position: relative;
    z-index: 2;
}

.top-mv-box .left .sub {
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.02em;
}

.top-mv-box .left .title {
    margin-top: 10px;
    font-size: 36px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

.top-mv-box .right {
    position: relative;
}

.top-mv-box .icon-left {
    width: 423px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    position: absolute;
    top: 30px;
    left: 45px;
    z-index: 1;
}

.top-mv-box .icon-right {
    width: 39px;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 1;
}

.function-list {
    width: 250px;
    padding: 40px 45px;
    border-radius: 20px;
    background-color: #fff;
    -webkit-box-shadow: inset 3px 3px 12px rgba(0, 0, 0, 0.4);
    box-shadow: inset 3px 3px 12px rgba(0, 0, 0, 0.4);
}

.function-list li {
    padding: 12px 0 8px 35px;
    font-weight: 500;
    border-bottom: 1px solid #ebebeb;
    position: relative;
}

.function-list li:before {
    content: "";
    width: 23px;
    height: 23px;
    background-image: url(/import/tenant_1/160.16.235.150/html/images/icon02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 10px;
    left: 0;
}

.top-mv-tab {
    position: absolute;
    bottom: 0;
    left: 50px;
    z-index: 5;
}

.top-mv-tab li {
    width: 40px;
    height: 30px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-color: #fff;
    -webkit-box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.1);
}

.top-mv-tab li+li {
    margin-left: 7px;
}

.top-mv-tab .logo {
    width: 160px;
    height: 50px;
}

.top-mv-tab .logo img {
    width: 102px;
}

.top-mv-tab .yellow {
    background-color: #fed000;
}

.top-mv-tab .pink {
    background-color: #ffadd1;
}

.floating-btn {
    padding: 2px;
    border-radius: 15px;
    background: #7fbaff;
    background: -webkit-gradient(linear, left top, right top, from(#7fbaff), to(#7fbaff));
    background: linear-gradient(90deg, #7fbaff 0%, #7fbaff 100%);
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    position: fixed;
    bottom: 60px;
    right: 60px;
    z-index: 100;
}

.floating-btn .wrap {
    padding: 15px;
    border-radius: 13px;
    background: #3ad1ff;
    background: -webkit-gradient(linear, left top, right top, from(#3ad1ff), to(#3787ef));
    background: linear-gradient(90deg, #3ad1ff 0%, #3787ef 100%);
    position: relative;
}

.floating-btn .box {
    padding: 10px 15px;
    border-radius: 8px;
    background-color: #fff;
}

.floating-btn .close-btn {
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #3d62a6;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    position: absolute;
    top: 0;
    right: 0;
}

.floating-btn .close-btn:hover {
    cursor: pointer;
}

.floating-btn .text1 {
    font-weight: bold;
    font-size: 20px;
    color: #3d62a6;
    line-height: 1;
}

.floating-btn .text2 {
    font-weight: bold;
    font-size: 40px;
    color: #ef8000;
    line-height: 1;
}

.floating-btn .text3 {
    font-weight: bold;
    font-size: 30px;
    color: #3d62a6;
}

.floating-btn .shape {
    vertical-align: bottom;
}

.floating-box {
    width: 100%;
    height: 100%;
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}

.floating-box .box {
    width: 90%;
    max-width: 600px;
    padding: 5%;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.floating-box .close-btn {
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #3d62a6;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    position: absolute;
    top: 0;
    right: 0;
}

.floating-box .close-btn:hover {
    cursor: pointer;
}

.floating-box .text1 {
    font-weight: bold;
    font-size: 20px;
    color: #3d62a6;
    line-height: 1;
}

.floating-box .text2 {
    font-weight: bold;
    font-size: 40px;
    color: #ef8000;
    line-height: 1;
}

.floating-box .text3 {
    font-weight: bold;
    font-size: 30px;
    color: #3d62a6;
}

.floating-box .shape {
    vertical-align: bottom;
}

.floating-form input[type=text] {
    width: 100%;
    padding: 10px;
    border: 1px solid #e2e2e2;
    border-radius: 5px;
    background-color: #fafafa;
}

.floating-form dl {
    padding: 10px 0;
}

.floating-form dt {
    margin-bottom: 5px;
}

/* 電話番号とWEB予約固定バナー */
.sp-fix-box {
    width: 100%;
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 20;
}

.sp-fix-box li {
    width: 50%;
}

.sp-fix-box li * {
    height: 100%;
}

.sp-fix-box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 5px;
    font-weight: bold;
    color: #fff;
}

.sp-fix-box a:before {
    margin-right: 7px;
}

.sp-fix-box .contact a {
    background-color: #f8ce84;
}

.sp-fix-box .contact a:before {
    content: "\f0e0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.sp-fix-box .tel a {
    background-color: #96cfc7;
}

.sp-fix-box .tel a:before {
    content: "\f095";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.sp-fix-btn {
    width: 100%;
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 20;
}

.sp-fix-btn li {
    width: 50%;
}

.sp-fix-btn a,
.sp-fix-btn button {
    width: 100% !important;
    display: block;
    border-radius: 0;
}

@media (max-width: 599px) {
    .sp-fix-btn {
        display: block;
    }
}

.popup {
    width: 373px;
    visibility: hidden;
    padding: 15px 18px;
    font-size: 12px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    opacity: 0;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    position: absolute;
    top: -10px;
    left: 50%;
    z-index: 2;
}

.popup:after {
    content: "";
    width: 0;
    height: 0;
    border-width: 13px 7.5px 0 7.5px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    position: absolute;
    bottom: 0;
    left: 50%;
}

@media (max-width: 1024px) {
    .popup {
        width: 120%;
        max-width: 155px;
    }
}

.top01 dl {
    padding: 0 15px 15px;
    position: relative;
}

.top01 dl:hover {
    cursor: pointer;
}

.top01 dd {
    width: 90px;
    height: 90px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.top01 dt {
    margin-top: 10px;
    font-size: 12px;
    text-align: center;
}

.top01 dl:hover .popup {
    visibility: visible;
    opacity: 1;
}

.top02 .ttl {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 33px;
}

.function-list02 dl {
    background-color: #faf5f2;
    position: relative;
}

.function-list02 dl:hover {
    cursor: pointer;
}

.function-list02 dl:hover .popup {
    visibility: visible;
    opacity: 1;
}

.function-list02 dt {
    height: 50px;
    font-weight: 500;
    font-size: 12px;
    color: #ef8000;
}

.logo-big {
    width: 206px;
}

.top03 dl {
    padding: 10% 8% 8%;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
    background-color: #fff;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    position: relative;
}

.top03 dl:hover {
    cursor: pointer;
}

.top03 dl:hover .popup {
    visibility: visible;
    opacity: 1;
}

.top03 .ttl {
    margin-bottom: 20px;
}

.top03 .tbox {
    margin-top: 20px;
}

.top03 .tbox li+li {
    margin-top: 5px;
}

.top03 .icon {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background-color: #faf5f2;
}

.top04 {
    padding: 4%;
    border: 1px solid #ccc;
    border-radius: 20px;
    position: relative;
}

.top04 .ttl {
    padding: 0 7%;
    font-weight: 500;
    white-space: nowrap;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 0;
    left: 50%;
}

.top04 .icon {
    height: 80px;
}

.top04 .txt {
    margin-top: 10px;
}

.top04 dl {
    padding: 10px 0 0;
}

.top04 li {
    width: 33.333%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.top04 li+li {
    position: relative;
}

.top04 li+li:before {
    content: "";
    width: 1px;
    height: 90%;
    background-color: #ccc;
    position: absolute;
    top: 0;
    left: 0;
}

.top05 {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
}

.top06 dl {
    overflow: hidden;
    padding-top: 100%;
    background-color: #fff;
    position: relative;
}

.top06 dl:before {
    content: "";
    width: 100%;
    height: 50%;
    background: #f7c727;
    background: -webkit-gradient(linear, left top, right top, from(#f7c727), to(#f98404));
    background: linear-gradient(90deg, #f7c727 0%, #f98404 100%);
    position: absolute;
    top: 0;
    left: 0;
}

.top06 dl:after {
    content: "";
    width: 100%;
    height: 44%;
    background-color: #fff;
    -webkit-transform: skew(-50deg);
    transform: skew(-50deg);
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
    position: absolute;
    top: 7%;
    left: -1%;
}

.top06 .tbox {
    text-align: center;
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
}

.top06 .tbox .ja {
    font-weight: 500;
}

.top06 .tbox .en {
    font-size: 12px;
}

.top06 .icon {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 16%;
    left: 16%;
}

.top07 {
    padding: 0 50px;
}

.top07 dl {
    padding: 0 8%;
}

.top07 .company {
    margin-top: 25px;
}

.top07 .ttl {
    margin-top: 10px;
}

.top07 .text {
    margin-top: 10px;
}

.top07 .btn-slick {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.2);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}

.top07 .btn-slick:hover {
    cursor: pointer;
}

.top07 .btn-slick:before {
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
}

.top07 .btn-slick.btn-back {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    left: 0;
}

.top07 .btn-slick.btn-back:before {
    content: "\f053";
}

.top07 .btn-slick.btn-next {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    right: 0;
}

.top07 .btn-slick.btn-next:before {
    content: "\f054";
}

.faq-icon {
    width: 50px;
    height: 50px;
    font-weight: bold;
    font-size: 30px;
    color: #fff;
    background: #f7c727;
    background: -webkit-gradient(linear, left top, right top, from(#f7c727), to(#f98404));
    background: linear-gradient(90deg, #f7c727 0%, #f98404 100%);
    position: relative;
}

.faq-icon span {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 43%;
    left: 50%;
}

.top08 {
    padding: 6% 4%;
    border-radius: 10px;
}

.top08 li {
    padding: 4% 7%;
    border-radius: 10px;
    background-color: #fff;
}

.top08 li+li {
    margin-top: 25px;
}

.top08 dt {
    width: calc(100% - 85px);
    padding-top: 5px;
}

.top08 .answer {
    margin-top: 10px;
}

.top08 .answer .faq-icon {
    background: #3bd2ff;
    background: -webkit-gradient(linear, left top, right top, from(#3bd2ff), to(#2c86eb));
    background: linear-gradient(90deg, #3bd2ff 0%, #2c86eb 100%);
}

.top08 .answer .faq-icon span {
    top: 47%;
}

.top08 .answer dt {
    padding-top: 10px;
}

.footer-logo a {
    width: 165px;
    display: inline-block;
}

.foot01 .address {
    margin-top: 15px;
    font-size: 12px;
}

.footer-nav li {
    padding: 5px 0;
}

.footer-nav:first-of-type li+li {
    padding-left: 1em;
}


.copy-right {
    padding: 15px 0;
    font-size: 12px;
    text-align: center;
    border-top: 1px solid #e7e7e7;
}

.top-news-list .date {
    width: 70px;
}

.top-news-list .ttl {
    width: calc(100% - 90px);
}

.top-news-list li {
    padding: 5% 12%;
    border-bottom: 1px solid #e7e7e7;
}

/* トップページタブレット */
@media (max-width: 1024px) {
    .floating-btn {
        margin-top: 40px;
        position: static;
    }

    .floating-btn .close-btn {
        display: none;
    }

    .function-list {
        width: 200px;
        padding: 20px 25px;
        border-radius: 15px;
    }

    .function-list li {
        padding: 10px 0 5px 30px;
        font-size: 10px;
    }

    .function-list li:before {
        content: "";
        width: 18px;
        height: 18px;
    }

    .top-mv-box .icon-left {
        width: 220px;
        top: auto;
        bottom: -50px;
        left: 24px;
    }

    .top-mv-box .icon-right {
        width: 18px;
        bottom: 15px;
        right: 15px;
    }

    .top-mv-box .left .sub {
        font-size: 18px;
    }

    .top-mv-box .left .title {
        font-size: 26px;
    }

    .top-mv-tab li {
        width: 30px;
        height: 20px;
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }

    .top-mv-tab .logo {
        width: 120px;
        height: 35px;
    }

    .top-mv-tab .logo img {
        width: 75px;
    }

    .top-mv-box {
        padding: 40px 0;
    }

    .top-mv-tab {
        left: 2%;
    }

    .header-logo img {
        width: 120px;
    }

    .function-list02 dt {
        height: 40px;
    }

    .top02 .ttl {
        padding-left: 25px;
    }

    .logo-big {
        width: 180px;
    }

    .triangle01:after {
        border-width: 35px 50px 0 50px;
    }

    .top03 .tbox {
        font-size: 12px;
    }

    .top03 .logo img {
        width: 90px;
    }

    .top03 .icon {
        width: 120px;
        height: 120px;
    }

    .top03 .icon img {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }

    .top04 .icon {
        height: 64px;
    }

    .top04 .icon img {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }

    .top04 .btn-cmn02 a,
    .top04 .btn-cmn02 button {
        width: 100%;
        min-width: auto;
    }

    .top06 .icon img {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }

    .faq-icon {
        width: 40px;
        height: 40px;
        font-size: 24px;
    }

    .top08 dt {
        width: calc(100% - 65px);
    }

    .footer-nav li {
        font-size: 12px;
    }

    .top04 .ttl {
        font-size: 28px;
    }

    .top05 .ttl {
        font-size: 28px;
    }
}

@media (max-width: 599px) {
    .sp-fix-box {
        display: block;
    }

    .header-logo img {
        width: 100px;
    }

    .top-mv-box .left {
        width: 100%;
    }

    .top-mv-box .left .sub {
        font-size: 14px;
    }

    .top-mv-box .left .title {
        font-size: 24px;
    }

    .function-list li {
        padding: 5px 0 5px 20px;
    }

    .function-list li:before {
        width: 13px;
        height: 13px;
        top: 7px;
    }

    .function-list {
        width: 155px;
        padding: 10px 15px;
        border-radius: 10px;
    }

    .top-mv-box .icon-left {
        width: 165px;
        bottom: -2px;
        left: 18px;
    }

    .top-mv-box .icon-right {
        width: 13px;
        bottom: 12px;
        right: 12px;
    }

    .top-mv-tab .logo {
        width: 96px;
        height: 30px;
    }

    .top-mv-tab .logo img {
        width: 60px;
    }

    .top-mv-tab li {
        width: 24px;
        height: 18px;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .top-mv-tab li+li {
        margin-left: 5px;
    }

    .top-mv-box {
        padding: 30px 0 40px;
    }

    .top-mv-box .right {
        margin-right: 10%;
    }

    .top-mv-box .left {
        text-align: center;
    }

    .top01 dl {
        padding: 0 10px 15px;
    }

    .triangle01:after {
        border-width: 28px 40px 0 40px;
    }

    .logo-big {
        width: 130px;
    }

    .top03 dl {
        border-top-left-radius: 12px;
        border-bottom-right-radius: 12px;
    }

    .top03 .center {
        width: 100%;
    }

    .top03 .center .box {
        padding: 15px 0;
    }

    .top03 .ttl {
        margin-bottom: 10px;
        font-size: 14px;
    }

    .top03 .tbox {
        margin-top: 10px;
        font-size: 10px;
    }

    .top03 .icon {
        width: 100px;
        height: 100px;
    }

    .top03 .icon img {
        -webkit-transform: scale(0.6);
        transform: scale(0.6);
    }

    .top04 .ttl {
        font-size: 18px;
    }

    .top04 {
        padding: 7% 4% 4%;
        border-radius: 15px;
    }

    .top04 .icon img {
        -webkit-transform: scale(0.6);
        transform: scale(0.6);
    }

    .top04 .icon {
        height: 54px;
    }

    .top04 li {
        width: 100%;
    }

    .top04 li+li:before {
        content: none;
    }

    .top04 .txt {
        margin-top: 0;
    }

    .top04 .btn-cmn02 {
        margin-top: 10px;
    }

    .top05 .ttl {
        font-size: 18px;
    }

    .top06 .icon img {
        -webkit-transform: scale(0.6);
        transform: scale(0.6);
    }

    .top07 .btn-slick:before {
        font-size: 14px;
    }

    .top07 .btn-slick {
        width: 30px;
        height: 30px;
    }

    .top07 .company {
        margin-top: 15px;
    }

    .top07 .ttl {
        margin-top: 5px;
    }

    .top07 .text {
        margin-top: 5px;
    }

    .faq-icon {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }

    .top08 dt {
        width: calc(100% - 45px);
        font-size: 14px;
    }

    .top08 .answer dt {
        padding-top: 5px;
        font-size: 12px;
    }

    .top08 li {
        border-radius: 7px;
    }

    .top08 li+li {
        margin-top: 15px;
    }

    .top-news-list li {
        padding: 3% 5%;
    }

    .copy-right {
        padding: 15px 0 60px;
        font-size: 10px;
    }

    .footer-nav li {
        padding: 5px 10px;
    }

    .footer-logo a {
        width: 130px;
    }

    .floating-btn .text1,
    .floating-box .text1 {
        font-size: 16px;
    }

    .floating-btn .text2,
    .floating-box .text2 {
        font-size: 32px;
    }

    .floating-btn .text3,
    .floating-box .text3 {
        font-size: 24px;
    }

    .floating-btn .wrap {
        padding: 10px;
        border-radius: 10px;
    }

    .floating-btn {
        border-radius: 12px;
    }

    .floating-box .close-btn {
        width: 30px;
        height: 30px;
    }

    .floating-box .close-btn img {
        width: 10px;
    }
}

/* indexAchieve */

.indexAchieve {
    background: #f4f6fa;
}

.indexAchieveHead .label {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 10px;
    padding: 2px 20px;
    font-weight: 500;
    color: #fff;
    border-radius: 100px;
    background: #ef8000;
    position: relative;
}

.indexAchieveHead .label:after {
    content: "";
    display: block;
    border-top: solid 8px #ef8000;
    border-left: solid 8px transparent;
    border-right: solid 8px transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 100%;
    left: 50%;
}

.indexAchieveHead .tit {
    margin-bottom: 40px;
    text-align: center;
}

.indexAchieveHead .tit>* {
    display: block;
}

.indexAchieveHead .tit .lead {
    font-weight: bold;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: 3px;
}

.indexAchieveHead .tit .lead .big {
    font-size: 160%;
}

.indexAchieveHead .tit .sub {
    margin-top: 10px;
    font-size: 14px;
}

.indexAchieveList+* {
    margin-top: 10px;
}

[data-element-id] .indexAchieveList ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] .indexAchieveList li {
    width: 18%;
    margin: 1%;
}

.indexAchieveList li {
    margin: 0px 5px;
    text-align: center;
    /* -webkit-box-shadow: 0 0 5px rgb(0 0 0 / 30%); */
    /* box-shadow: 0 0 5px rgb(0 0 0 / 30%); */
    border: solid 1px #ddd;
    background: #fff;
}

.indexAchieveList li img {
    margin: auto;
}

@media (max-width: 1024px) {
    .indexAchieveHead .tit .lead {
        font-size: 30px;
    }
}

@media (max-width: 599px) {
    .indexAchieveHead .label {
        font-size: 14px;
    }

    .indexAchieveHead .tit .lead {
        font-size: 24px;
    }
}

[data-element-id] .sp-fix-box {
    width: 400px;
    display: block;
    position: static;
}

/* パンくずリスト */
.bread-box li+li:before {
    content: ">";
    display: inline-block;
    margin: 0 0.5em;
}

.bread-box li {
    line-height: 1.2;
}

.bread-box li:nth-last-child(3) {
    white-space: nowrap;
}

.bread-box li:nth-last-child(2) {
    white-space: nowrap;
}

[data-element-id] .pc-none {
    display: block;
}

[data-element-id] .gnav li.pc-none {
    border: 1px solid #218055;
}

[data-element-id] .gnav .sp-logo {
    border: 1px solid #218055;
}

[data-element-id] .g-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] .g-list>li {
    margin-top: 30px;
}

[data-element-id] .gnav .pc-none {
    border: 1px solid #218055;
    position: relative;
}

[data-element-id] .gnav .pc-none:after {
    content: "SP用";
    width: 100%;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    font-weight: bold;
    font-size: 12px;
    color: #fff;
    text-align: center;
    border: 1px solid #218055;
    background: #218055;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    position: absolute;
    top: 0;
    left: 50%;
}

[data-element-id] .accordionbox {
    visibility: visible;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: static;
}

[data-element-id] .gnavinn {
    padding-top: 30px;
}

/* ---------------------------
料金・ご利用の流れ
----------------------------- */
.under-mv-box {
    padding: 58px 0;
}

.under-mv-box .tbox {
    padding: 0 40px;
    color: #fff;
}

.under-mv-box .title {
    font-weight: bold;
    font-size: 40px;
}

.under-mv-box .text {
    margin-top: 10px;
    font-weight: 500;
}

.under-mv-box .icon {
    width: 230px;
}

.flow01 .arrow {
    height: 60px;
    padding: 0 35px 0 29px;
    font-weight: bold;
    color: #fff;
    line-height: 60px;
    position: relative;
}

.flow01 .arrow:before {
    content: "";
    width: 0;
    height: 0;
    border-width: 0 15px 30px 0;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
    position: absolute;
    top: 0;
    right: 0;
}

.flow01 .arrow:after {
    content: "";
    width: 0;
    height: 0;
    border-width: 0 0 30px 15px;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    bottom: 0;
    right: 0;
}

.flow01 .yen {
    margin-left: 2%;
    font-weight: bold;
    font-size: 60px;
    line-height: 60px;
}

.flow01 .zero {
    margin-bottom: -2%;
    margin-left: 1%;
    font-weight: bold;
    font-size: 130px;
    line-height: 130px;
}

.flow01 .text1 {
    margin-left: 2%;
    font-weight: 500;
}

.flow01 .text1 span {
    display: inline-block;
    border-bottom: 2px solid #000;
}

.flow02 {
    display: inline-block;
    padding: 8px 30px;
    border-radius: 1000px;
    background-color: #faf5f2;
}

.flow03 {
    border-bottom: 2px solid #000;
}

.flow03 .wrap {
    padding: 0 3%;
}

.flow03 .box {
    text-align: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.flow03 .ttl {
    font-weight: 500;
    font-size: 16px;
}

.flow03 .sub {
    display: inline-block;
    margin: 3px 0;
    padding: 0 12px;
    font-weight: 500;
    font-size: 14px;
    border-radius: 1000px;
    background-color: #fff;
}

.flow03 .price {
    font-weight: 500;
    font-size: 18px;
    position: relative;
}

.flow03 .price:after {
    content: "";
    width: 80px;
    height: 2px;
    background-color: #666;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.flow03 .text {
    font-size: 13px;
}

.flow03 ul li:nth-of-type(1) .box {
    padding: 15px 0;
    color: #666;
    background-color: #ebebeb;
}

.flow03 ul li:nth-of-type(2) .box {
    padding: 25px 0;
    color: #fff;
    background-color: #fbb343;
}

.flow03 ul li:nth-of-type(2) .box .sub {
    color: #fbb343;
}

.flow03 ul li:nth-of-type(2) .price:after {
    background-color: #fff;
}

.flow03 ul li:nth-of-type(3) .box {
    padding: 40px 0;
    color: #fff;
    background-color: #3d62a7;
}

.flow03 ul li:nth-of-type(3) .box .sub {
    color: #3d62a7;
}

.flow03 ul li:nth-of-type(3) .price:after {
    background-color: #fff;
}

.flow04 li {
    padding-top: 1.5%;
    padding-bottom: 1.5%;
}

.flow04 .box {
    overflow: hidden;
    color: #666;
}

.flow04 .box1 {
    padding: 8% 5%;
    /* border-top-left-radius: 10px; */
    /* border-top-right-radius: 10px; */
    border-radius: 10px;
    background-color: #ebebeb;
}

.flow04 .ttl1 {
    margin-bottom: 10px;
    font-weight: 500;
    text-align: center;
}

.flow04 .star {
    margin-bottom: 15px;
    padding: 5px 0;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

.flow04 .star li {
    margin: 0 5px;
}

.flow04 .text1 {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    font-weight: 500;
    color: #1da0f2;
    border-radius: 50%;
    background-color: #fff;
}

.flow04 .tbox1 {
    padding-left: 10px;
}

.flow04 .text2 {
    font-weight: 500;
    line-height: 1;
}

.flow04 .text4 {
    margin-top: 20px;
    text-align: center;
}

.flow04 .box2 {
    /* padding: 10% 5%; */
    padding: 5%;
    background-color: #f4f4f4;
    -webkit-box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.2);
}

.flow04 .list1 {
    margin-bottom: 20px;
}

.flow04 .list1 li {
    padding: 10px 0;
    text-align: center;
    border-bottom: 2px solid #fff;
}

/* .flow04 .text5,
.flow04 .text6,
.flow04 .title01,
.flow04 .btn-cmn02 {
    width: 90%;
  margin-left: auto;
  margin-right: auto;
} */

.flow04 .item2 {
    -webkit-transform: translateY(-5%);
    transform: translateY(-5%);
    position: relative;
}

.flow04 .item2:before {
    content: "";
    width: 100%;
    height: 100%;
    border: 5px solid #3d62a7;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    position: absolute;
    top: 0;
    left: 0;
}

.flow04 .item2 .box1 {
    color: #fff;
    background-color: #fbb343;
}

.flow04 .item2 .box2 {
    background-color: #faf5f2;
}

.flow04 .item2 .text1 {
    color: #fbb343;
}

.flow04 .item3 .box1 {
    color: #fff;
    background-color: #3d62a7;
}

.flow04 .item3 .box2 {
    background-color: #d4dff4;
}

.flow04 .item3 .text1 {
    color: #3d62a7;
}

.flow04 .item4 .box1 {
    color: #fff;
    background-color: #1da0f2;
}

.flow04 .item4 .box2 {
    background-color: #bfe4fb;
}

.flow04 .popular {
    position: absolute;
    top: -20px;
    left: -10px;
}

.flow05 dl {
    height: 150px;
    padding: 5% 10%;
    -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);

    -webkit-clip-path: polygon(0 0, 93% 0, 100% 50%, 93% 100%, 0 100%, 7% 50%);
    clip-path: polygon(0 0, 93% 0, 100% 50%, 93% 100%, 0 100%, 7% 50%);
}

.flow05 .centering dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flow05 dt {
    font-weight: 500;
    color: #fff;
}

.flow05 .box {
    -webkit-filter: drop-shadow(0 7px 7px rgba(0, 0, 0, 0.2));
    filter: drop-shadow(0 7px 7px rgba(0, 0, 0, 0.2));
}

.flow05 .wrap {
    position: relative;
}

.flow05 .bgc-white dt {
    margin-top: 10%;
}

.flow05 .bgc-white dt .num {
    color: #3d62a6;
}

.flow05 .bgc-white dt .text {
    color: #303030;
}

.flow05 .icon {
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    bottom: -60px;
    left: 50%;
}

.flow06 {
    padding: 2% 3%;
    border: 2px solid #ef8000;
    border-radius: 10px;
    background-color: #faf5f2;
    position: relative;
}

.flow06 .icon1 {
    width: 139px;
}

.flow06 .tbox {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 4%;
}

.flow06 .icon2 {
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    position: absolute;
    bottom: -2%;
    left: 10%;
}

.flow06:before {
    content: "";
    width: 45px;
    height: 26px;
    background-color: #ef8000;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 4;

    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.flow06:after {
    content: "";
    width: 40px;
    height: 23px;
    background-color: #faf5f2;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 5;

    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.flow06 .small {
    font-size: 80%;
}

.flow07 .box {
    height: 90px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 2px solid #ebebeb;
    background-color: #fff;
}

.flow07 .small .box {
    height: 53px;
}

@media (max-width: 1024px) {
    .under-mv-box .icon {
        width: 150px;
    }

    .under-mv-box .tbox {
        padding: 0 20px;
    }

    .under-mv-box .title {
        font-size: 32px;
    }

    .under-mv-box {
        padding: 40px 0;
    }

    .flow01 .arrow {
        height: 50px;
        padding: 0 30px 0 20px;
        line-height: 50px;
    }

    .flow01 .yen {
        font-size: 50px;
        line-height: 50px;
    }

    .flow01 .zero {
        margin-bottom: -1%;
        font-size: 100px;
        line-height: 100px;
    }

    .flow02 {
        padding: 6px 20px;
    }

    .icon05 {
        width: 24px;
        height: 24px;
        font-size: 16px;
        border-width: 2px;
    }

    .flow03 {
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }

    .flow06 .icon1 {
        width: 110px;
    }

    .flow06 .tbox {
        padding-left: 2.5%;
    }

    .flow06 .icon2 {
        width: 100px;
    }

    .flow07 .box img {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }
}

@media (max-width: 599px) {
    .under-mv-box .icon {
        width: 120px;
    }

    .under-mv-box .title {
        font-size: 24px;
        text-align: center;
    }

    .under-mv-box .tbox {
        margin-top: 20px;
    }

    .flow01 .arrow {
        height: 45px;
        padding: 0 25px 0 15px;
        line-height: 45px;
    }

    .flow01 .yen {
        font-size: 40px;
        line-height: 40px;
    }

    .icon05 {
        width: 20px;
        height: 20px;
        margin-right: 5px;
        font-size: 14px;
    }

    .flow02 {
        padding: 6px 10px;
    }

    .flow02 .text {
        font-size: 12px;
    }

    .flow04 .box1 {
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }

    .flow04 .star {
        margin-bottom: 10px;
        padding: 3px 0;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
    }

    .flow04 .star li {
        margin: 0 3px;
    }

    .flow04 .star li img {
        width: 16px;
    }

    .flow04 .text1 {
        width: 30px;
        height: 30px;
        font-size: 10px;
    }

    .flow04 .text3 {
        font-size: 10px;
    }

    .flow04 .tbox1 {
        padding-left: 5px;
    }

    .flow04 .box2 {
        -webkit-box-shadow: 0 -3px 4px rgba(0, 0, 0, 0.2);
        box-shadow: 0 -3px 4px rgba(0, 0, 0, 0.2);
    }

    .flow04 .box {
        font-size: 12px;
    }

    .flow04 .text4 {
        margin-top: 10px;
    }

    .flow04 .text5,
    .flow04 .text6,
    .flow04 .title01,
    .flow04 .btn-cmn02 {
        width: 100%;
    }

    .popular .text {
        font-size: 14px;
    }

    .popular .text img {
        width: 22px;
    }

    .popular .rebon {
        width: 120px;
    }

    .flow04 .item2:before {
        content: "";
        border-width: 3px;
        border-top-left-radius: 7px;
        border-top-right-radius: 7px;
    }

    .flow05 ul li:nth-of-type(1) {
        padding-bottom: 40px;
    }

    .flow06 .tbox {
        width: 100%;
        margin-top: 15px;
    }

    .flow06 .icon2 {
        margin-left: 10px;
        -webkit-transform: none;
        transform: none;
        position: static;
    }

    .flow07 .box {
        height: 60px;
    }

    .flow07 .small .box {
        height: 45px;
    }
}

/* ---------------------------
会社概要
----------------------------- */
.company01 dl {
    padding: 3% 10%;
    border-bottom: 2px solid #e7e7e7;
}

.company01 dl:nth-of-type(1) {
    border-top: 2px solid #e7e7e7;
}

@media (max-width: 1024px) {
    .company01 dl {
        padding: 3% 5%;
    }
}

/* ---------------------------
機能紹介
----------------------------- */
.intro01 {
    padding: 4% 6% 17%;
    position: relative;
}

.intro01 .tbox {
    color: #fff;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    position: relative;
}

.intro01 .tbox .ttl {
    margin-bottom: 15px;
    text-align: center;
}

/* ---------------------------
タグの設置方法
----------------------------- */
.pagenation a,
.pagenation span {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    background: #3bd2ff;
    background: -webkit-gradient(linear, left top, right top, from(#3bd2ff), to(#2c86eb));
    background: linear-gradient(90deg, #3bd2ff 0%, #2c86eb 100%);
}

.pagenation li {
    margin: 0 10px;
}

.pagenation .prev a:before {
    content: "\f053";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.pagenation .next a:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.pagenation .current a,
.pagenation .current span {
    color: #7cbaff;
    border: 1px solid #7cbaff;
    background: #fff;
}

@media (max-width: 1024px) {
    .pagenation a,
    .pagenation span {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .pagenation li {
        margin: 0 8px;
    }
}

@media (max-width: 599px) {
    .pagenation a,
    .pagenation span {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    .pagenation li {
        margin: 0 5px;
    }
}

/* ---------------------------
タグの設置方法
----------------------------- */

.detail-content a {
    color: #1580d1;
}

.detail-content h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 24px;
}

.detail-content h2:before {
    content: "";
    width: 60px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: 15px;
    border-left: 2px solid #ebebeb;
    border-right: 2px solid #ebebeb;
    background-image: url(/import/tenant_1/160.16.235.150/html/images/logo_icon.png);
    background-size: 34px 34px;
    background-repeat: no-repeat;
    background-position: center;
}

.detail-content h3 {
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 22px;
}

.detail-content h4 {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 20px;
}

@media (max-width: 599px) {
    .detail-content h2 {
        font-size: 20px;
    }

    .detail-content h3 {
        font-size: 19px;
    }

    .detail-content h3 {
        font-size: 18px;
    }
}

/* ---------------------------
新着情報
----------------------------- */
.news-list .date {
    width: 75px;
}

.news-list .ttl {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0 15px;
}

.news-list .btn {
    width: 160px;
}

.news-list li {
    padding: 3%;
    border-bottom: 1px solid #e7e7e7;
}

.category-list-box li {
    padding: 5% 3%;
    border-bottom: 1px solid #e7e7e7;
}

@media (max-width: 599px) {
    .news-list .ttl {
        width: 100%;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-top: 5px;
        padding: 0;
    }

    .news-list li {
        padding: 20px 3%;
    }
}

/* ---------------------------
お問い合わせ
----------------------------- */
.contact-form dl {
    padding: 2% 0;
}

.contact-form dt {
    font-weight: 500;
}

.contact-form .require {
    font-size: 60%;
    color: #e95908;
}

.contact-form input[type=text],
.contact-form input[type=tel],
.contact-form input[type=email],
.contact-form textarea {
    width: 100%;
    padding: 2%;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact-form textarea {
    height: 200px;
}

.form-address input:first-of-type {
    max-width: 150px;
}

.form-address input+input {
    margin-top: 20px;
}

.radio-switch label {
    padding-left: 30px;
    padding-right: 15px;
    position: relative;
}

.radio-switch label:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
}

.radio-switch input {
    display: none;
}

.radio-switch input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    color: #f98503;
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: -3px;
    left: 2px;
}

[data-element-id] .gnavinn {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] .floating-btn {
    margin-top: 30px;
    position: static;
}

[data-element-id] .popup {
    width: 100%;
    max-width: 180px;
    visibility: visible;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: relative;
    top: auto;
    left: auto;
}

[data-element-id] .top07 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

[data-element-id] .top07 li {
    width: 31%;
    margin-bottom: 40px;
}

[data-element-id] .sp-fix-btn {
    width: 400px;
    display: block;
    position: static;
}

[data-element-id] .floating-box {
    display: block;
    padding: 40px 0;
    position: static;
}

[data-element-id] .floating-box .box {
    margin: 0 auto;
    -webkit-transform: none;
    transform: none;
    position: relative;
    top: auto;
    left: auto;
}



/*****タグの設置方法*****/
.tag-explanation h3 {
    color: #ef8000;
}

.tag-explanation .con-box {
    width: 50%;
    margin: 50px 0 80px;
    padding: 20px;
    border: 1px solid #999;
}

.tag-explanation .con-box ul li {
    padding-bottom: 5px;
}

.tag-explanation .con-box div {
    margin-bottom: 10px;
    font-size: 22px;
    color: #ea5504;
}

.tag-explanation .tag-in {
    margin-bottom: 80px;
    padding-top: 30px;
}

.tag-explanation a {
    color: #2c88ec;
}

.tag-explanation .tag-in .t-box {
    margin-bottom: 50px;
}

@media (max-width:1024px) {
    .tag-explanation .con-box {
        width: 70%;
    }
}

@media (max-width:599px) {
    .tag-explanation .con-box {
        width: 100%;
    }
}

.contact-form .step {
    font-weight: bold;
    font-size: 24px;
}

.contact-form-box {
    width: 95%;
    margin-left: auto;
}

input[type="radio"],
input[type="checkbox"] {
    opacity: 0;
    position: absolute;
}

input[type="radio"]+label,
input[type="checkbox"]+label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    font-size: 20px;
    line-height: 1.3;
    position: relative;
}

input[type="radio"]+label::before,
input[type="checkbox"]+label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 0.25em;
    line-height: 1;
    border: 1px solid #999;
    border-radius: 5px;
    background: #fff;
}

input[type="radio"]+label::after,
input[type="checkbox"]+label::after {
    content: "";
    display: none;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

input[type="radio"]:checked+label::after,
input[type="checkbox"]:checked+label::after {
    width: 10px;
    height: 20px;
    display: block;
    visibility: visible;
    border-bottom: 3px solid #7ab9ff;
    border-right: 3px solid #7ab9ff;
    opacity: 1;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: -15%;
    left: 10px;
}

.agree-btn {
    margin-top: 40px;
    padding: 0.5em 1em;
    font-size: 22px;
    border: 1px solid #ccc;
    border-radius: 20px;
}

.agree-btn.-confirm {
    border: none;
}

.form-terms {
    max-height: 350px;
    overflow-y: auto;
    padding: 5%;
    background: #fff;
}

.terms-link {
    color: #7ab9ff;
    text-decoration: underline;
}

.alart input {
    background: #fc6541;
}

.confirm-caution {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 30px;
    color: #fc6541;
}

.address-mark {
    padding-left: 20px;
    position: relative;
}

.address-mark::before {
    content: "〒";
    display: block;
    position: absolute;
    left: 0;
}

/* PCのみで改行 */
.pc-br {
    display: block;
}

.tb-br {
    display: none;
}

.sp-br {
    display: none;
}

@media (max-width: 1024px) {
    .pc-br {
        display: none;
    }

    .tb-br {
        display: block;
    }

    .sp-br {
        display: none;
    }
}

@media (max-width: 599px) {
    .pc-br {
        display: none;
    }

    .tb-br {
        display: none;
    }

    .sp-br {
        display: block;
    }
}

#icon-area {
    -webkit-animation-name: updown1;
    animation-name: updown1;
    /* アニメーションの開始時間指定 */
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    /* アニメーション動作時間の指定 */
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    /* アニメーション名の指定 */
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    /* アニメーションの動き指定（徐々に早く）*/
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

@-webkit-keyframes updown1 {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    50% {
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes updown1 {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    50% {
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* 導入事例 */
@-webkit-keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

.reflection a {
    overflow: hidden;
    position: relative;
}

.reflection a::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: white;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: -180px;
    left: 0;
    z-index: 1;
}

.reflection a:hover {
    opacity: 1;
}

.reflection a:hover::before {
    -webkit-animation: reflection 1.5s ease-in-out infinite;
    animation: reflection 1.5s ease-in-out infinite;
}

.line-three {
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: inherit;

    -webkit-line-clamp: 3;
}

.list-case li {
    border-bottom: 1px solid #f58e7e;
}

.case-box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1em;
}

.case-box a:hover {
    background-color: rgba(255, 102, 0, 0.15);
    opacity: 1;
}

.case-info {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.case-place {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.case-place dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.case-place dt::after {
    content: "：";
    display: inline-block;
}

.case-place dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.case-category {
    display: inline-block;
    margin: 0 0.5em;
    padding: 0.2em 1em 0.25em 1em;
    font-size: 14px;
    color: white;
    line-height: 1.2;
    border-radius: 0.2em;
    background-color: #ef8000;
}

.case-img {
    width: 25%;
}

.case-content {
    width: 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1em;
}

.case-title {
    width: 100%;
    margin: 0.5em 0;
    font-weight: bold;
    /* min 20px(375px) max 24px(1200px)  */
    font-size: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);
    color: #eb5300;
    letter-spacing: 0.1em;
}

.case-text {
    width: 100%;
}

.preview-pc {
    width: 640px;
    height: 557px;
    margin: 3.0rem auto 8.0rem auto;
    background-image: url(/upload/tenant_1/b76b1d96a7a0d8d07af7d2d5a327b16a.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
}

.preview-pc .outer-preview-img {
    width: 588px;
    overflow: hidden;
    position: absolute;
    top: 24px;
    left: 25px;
}

.preview-pc .preview-img-pc {
    width: 605px;
    height: 324px;
    display: block;
    /* overflow-y: scroll; */
}

.preview-pc .preview-img>img {
    width: 588px;
    height: auto;
}

.preview-tab {
    width: 440px;
    height: 600px;
    display: block;
    margin: 3.0rem auto 8.0rem auto;
    background-image: url(/upload/tenant_1/cd6d4a12755fb35dfb75d63fbce67ff4.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
}

.preview-tab .outer-preview-img {
    width: 368px;
    height: 492px;
    overflow: hidden;
    position: absolute;
    top: 49px;
    left: 32px;
}

.preview-tab .preview-img-tab {
    width: 368px;
    height: 493px;
    display: block;
    /*  overflow-y: scroll; */
    -webkit-overflow-scrolling: touch;
}

.preview-tab .preview-img-tab>img {
    width: 368px;
    height: auto;
}

.preview-sp {
    width: 250px;
    height: 516px;
    display: block;
    margin: 3rem auto 8rem auto;
    background-image: url(/upload/tenant_1/b7025ee8793dba703b952ce4d7acb2c1.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
}

.preview-sp .outer-preview-img {
    width: 204px;
    height: 362px;
    overflow: hidden;
    position: absolute;
    top: 84px;
    left: 22px;
}

.preview-sp .preview-img-sp {
    width: 204px;
    height: 364px;
    display: block;
    /* overflow-y: scroll; */
    -webkit-overflow-scrolling: touch;
}

.preview-sp .preview-img-sp>img {
    width: 204px;
    height: auto;
}

.preview-pc .preview-img-pc img,
.preview-pc .preview-img-tab img,
.preview-pc .preview-img-sp img {
    width: 100%;
}

.preview-tab,
.preview-sp {
    display: none;
}

.case-detail-title {
    width: 100%;
    margin: 0.5em 0;
    font-weight: bold;
    /* min 24px(375px) max 30px(1200px)  */
    font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
    color: #eb5300;
    letter-spacing: 0.1em;
}

.tag-wrap {
    margin: 0.5em 0 3em;
}

.category-tag,
.function-tag {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.category-tag span {
    display: inline-block;
    margin: 1px 2px;
    padding: 0.25em 1em;
    font-size: 14px;
    color: white;
    line-height: 1.2;
    border-radius: 0.25em;
    background-color: #2d87ec;
}

.function-tag span {
    display: inline-block;
    margin: 1px 2px;
    padding: 0.25em 1em;
    font-size: 14px;
    color: white;
    line-height: 1.2;
    border-radius: 0.25em;
    background-color: #f88605;
}

.case-url {
    margin-top: 1em;
}

.case-url a {
    color: #ef8000;
    letter-spacing: 0.1em;
    text-decoration: underline;
}

.case-voice {
    margin-top: 5em;
}

.case-voice-title {
    margin: 2em 0 1.5em;
    font-weight: bold;
    /* min 20px(375px) max 24px(1200px)  */
    font-size: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);
    color: #ef8000;
    letter-spacing: 0.1em;
    position: relative;
}

.case-voice-title .title-inner {
    position: relative;
    z-index: 2;
}

.case-voice-title::before {
    content: "";
    width: 2em;
    height: 2em;
    border-radius: 100%;
    background-color: #f4b976;
    position: absolute;
    top: 0em;
    left: -0.5em;
    z-index: 1;
}

.free-area {
    margin: 5em 0;
}

.free-area-child h2 {
    margin: 1.5em 0 1em;
    padding: 0.2em 0.5em;
    font-weight: bold;
    font-size: clamp(1.375rem, 1.15rem + 0.97vw, 1.875rem);
    border-bottom: 2px solid #ef8000;
}

.free-area-child h3 {
    margin: 1.5em 0 1em;
    padding-left: 0.5em;
    font-size: clamp(1.25rem, 1.02rem + 0.97vw, 1.75rem);
    border-left: 10px solid #ef8000;
}

.free-area-child h4 {
    margin: 1.5em 0 1em;
    padding: 0.2em;
    font-weight: bold;
    font-size: clamp(1.125rem, 0.9rem + 0.97vw, 1.625rem);
    border-bottom: 2px dotted #ef8000;
}

.free-area-child ul,
.free-area-child ol {
    list-style-position: outside;
    margin: 1em 0;
    padding-left: 2em;
}

.free-area-child ul {
    list-style: initial;
}

.free-area-child ol {
    list-style: decimal;
}

.recommend-area {
    margin-top: 5em;
}

.recommend-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 1em;
    font-weight: bold;
    /* min 32px(375px) max 36px(1200px)  */
    font-size: clamp(2rem, 1.886rem + 0.48vw, 2.25rem);
}

.recommend-title .main {
    background: -webkit-gradient(linear, left top, right top, from(#f7c727), to(#f98404));
    background: linear-gradient(90deg, #f7c727 0%, #f98404 100%);
    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
}

.recommend-title .sub {
    font-size: 70%;
}

@media (max-width: 1024px) {
    .preview-pc,
    .preview-sp {
        display: none;
    }

    .preview-tab {
        display: block;
    }
}

@media (max-width: 599px) {
    .case-box a {
        padding: 0.5em;
    }

    .case-img {
        width: 30%;
    }

    .case-category {
        font-size: 12px;
    }

    .case-title {
        margin: 0.25em 0;
    }

    .case-text {
        font-size: 12px;
    }

    .preview-pc,
    .preview-tab {
        display: none;
    }

    .preview-sp {
        width: 250px;
        height: 516px;
        display: block;
        margin: 3.0rem auto 8.0rem auto;
        background-image: url(/upload/tenant_1/b7025ee8793dba703b952ce4d7acb2c1.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center center;
        position: relative;
    }
}

/* 導入事例の見たまま編集画面用 */
[data-element-id] .preview-tab,
[data-element-id] .preview-sp {
    display: block;
}

[data-element-id] .preview-tab:before,
[data-element-id] .preview-sp:before {
    width: 100%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 12px;
    color: red;
    background: #555;
    position: absolute !important;
    bottom: 100%;
}

[data-element-id] .preview-tab:before {
    content: "こちらはタブレット（画面幅1024px～768px）でのみ表示されます。";
}

[data-element-id] .preview-sp:before {
    content: "こちらはスマホ（画面幅414px以下）でのみ表示されます。";
}

/* 導入事例 ここまで */

/* TOPセミナー情報 */
#top10 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id]#top10 ul>div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#top10 ul li {
    width: 30%;
    margin: auto;
    padding: 0;
    border-bottom: none;
}

#top10 ul li dl {
    display: block;
}

#top10 .top-news-list .date {
    width: 100%;
}

#top10 .top-news-list .ttl {
    width: 100%;
}

@media (max-width: 599px) {
    #top10 ul {
        display: block;
    }

    [data-element-id]#top10 ul>div {
        display: block;
    }

    #top10 ul li {
        width: 90%;
    }
}

/* セミナー詳細 */
.btn-cmn02.reserve a {
    width: 300px;
    padding: 10px;
    font-size: 18px;
    color: #fff;
    text-align: center;
    border: none;
    background: -webkit-gradient(linear, left top, right top, from(#3bd2ff), to(#2c86eb));
    background: linear-gradient(90deg, #3bd2ff 0%, #2c86eb 100%);
}

.btn-cmn02.reserve a:after {
    display: none;
}

/**お客様の声**/
.voice h5 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-bottom: 3px;
    border-bottom: solid 3px #7ab9ff;
    position: relative;
}

.voice h5:after {
    content: " ";
    width: 30%;
    display: block;
    border-bottom: solid 3px #f9c823;
    position: absolute;
    bottom: -3px;
}

.voice .inbox .detail-content {
    font-size: 16px;
    line-height: 1.8;
}

.link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 20px auto 0;
    font-size: 18px;
    text-align: center;
    border-bottom: 2px solid #f9c823;
}

@media (max-width: 599px) {
    .link {
        margin: 20px auto 0 0;
    }
}

/* 2024/06/19 板野友美追加 */
.top-mv-btn {
    display: none;
}

.top-mv-aj-pc {
    width: 100%;
    max-width: 1300px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.top-mv-aj-pc::after {
    content: "";
    display: block;
    padding-top: 46.2%;
}

.top-mv-aj-pc img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.top-mv-btn .btn-sp,
.top-mv-aj-sp {
    display: none;
}

.top-mv-btn a {
    display: block;
}

.tomomi .top-mv-box {
    padding: 0;
    background: unset;
    background-image: url(/upload/tenant_1/parts_003.webp);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: bottom center;
}

.tomomi .top-mv-btn {
    width: 550px;
    display: block;
    position: absolute;
    bottom: 1.5em;
    left: calc(50% - 480px);
    z-index: 1;
}

@media (max-width: 1024px) {
    .tomomi .top-mv-btn {
        width: 400px;
        bottom: 0.8em;
        left: 13%;
    }
}

@media (max-width: 768px) {
    .tomomi .top-mv-btn {
        width: 370px;
        bottom: 1.5em;
    }
}

@media (max-width: 599px) {
    .tomomi .top-mv-box {
        background-image: unset;
    }

    .tomomi .top-mv-btn {
        width: 45%;
        bottom: 2em;
        left: 9%;
    }

    .top-mv-btn .btn-pc,
    .top-mv-aj-pc {
        display: none;
    }

    .top-mv-btn .btn-sp,
    .top-mv-aj-sp {
        display: block;
    }
}

[data-element-id] .top-mv-btn .btn-sp,
[data-element-id] .top-mv-aj-sp {
    max-width: 375px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 2em 1em 1em;
    border: 2px solid green;
    position: relative;
}

[data-element-id] .top-mv-btn .btn-sp::before,
[data-element-id] .top-mv-aj-sp::before {
    content: "スマホ用";
    width: 100%;
    display: block;
    padding: 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: green;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


/* 2024/06/28追記 */

.box02{
  background-color: #d4dff4;
  color: #3d62a7;
  padding: 4% 2%;
  border-radius:10px;
}

/* 2025/02/13 */ ※検証後削除
.list-faq .item {
    margin-bottom: 30px;
}

.list-faq .faq-q {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px;
    -webkit-box-shadow: 0 2px 4px #ccc;
    box-shadow: 0 2px 4px #ccc;
}

.list-faq .faq-q .label {
    width: 40px;
    height: 40px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    font-size: 24px;
    color: #fff;
    line-height: 40px;
    text-align: center;
    background-color: #62c5d9;
}

.list-faq .title {
    width: 100%;
}

.list-faq .faq-q .arrow {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 20px;
}

.list-faq .faq-wrap .faq-q .arrow::before {
    content: "\f107";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.list-faq .faq-wrap.action .faq-q .arrow::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.list-faq .faq-a {
    padding: 30px;
    background-color: #ebf3ff;
}

.smb-accordion .smb-accordion__item__control{
  opacity: 1;
}

.smb-accordion .smb-accordion__item__body{
  display: none;
}

.smb-accordion .smb-accordion__item__control:checked+.smb-accordion__item__title+.smb-accordion__item__body{
  display: block;
}

/*障害・メンテナンス情報*/
.date-flex {
  display: flex;
}
.aic {
  display: flex;
  align-items: center;
}
.n-category {
  width: fit-content;
  background: linear-gradient(90deg, #f7c727 0%, #f98404 100%);
  color: #fff;
  padding: 5px;
  margin-left: 10px;
}
