@charset "UTF-8";


.mont {
  font-family: "Montserrat", sans-serif;
}

html {
  font-size: 14px;
  line-height: 1.6;
  overflow-x: hidden;
}

#wrapper {
  width: 100%;
  overflow-x: hidden;
}

/* letter-spacing */
.ls-cmn03 {
  letter-spacing: 3px;
}

@media only screen and (max-width: 1024px) {
  .ls-cmn03 {
    letter-spacing: 2px;
  }
}

@media only screen and (max-width: 599px) {
  .ls-cmn03 {
    letter-spacing: 1px;
  }
}

.ls-cmn04 {
  letter-spacing: 4px;
}

@media only screen and (max-width: 1024px) {
  .ls-cmn04 {
    letter-spacing: 3px;
  }
}

@media only screen and (max-width: 599px) {
  .ls-cmn04 {
    letter-spacing: 2px;
  }
}

.ls-cmn05 {
  letter-spacing: 5px;
}

@media only screen and (max-width: 1024px) {
  .ls-cmn05 {
    letter-spacing: 4px;
  }
}

@media only screen and (max-width: 599px) {
  .ls-cmn05 {
    letter-spacing: 3px;
  }
}

/* フォントファミリー */
.fw4 {
  font-weight: 400;
}

.fw5 {
  font-weight: 500;
}

.fw6 {
  font-weight: 600;
}

.fw7 {
  font-weight: 700;
}

.color01 {
  color: #000;
}

.color02 {
  color: #ca0000;
}

.color-white {
  color: #fff;
}

.bgc01 {
  background-color: #fce861;
}

.bgc02 {
  background: rgba(0, 178, 204, 10%);
}

.bgc03 {
  background-color: #e2e8dc;
}

dt {
  font-weight: normal;
}

.prof-cmn {
  position: relative;
  overflow: hidden;
}

.prof-cmn02 {
  position: relative;
}

.inner-1400 {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 92%;
}

/* 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 only screen and (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: 24px;
  }

  .fs30 {
    font-size: 24px;
  }

  .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 only screen and (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 only screen and (max-width: 599px) {
  .w100\@sp {
    width: 100%;
  }
}

@media only screen and (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 only screen and (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 only screen and (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 only screen and (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 only screen and (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 only screen and (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 only screen and (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 only screen and (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 only screen and (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 only screen and (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;
  }
}

/* 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 only screen and (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 only screen and (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 only screen and (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 only screen and (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;
  }
}

.ellip {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.anchor-b a {
  display: block;
}

.anchor-ib a {
  display: inline-block;
}

.txt23 {
  line-height: 2.3;
}

.txt25 {
  line-height: 2.5;
}

.txt2 {
  line-height: 2;
}

.txt16 {
  line-height: 1.6;
}

.txt18 {
  line-height: 1.8;
}

@media only screen and (max-width: 599px) {
  .txt2\@sp {
    line-height: 2;
  }
}

.img100 img {
  width: 100%;
}

.pa100 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.h100 {
  height: 100%;
}

/* left right */
@media only screen and (max-width: 1024px) {
  body .tb>.left-cmn {
    width: 100%;
    margin-bottom: 20px;
  }

  body .tb>.right-cmn {
    width: 100%;
  }
}

@media only screen and (max-width: 599px) {
  body div .left-cmn {
    width: 100%;
    margin-bottom: 15px;
  }

  body div .right-cmn {
    width: 100%;
    margin-bottom: 15px;
  }
}

/* 左右入れ替え */
.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 only screen and (max-width: 1024px) {
  .br1024b-cmn br {
    display: block;
  }

  .br1024n-cmn br {
    display: none;
  }
}

@media only screen and (max-width: 599px) {
  .br599b-cmn br {
    display: block;
  }

  .br599n-cmn br {
    display: none;
  }
}

/* list */
.indent01 {
  text-indent: -1em;
  padding-left: 1em;
}

.indent15 {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

.indent02 {
  text-indent: -2em;
  padding-left: 2em;
}

.indent03 {
  text-indent: -3em;
  padding-left: 3em;
}

/* スマホオンリー */
.pc-none {
  display: none;
}

@media only screen and (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;
}

/* index */
.gnav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  margin: auto;
  width: 100%;
  background: #ffffff;
  padding: 2rem 0;
}

.t-inner {
  width: 92%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px 0;
}

header .t-inner {
  position: relative;
}

header .logo {
  max-width: 220px;
  margin: 0 auto 50px;
}

.btn {
  display: block;
  margin: 0 auto;
  padding: 1em;
  color: #000;
  border: 1px solid #000;
  position: relative;
}

header .res_btn {
  position: absolute;
  right: 2%;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 1rem 2rem;
}

.btn:after {
  position: absolute;
  left: 95%;
  top: 50%;
  content: "";
  width: 30px;
  height: 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
}

.btn:hover:after {
  width: 97px;
}

.gnav.fixed .fix_inner {
  width: 1000px;
  margin: auto;
}

.gnav.fixed .gnav_ul {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.gnav .toplink {
  display: none;
}

.gnav.fixed .toplink {
  display: block;
  width: 190px;
}

.nav_wrap li a {
  padding: 1rem;
}

.gnav .toplink a {
  display: block;
}

.nav_wrap li:after {
  content: "/";
}

.gnav.fixed .toplink:after {
  content: "";
}

.nav_wrap li.noline:after {
  content: "";
}

.gnav .tab_sm_list {
  display: none;
}

.gnav.fixed .res_btn {
  padding: 1rem;
  right: 5%;
}

.toppage .mainimage {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 5%;
}

.toppage .mainimage .text {
  width: 70%;
  line-height: 2.5;
  margin: -70px auto 0;
  position: relative;
  z-index: 10;
  background: rgba(255, 255, 255, 0.8);
  padding: 30px;
  box-shadow: 1px 1px 4px #adadad;
}

.toppage .mainimage .vertical {
  position: absolute;
  right: 200px;
  top: 3rem;
  z-index: 3;
}

.vertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.left {
  padding-right: 3rem;
}

.top01box .text_wrap,
.top02box .upper .text_wrap {
  width: 80%;
  margin-left: auto;
}

.heading {
  position: relative;
  margin-bottom: 3rem;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  letter-spacing: 0.25rem;
  font-size: 24px;
}

.t {
  line-height: 2;
}

.mb3r {
  margin-bottom: 3rem;
}

.heading:after {
  position: absolute;
  display: block;
  content: "";
  background: #000000;
  width: 104px;
  height: 1px;
  bottom: 0;
}

.heading.head-c:after,
.heading.head-l:after {
  bottom: -.5em;
}

.lead {
  font-weight: normal;
  letter-spacing: 0.25rem;
}

.mb2r {
  margin-bottom: 2rem;
}

.btn_wrap.btn_right {
  text-align: right;
}

.btn_wrap .btn {
  width: 300px;
  padding: 1.5rem 0;
  text-align: center;
  letter-spacing: 0.25rem;
}

.t-all {
  position: relative;
}

.t-all .vertical {
  position: absolute;
  top: -60px;
  font-size: 80px;
  font-weight: normal;
  z-index: 3;
  letter-spacing: 1rem;
}

.top02box .vertical {
  left: 0;
}

.top02box .upper .text_wrap {
  position: relative;
  z-index: 3;
  padding-top: 80px;
  padding-left: 30px;
}

.top02box .of {
  -webkit-transform: translate(-140px, -60px);
  transform: translate(-140px, -60px);
}

.top02box .of .pic {
  width: 840px !important;
}

.top02box .t-tile_grid dl .text_wrap {
  padding-top: 10%;
  padding-right: 7%;
  padding-bottom: 3%;
  width: 80%;
  margin: 0 0 0 auto;
}

.top02box .t-tile_grid dl:nth-of-type(odd) .text_wrap {
  padding-right: 0;
  padding-left: 7%;
  margin: 0 auto 0 0;
}

.t-tile_grid .inside {
  max-width: 1400px;
  width: 92%;
  margin: auto;
}

.top03box .inner {
  padding-right: 80px;
}

.top03box .upper li .pname {
  position: absolute;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  height: 80%;
  z-index: 2;
}

.top03box .t-tile_grid dl .text_wrap {
  padding-top: 10%;
  padding-right: 7%;
  padding-bottom: 3%;
  width: 80%;
  margin: 0 0 0 auto;
}

.top03box .t-tile_grid dl:nth-of-type(even) .text_wrap .topic {
  border-bottom: 1px solid #000;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.top03box .t-tile_grid dl:nth-of-type(even) .text_wrap .topic:last-of-type {
  border-bottom: none;
}

.onel {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}



.arrow_link {
  position: relative;
  text-align: right;
  padding-right: 50px;
}

.arrow_link:after {
  position: absolute;
  left: 75%;
  top: 35%;
  content: "";
  display: inline-block;
  width: 30px;
  height: 7px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: skewX(45deg);
  transform: skewX(45deg);
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
}

.heading.head-c:after {
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.mb6p {
  margin-bottom: 6%;
}

.d-d {
  border: 1px solid #000;
  position: relative;
  width: calc(100% - 18px);
}

.d-d:after {
  position: absolute;
  display: block;
  content: "";
  border: 1px solid #000;
  width: 100%;
  height: 100%;
  top: 18px;
  left: 17px;
  z-index: -1;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.top04box .heading {
  margin-bottom: 8rem;
}

.top04box .salonlist .pic {
  width: 700px !important;
  -webkit-transform: translate(-210px, -70px);
  transform: translate(-210px, -70px);
  position: relative;
  z-index: -1;
}

.top04box .salonlist .text_wrap {
  width: 90%;
  margin: auto;
  padding: 10% 0 10% 15%;
}

.top04box .salonlist .arrow_link {
  position: absolute;
  right: 10%;
  bottom: 70px;
  z-index: 2;
}

.top04box .salonlist:nth-of-type(even) .pic {
  -webkit-transform: translate(0, -70px);
  transform: translate(0, -70px);
}

.top04box .salonlist:nth-of-type(even) .arrow_link {
  right: 60%;
  bottom: 70px;
}

.top-style-list a {
  display: block;
}

.top-style-list .more-btn a {
  border: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  width: 100%;
  position: relative;
}

.top-style-list .more-btn a:after {
  position: absolute;
  display: block;
  content: "";
  border: 1px solid #000;
  width: 100%;
  height: 100%;
  top: 9px;
  left: 8px;
  z-index: -1;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.top-style-list .more-btn a .arrow {
  position: relative;
  width: 80%;
  text-align: center;
}

.top-style-list .more-btn a .arrow:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 36px;
  height: 7px;
  bottom: -1rem;
  left: 40%;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: skewX(45deg);
  transform: skewX(45deg);
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
}

.mb10p {
  margin-bottom: 10%;
}

.f-inner .f-nav li {
  padding-bottom: 0.5rem;
}

.f-inner .d-d .inside {
  padding: 3rem 2rem 2rem;
}

footer .btn-list li:not(:last-child) {
  border-right: 1px solid #000;
}

.tel_btn {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  z-index: 100;
  align-items: center;
}

.tel_btn>*{
  width:50%;
  display:inline-block;
}

.tel_btn>*>a {
  width: 100%;
  padding: 0.75rem;
  display: inline-block;
  font-weight:bold;
  color:#fff;
}

.tel_btn>.tel>a {
  background-color:#00b2cc;
}

.tel_btn>.cont>a {
  background-color:#000;
}

.tel_btn {
  display: none;
}

.f-inner .copyright {
  color: #9a9a9a;
}

@media only screen and (max-width: 1024px) {
  .gnav .toggle {
    display: block !important;
    position: fixed !important;
    width: 42px;
    height: 42px;
    top: 0px;
    right: 0px;
    background: #fff;
    cursor: pointer;
    opacity: 0.8;
    z-index: 251;
  }

  .gnav .toggle .bar {
    display: block;
    background: #000;
    height: 2px;
    width: 28px;
    text-indent: 9999px;
    padding: 0;
    top: 50%;
    left: 7px;
    margin-top: -1px;
    position: absolute;
    -webkit-transition: ease 0.4s;
    transition: ease 0.4s;
  }

  .gnav .toggle .bar:before {
    display: block;
    content: "";
    background: #000;
    height: 2px;
    width: 28px;
    position: absolute;
    top: -10px;
    left: 0;
  }

  .gnav .toggle .bar:after {
    display: block;
    content: "";
    background: #000;
    height: 2px;
    width: 28px;
    position: absolute;
    top: 10px;
    left: 0;
  }

  .gnav.action .toggle .bar:after,
  .gnav.action .toggle .bar:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    left: 0;
  }

  .gnav.action .toggle .bar:after,
  .gnav.action .toggle .bar:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    left: 0;
  }

  .gnav.action .toggle .bar {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .gnav .accordion-body {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    opacity: 0;
    -webkit-transition: height ease 0.1s, opacity ease 0.4s;
    transition: height ease 0.1s, opacity ease 0.4s;
    background: rgba(255, 255, 255, 0.8);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    z-index: -10;
  }

  .gnav.action .accordion-body {
    height: 100vh;
    opacity: 1;
    z-index: 250;
  }

  .gnav .accordion-inner {
    width: 100%;
    padding: 60px 10px 100px 10px;
  }

  .gnav .gnav_ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .gnav li {
    display: block;
    width: 90%;
    border: none;
    border-bottom: 1px solid #ddd;
    padding: 0;
    margin: 0 1rem;
  }

  .global_m li a {
    letter-spacing: 0.25rem;
  }

  .gnav ul li a {
    display: block;
    color: #000;
    text-align: left;
    padding: 10px 15px;
    border: none;
  }

  .nav_wrap li:after {
    content: none;
  }

  .gnav .tab_sm_list {
    display: block;
  }

  .gnav .list_heading {
    width: 100%;
    padding: 2rem 0;
    border-bottom: none;
  }

  .overlay:after {
    content: "";
    width: 100%;
    height: 100vh;
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0.3;
    z-index: 150;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
  }

  header .res_btn {
    right: 3rem;
    padding: 0.5rem 1rem;
  }

  .toppage .mainimage .back_lead {
    width: 70%;
  }

  .toppage .mainimage .text {
    width: 60%;
  }

  .toppage .mainimage .vertical {
    top: 1rem;
    right: 5%;
  }

  .left {
    padding-right: 1rem;
  }

  .btn_wrap .btn {
    width: 60%;
    padding: 1rem;
  }

  .t-all .vertical {
    font-size: 50px;
  }

  .top01box .text_wrap,
  .top02box .upper .text_wrap {
    width: 100%;
  }

  .top02box .of {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  .top02box .of .pic {
    width: 100% !important;
  }

  .top02box .upper .text_wrap {
    padding: 1rem 1rem 1rem 80px;
  }

  .top02box .t-tile_grid dl .text_wrap {
    width: 100%;
    padding: 0rem;
  }

  .top03box .t-tile_grid dl .text_wrap {
    width: 100%;
    padding: 1rem;
  }

  .top04box .right-cmn {
    background: rgba(255, 255, 255, 0.7);
  }

  .top04box .heading {
    margin-bottom: 6rem;
  }

  .top04box .salonlist:nth-of-type(even) .pic {
    -webkit-transform: translate(-210px, -70px);
    transform: translate(-210px, -70px);
  }

  .d-d:after {
    top: 10px;
    left: 9px;
  }

  .t-inner {
    width: 93%;
    max-width: 768px;
    padding: 40px 0;
  }

  .top-style-list .more-btn a:after {
    top: 5px;
    left: 4px;
  }

  .top06box ul li .left-cmn {
    margin-bottom: 10px;
  }

  .f-nav ul,
  .f-nav .btn_wrap {
    width: 45%;
    margin-bottom: 3rem;
  }

  .inner-1400 {
    width: 96%;
  }

  footer .btn-list li {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #000;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }

  footer .btn-list li:last-child {
    margin-bottom: 0;
  }

  footer .btn-list li:not(:last-child) {
    border-right: none;
  }

  .f-inner .logo {
    margin: 0 0 2rem auto;
    width: 220px;
  }
}

@media only screen and (max-width: 599px) {
  header .res_btn {
    padding: 0.25rem 0.5rem;
    font-size: 12px;
    position: absolute;
    top: 70%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: inline-block;
    right: auto;
  }

  header .res_btn:after {
    content: none;
  }

  .top02box .of .pic {
    width: 96% !important;
    margin-right: auto;
    margin-left: auto;
  }

  .t-inner {
    width: 94%;
    max-width: 450px;
    padding: 10px 0;
  }

  .toppage .mainimage .vertical {
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
  }

  .toppage .mainimage .text {
    width: 90%;
    position: relative;
    left: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    margin: 3rem auto 0;
    line-height: 160%;
    padding: 15px;
  }

  .toppage .mainimage .back_lead {
    width: 70%;
    top: 100px;
    bottom: auto;
  }

  .t {
    line-height: 1.6;
  }

  .btn_wrap .btn {
    padding: 0.5rem;
  }

  .t-all .vertical {
    font-size: 40px;
  }

  .top02box .upper .text_wrap {
    padding: 1rem 10px;
  }

  .t-tile_grid dl {
    margin-bottom: 3rem;
  }

  .t-tile_grid dl:last-child {
    margin-bottom: 0rem;
  }

  .t-tile_grid .inside {
    width: 96%;
    padding: 3em 0;
    margin: auto;
  }

  .top03box .inner {
    padding: 45px;
  }

  .top04box .salonlist .pic {
    width: 110% !important;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  .top04box .salonlist .text_wrap {
    width: 100%;
    padding: 1rem;
  }

  .top02box .t-tile_grid dl:nth-of-type(odd) .text_wrap {
    padding-right: 0;
    padding-left: 0%;
  }

  .top04box .salonlist:nth-of-type(even) .pic {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  .top04box .salonlist .arrow_link,
  .top04box .salonlist:nth-of-type(even) .arrow_link {
    position: relative;
    display: inline-block;
    right: 0;
    bottom: 0;
    padding: 2rem 0 2rem 1rem;
    z-index: 0;
  }

  .top04box .salonlist .arrow_link:after,
  .top04box .salonlist:nth-of-type(even) .arrow_link:after {
    left: 100%;
    top: 45%;
  }

  .f-nav ul,
  .f-nav .btn_wrap {
    width: 100%;
    margin-bottom: 2rem;
  }

  .f-nav .btn_wrap .btn {
    margin: 0 auto 0 0;
  }

  .f-inner .d-d .inside {
    padding: 2rem 1rem 1rem;
  }

  .tel_btn {
    display: flex;
  }
}

/* concept */
.u-mainimage {
  max-width: 1400px;
  margin: auto;
  position: relative;
}

.u-mainimage .main_heading {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 80%;
  text-align: center;
  z-index: 6;
  font-weight: normal;
  margin-bottom: 4rem;
  letter-spacing: 0.5rem;
  line-height: inherit;
}

.u-mainimage .main_heading:after {
  display: block;
  content: "";
  height: 1px;
  width: 104px;
  background: #000;
  position: absolute;
  top: 4rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.u-mainimage .main_heading .jp {
  display: block;
  margin-top: 2rem;
  letter-spacing: 0.25rem;
}

.filter,
.filterT,
.filterR,
.filterB,
.filterL,
.filterRad {
  position: relative;
}

.filter:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: rgba(255, 255, 255, 0.6);
}

.filterT:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: -webkit-gradient(linear, left bottom, left top, from(white), color-stop(50%, rgba(255, 255, 255, 0)));
  background: linear-gradient(to top, white 0%, rgba(255, 255, 255, 0) 50%);
}

.filterR:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: -webkit-gradient(linear, left top, right top, from(white), color-stop(50%, rgba(255, 255, 255, 0)));
  background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 50%);
}

.filterB:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, rgba(255, 255, 255, 0)));
  background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 50%);
}

.filterL:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: -webkit-gradient(linear, right top, left top, from(white), color-stop(50%, rgba(255, 255, 255, 0)));
  background: linear-gradient(to left, white 0%, rgba(255, 255, 255, 0) 50%);
}

.filterRad:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: radial-gradient(ellipse at center, white 0%, rgba(255, 255, 255, 0) 80%);
}

.content1400 {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.topm {
  margin-top: 160px;
}

.head_img .d-d {
  padding: 3rem;
}

h3 {
  font-weight: normal;
  margin-bottom: 50px;
}

.head_img .t {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.head_img .t li {
  line-height: 3rem;
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}

.concept01 {
  width: 80%;
  margin-bottom: 10%;
}

.concept01box .concept01:nth-of-type(even) {
  margin-left: auto;
}

.mb1r {
  margin-bottom: 1rem;
}

h4 {
  font-weight: normal;
}

@media only screen and (max-width: 1024px) {
  .u-mainimage span:after {
    padding-top: 30%;
  }

  .topm {
    margin-top: 15%;
  }

  .head_img .inner {
    width: 80%;
  }

  h3 {
    margin-bottom: 40px;
  }

  .head_img h3 {
    margin-bottom: 1.5rem;
  }

  .head_img .t {
    width: 90%;
  }

  .head_img .t li {
    line-height: 2;
  }
}

@media only screen and (max-width: 599px) {
  .u-mainimage span:after {
    padding-top: 40%;
  }

  .u-mainimage .main_heading:after {
    top: 3rem;
  }

  .u-mainimage .main_heading .jp {
    margin-top: 1rem;
  }

  .head_img .inner {
    width: 94%;
    max-width: 450px;
    padding: 0.5rem;
  }

  .head_img .d-d {
    padding: 1rem;
  }

  .concept01 {
    width: 100%;
  }

  .concept01 .txt2 {
    line-height: 1.6;
  }
}

/* blognews */
.blog-list .cat {
  border: 1px solid #000;
  padding: 0.25rem 0.5rem;
  display: inline-block;
}

.blog-category .ttl {
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.blog-category li {
  margin-bottom: 1rem;
  width: 100%;
  text-indent: -1em;
  padding-left: 1em;
}

.blog-category li:before {
  content: "＞";
  padding-right: 0.25rem;
}

.blog-category .daica-item:before {
  content: "";
  display: inline-block;
  width: .6em;
  height: .6em;
  border-radius: 100%;
  background-color: #000;
  padding-right: 0.2rem;
}

.blog-category .chuka-item:before {
  content: "┗";
  padding-right: 0.25rem;
}


.list-pager {
  width: 40%;
  margin: 10% auto 3%;
}

.list-pager a {
  display: block;
  padding: 1px 6px;
}

.list-pager li,
.list-pager li a {
  display: block;
  text-align: center;
  color: #000;
}

.list-pager li,
.list-pager li a {
  font-size: 16px;
}

.list-pager li.prev,
.list-pager li.next {
  border-bottom: none;
}

.list-pager li.current {
  position: relative;
}

.list-pager li.current a {
  color: #ffffff;
  background-color: #000;
}

@media only screen and (max-width: 1024px) {
  .blog-category .ttl {
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .blog-category li a {
    font-size: 14px;
  }

  .blognews01box .main {
    margin-bottom: 15%;
  }
}

@media only screen and (max-width: 599px) {
  .blog-list li .right-cmn {
    padding-left: 1rem;
  }

  .blognews01box .main {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .blognews01box .side {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }

  .blognews01box .list-pager {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-bottom: 15%;
  }

  .list-pager {
    width: 80%;
  }

  .list-pager li,
  .list-pager li a {
    font-size: 14px;
  }
}

.article_wrap .title {
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.article_wrap .cat {
  border: 1px solid #000;
  padding: 0.25rem 0.5rem;
  display: inline-block;
}

.article_wrap .content {
  border-bottom: 1px solid #000;
  padding-bottom: 2rem;
  margin-bottom: 6rem;
}

.article_wrap .btn_wrap .btn.rev {
  width: 212px;
  margin-right: auto;
  margin-left: 90px;
}

.btn.rev:after {
  left: inherit;
  right: 95%;
}

.recommend {
  width: 100%;
  margin-top: 10%;
}

.recommend .reco_head {
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.recommend .blog-list-wrap {
  width: 75%;
  margin-left: auto;
}

@media only screen and (max-width: 1024px) {
  .article_wrap .btn_wrap .btn.rev {
    width: 60%;
    margin-left: 0;
  }

  .recommend .blog-list-wrap {
    width: 100%;
  }
}

@media only screen and (max-width: 599px) {
  .blognews01box .recommend {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
}

/* campaign */
.coupon {
  border: 1px solid #000;
  padding: 3rem 1rem;
}

.coupon .inside {
  width: 85%;
  margin: auto;
}

.coupon .cou_heading {
  border-bottom: 1px solid #000;
  text-align: center;
  letter-spacing: 0.25rem;
}

.coupon .cou_heading .h {
  font-size: 30px;
  display: inline-block;
  margin-bottom: 0;
  line-height: 1.25;
}

.coupon .cou_heading .discount {
  font-size: 78px;
  font-style: italic;
}

.coupon .cou_heading .limit {
  font-size: 16px;
  display: inline-block;
}

.coupon .cond dl {
  margin-bottom: 1rem;
}

.coupon .cond dt {
  background: #e7eff1;
  width: 20%;
  text-align: center;
  padding: 1rem;
  margin-right: 1rem;
}

.coupon .cond dd {
  width: 75%;
}

@media only screen and (max-width: 1024px) {
  .coupon {
    padding: 2rem 1rem;
  }

  .coupon .inside {
    width: 95%;
  }

  .coupon .cou_heading .h {
    font-size: 24px;
  }

  .coupon .cou_heading .discount {
    font-size: 50px;
  }

  .coupon .cou_heading .limit {
    font-size: 14px;
  }

  .coupon .cond dt {
    width: 100%;
    margin-right: 0;
    text-align: left;
  }

  .coupon .cond dd {
    width: 100%;
    padding: 1rem;
  }
}

@media only screen and (max-width: 599px) {
  .coupon {
    padding: 1rem;
  }

  .coupon .cou_heading .h {
    font-size: 16px;
  }

  .coupon .cou_heading .discount {
    font-size: 30px;
  }
}

/* contact_company */
.contact_form {
  width: 95%;
  margin: 0 auto 6%;
}

.contact_form dl {
  margin-bottom: 2rem;
}

.contact_form dt {
  width: 23%;
}

.contact_form dt.up-w-100\% {
  width: 100%;
}

.contact_form .require {
  color: #ca0000;
}

.contact_form dd {
  width: 75%;
}

.contact_form dd.up-w-100\% {
  width: 100%;
}


.contact_form input {
  padding: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #000;
  width: 100%;
  font-size: 14px;
}

.contact_form .btn {
  background: none;
  line-height: 1.6;
}

.contact_form .btn_wrap li {
  padding: 0;
  margin: 0 auto;
  width: 50%;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .contact_form dt {
    width: 100%;
    margin-bottom: 10px;
    text-align: left;
  }

  .contact_form dd {
    width: 100%;
  }
}

@media only screen and (max-width: 599px) {
  .contact_form .btn_wrap li {
    width: 100%;
    margin: 0 auto 2rem;
  }
}

/* gallery */
.gallery-list .tbox {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: none;
  z-index: 10;
  color: #ffffff;
  width: 75%;
}

.gallery-list .pic {
  background-color: #000;
}

.gallery-list a:hover {
  opacity: 1;
}

.gallery-list a:hover img {
  opacity: 0.3;
}

.gallery-list a:hover .tbox {
  display: block;
}

.gallery-list img {
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}

.gallery-detail01 .comment {
  padding-bottom: 3rem;
  border-bottom: 1px solid #000;
}

.gallery-detail01 .dl_wrap dt {
  width: 25%;
  background: #e7eff1;
  padding: 0.25rem;
  text-align: center;
}

.gallery-detail01 .dl_wrap dd {
  width: 70%;
}

.gallery-detail01 .dl_wrap dl {
  margin-bottom: 0.5rem;
}

.btn_wrap.left .btn {
  margin-left: 0;
}

@media only screen and (max-width: 1024px) {
  .gallery-detail01 .dl_wrap dt {
    width: 100%;
    margin-bottom: 10px;
    text-align: left;
  }

  .gallery-detail01 .dl_wrap dd {
    width: 100%;
  }

  .gallery-detail01 .dl_wrap dl {
    margin-bottom: 1rem;
  }
}

/* gray01box */
.anchor-link a {
  width: 290px;
  text-align: center;
  letter-spacing: 0.25rem;
  display: block;
  margin: 0 auto;
  padding: 1em 1.5rem 1rem 1rem;
  color: #000;
  border: 1px solid #000;
  position: relative;
}

.anchor-link.link-aa a {
  width: 200px;
}


.anchor-link a:after {
  font-family: "Font Awesome 6 Free";
  content: "\f054";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.heading01 {
  position: relative;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.25rem;
}

.heading01:after {
  position: absolute;
  display: block;
  content: "";
  background: #000000;
  width: 104px;
  height: 1px;
  bottom: -1rem;
}

.gray03box .d-d {
  padding: 3rem 3rem 2rem;
}

.no-list {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.no-list dt {
  width: 48px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid;
  font-size: 20px;
}

.no-list dd {
  width: calc(100% - 70px);
  font-size: 18px;
}

@media only screen and (max-width: 1024px) {
  .anchor-link a {
    width: 100%;
  }

  .no-list {
    width: 100%;
  }

  .gray03box .d-d {
    padding: 2rem 2rem 0;
  }

  .no-list dt {
    width: 40px;
    height: 40px;
  }

  .no-list dd {
    width: calc(100% - 50px);
    font-size: 16px;
  }

  .no-list dl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

/* headspa */
.headspa01:after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 5rem;
  background: #e7eff1;
  z-index: -1;
  content: "";
}

.check-list .text {
  font-size: 18px;
  padding: 0 0 0 3rem;
  position: relative;
}

.check-list .text:before {
  font-family: "Font Awesome 6 Free";
  content: "\f00c";
  font-weight: 900;
  position: absolute;
  left: 0.5rem;
}

.headspa02 .check-list {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}

.heading02 {
  position: relative;
  padding: 0.5rem 0 0.5rem 2rem;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
}

.heading02:before {
  font-family: "Font Awesome 6 Free";
  content: "\f00c";
  font-weight: 900;
  position: absolute;
  left: 0.5rem;
  font-size: 0.8rem;
  top: 20px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.headspa04 li:nth-of-type(2n + 1) .left-cmn {
  padding: 1rem 0 1rem 3rem;
}

.headspa04 li:nth-of-type(2n) .left-cmn {
  padding: 1rem 3rem 1rem 0;
}

.gray03box .heading {
  font-size: 30px;
}

.gray03box .heading:after {
  top: auto;
  bottom: -1rem;
}

@media only screen and (max-width: 1024px) {
  .headspa02 .check-list {
    width: 100%;
  }

  .check-list .text {
    font-size: 16px;
  }

  .headspa04 li:nth-of-type(2n + 1) .left-cmn {
    padding: 1rem 0 1rem 1rem;
  }

  .headspa04 li:nth-of-type(2n) .left-cmn {
    padding: 1rem 1rem 1rem 0;
  }

  .gray03box .heading {
    font-size: 24px;
  }
}

@media only screen and (max-width: 599px) {
  .heading02:before {
    top: 18px;
  }

  .headspa04 li:nth-of-type(2n + 1) .left-cmn {
    padding: 3rem 0 0;
  }

  .headspa04 li:nth-of-type(2n) .left-cmn {
    padding: 3rem 0 0;
  }

  .left {
    padding-right: 0rem;
  }
}

/* menu */
.menu-list {
  -webkit-column-count: 2;
  column-count: 2;
  margin-left: -1%;
  margin-right: -1%;
}

.menu-list .menu_box {
  padding-right: 2%;
  padding-left: 2%;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
}

.heading03 {
  padding: 0.25rem;
  letter-spacing: 0.25rem;
}

.menu_box dl {
  border-bottom: 1px solid #000;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}

.menu_box dl dt,
.menu_box dl dd {
  font-size: 16px;
}

@media only screen and (max-width: 1024px) {
  .menu_box dl {
    padding-bottom: 1rem;
    margin-bottom: 1.25rem;
  }

  .menu_box dl dt,
  .menu_box dl dd {
    font-size: 14px;
  }
}

@media only screen and (max-width: 599px) {
  .menu-list {
    -webkit-column-count: 1;
    column-count: 1;
    margin-left: 0;
    margin-right: 0;
  }

  .menu-list .menu_box {
    padding-right: 0;
    margin-left: 0;
  }
}

.heading04 {
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.btn_wrap.right .btn {
  margin-left: auto;
  margin-right: 0;
}

.product-detail .btn {
  width: 200px;
}

.heading05 {
  border-bottom: 1px solid #000;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
}

.recruit01 {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
}

.recruit01 dt {
  width: 25%;
  font-weight: bold;
  font-size: 16px;
}

.recruit01 dd {
  width: 70%;
  font-size: 16px;
}

.recruit01 dl {
  margin-bottom: 2.5rem;
}

@media only screen and (max-width: 1024px) {
  .recruit01 {
    width: 100%;
  }

  .recruit01 dt {
    width: 100%;
  }

  .recruit01 dd {
    width: 100%;
  }
}

/* salon */
.salon-map {
  position: relative;
}

.salon-map:after {
  padding-top: 90%;
  display: block;
  content: "";
}

.salon-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.salon01 dt {
  width: 25%;
  font-weight: bold;
  font-size: 16px;
}

.salon01 dd {
  width: 70%;
  font-size: 16px;
}

.salon01 dl {
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 1024px) {
  .salon01 dt {
    width: 100%;
    margin-bottom: 10px;
    font-size: 14px;
  }

  .salon01 dd {
    width: 100%;
    padding-left: 15px;
    font-size: 14px;
  }
}

.tsuya03box .tsuya01:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/*# sourceMappingURL=style.css.map */








.new-news-list li+li {
  margin-top: 30px;
}

.new-news-list li a {
  background: #fff;
  padding: 20px;
  display: flex;
}

.new-news-list li .date {
  margin-right: 30px;
  min-width: 80px;
}

.new-news-list li .cat {
  margin-right: 30px;
  min-width: 85px;
}

.new-news-list li .cat span {
  display: inline-block;
  margin: 0 0.1em 0.1em 0;
  padding: 2px 5px;
  font-size: 14px;
  color: #fff;
  background: #00b2cc;
}

.new-news-list li .ttl {
  font-size: 16px;
  font-weight: bold;
}

.new-blog-list li a {
  background: #e4f9ff;
  padding: 30px;
  display: block;
}

.new-blog-list a .cat span {
  display: inline-block;
  margin: 0 0.1em 0.1em 0;
  padding: 2px 5px;
  font-size: 14px;
  background: #fff;
  border: solid 1px;
}

.new-blog-list a .ttl {
  font-weight: 600;
  font-size: 16px;
}

.new-news-list li.newsitemmk2 a {
  border: 1px solid #000;
  align-items: center;
  justify-content: space-between;
}

@media(max-width:599px) {
  .new-news-list li a {
    flex-wrap: wrap;
    padding: 20px 10px;
  }

  .new-news-list li .ttl {
    width: 100%;
  }

  .new-blog-list li a {
    padding: 20px 10px;
  }

  .new-news-list li.newsitemmk2 a .right-cmn {
    margin-bottom: 0;
  }

}

.map {
  width: 100%;
  padding-top: 0;
  position: relative;
}

.map::after {
  content: "";
  display: block;
  width: 100%;
  padding-top: 60%;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

h1 {
  color: #9a9a9a;
  font-size: 13px;
  padding: 5px 30px;
  font-weight: bold;
}

@media(max-width:1024px) {
  h1 {
    padding: 5px 42px 5px 30px;
  }
}

@media(max-width:599px) {
  h1 {
    font-size: 12px;
    padding: 5px 42px 5px 5px;
  }
}

.bdr-btm {
  padding-bottom: .3em;
  border-bottom: 1px solid #ccc;
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
  padding: 15px 0;
  color: #9a9a9a;
}

.breadcrumbs-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}


.breadcrumbs-list li {
  display: inline;
  font-size: 14px;
  letter-spacing: 1px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage {
  font-weight: bold;
  color: #9a9a9a;
}

.breadcrumbs-list li+li::before {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  margin: 0 10px;
  border-top: 1px solid #9a9a9a;
  border-right: 1px solid #9a9a9a;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media (max-width: 1024px) {
  .breadcrumbs {
    padding: 10px 0;
    font-size: 14px;
  }

  .breadcrumbs-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .breadcrumbs li {
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    width: 8px;
    height: 8px;
    margin: 0 5px 1px;
  }
}

@media (max-width: 599px) {
  .breadcrumbs {
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    width: 6px;
    height: 6px;
  }
}

/* ##### パンくずリスト breadcrumbs ここまで ##### */

.tag-01 {
  display: inline-block;
  margin: 0 0.1em 0.1em 0;
  padding: 2px 5px;
  font-size: 14px;
  color: #fff;
  background: #00b2cc;
  font-weight: bold;
}

.tag-02 {
  display: inline-block;
  margin: 0 0.1em 0.1em 0;
  padding: 2px 5px;
  font-size: 14px;
  color: #fff;
  background: #666;
}

.pager {
  width: 100%;
  margin: 50px 0 0 0;
}

.pager-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pager-list li {
  width: 40px;
  height: 40px;
  margin: 0 10px;
  overflow: hidden;
}

.pager-list li a,
.pager-list li .now {
  width: 100%;
  height: 100%;
  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;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 5px;
  font-size: 20px;
  line-height: 1;
  border-radius: 0;
  position: relative;
}

.pager-list li a a:hover,
.pager-list li .now a:hover {
  color: inherit;
  background-color: #000;
  opacity: 1;
}

.pager-list li a:focus,
.pager-list li .now:focus {
  outline: none;
}

.pager-list li a:hover,
.pager-list li .now {
  color: white;
  background-color: #000;
  opacity: 1;
}

.pager-list .arrow a::before {
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.pager-list .arrow.-prev a::before {
  content: "\f053";
}

.pager-list .arrow.-next a::before {
  content: "\f054";
}

@media (max-width: 1024px) {
  .pager {
    margin: 30px 0;
  }

  .pager-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .pager-list li {
    margin: 0 5px;
  }
}

.content h2 {
  position: relative;
  padding: 0.5rem 0 0.5rem 2rem;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  font-size: 18px;
  margin-bottom: 1em;
  margin-top: 2em;
}

.content h2:before {
  font-family: "Font Awesome 6 Free";
  content: "\f00c";
  font-weight: 900;
  position: absolute;
  left: 0.5rem;
  font-size: 0.8rem;
  top: 20px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.content h3 {
  padding-bottom: .3em;
  border-bottom: 1px solid #ccc;
  font-size: 18px;
  margin-bottom: 1em;
  margin-top: 2em;
}

.content h4 {
  font-weight: bold;
  margin-bottom: 1em;
  margin-top: 2em;
  padding-left: 2em;
  position: relative;
}

.content h4:before {
  content: "";
  width: 1.5em;
  height: 1px;
  background-color: #000;
  position: absolute;
  display: inline-block;
  left: 0;
  top: .7em;
}

.content ul {
  margin: 1em 0;
}

.content ul>li {
  padding-left: 1.5em;
  position: relative;
}

.content ul>li::before {
  content: '';
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  background-color: #fff;
  border: 4px solid #000;
  position: absolute;
  top: 0.25em;
  left: 0;
}

.content ul>li+li {
  margin-top: 0.5em;
}

.content ol {
  margin: 1em 0;
  counter-reset: number;
  list-style: none;
}

.content ol li {
  padding-left: 1.5em;
  position: relative;
}

.content ol li::before {
  counter-increment: number;
  content: counter(number);
  color: var(--content-area-color01);
  font-size: 14px;
  color: #fff;
  background-color: #000;
  display: inline-block;
  width: 18px;
  border-radius: 3px;
  font-weight: bold;
  height: 18px;
  text-align: center;
  line-height: 18px;
  position: absolute;
  top: 10%;
  left: 0;
}

.content ol li+li {
  margin-top: 0.5em;
}

.content iframe {
  width: 100%;
  max-width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  margin: 1em 0;
}

.faq-q {
  position: relative;
  padding: 0.5em 0 0.5em 2em;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  font-size: 18px;
  margin-bottom: 1em;
  margin-top: 2em;
}

.faq-q:before {
  font-family: "Font Awesome 6 Free";
  content: "\51";
  font-weight: 900;
  position: absolute;
  left: 0.5rem;
  font-size: 1em;
  top: 22px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

@media(max-width:599px) {
  .faq-q {
    font-size: 16px;
  }

  .faq-q:before {
    top: 20px;
  }
}


.checkboxer label {
  display: inline-block;
  margin: 0.5em 0;
  padding: 0 10px 0 24px;
  position: relative;
  margin-right: 15px;
}

.checkboxer label::before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  border: 1px solid #000;
  background-color: white;
  position: absolute;
  top: 1px;
  left: 0;
}

.checkboxer label:hover {
  text-decoration: underline;
  cursor: pointer;
}

.checkboxer input {
  display: none;
}

.checkboxer input:checked+label {
  text-decoration: underline;
}

.checkboxer 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: red;
  line-height: 1;
  background-color: transparent;
  position: absolute;
  top: 2px;
  left: 2px;
}

[data-element-id].heading:after{
  position: relative;
    display:block;
    background: auto;
    width: auto;
    height: auto;
}

[data-element-id].long-slide{
  display:flex;
  align-items: center;
}

[data-element-id].long-slide>li{
  flex:1;
}



.big-menu-list>.tsuya02:nth-child(1)>.big-menu-title>a:not(:nth-child(1)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(2)>.big-menu-title>a:not(:nth-child(2)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(3)>.big-menu-title>a:not(:nth-child(3)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(4)>.big-menu-title>a:not(:nth-child(4)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(5)>.big-menu-title>a:not(:nth-child(5)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(6)>.big-menu-title>a:not(:nth-child(6)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(7)>.big-menu-title>a:not(:nth-child(7)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(8)>.big-menu-title>a:not(:nth-child(8)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(9)>.big-menu-title>a:not(:nth-child(9)){
  display:none;
}

.big-menu-list>.tsuya02:nth-child(10)>.big-menu-title>a:not(:nth-child(10)){
  display:none;
}

.daica-block>.daica-list:nth-child(1)>.daica-item>a:not(:nth-child(1)){
  display:none;
}

.daica-block>.daica-list:nth-child(2)>.daica-item>a:not(:nth-child(2)){
  display:none;
}

.daica-block>.daica-list:nth-child(3)>.daica-item>a:not(:nth-child(3)){
  display:none;
}

.daica-block>.daica-list:nth-child(4)>.daica-item>a:not(:nth-child(4)){
  display:none;
}

.daica-block>.daica-list:nth-child(5)>.daica-item>a:not(:nth-child(5)){
  display:none;
}

.daica-block>.daica-list:nth-child(6)>.daica-item>a:not(:nth-child(6)){
  display:none;
}

.daica-block>.daica-list:nth-child(7)>.daica-item>a:not(:nth-child(7)){
  display:none;
}

.daica-block>.daica-list:nth-child(8)>.daica-item>a:not(:nth-child(8)){
  display:none;
}
.daica-block>.daica-list:nth-child(9)>.daica-item>a:not(:nth-child(9)){
  display:none;
}

.daica-block>.daica-list:nth-child(10)>.daica-item>a:not(:nth-child(10)){
  display:none;
}

.indent1{
  padding-left:1em;
  text-indent:-1em;
}

[data-element-id].fs34.up-hide{
  font-size:24px;
}

[data-element-id].u-mainimage .main_heading.up-hide{
  top:70%;
}

@media(max-width:599px){
  .u-mainimage .main_heading {
width:100%;
}

.u-mainimage .main_heading.down:after{
  top:100%;
}
}

button, input, optgroup, select, textarea{
  max-width:100%;
}


[data-element-id].up-hide.up-show\@sp{
  max-width:375px;
  margin-left:auto;
  margin-right:auto;
}

[data-element-id].u-mainimage .main_heading.text-editable{
  position:absolute!important;
}

.dropper{
  position:relative;
}

.drop-list{
  background-color:#eee;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  width:290px;
  z-index:1;
  overflow:hidden;
  height:auto;
  max-height:0px;
}

.drop-item::after{
  display:none;
}

.drop-item>a{
  display:block;
}

.dropper:hover .drop-list{
  max-height:200px;
}

@media(max-width:1024px){
  .drop-list,
  .dropper:hover .drop-list{
  background-color:#eee;
  position:relative;
  top:0%;
  left:0%;
  transform:translateX(0%);
  width:100%;
  height:auto;
  max-height:400px;
  margin-bottom:30px;
  font-size:14px;
}
}
