@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");

/* # root3 START # */
/* :root {
  --color01: #5a544b;
  --color02: #5a544b;
  --color03: #37322c;
  --color04: #cdc0ad;
  --color05: #a19788;
  --color06: #d8cab4;
  --color07: #7d7569;
  --image-url01: url("../img/icon/leaf-brown.webp");
  --image-url02: url("../img/icon/house-brown.webp");
} */

/* # root3 END # */

/* # root2 START # */
/* :root {
  --color01: #2e8b57;
  --color02: #2c6147;
  --color03: #0d4330;
  --color04: #42c97e;
  --color05: #8ae0ad;
  --color06: #c0ead9;
  --color07: #43c87d;
  --image-url01: url("../img/icon/leaf-green.webp");
  --image-url02: url("../img/icon/house-green.webp");
} */

/* # root2 END # */

/* # root1 START # */
:root {
    --color01: #55a1ba;
    --color02: #2c4f61;
    --color03: #0d2f43;
    --color04: #97c9da;
    --color05: #8acbe0;
    --color06: #c0e0ea;
    --color07: #4bb2d4;
    --image-url01: url("../img/icon/leaf-blue.webp");
    --image-url02: url("../img/icon/house-blue.webp");
}

/* # root1 END # */

html {
    font-family: "游明朝", "YuMincho", "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi Mincho", serif;
    font-weight: bold;
    font-size: 16px;
    color: #333;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.noto-serif {
    font-family: "Noto Serif JP", serif;
}

@media (max-width: 1024px) {
    html {
        font-size: 14px;
    }
}

/* letter-spacing */
.ls-cmn03 {
    letter-spacing: 3px;
}

@media (max-width: 1024px) {
    .ls-cmn03 {
        letter-spacing: 2px;
    }
}

@media (max-width: 599px) {
    .ls-cmn03 {
        letter-spacing: 1px;
    }
}

.ls-cmn04 {
    letter-spacing: 4px;
}

@media (max-width: 1024px) {
    .ls-cmn04 {
        letter-spacing: 3px;
    }
}

@media (max-width: 599px) {
    .ls-cmn04 {
        letter-spacing: 2px;
    }
}

.ls-cmn05 {
    letter-spacing: 5px;
}

@media (max-width: 1024px) {
    .ls-cmn05 {
        letter-spacing: 4px;
    }
}

@media (max-width: 599px) {
    .ls-cmn05 {
        letter-spacing: 3px;
    }
}

/* フォントファミリー */
.color01 {
    color: #333;
}

.color02 {
    color: var(--color01);
}

.color-white {
    color: #fff;
}

.bgc01 {
    background-color: var(--color01);
}

.bgc02 {
    background-color: #f2f2f2;
}

dt {
    font-weight: normal;
}

.prof-cmn {
    overflow: hidden;
    position: relative;
}

.inner-1400 {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* 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;
}

.show\@sp .fs30 {
    font-size: 22px;
}

.fs28 {
    font-size: 28px;
}

.show\@sp .fs28 {
    font-size: 20px;
}

.fs26 {
    font-size: 26px;
}

.fs24 {
    font-size: 24px;
}

.show\@sp .fs24 {
    font-size: 18px;
}

.fs22 {
    font-size: 22px;
}

.show\@sp .fs22 {
    font-size: 18px;
}

.fs20 {
    font-size: 20px;
}

.show\@sp .fs20 {
    font-size: 16px;
}

.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;
    }
}

@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;
}

.pb90 {
    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;
    }

    .pb90 {
        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: 30px;
    }

    .pb40 {
        padding-bottom: 20px;
    }

    .pt50 {
        padding-top: 25px;
    }

    .pb50 {
        padding-bottom: 25px;
    }

    .pt60 {
        padding-top: 30px;
    }

    .pb60 {
        padding-bottom: 40px;
    }

    .pt70 {
        padding-top: 35px;
    }

    .pb90 {
        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;
}

[data-element-id] .show\@sp .mt170 {
    margin-top: 85px;
}

.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;
    }
}

/*********************************************
    show hide
*********************************************/
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    max-width: 375px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@tb:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: green;
}

[data-element-id] .show\@tb.indention {
    width: 30px;
    display: inline-block;
}

[data-element-id] .show\@tb.indention:after {
    content: "SP時改行";
    padding: 0;
    font-size: 10px;
    letter-spacing: -1px;
}

[data-element-id] .show\@pc.indention {
    width: 30px;
    display: inline-block;
}

[data-element-id] .show\@pc.indention:after {
    content: "PC時改行";
    display: block;
    padding: 0;
    font-weight: 700;
    font-size: 10px;
    color: #fff;
    letter-spacing: -1px;
    text-align: center;
    text-shadow: none;
    border: 2px solid blue;
    background: blue;
}

[data-element-id] .show\@sp {
    max-width: 375px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@sp:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: green;
}

[data-element-id] .show\@sp.indention {
    width: 30px;
    display: inline-block;
}

[data-element-id] .show\@sp.indention:after {
    content: "SP時改行";
    padding: 0;
    font-size: 10px;
    letter-spacing: -1px;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* 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: 60px;
        padding-bottom: 60px;
    }

    .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;
    }
}

.ellip {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anchor-b a {
    display: block;
}

.anchor-ib a {
    display: inline-block;
}

.txt22 {
    line-height: 2.2;
}

.txt {
    line-height: 2;
}

.txt18 {
    line-height: 1.8;
}

.img100 img {
    width: 100%;
}

.pa100 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.h100 {
    height: 100%;
}

/* left right */
@media (max-width: 1024px) {
    body .tb>.left-cmn {
        width: 100%;
        margin-bottom: 20px;
    }

    body .tb>.right-cmn {
        width: 100%;
    }
}

@media (max-width: 599px) {
    body div .left-cmn {
        width: 100%;
        margin-bottom: 15px;
    }

    body div .right-cmn {
        width: 100%;
    }
}

/* 左右入れ替え */
.rowr2n-cmn li:nth-of-type(2n) .box-cmn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.row2n-cmn li:nth-of-type(2n) .box-cmn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.row2n-cmn li:nth-of-type(2n + 1) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

/* br */
.br1024b-cmn br {
    display: none;
}

.br1024n-cmn br {
    display: block;
}

.br599b-cmn br {
    display: none;
}

.br599n-cmn br {
    display: block;
}

@media (max-width: 1024px) {
    .br1024b-cmn br {
        display: block;
    }

    .br1024n-cmn br {
        display: none;
    }
}

@media (max-width: 599px) {
    .br599b-cmn br {
        display: block;
    }

    .br599n-cmn br {
        display: none;
    }
}

/* list */
.indent01 li {
    padding-left: 1em;
    text-indent: -1em;
}

/* スマホオンリー */
.pc-none {
    display: none;
}

@media (max-width: 599px) {
    .pc-none {
        display: block;
    }
}

[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;
}

/* toggle01 */
.gnav .toggle {
    width: 38px;
    height: 38px;
    display: block;
    display: none;
    padding: 11px 2px 0 0;
    opacity: 0.8;
    cursor: pointer;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    position: fixed;
    top: 3px;
    right: 6px;
    z-index: 999;
    background-color: #fff;
}

.gnav .toggle span.n {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: inherit;
    line-height: 160%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
}

.gnav .toggle .icon-bar {
    width: 22px;
    height: 2px;
    display: block;
    margin-left: -11px;
    border-bottom: 2px solid #323232;
    -webkit-transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-property: transform, -webkit-transform;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    position: absolute;
    position: relative;
    left: 50%;
}

.toggle .icon-bar:nth-child(1) {
    -webkit-transition-delay: 150ms;
    transition-delay: 150ms;
}

.drawer-active .gnav .toggle .icon-bar:nth-child(1) {
    width: 25px;
    margin-left: -14.25px;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    top: -2px;
}

.gnav .toggle .icon-bar:nth-child(2) {
    width: 16px;
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
    top: 6px;
}

.drawer-active .toggle .icon-bar:nth-child(2) {
    opacity: 0;
    -webkit-transform: translate(-50px, 0);
    transform: translate(-50px, 0);
}

.gnav .toggle .icon-bar:nth-child(3) {
    width: 12px;
    -webkit-transition-delay: 0;
    transition-delay: 0;
    top: 12px;
}

.drawer-active .toggle .icon-bar:nth-child(3) {
    width: 25px;
    margin-left: -15.5px;
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
}

@media (max-width: 1024px) {
    .gnav .toggle {
        display: block;
        text-indent: 9999px;
    }
}

/* END toggle01 */
/* gnav01 */
/* gnav アコーディオン */
.g-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: center;
    -ms-flex-pack: justify;
    justify-content: center;
    justify-content: space-between;
}

.g-item>a {
    display: block;
    padding: 5px 5px;
    font-size: 14px;
    text-align: center;
}

.a-list a {
    display: block;
    padding: 10px 5px;
    font-size: 14px;
    background-color: var(--color04);
    -webkit-transition: none;
    transition: none;
}

.a-list a:hover {
    background-color: var(--color07);
    opacity: 1;
}

.a-list li {
    color: #fff;
}

.a-list li:not(:last-child) {
    border-bottom: 1px solid #fff;
}

/* gnav アコーディオン */
.pull-box {
    position: relative;
}

.accordionbox {
    width: 100%;
    min-width: 200px;
    visibility: hidden;
    text-align: center;
    background-color: #fff;
    opacity: 0;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    pointer-events: none;
    position: absolute;
    left: 50%;
    z-index: 10;
}

.g-item.pull:hover .accordionbox {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.g-item.pointer-none>a {
    pointer-events: none;
}

@media (max-width: 1024px) {
    .pc-none {
        display: block;
    }

    .drawer-active .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;
    }

    .gnav .gnavinn {
        width: 90%;
        max-width: 400px;
        height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0;
        padding-bottom: 0;
        border: none;
        background: white;
        opacity: 0;
        -webkit-transition: height ease 0.1s, opacity ease 0.4s;
        transition: height ease 0.1s, opacity ease 0.4s;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed;
        top: 0;
        right: 0;
        z-index: -10;
    }

    .drawer-active .gnav .gnavinn {
        height: 100vh;
        opacity: 1;
        z-index: 250;
    }

    /* ハンバーガーメニュー内 */
    .g-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px 0 100px;
    }

    .g-item {
        width: 100%;
    }

    .g-item a,
    .g-item .a {
        width: 100%;
        display: block;
        padding: 10px 15px;
        color: inherit;
        text-align: left;
        position: relative;
    }

    .g-item a:before,
    .g-item .a:before {
        content: "\f054";
        display: inline-block;
        margin-right: 10px;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 12px;
    }

    .g-item.pull>a:after,
    .g-item.pull>.a:after {
        content: "+";
        height: auto;
        font-weight: bold;
        background-image: none;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        position: absolute;
        top: 50%;
        right: 10%;
    }

    .a-list a {
        background-color: var(--color01);
    }

    .sp-logo {
        text-align: center;
    }

    .sp-logo a {
        display: inline-block;
        padding: 0 15px;
    }

    .sp-logo img {
        max-height: 35px;
    }

    .accordionbox {
        width: 100%;
        visibility: visible;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: static;
    }

    .pull-box {
        display: none;
    }

    .a-list a {
        padding: 10px 15px;
        border-bottom: 1px solid #ccc;
    }

    .gnav .g-list .g-item.action .accordionbox {
        visibility: visible;
        background-color: #eee;
        opacity: 1;
        -webkit-transition: 0.4s ease;
        transition: 0.4s ease;
    }

    .g-item.pull>a {
        pointer-events: none;
    }
}

@media (max-width: 599px) {
    .sp-logo {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .sp-logo img {
        max-height: 30px;
    }
}

/* END gnav01 */
/* TOPメインビジュアル */
.top-image {
    padding-top: 48%;
    position: relative;
}

.top-image .uk-slidenav-position {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.top-image ul {
    height: 100% !important;
}

.top-image ul * {
    height: 100% !important;
}

.top-image li>div {
    width: 100%;
    display: block;
    position: relative;
}

.top-image li img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
}

.fixed header {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
}

/* bread-box */
.bread-box li+li {
    margin-left: 40px;
    position: relative;
}

.bread-box li+li:before {
    content: "−";
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 0;
    left: -19px;
}

.bread-box li {
    display: inline;
    line-height: 1.2;
}

.bread-box li:nth-of-type(1) {
    padding-left: 30px;
    position: relative;
}

.bread-box li:nth-of-type(1) a:before {
    content: "";
    width: 20px;
    height: 20px;
    display: inline-block;
    background-image: var(--image-url02);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -2px;
    left: 0;
}

.bread-box li:nth-last-child(3) {
    white-space: nowrap;
}

.bread-box li:nth-last-child(2) {
    white-space: nowrap;
}

@media (max-width: 599px) {
    .bread-box li+li {
        margin-left: 24px;
    }

    .bread-box li+li:before {
        top: 0px;
        left: -12px;
    }
}

[data-element-id] .gnav li.pc-none {
    border: 1px solid #218055;
    position: relative;
}

[data-element-id] .gnav li.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%;
}

/* TOP */
h1 {
    padding-left: 5px;
    font-size: 14px;
    color: #fff;
    background-color: #777;
}

[data-element-id] h1 {
    position: static;
}

.h1-decoy {
    display: none;
    font-size: 12px;
    padding: 0 15px 15px;
}

.heading01 {
    margin-bottom: 50px;
    font-size: 24px;
}

.heading01::after {
    content: "";
    width: 200px;
    height: 3px;
    display: block;
    background-color: var(--color01);
}

.bgc01 .heading01::after {
    background-color: #fff;
}

.heading01.up-ta-c::after {
    margin: 0 auto;
}



[data-element-id] .show\@sp .heading01 {
    margin-bottom: 30px;
    font-size: 22px;
}

.header-inner {
    width: calc(100% - 220px);
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.hlogo {
    max-width: 210px;
}

.hlogo a {
    display: block;
}

.hlogo .title {
    font-size: 10px;
}

.hlogo .name {
    font-size: 30px;
}

.gnav {
    width: calc(100% - 210px);
    max-width: 700px;
}

header .tel-box {
    padding: 35px 25px;
    color: #fff;
    text-align: center;
    background-color: var(--color01);
}

header .tel-box br {
    display: none;
}

header .tel-box .tel {
    font-size: 18px;
}

header .tel-box .tel:before {
    content: "\f095";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

header .tel-box .text {
    font-size: 12px;
}

.top-head-box {
    width: 100%;
    color: #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.top-head-box h2 {
    display: inline-block;
    margin-bottom: 10px;
    padding-bottom: 5px;
    font-size: 36px;
    text-shadow: 1px 1px 5px #333;
    border-bottom: 1px solid #fff;
}

[data-element-id] .top-head-box .show\@sp h2 {
    font-size: 22px;
}

.top-head-box .sub {
    font-size: 18px;
    text-shadow: 1px 1px 5px #333;
}

[data-element-id] .top-head-box .show\@sp .sub {
    font-size: 16px;
}

.fix-contact {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}

.fix-contact a {
    width: 174px;
    height: 174px;
    display: block;
    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;
    overflow: hidden;
    color: #fff;
    text-align: center;
    border: 2px solid transparent;
    border-radius: 50%;
    background-color: var(--color01);
    -webkit-box-shadow: 1px 1px 5px #333;
    box-shadow: 1px 1px 5px #333;
    position: relative;
}

.fix-contact a.ab-test {
    background: #ffec5c;
    color: #555;
}

.fix-contact a:before {
    content: "";
    width: 140%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    -webkit-animation: shine 5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    animation: shine 5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    position: absolute;
    top: 0;
    left: -160%;
}

.fix-contact .text {
    margin-top: 10px;
}

@-webkit-keyframes shine {
    0% {
        opacity: 0;
        left: -160%;
    }

    70% {
        opacity: 0.5;
        left: -160%;
    }

    71% {
        opacity: 1;
        left: -160%;
    }

    100% {
        opacity: 0;
        left: -20%;
    }
}

@keyframes shine {
    0% {
        opacity: 0;
        left: -160%;
    }

    70% {
        opacity: 0.5;
        left: -160%;
    }

    71% {
        opacity: 1;
        left: -160%;
    }

    100% {
        opacity: 0;
        left: -20%;
    }
}

.btn01 a {
    width: 100%;
    display: inline-block;
    overflow: hidden;
    padding: 15px 10px;
    text-align: center;
    border: 1px solid #333;
    background-color: #fff;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    position: relative;
}

.btn01 a:before {
    content: "";
    border-bottom: 80px solid var(--color01);
    border-right: 50px solid transparent;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -50px;
    z-index: -1;
}

.btn01 button {
    min-width: 250px;
    display: inline-block;
    padding: 15px 10px;
    text-align: center;
    border: 1px solid #333;
    background-color: #fff;
}

.btn01+.btn01 {
    margin-left: 25px;
}

.btn01.blue a {
    color: var(--color01);
    border: 1px solid var(--color01);
}

.btn01.blue button {
    color: var(--color01);
    border: 1px solid var(--color01);
}

.btn01 a:hover {
    color: #fff;
    border: 1px solid var(--color01);
}

.btn01 a:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.house-before {
    position: relative;
}

.house-before:before {
    content: "";
    width: 300px;
    height: 253px;
    background-image: url("../img/bgc-home.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.2;
    -webkit-filter: brightness(1.2);
    filter: brightness(1.2);
    position: absolute;
    bottom: -45px;
    left: 30px;
    z-index: -1;
}

.house-after {
    position: relative;
}

.house-after:after {
    content: "";
    width: 300px;
    height: 253px;
    background-image: url("../img/bgc-home.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.2;
    -webkit-filter: brightness(1.2);
    filter: brightness(1.2);
    position: absolute;
    bottom: -45px;
    right: 30px;
    z-index: -1;
}

.check-list01 li {
    margin: 10px 0;
    padding-left: 40px;
    position: relative;
}

.check-list01 li:before {
    content: "";
    width: 19px;
    height: 20px;
    background-image: url("../img/icon/check01.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 1px;
    left: 0;
}

.top03box .pa100 {
    background-color: #000;
}

.top03box .pa100 img {
    opacity: 0.5;
}

.top03 {
    position: relative;
    z-index: 1;
}

.top03 .top03-inner {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

.btn02 {
    color: #fff;
    letter-spacing: 0;
}

.btn02 a {
    max-width: 250px;
    display: block;
    padding: 15px 5px;
    text-align: center;
    background-color: var(--color03);
    position: relative;
}

.btn02 a:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 7px;
}

.btn02.thin a {
    background-color: var(--color02);
}

.top05box .bg {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.top05box .inners:after {
    content: "";
    width: 90%;
    height: 100%;
    background: white;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(25%, white), to(white));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 25%, white 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.top05 {
    width: 70%;
    margin-left: auto;
    margin-right: 2%;
    padding-right: calc(50% - 700px);
    position: relative;
    z-index: 2;
}

.top-news .news-wrap {
    min-height: 420px;
}

.top-news .news-wrap ul {
    width: 100%;
}

.date {
    white-space: nowrap;
}

.top-news li:not(:last-child) {
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px dashed var(--color01);
}

.top-news-item .cat02 {
    width: calc(100% - 90px);
}

.top-news ul a {
    display: block;
}

.top-blog .blog-wrap {
    min-height: 420px;
}

.top-blog .blog-wrap ul {
    width: 100%;
}

.top-blog li:not(:last-child) {
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px dashed var(--color01);
}

.top-blog-item .cat02 {
    width: calc(100% - 90px);
}

.top-blog ul a {
    display: block;
}

.top07 a {
    display: block;
}

.top07 .text-wrap {
    height: 300px;
    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;
    position: relative;
    z-index: 1;
}

.top07 .title {
    font-size: 24px;
    color: #fff;
}

[data-element-id] .top07 .show\@sp .title {
    font-size: 22px;
}

.top07 .pa100 {
    background-color: #000;
}

.top07 .pa100 img {
    opacity: 0.5;
}

.fnav {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

.fnav li {
    display: block;
    padding: 5px 0;
}

.flogo-box {
    width: 30%;
}

.flogo-box img {
    max-width: 200px;
}

.fnav-box {
    width: 37%;
}

.foot01-box {
    width: 32%;
}

.border01 {
    border: 1px solid var(--color01);
}

.foot01 {
    padding: 15px;
}

footer .tel:before {
    content: "\f095";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

footer .copy {
    padding: 15px 0;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background-color: var(--color01);
}

.fix-tel {
    width: 40%;
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
}

.fix-tel a {
    height: 60px;
    display: block;
    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;
    background-color: #f2f2f2;
}

.fix-tel a:before {
    content: "\f095";
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

@media (max-width: 1024px) {
    h1 {
        display: none;
    }

    .top-blog-item .cat02 {
        width: 100%;
        margin-top: 5px;
    }

    .h1-decoy {
        display: block;
    }

    header .tel-box {
        padding: 15px 15px;
        text-align: left;
    }

    .hlogo .name {
        font-size: 28px;
    }

    .top-head-box h2 {
        font-size: 32px;
    }

    .top-head-box .sub {
        font-size: 16px;
    }

    .fix-contact {
        bottom: 10px;
        right: 10px;
    }

    .fix-contact a {
        width: 100px;
        height: 100px;
    }

    .fix-contact .text {
        margin-top: 5px;
        font-size: 12px;
    }

    .fix-contact img {
        width: 30px;
    }

    .top03 .btn02 a {
        margin-left: auto;
        margin-right: auto;
    }

    .top-news .news-wrap {
        min-height: 350px;
    }

    .top-blog .blog-wrap {
        min-height: 350px;
    }

    .top07 .text-wrap {
        height: 250px;
    }

    .flogo-box {
        width: 45%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .fnav-box {
        width: 100%;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-top: 30px;
    }

    .foot01-box {
        width: 50%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .fnav {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }

    .house-before:before {
        width: 225px;
        height: 165px;
        bottom: -23px;
        left: 10px;
    }

    .house-after:after {
        width: 225px;
        height: 165px;
        bottom: -23px;
        right: 10px;
    }

    .check-list01 li:before {
        width: 17px;
        height: 18px;
    }

    .check-list01 li {
        padding-left: 30px;
    }

    header .tel-box br {
        display: block;
    }
}

.top-head-box .show\@sp h2 {
    margin-bottom: 8px;
    padding-bottom: 2px;
    font-size: 22px;
}

.top-head-box .show\@sp .sub {
    font-size: 16px;
}

.show\@sp .heading01 {
    margin-bottom: 30px;
    font-size: 22px;
}

.top07 .show\@sp .title {
    font-size: 22px;
}

@media (max-width: 599px) {

    .header-inner {
        width: auto;
    }

    .hlogo .name {
        font-size: 24px;
    }

    header .tel-box .tel {
        font-size: 16px;
    }

    header .tel-box .text {
        font-size: 10px;
    }

    header .tel-box {
        padding: 15px 7px;
    }

    .hlogo {
        max-width: 200px;
        padding-left: 0;
    }

    .hlogo .title {
        letter-spacing: 0;
    }

    header .tel-box .tel:before {
        margin-right: 3px;
        font-size: 90%;
    }


    .top-image {
        padding-top: 100%;
    }

    .btn01 a {
        padding: 12px 5px;
        font-size: 12px;
    }

    .btn01 button {
        min-width: 150px;
        margin: 0 5px;
        padding: 12px 5px;
        font-size: 12px;
    }

    .top05box .bg {
        width: 100%;
        position: static;
    }

    .top05 {
        width: 100%;
    }

    .top05box .inners {
        max-width: 96%;
        margin-left: auto;
        margin-right: auto;
    }

    .top05box .inners:after {
        content: none;
    }

    .top-news .news-wrap {
        min-height: auto;
        display: block;
    }

    .top-blog .blog-wrap {
        min-height: auto;
        display: block;
    }

    .btn02 a {
        max-width: 220px;
        padding: 12px 5px;
        font-size: 12px;
    }



    .top07box .top07 .left-cmn {
        margin-bottom: 0;
    }

    .flogo-box {
        width: 100%;
    }

    .fnav-box {
        width: 100%;
        margin-top: 20px;
    }

    .foot01-box {
        width: 100%;
        margin-top: 20px;
    }

    .fnav {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }

    .top03box .left-cmn {
        margin-bottom: 0;
    }

    .fix-tel {
        display: block;
    }

    .fix-contact {
        width: 60%;
        bottom: 0;
        right: 0;
    }

    .fix-contact a {
        width: auto;
        height: 60px;
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .fix-contact .wrap {
        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;
    }

    .fix-contact .icon {
        margin-right: 5px;
    }

    .fix-contact .text {
        margin-top: 0;
    }

    footer {
        padding-bottom: 60px;
    }

    footer .copy {
        padding: 12px 0;
        font-size: 10px;
    }

    .foot01 .fs14 {
        font-size: 12px;
    }

    .house-before:before {
        width: 150px;
        height: 110px;
        bottom: -18px;
        left: 5px;
    }

    .house-after:after {
        width: 150px;
        height: 110px;
        bottom: -18px;
        right: 5px;
    }

    .btn01+.btn01 {
        margin-left: 0;
    }

    .top07 .text-wrap {
        height: 150px;
    }
}

/* 入力値定義HTMLのcss */
.articledtl01 .txt h2 {
    margin: 1em 0;
    padding: 0.5em 0;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
}

.articledtl01 .txt h2::first-letter {
    color: var(--color01);
}

.articledtl01 .txt h3 {
    margin: 1em 0;
    padding: 0.5em;
    font-weight: 600;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    border-left: solid 10px var(--color01);
}

.articledtl01 .txt h4 {
    margin: 1em 0;
    padding-bottom: 0.5em;
    font-weight: 600;
    font-weight: 700;
    font-size: 18px;
    border-bottom: dotted 2px var(--color01);
}

.articledtl01 .txt ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
}

.articledtl01 .txt ul li::before {
    content: "■";
    color: var(--color01);
}

.articledtl01 .txt ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    list-style-type: none;
    counter-increment: cnt;
}

.articledtl01 .txt ol li::before {
    content: ""counter(cnt)".";
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
    font-family: math;
    font-weight: bold;
    font-size: 120%;
    color: var(--color01);
}

.articledtl01 iframe[src*="youtube"] {
    height: auto;
    margin-top: 1em;
    margin-bottom: 1em;

    aspect-ratio: 16 / 9;
}

/* company */
.under-image {
    position: relative;
}

.under-image .pic {
    background-color: #000;
}

.under-image .pic img {
    opacity: 0.5;
}

.under-image .text-wrap {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.under-image h2 {
    font-size: 36px;
    color: #fff;
    white-space: nowrap;
}

[data-element-id] .under-image .show\@sp h2 {
    font-size: 24px;
}

.company01 {
    max-width: 900px;
}

.company02box .left-cmn {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.company02box .right-cmn {
    margin-left: auto;
}

.company03 {
    position: relative;
}

.company03:before {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #333;
    position: absolute;
    top: 0;
    left: 30%;
}

.company03 dl:not(:last-child) {
    margin-bottom: 40px;
}

.company03 dt {
    padding-right: 10px;
}

.company04box {
    background-color: #000;
}

.company04box .pa100 img {
    opacity: 0.5;
}

.company04 .area-map {
    max-width: 435px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.company04 .area-map:after {
    content: "";
    width: 270px;
    height: 270px;
    overflow: hidden;
    border-radius: 50%;
    background-color: rgba(103, 160, 183, 0.4);
    position: absolute;
    bottom: 9%;
    right: 0;
}

.company04 .area-map .text {
    color: #fff;
    position: absolute;
    bottom: 40%;
    right: 20%;
    z-index: 2;
}

.company05 .wrap {
    height: 300px;
    background-color: #000;
}

.company05 .btn02 {
    width: 360px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.company05 .btn02 a {
    max-width: 360px;
    font-size: 16px;
    background-color: var(--color01);
}

.company05 .pa100 img {
    opacity: 0.5;
}

.under-image .show\@sp h2 {
    font-size: 24px;
}

@media (max-width: 1024px) {
    .under-image h2 {
        font-size: 24px;
    }

    .under-image span:after {
        padding-top: 25%;
    }

    .bread-box li:nth-of-type(1) a:before {
        width: 18px;
        height: 18px;
        top: -3px;
    }

    .company03 dl:not(:last-child) {
        margin-bottom: 30px;
    }

    .company05 .btn02 {
        width: 80%;
    }

    .company05 .wrap {
        height: 250px;
    }
}

@media (max-width: 599px) {
    .under-image span:after {
        padding-top: 40%;
    }

    .company03 dl:not(:last-child) {
        margin-bottom: 20px;
    }

    .company02box .left-cmn {
        position: static;
    }

    .company04 .area-map {
        max-width: 306px;
    }

    .company04 .area-map:after {
        width: 190px;
        height: 190px;
    }

    .company05 .wrap {
        height: 150px;
    }
}

/* reason */
.reason-list .pic {
    width: 40%;
    position: absolute;
    top: 0;
}

.reason-list .reason02 {
    width: 55%;
}

.reason-list li:nth-of-type(2n + 1) .pic {
    left: 0;
}

.reason-list li:nth-of-type(2n + 1) .reason02 {
    margin-left: auto;
}

.reason-list li:nth-of-type(2n) .pic {
    right: 0;
}

.reason-list li:nth-of-type(2n) .reason02 {
    margin-right: auto;
}

.heading03 {
    width: 287px;
    padding: 8px 15px;
    font-size: 20px;
    color: #fff;
    background-color: var(--color01);
}

.show\@sp .heading03 {
    font-size: 16px;
}

.reason03box .pic {
    width: 45%;
    position: absolute;
    top: 0;
    left: 0;
}

.reason03box .right-cmn {
    width: 48%;
    margin-left: auto;
}

@media (max-width: 1024px) {
    .reason03box .right-cmn {
        width: 40%;
    }
}

@media (max-width: 599px) {
    .reason-list .pic {
        width: 100%;
        position: static;
    }

    .reason-list .reason02 {
        width: 100%;
        margin-top: 15px;
    }

    .reason03box .pic {
        width: 100%;
        position: static;
    }

    .reason03box .right-cmn {
        width: 95%;
        margin-top: 15px;
    }
}

.diff-table th {
    padding: 20px 0;
    color: #fff;
    background-color: var(--color01);
}

.diff-table td {
    padding: 30px 20px 30px 20px;
}

.diff-table th+th {
    border-left: 1px solid #fff;
}

.diff-table td+td {
    border-left: 1px solid #fff;
}

.diff-table table {
    width: 100%;
}

.diff-table table tr:nth-of-type(2n) {
    background-color: var(--color05);
}

.diff-table table tr:nth-of-type(2n + 1):not(:first-child) {
    background-color: var(--color06);
}

.diff-table table th:nth-of-type(1) {
    width: 18%;
}

.diff-table table th:nth-of-type(2) {
    width: 40%;
}

.diff-table .indent01 li {
    margin: 10px 0;
}

.common01 {
    position: relative;
}

.common01 .pic {
    position: absolute;
    top: 0;
    left: 0;
}

.common01.right .pic {
    left: auto;
    right: 0;
}

.heading04 {
    padding: 5px 13px;
    color: #fff;
    background-color: var(--color01);
}

@media (max-width: 1024px) {
    .diff-table table {
        min-width: 700px;
    }
}

@media (max-width: 599px) {
    .common01 .pic {
        width: 100%;
        margin-bottom: 15px;
        position: static;
    }
}

.border02 {
    width: 128px;
    height: 1px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
}

.leaf-white li {
    margin: 15px 0;
    padding-left: 55px;
    position: relative;
}

.leaf-white li:before {
    content: "";
    width: 42px;
    height: 30px;
    background-image: url("../img/icon/leaf_white.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 3px;
    left: 0;
}

.leaf-white.green li:before {
    background-image: var(--image-url01);
}

.water02 {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
}

.page-link a {
    display: block;
    padding: 14px 0;
    color: #fff;
    text-align: center;
    background-color: var(--color03);
    position: relative;
}

.page-link a:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 5px;
}

@media (max-width: 1024px) {
    .page-link {
        max-width: 550px;
        margin-left: auto;
        margin-right: auto;
    }

    .page-link a {
        padding: 10px 0;
    }
}

@media (max-width: 599px) {
    .leaf-white li:before {
        width: 35px;
        height: 25px;
        top: 1px;
    }

    .leaf-white li {
        margin: 12px 0;
        padding-left: 45px;
    }

    .border02 {
        width: 59px;
    }
}

/* necessity */
.need02 {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.need03box .page-link {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
}

.kind-table th {
    padding: 10px 5px;
}

.kind-table td {
    padding: 15px 5px;
    text-align: center;
}

.kind-table table th:nth-of-type(1) {
    width: 20%;
}

.kind-table table th:nth-of-type(2) {
    width: 25%;
}

.kind-table table th:nth-of-type(3) {
    width: 25%;
}

.heading02 {
    margin-bottom: 40px;
    padding-left: 28px;
    font-size: 22px;
    position: relative;
}

.heading02:before {
    content: "";
    width: 14px;
    height: 14px;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--color01);
    position: absolute;
    top: 10px;
    left: 0;
}

.heading07 {
    padding-left: 25px;
    font-weight: bold;
    font-size: 18px;
    position: relative;
}

.heading07:before {
    content: "";
    width: 12px;
    height: 12px;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--color01);
    position: absolute;
    top: 8px;
    left: 0;
}

.heading05 {
    padding: 7px;
    font-size: 22px;
    color: #fff;
    text-align: center;
    background-color: var(--color01);
}

.kind03box .indent01 li {
    margin: 7px 0;
}

.show\@sp .heading02 {
    margin-bottom: 25px;
    padding-left: 18px;
    font-size: 18px;
}

@media (max-width: 599px) {

    .heading02:before {
        width: 10px;
        height: 10px;
    }

    .heading05 {
        font-size: 18px;
    }
}

/* flow */
.heading06 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 6px 5px 6px 20px;
    font-size: 22px;
    color: #fff;
    line-height: 1.4;
    background-color: var(--color01);
}

[data-element-id] .show\@sp .heading06 {
    padding: 4px 5px 4px 15px;
    font-size: 20px;
}

.heading06 img {
    width: 32px;
}

.heading06 .num {
    margin-right: 15px;
    white-space: nowrap;
}

.heading06 .ttl {
    margin-left: 18px;
}

.flow-list li {
    padding: 150px 0;
}

.flow-list .right-cmn {
    background-color: #fff;
}

.flow-list .tbox {
    position: relative;
    z-index: 3;
}

.flow-list .pic {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}

.flow-list li:nth-of-type(2n + 1) .right-cmn {
    margin-left: auto;
    padding: 48px 10px 48px 50px;
}

.flow-list li:nth-of-type(2n + 1) .pic {
    left: 0;
}

.flow-list li:nth-of-type(2n) .right-cmn {
    margin-right: auto;
    padding: 48px 50px 48px 10px;
}

.flow-list li:nth-of-type(2n) .pic {
    right: 0;
}

.show\@sp .heading06 {
    padding: 4px 5px 4px 15px;
    font-size: 20px;
}


@media (max-width: 1024px) {
    .flow-list li {
        padding: 8% 0;
    }

    .flow-list .right-cmn {
        min-height: 300px;
    }

    .flow-list li:nth-of-type(2n + 1) .right-cmn {
        padding: 25px 10px 25px 25px;
    }

    .flow-list li:nth-of-type(2n) .right-cmn {
        padding: 25px 25px 25px 10px;
    }

    .flow-list .pic {
        -webkit-transform: none;
        transform: none;
        top: -10%;
    }

    .heading06 {
        padding: 4px 5px 4px 15px;
        font-size: 20px;
    }

    .heading06 .num {
        margin-right: 8px;
    }

    .heading06 img {
        width: 28px;
    }

    .heading06 .ttl {
        margin-left: 8px;
    }
}

@media (max-width: 599px) {
    .flow-list .pic {
        width: 100%;
    }

    .flow-list .pic {
        position: static;
    }

    .flow-list .right-cmn {
        min-height: auto;
    }

    .flow-list li:nth-of-type(2n + 1) .right-cmn {
        padding: 25px 0 0;
    }

    .flow-list li:nth-of-type(2n) .right-cmn {
        padding: 25px 0 0;
    }

    .flow-list li {
        padding: 30px 0;
    }
}

.trouble02 {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
}

.trouble-list li {
    padding: 0px 0 70px;
}

.trouble-list li:not(:first-child) {
    padding: 70px 0 70px;
}



.trouble-list li:nth-of-type(2n + 1) .left-cmn {
    left: 0;
}

.trouble-list li:nth-of-type(2n + 1) .right-cmn {
    margin-left: auto;
}

.trouble-list li:nth-of-type(2n) .left-cmn {
    right: 0;
}

.trouble-list li:nth-of-type(2n) .right-cmn {
    margin-right: auto;
}

.trouble-list .left-cmn {
    position: absolute;
    top: 0;
}

.trouble-list .right-cmn {
    padding-top: 60px;
}

@media (max-width: 1024px) {
    .trouble-list .right-cmn {
        padding-top: 0;
    }

    .trouble-list li:not(:first-child) {
        padding: 40px 0;
    }
}

@media (max-width: 599px) {
    .trouble-list .left-cmn {
        margin-bottom: 25px;
        position: static;
    }
}

/* remodeling */
.reform-table table {
    width: 100%;
    background-color: #fff;
}

.reform-table table th:nth-of-type(1) {
    border-left: 1px solid #333;
}

.reform-table table tr {
    border-bottom: 1px solid #333;
}

.reform-table table tr:first-child {
    border-top: 1px solid #333;
}

.reform-table th {
    padding: 10px;
    font-size: 18px;
    border-right: 1px solid #333;
}

.reform-table tr td {
    padding: 20px;
    border-right: 1px solid #333;
}

.reform-table tr td:nth-of-type(1) {
    width: 20%;
    border-left: 1px solid #333;
}

.reform-table tr td:nth-of-type(1) .text {
    display: block;
    margin-top: 10px;
    text-align: center;
}

.reform-table tr td:nth-of-type(2) {
    width: 40%;
}

.reform-table ul li {
    margin: 7px 0;
}

@media (max-width: 1024px) {
    .reform-table table {
        min-width: 700px;
    }

    .reform-table tr td {
        padding: 15px;
    }
}

@media (max-width: 599px) {
    .reform-table th {
        padding: 7px;
        font-size: 16px;
    }
}

/* works */
.category-box li {
    margin: 10px 0;
}

.under-line {
    border-bottom: solid 3px var(--color01);
}

.category-box li a:before {
    content: "−";
    display: inline-block;
    padding: 0 3px 0 4px;
}

.works-list .ttl {
    margin-bottom: 10px;
    margin-top: 10px;
}

.works-list .date {
    padding-top: 10px;
    border-top: 1px solid #333;
    margin-bottom: 6px;
}

.works-list .address {
    font-size: 14px;
}

.works-item .pic {
    position: relative;
}

.works-item .cat02 {
    max-width: 96%;
    position: absolute;
    top: 2%;
    left: 2%;
    z-index: 1;
}

.cat02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    gap: 1px;
}

.top-const-item .pic {
    position: relative;
}

.top-const-item .cat02 {
    max-width: 96%;
    position: absolute;
    top: 2%;
    left: 2%;
    z-index: 1;
}

.cat02 span {
    display: inline-block;
    letter-spacing: 0;
    padding: 2px 4px;
    font-size: 12px;
    line-height: 1em;
    color: var(--color01);
    border: 1px solid var(--color01);
    border-radius: 3px;
    background-color: #fff;
}

.pager li {
    margin: 0 7px;
    font-size: 20px;
    color: var(--color01);
}

.pager a,
.pager .a {
    display: block;
    padding: 10px 20px;
}

.pager .a {
    color: #fff;
    background: var(--color01);
}

@media (max-width: 1024px) {
    .pager li {
        margin: 0 5px;
        font-size: 20px;
    }

    .pager a,
    .pager .a {
        padding: 5px 15px;
    }
}

@media (max-width: 599px) {
    .pager a {
        padding: 5px 15px 3px;
    }
}

/* works-detail */
.works-detail-box .date {
    margin-bottom: 6px;
}

.works-detail-box .address {
    margin-bottom: 10px;
}

.works-detail-box .cat {
    display: inline-block;
    padding: 5px 35px;
    color: var(--color01);
    border: 1px solid var(--color01);
}

.works-detail-box .text-after {
    margin-top: -20px;
}

.works-detail-box .before-after img {
    width: 100%;
}

.detail-btn-list {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.detail-btn-list a {
    display: block;
    padding: 10px;
    text-align: center;
    border: 1px solid #333;
}

.detail-btn-list li:nth-of-type(2) a {
    border: 1px solid var(--color01);
}

.detail-btn-list li:nth-of-type(2).type02 a {
    border: 1px solid #555;
}

@media (max-width: 599px) {
    .works-detail-box .text-after {
        margin-top: -10px;
    }
}

/* voice-detail */
.cat01 {
    width: 145px;
    padding: 3px;
    color: var(--color01);
    text-align: center;
    border: 1px solid var(--color01);
}

.voice-detail-box .v-cate span:not(:last-of-type)::after {
    content: ",";
    margin: 0 5px 0 5px;
}

@media (max-width: 599px) {
    .voice-detail-box .left-cmn {
        margin-bottom: 40px;
    }

    .detail-btn-list {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .detail .right-cmn {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
}

.border03 {
    border-bottom: 1px solid #333;
}

/* recruit */
.recruit01 {
    max-width: 465px;
    padding: 25px 20px;
    text-align: center;
    border: 1px solid #fff;
}

.recruit01 .tel:before {
    content: "\f095";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.recruit02 {
    position: relative;
}

.recruit02 .tbox {
    width: 100%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.recruit03 {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}

.recruit04box .tit {
    padding-bottom: 5px;
    border-bottom: 1px solid;
}

.up-btn-diagonal-swipe a {
    overflow: hidden;
    text-transform: uppercase;
    border: 1px solid currentColor;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    position: relative;
}

.up-btn-diagonal-swipe a:hover {
    color: #fff;
    border: 1px solid var(--color01);
}

.up-btn-diagonal-swipe.type02 a:hover {
    border-color: #555;
}

.up-btn-diagonal-swipe a:before {
    content: "";
    border-bottom: 80px solid var(--color01);
    border-right: 50px solid transparent;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -50px;
    z-index: -1;
}

.up-btn-diagonal-swipe.type02 a:before {
    border-bottom: 80px solid #555;
}

.up-btn-diagonal-swipe a:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

@media (max-width: 1024px) {
    .recruit01 {
        margin-left: auto;
        margin-right: auto;
    }

    .recruit01box .leaf-white {
        max-width: 550px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 599px) {
    .recruit02 .tbox {
        margin-top: 30px;
        -webkit-transform: none;
        transform: none;
        position: static;
    }
}

.contact-form .require {
    width: 40px;
    padding: 3px 0;
    font-size: 12px;
    color: var(--color01);
    text-align: center;
    white-space: nowrap;
    border: 1px solid var(--color01);
}

.contact-form input[type="text"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #333;
}

.contact-form textarea {
    width: 100%;
    height: 277px;
    padding: 10px;
    border: 1px solid #333;
}

.contact-form li {
    padding: 30px 0;
}

.contact-form li:nth-of-type(2n) {
    background-color: #f2f2f2;
}

.contact-form .total-area input[type="text"] {
    width: 70%;
}

.contact-form .total-area .m {
    margin-left: 10px;
}

.form_shape .item {
    margin-bottom: 15px;
}

.form_shape label {
    margin-left: 10px;
}

.confirm01 .btn01 a:hover {
    border: 1px solid #fff;
}

.contact-form .check label {
    display: inline-block;
    margin-right: 15px;
    padding: 0 10px 0 24px;
    position: relative;
}

.contact-form .check label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    position: absolute;
    top: 3px;
    left: 0;
}

.contact-form .check label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.contact-form .check input {
    display: none;
}

.contact-form .check input:checked+label {
    text-decoration: underline;
}

.contact-form .check 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: var(--color-03);
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: 3px;
    left: 2px;
}

@media(max-width:599px) {
    .contact-form .check label::before {
        top: 1px;
    }

    .form_shape label {
        margin-left: 0;
    }
}

[data-element-id] .g-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] .g-item {
    margin: 20px 0;
}

[data-element-id] .g-list .sp-logo {
    margin: 20px 0;
}

[data-element-id] .top03box .pa100,
[data-element-id] .top07 .pa100 {
    height: 400px;
    position: static;
}

[data-element-id] .top03,
[data-element-id] .top07 .text-wrap {
    background: rgba(0, 0, 0, 0.5);
}

[data-element-id] .fix-contact {
    position: static;
}

[data-element-id] .fix-tel {
    display: block;
    position: static;
}

[data-element-id] .accordionbox {
    visibility: visible;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: static;
}

[data-element-id] .fix-contact a:before {
    content: none;
}

@media (max-width: 1024px) {
    .up-d-inline\@tb {
        display: inline;
    }
}