@charset "UTF-8";
* {
  box-sizing: border-box;
}

body {
  font-size: 1rem;
}

body * {
  /* 
      font-weightは<b>タグが機能しなくなるので指定しない。
      line-heightは余計に高さが効いてしまうので指定しない。 => bxi.cssで効いてる可能性あり。
      font-weightも指定しない。
  */
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  color: #333333;
  margin: 0;
  line-height: initial;
}

a, span, i {
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  color: inherit;
}

h1,
h2,
h3 {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  transition: all 1s;
}

a:link,
a:visited {
  color: inherit;
}

a:hover,
a:focus {
  opacity: 0.5;
  outline: none;
}

span {
  font-family: inherit;
  font-weight: inherit;
}

img {
  vertical-align: bottom;
}

figure,
p,
ul {
  margin: 0;
}

ul {
  padding: 0;
}

li {
  list-style: none;
}

button {
  background-color: transparent;
  border: none;
  padding: 0;
}

#contents,
#main,
#main #col_main {
  width: 100%;
}

#main #col_main {
  float: none;
}

#contents_wrap,
header#global_header,
footer#global_footer {
  min-width: 0;
}

img.imgL {
  max-width: 100%;
  margin: 0;
}

.map {
  margin-bottom: 0;
}

@media only screen and (max-width: 834px) {
  .ly_header {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 100;
    transition: opacity 0.3s;
    height: 0;
  }
}
.is_open .ly_header {
  position: fixed;
  height: 100%;
}

.ly_header__inner {
  width: 280px;
  padding-top: 1.875rem;
  padding-bottom: 3.75rem;
  background-color: #ec6200;
  position: absolute;
  top: 0;
  left: 5.55555%;
  z-index: 1;
}
@media only screen and (max-width: 834px) {
  .ly_header__inner {
    position: static;
    opacity: 0;
    visibility: hidden;
  }
}
.is_open .ly_header__inner {
  width: 100%;
  overflow: scroll;
  height: 100%;
  opacity: 1;
  visibility: visible;
}
.is_open .ly_header__inner::-webkit-scrollbar {
  width: 0;
}

.ly_header.kasou {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 100;
  transition: opacity 0.3s;
  height: 0;
}
.is_open .ly_header {
  position: fixed;
  height: 100%;
}

.ly_header.kasou .ly_header__inner {
  position: static;
  opacity: 0;
  visibility: hidden;
}
.is_open.kasou .ly_header__inner {
  width: 100%;
  overflow: scroll;
  height: 100%;
  opacity: 1;
  visibility: visible;
}

.ly_content--inner {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (max-width: 834px) {
  .ly_content--inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.ly_footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 3.75rem;
  padding-right: 40px;
  padding-bottom: 4.375rem;
  padding-left: 40px;
}
@media only screen and (max-width: 834px) {
  .ly_footer__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.hp_link {
  word-break: break-all;
}

.hp_small-top {
  margin-top: clamp(1.3125rem, 3.333vw, 2.5rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_small-top {
    margin-top: 40px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_small-top {
      margin-top: 35px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_small-top {
      margin-top: 30px;
    }
  }
}

.hp_small-right {
  margin-right: clamp(1.3125rem, 3.333vw, 2.5rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_small-right {
    margin-right: 40px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_small-right {
      margin-right: 35px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_small-right {
      margin-right: 30px;
    }
  }
}

.hp_small-bottom {
  margin-bottom: clamp(1.3125rem, 3.333vw, 2.5rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_small-bottom {
    margin-bottom: 40px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_small-bottom {
      margin-bottom: 35px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_small-bottom {
      margin-bottom: 30px;
    }
  }
}

.hp_small-left {
  margin-left: clamp(1.3125rem, 3.333vw, 2.5rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_small-left {
    margin-left: 40px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_small-left {
      margin-left: 35px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_small-left {
      margin-left: 30px;
    }
  }
}

.hp_medium-top {
  margin-top: clamp(2.3125rem, 5.833vw, 4.375rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_medium-top {
    margin-top: 70px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_medium-top {
      margin-top: 61.25px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_medium-top {
      margin-top: 52.5px;
    }
  }
}

.hp_medium-right {
  margin-right: clamp(2.3125rem, 5.833vw, 4.375rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_medium-right {
    margin-right: 70px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_medium-right {
      margin-right: 61.25px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_medium-right {
      margin-right: 52.5px;
    }
  }
}

.hp_medium-bottom {
  margin-bottom: clamp(2.3125rem, 5.833vw, 4.375rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_medium-bottom {
    margin-bottom: 70px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_medium-bottom {
      margin-bottom: 61.25px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_medium-bottom {
      margin-bottom: 52.5px;
    }
  }
}

.hp_medium-left {
  margin-left: clamp(2.3125rem, 5.833vw, 4.375rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_medium-left {
    margin-left: 70px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_medium-left {
      margin-left: 61.25px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_medium-left {
      margin-left: 52.5px;
    }
  }
}

.hp_large-top {
  margin-top: clamp(3.3125rem, 8.333vw, 6.25rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_large-top {
    margin-top: 100px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_large-top {
      margin-top: 87.5px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_large-top {
      margin-top: 75px;
    }
  }
}

.hp_large-right {
  margin-right: clamp(3.3125rem, 8.333vw, 6.25rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_large-right {
    margin-right: 100px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_large-right {
      margin-right: 87.5px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_large-right {
      margin-right: 75px;
    }
  }
}

.hp_large-bottom {
  margin-bottom: clamp(3.3125rem, 8.333vw, 6.25rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_large-bottom {
    margin-bottom: 100px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_large-bottom {
      margin-bottom: 87.5px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_large-bottom {
      margin-bottom: 75px;
    }
  }
}

.hp_large-left {
  margin-left: clamp(3.3125rem, 8.333vw, 6.25rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .hp_large-left {
    margin-left: 100px;
  }
  @media only screen and (max-width: 1200px) {
    .hp_large-left {
      margin-left: 87.5px;
    }
  }
  @media only screen and (max-width: 834px) {
    .hp_large-left {
      margin-left: 75px;
    }
  }
}

.hp_txt-align_right {
  text-align: right;
}

.hp_wbr {
  display: inline-block;
  white-space: nowrap;
}

.hp_1_mt {
  margin-bottom: 1px;
}

.hp_1_mb {
  margin-bottom: 1px;
}

.hp_2_mt {
  margin-bottom: 2px;
}

.hp_2_mb {
  margin-bottom: 2px;
}

.hp_3_mt {
  margin-bottom: 3px;
}

.hp_3_mb {
  margin-bottom: 3px;
}

.hp_4_mt {
  margin-bottom: 4px;
}

.hp_4_mb {
  margin-bottom: 4px;
}

.hp_5_mt {
  margin-bottom: 5px;
}

.hp_5_mb {
  margin-bottom: 5px;
}

.hp_6_mt {
  margin-bottom: 6px;
}

.hp_6_mb {
  margin-bottom: 6px;
}

.hp_7_mt {
  margin-bottom: 7px;
}

.hp_7_mb {
  margin-bottom: 7px;
}

.hp_8_mt {
  margin-bottom: 8px;
}

.hp_8_mb {
  margin-bottom: 8px;
}

.hp_9_mt {
  margin-bottom: 9px;
}

.hp_9_mb {
  margin-bottom: 9px;
}

.hp_10_mt {
  margin-bottom: 10px;
}

.hp_10_mb {
  margin-bottom: 10px;
}

.hp_11_mt {
  margin-bottom: 11px;
}

.hp_11_mb {
  margin-bottom: 11px;
}

.hp_12_mt {
  margin-bottom: 12px;
}

.hp_12_mb {
  margin-bottom: 12px;
}

.hp_13_mt {
  margin-bottom: 13px;
}

.hp_13_mb {
  margin-bottom: 13px;
}

.hp_14_mt {
  margin-bottom: 14px;
}

.hp_14_mb {
  margin-bottom: 14px;
}

.hp_15_mt {
  margin-bottom: 15px;
}

.hp_15_mb {
  margin-bottom: 15px;
}

.hp_16_mt {
  margin-bottom: 16px;
}

.hp_16_mb {
  margin-bottom: 16px;
}

.hp_17_mt {
  margin-bottom: 17px;
}

.hp_17_mb {
  margin-bottom: 17px;
}

.hp_18_mt {
  margin-bottom: 18px;
}

.hp_18_mb {
  margin-bottom: 18px;
}

.hp_19_mt {
  margin-bottom: 19px;
}

.hp_19_mb {
  margin-bottom: 19px;
}

.hp_20_mt {
  margin-bottom: 20px;
}

.hp_20_mb {
  margin-bottom: 20px;
}

.hp_21_mt {
  margin-bottom: 21px;
}

.hp_21_mb {
  margin-bottom: 21px;
}

.hp_22_mt {
  margin-bottom: 22px;
}

.hp_22_mb {
  margin-bottom: 22px;
}

.hp_23_mt {
  margin-bottom: 23px;
}

.hp_23_mb {
  margin-bottom: 23px;
}

.hp_24_mt {
  margin-bottom: 24px;
}

.hp_24_mb {
  margin-bottom: 24px;
}

.hp_25_mt {
  margin-bottom: 25px;
}

.hp_25_mb {
  margin-bottom: 25px;
}

.hp_26_mt {
  margin-bottom: 26px;
}

.hp_26_mb {
  margin-bottom: 26px;
}

.hp_27_mt {
  margin-bottom: 27px;
}

.hp_27_mb {
  margin-bottom: 27px;
}

.hp_28_mt {
  margin-bottom: 28px;
}

.hp_28_mb {
  margin-bottom: 28px;
}

.hp_29_mt {
  margin-bottom: 29px;
}

.hp_29_mb {
  margin-bottom: 29px;
}

.hp_30_mt {
  margin-bottom: 30px;
}

.hp_30_mb {
  margin-bottom: 30px;
}

.hp_31_mt {
  margin-bottom: 31px;
}

.hp_31_mb {
  margin-bottom: 31px;
}

.hp_32_mt {
  margin-bottom: 32px;
}

.hp_32_mb {
  margin-bottom: 32px;
}

.hp_33_mt {
  margin-bottom: 33px;
}

.hp_33_mb {
  margin-bottom: 33px;
}

.hp_34_mt {
  margin-bottom: 34px;
}

.hp_34_mb {
  margin-bottom: 34px;
}

.hp_35_mt {
  margin-bottom: 35px;
}

.hp_35_mb {
  margin-bottom: 35px;
}

.hp_36_mt {
  margin-bottom: 36px;
}

.hp_36_mb {
  margin-bottom: 36px;
}

.hp_37_mt {
  margin-bottom: 37px;
}

.hp_37_mb {
  margin-bottom: 37px;
}

.hp_38_mt {
  margin-bottom: 38px;
}

.hp_38_mb {
  margin-bottom: 38px;
}

.hp_39_mt {
  margin-bottom: 39px;
}

.hp_39_mb {
  margin-bottom: 39px;
}

.hp_40_mt {
  margin-bottom: 40px;
}

.hp_40_mb {
  margin-bottom: 40px;
}

.hp_41_mt {
  margin-bottom: 41px;
}

.hp_41_mb {
  margin-bottom: 41px;
}

.hp_42_mt {
  margin-bottom: 42px;
}

.hp_42_mb {
  margin-bottom: 42px;
}

.hp_43_mt {
  margin-bottom: 43px;
}

.hp_43_mb {
  margin-bottom: 43px;
}

.hp_44_mt {
  margin-bottom: 44px;
}

.hp_44_mb {
  margin-bottom: 44px;
}

.hp_45_mt {
  margin-bottom: 45px;
}

.hp_45_mb {
  margin-bottom: 45px;
}

.hp_46_mt {
  margin-bottom: 46px;
}

.hp_46_mb {
  margin-bottom: 46px;
}

.hp_47_mt {
  margin-bottom: 47px;
}

.hp_47_mb {
  margin-bottom: 47px;
}

.hp_48_mt {
  margin-bottom: 48px;
}

.hp_48_mb {
  margin-bottom: 48px;
}

.hp_49_mt {
  margin-bottom: 49px;
}

.hp_49_mb {
  margin-bottom: 49px;
}

.hp_50_mt {
  margin-bottom: 50px;
}

.hp_50_mb {
  margin-bottom: 50px;
}

.hp_51_mt {
  margin-bottom: 51px;
}

.hp_51_mb {
  margin-bottom: 51px;
}

.hp_52_mt {
  margin-bottom: 52px;
}

.hp_52_mb {
  margin-bottom: 52px;
}

.hp_53_mt {
  margin-bottom: 53px;
}

.hp_53_mb {
  margin-bottom: 53px;
}

.hp_54_mt {
  margin-bottom: 54px;
}

.hp_54_mb {
  margin-bottom: 54px;
}

.hp_55_mt {
  margin-bottom: 55px;
}

.hp_55_mb {
  margin-bottom: 55px;
}

.hp_56_mt {
  margin-bottom: 56px;
}

.hp_56_mb {
  margin-bottom: 56px;
}

.hp_57_mt {
  margin-bottom: 57px;
}

.hp_57_mb {
  margin-bottom: 57px;
}

.hp_58_mt {
  margin-bottom: 58px;
}

.hp_58_mb {
  margin-bottom: 58px;
}

.hp_59_mt {
  margin-bottom: 59px;
}

.hp_59_mb {
  margin-bottom: 59px;
}

.hp_60_mt {
  margin-bottom: 60px;
}

.hp_60_mb {
  margin-bottom: 60px;
}

.hp_61_mt {
  margin-bottom: 61px;
}

.hp_61_mb {
  margin-bottom: 61px;
}

.hp_62_mt {
  margin-bottom: 62px;
}

.hp_62_mb {
  margin-bottom: 62px;
}

.hp_63_mt {
  margin-bottom: 63px;
}

.hp_63_mb {
  margin-bottom: 63px;
}

.hp_64_mt {
  margin-bottom: 64px;
}

.hp_64_mb {
  margin-bottom: 64px;
}

.hp_65_mt {
  margin-bottom: 65px;
}

.hp_65_mb {
  margin-bottom: 65px;
}

.hp_66_mt {
  margin-bottom: 66px;
}

.hp_66_mb {
  margin-bottom: 66px;
}

.hp_67_mt {
  margin-bottom: 67px;
}

.hp_67_mb {
  margin-bottom: 67px;
}

.hp_68_mt {
  margin-bottom: 68px;
}

.hp_68_mb {
  margin-bottom: 68px;
}

.hp_69_mt {
  margin-bottom: 69px;
}

.hp_69_mb {
  margin-bottom: 69px;
}

.hp_70_mt {
  margin-bottom: 70px;
}

.hp_70_mb {
  margin-bottom: 70px;
}

.hp_71_mt {
  margin-bottom: 71px;
}

.hp_71_mb {
  margin-bottom: 71px;
}

.hp_72_mt {
  margin-bottom: 72px;
}

.hp_72_mb {
  margin-bottom: 72px;
}

.hp_73_mt {
  margin-bottom: 73px;
}

.hp_73_mb {
  margin-bottom: 73px;
}

.hp_74_mt {
  margin-bottom: 74px;
}

.hp_74_mb {
  margin-bottom: 74px;
}

.hp_75_mt {
  margin-bottom: 75px;
}

.hp_75_mb {
  margin-bottom: 75px;
}

.hp_76_mt {
  margin-bottom: 76px;
}

.hp_76_mb {
  margin-bottom: 76px;
}

.hp_77_mt {
  margin-bottom: 77px;
}

.hp_77_mb {
  margin-bottom: 77px;
}

.hp_78_mt {
  margin-bottom: 78px;
}

.hp_78_mb {
  margin-bottom: 78px;
}

.hp_79_mt {
  margin-bottom: 79px;
}

.hp_79_mb {
  margin-bottom: 79px;
}

.hp_80_mt {
  margin-bottom: 80px;
}

.hp_80_mb {
  margin-bottom: 80px;
}

.hp_81_mt {
  margin-bottom: 81px;
}

.hp_81_mb {
  margin-bottom: 81px;
}

.hp_82_mt {
  margin-bottom: 82px;
}

.hp_82_mb {
  margin-bottom: 82px;
}

.hp_83_mt {
  margin-bottom: 83px;
}

.hp_83_mb {
  margin-bottom: 83px;
}

.hp_84_mt {
  margin-bottom: 84px;
}

.hp_84_mb {
  margin-bottom: 84px;
}

.hp_85_mt {
  margin-bottom: 85px;
}

.hp_85_mb {
  margin-bottom: 85px;
}

.hp_86_mt {
  margin-bottom: 86px;
}

.hp_86_mb {
  margin-bottom: 86px;
}

.hp_87_mt {
  margin-bottom: 87px;
}

.hp_87_mb {
  margin-bottom: 87px;
}

.hp_88_mt {
  margin-bottom: 88px;
}

.hp_88_mb {
  margin-bottom: 88px;
}

.hp_89_mt {
  margin-bottom: 89px;
}

.hp_89_mb {
  margin-bottom: 89px;
}

.hp_90_mt {
  margin-bottom: 90px;
}

.hp_90_mb {
  margin-bottom: 90px;
}

.hp_91_mt {
  margin-bottom: 91px;
}

.hp_91_mb {
  margin-bottom: 91px;
}

.hp_92_mt {
  margin-bottom: 92px;
}

.hp_92_mb {
  margin-bottom: 92px;
}

.hp_93_mt {
  margin-bottom: 93px;
}

.hp_93_mb {
  margin-bottom: 93px;
}

.hp_94_mt {
  margin-bottom: 94px;
}

.hp_94_mb {
  margin-bottom: 94px;
}

.hp_95_mt {
  margin-bottom: 95px;
}

.hp_95_mb {
  margin-bottom: 95px;
}

.hp_96_mt {
  margin-bottom: 96px;
}

.hp_96_mb {
  margin-bottom: 96px;
}

.hp_97_mt {
  margin-bottom: 97px;
}

.hp_97_mb {
  margin-bottom: 97px;
}

.hp_98_mt {
  margin-bottom: 98px;
}

.hp_98_mb {
  margin-bottom: 98px;
}

.hp_99_mt {
  margin-bottom: 99px;
}

.hp_99_mb {
  margin-bottom: 99px;
}

.hp_100_mt {
  margin-bottom: 100px;
}

.hp_100_mb {
  margin-bottom: 100px;
}

.bl_btn {
  display: inline-block;
  width: 300px;
  max-width: 100%;
  padding: 1em 2em;
  color: #333333;
  background-color: #fff;
  text-align: center;
  border: 2px solid #ec6200;
  border-radius: 100vh;
}

.bl_btn:hover {
  color: #fff;
  background-color: #ec6200;
  border: 2px solid #ec6200;
}

.bl_drawer-btn {
  display: none;
  width: 40px;
  height: 40px;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
}
@media only screen and (max-width: 834px) {
  .bl_drawer-btn {
    display: block;
  }
}
.bl_drawer-btn__line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fba529;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 0.5s ease;
}
.bl_drawer-btn .line1 {
  transform: translate(-50%, -15px);
}
.bl_drawer-btn .line2 {
  transform: translate(-50%, -50%);
}
.bl_drawer-btn .line3 {
  transform: translate(-50%, 15px);
}

.is_open .bl_drawer-btn .line1 {
  transform: translate(-50%, 0) rotate(45deg);
}
.is_open .bl_drawer-btn .line2 {
  display: none;
}
.is_open .bl_drawer-btn .line3 {
  transform: translate(-50%, 0) rotate(-45deg);
}

.kasou .bl_drawer-btn {
  display: block;
}

.bl_dl-reset.form_wrap > dl, .form_wrap.bl_dl-menu > dl, .form_wrap.bl_dl-company > dl, .form_wrap.bl_dl-news > dl, .form_wrap.bl_dl-border > dl {
  width: 100%;
}
.bl_dl-reset.form_wrap > dl:last-of-type > dt, .form_wrap.bl_dl-menu > dl:last-of-type > dt, .form_wrap.bl_dl-company > dl:last-of-type > dt, .form_wrap.bl_dl-news > dl:last-of-type > dt, .form_wrap.bl_dl-border > dl:last-of-type > dt, .bl_dl-reset.form_wrap > dl:last-of-type > dd, .form_wrap.bl_dl-menu > dl:last-of-type > dd, .form_wrap.bl_dl-company > dl:last-of-type > dd, .form_wrap.bl_dl-news > dl:last-of-type > dd, .form_wrap.bl_dl-border > dl:last-of-type > dd {
  border: none;
  border-bottom: none;
}
.bl_dl-reset.form_wrap > dl > dt, .form_wrap.bl_dl-menu > dl > dt, .form_wrap.bl_dl-company > dl > dt, .form_wrap.bl_dl-news > dl > dt, .form_wrap.bl_dl-border > dl > dt, .bl_dl-reset.form_wrap > dl > dd, .form_wrap.bl_dl-menu > dl > dd, .form_wrap.bl_dl-company > dl > dd, .form_wrap.bl_dl-news > dl > dd, .form_wrap.bl_dl-border > dl > dd {
  border: none;
  background-color: transparent;
  padding: 0;
}

.bl_dl-border.form_wrap > dl {
  border-top: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}
.bl_dl-border.form_wrap > dl > dt {
  border-right: 1px solid #cccccc;
}
.bl_dl-border.form_wrap > dl:last-child {
  border-bottom: 1px solid #cccccc;
}
.bl_dl-border.form_wrap > dl:last-child > dt {
  border-right: 1px solid #cccccc;
}

.bl_dl-news.form_wrap {
  height: 200px;
  overflow-y: scroll;
}
.bl_dl-news.form_wrap::-webkit-scrollbar {
  width: 5px;
}
.bl_dl-news.form_wrap::-webkit-scrollbar-track {
  background-color: white;
}
.bl_dl-news.form_wrap::-webkit-scrollbar-thumb {
  background-color: #dadada;
  border-radius: 5px;
}
@media only screen and (max-width: 834px) {
  .bl_dl-news.form_wrap dl {
    flex-direction: column;
  }
}
@media only screen and (max-width: 834px) {
  .bl_dl-news.form_wrap dl dt, .bl_dl-news.form_wrap dl dd {
    width: 100% !important;
  }
}
.bl_dl-news.form_wrap dl dt {
  justify-content: flex-start;
}

.form_wrap.bl_dl-company > dl {
  flex-direction: column;
  margin-bottom: 2rem;
}
.form_wrap.bl_dl-company > dl > dt {
  margin-bottom: 0.5rem;
  align-items: flex-start;
  font-size: 1.25rem;
}
@media only screen and (max-width: 834px) {
  .form_wrap.bl_dl-company > dl > dd {
    text-align: left;
  }
}

.form_wrap.bl_dl-menu {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .form_wrap.bl_dl-menu {
    display: flex;
    flex-direction: column;
  }
}
.form_wrap.bl_dl-menu dl {
  justify-content: space-between;
  align-items: flex-end;
  width: 47.65625%;
  margin-right: 4.6875%;
  margin-bottom: 4.6875%;
  border-bottom: 1px solid #1a1a1a;
}
@media only screen and (max-width: 640px) {
  .form_wrap.bl_dl-menu dl {
    width: 100%;
    margin-right: 0;
  }
}
.form_wrap.bl_dl-menu dl:nth-child(2n) {
  margin-right: 0;
}
.form_wrap.bl_dl-menu dt {
  display: inline-block;
}
.form_wrap.bl_dl-menu dt::first-letter {
  color: #ec6200;
  font-size: 1.5em;
}

html,
body {
  height: 100%;
}

.bl_nav {
  display: flex;
}
.bl_nav__lists {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  transition: all 0.1s;
}
.bl_nav__list {
  width: 220px;
  margin: 0 auto;
  text-align: center;
  border-bottom: 1px solid #000000;
}
.bl_nav__list:first-child {
  border-top: 1px solid #000000;
}
.bl_nav__list > a, .bl_nav__list > p {
  display: flex;
  align-items: center;
  width: 200px;
  margin: 0 auto;
  padding: 1em 0;
  text-align: left;
}
.bl_nav__list > a *, .bl_nav__list > p * {
  color: #000000;
}
.bl_nav__list > a .main, .bl_nav__list > p .main {
  margin-right: 0.625em;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.875rem;
}
.bl_nav__list > a .sub, .bl_nav__list > p .sub {
  font-size: 0.625rem;
}

@media only screen and (max-width: 834px) {
  .is_open {
    overflow: hidden;
    height: 100%;
  }
  .is_open .header {
    height: 100%;
    position: relative;
  }
  .is_open .bl_nav__lists {
    display: block;
    height: 100%;
    transition: 0.3s;
    opacity: 1;
    visibility: visible;
  }
  .is_open .bl_nav__list {
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #000000;
  }
  .is_open .bl_nav__list:first-child {
    border-top: 1px solid #000000;
  }
  .is_open .bl_nav__list > a, .is_open .bl_nav__list > p {
    width: 100%;
    padding: 2em 1em;
    transition: none;
  }
}

.kasou.is_open {
  overflow: hidden;
}
.kasou.is_open body {
  position: relative;
  height: 100%;
}
.kasou.is_open .header {
  overflow-y: scroll;
  height: 100%;
  position: relative;
}
.kasou.is_open .bl_nav__lists {
  display: block;
  height: 100%;
  transition: 0.3s;
  opacity: 1;
  visibility: visible;
}
.kasou.is_open .bl_nav__list {
  width: 100%;
  text-align: left;
  border-bottom: 1px solid #000000;
}
.kasou.is_open .bl_nav__list:first-child {
  border-top: 1px solid #000000;
}
.kasou.is_open .bl_nav__list > a, .kasou.is_open .bl_nav__list > p {
  width: 100%;
  padding: 2em 1em;
  transition: none;
}

.bl_dropDown {
  width: 100%;
  height: 0;
  opacity: 0;
  transition: 0.3s;
  overflow: hidden;
}
@media only screen and (max-width: 834px) {
  .bl_dropDown {
    width: 100%;
    position: static;
    transform: initial;
  }
}
.bl_dropDown__list {
  color: #000000;
  font-size: 0.875rem;
  border-top: 1px dotted #000000;
}
@media only screen and (max-width: 834px) {
  .bl_dropDown__list {
    border-top: 1px dotted #000000;
  }
}
.bl_dropDown__list a {
  display: block;
  width: 200px;
  margin: 0 auto;
  padding: 1em 2em;
  text-align: left;
  transition: none;
}
@media only screen and (max-width: 834px) {
  .bl_dropDown__list a {
    padding: 2em 2em;
  }
}

.is_open .bl_dropDown__list a {
  width: 100%;
}

.has_dropDown {
  position: relative;
}
.has_dropDown__btn {
  position: absolute;
  right: 0;
}
@media only screen and (max-width: 834px) {
  .has_dropDown__btn {
    right: 20px;
  }
}

.is_checked .bl_dropDown {
  height: auto;
  opacity: 1;
  transition: 0.3s;
}
.is_checked .has_dropDown__btn {
  transform: rotate(45deg);
  transition: 0.3s;
}

.kasou .bl_dropDown {
  width: 100%;
  position: static;
  transform: initial;
}
.kasou .bl_dropDown__list {
  border-top: 1px dotted #000000;
}
.kasou .bl_dropDown__list a {
  padding: 2em 2em;
}

.kasou .has_dropDown__btn {
  right: 20px;
}

.box a {
  display: block;
}

.bl_flexbox-images1 .box {
  width: 100%;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-images1 .box {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-images1 .box {
    width: 100%;
  }
}
.bl_flexbox-images1 .image-wrapper {
  margin: 0 auto;
  text-align: center;
}
.bl_flexbox-images1 .image-wrapper img {
  height: 100% !important;
}
.bl_flexbox-images1--1_1 .image-wrapper {
  position: relative;
}
.bl_flexbox-images1--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_flexbox-images1--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images1--1_1 .image-wrapper img {
  object-fit: cover;
}
.bl_flexbox-images1--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-images1--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-images1--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images1--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_flexbox-images2 .box {
  width: 50%;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-images2 .box {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-images2 .box {
    width: 100%;
  }
}
.bl_flexbox-images2 .image-wrapper {
  margin: 0 auto;
  text-align: center;
}
.bl_flexbox-images2 .image-wrapper img {
  height: 100% !important;
}
.bl_flexbox-images2--1_1 .image-wrapper {
  position: relative;
}
.bl_flexbox-images2--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_flexbox-images2--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images2--1_1 .image-wrapper img {
  object-fit: cover;
}
.bl_flexbox-images2--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-images2--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-images2--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images2--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_flexbox-images3 .box {
  width: 33.3333333333%;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-images3 .box {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-images3 .box {
    width: 100%;
  }
}
.bl_flexbox-images3 .image-wrapper {
  margin: 0 auto;
  text-align: center;
}
.bl_flexbox-images3 .image-wrapper img {
  height: 100% !important;
}
.bl_flexbox-images3--1_1 .image-wrapper {
  position: relative;
}
.bl_flexbox-images3--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_flexbox-images3--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images3--1_1 .image-wrapper img {
  object-fit: cover;
}
.bl_flexbox-images3--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-images3--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-images3--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images3--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_flexbox-images4 .box {
  width: 25%;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-images4 .box {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-images4 .box {
    width: 100%;
  }
}
.bl_flexbox-images4 .image-wrapper {
  margin: 0 auto;
  text-align: center;
}
.bl_flexbox-images4 .image-wrapper img {
  height: 100% !important;
}
.bl_flexbox-images4--1_1 .image-wrapper {
  position: relative;
}
.bl_flexbox-images4--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_flexbox-images4--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images4--1_1 .image-wrapper img {
  object-fit: cover;
}
.bl_flexbox-images4--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-images4--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-images4--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images4--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_flexbox-images5 .box {
  width: 20%;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-images5 .box {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-images5 .box {
    width: 100%;
  }
}
.bl_flexbox-images5 .image-wrapper {
  margin: 0 auto;
  text-align: center;
}
.bl_flexbox-images5 .image-wrapper img {
  height: 100% !important;
}
.bl_flexbox-images5--1_1 .image-wrapper {
  position: relative;
}
.bl_flexbox-images5--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_flexbox-images5--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images5--1_1 .image-wrapper img {
  object-fit: cover;
}
.bl_flexbox-images5--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-images5--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-images5--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-images5--4_3 .image-wrapper img {
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .bl_flexbox-card1 {
    justify-content: center;
  }
}
.bl_flexbox-card1 .box {
  width: 100%;
  margin-right: 3.33333%;
  margin-bottom: 3.33333%;
  padding: 1.5em;
  background-color: #f49a30;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-card1 .box {
    width: Infinity%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-card1 .box {
    width: 100%;
    max-width: 400px;
    margin-right: 0;
    margin-left: 0;
  }
}
.bl_flexbox-card1 .box:nth-child(1n) {
  margin-right: 0;
}
.bl_flexbox-card1 .box article {
  flex-direction: column;
}
.bl_flexbox-card1 .box h3 {
  display: none;
}
.bl_flexbox-card1 .image-wrapper,
.bl_flexbox-card1 .box h3,
.bl_flexbox-card1 .box article > div {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.bl_flexbox-card1 .image-wrapper {
  margin-bottom: 3.33333%;
  text-align: center;
}
.bl_flexbox-card1--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-card1--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-card1--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-card1--4_3 .image-wrapper img {
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .bl_flexbox-card2 {
    justify-content: center;
  }
}
.bl_flexbox-card2 .box {
  width: 48.333335%;
  margin-right: 3.33333%;
  margin-bottom: 3.33333%;
  padding: 1.5em;
  background-color: #f49a30;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-card2 .box {
    width: 96.66667%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-card2 .box {
    width: 100%;
    max-width: 400px;
    margin-right: 0;
    margin-left: 0;
  }
}
.bl_flexbox-card2 .box:nth-child(2n) {
  margin-right: 0;
}
.bl_flexbox-card2 .box article {
  flex-direction: column;
}
.bl_flexbox-card2 .box h3 {
  display: none;
}
.bl_flexbox-card2 .image-wrapper,
.bl_flexbox-card2 .box h3,
.bl_flexbox-card2 .box article > div {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.bl_flexbox-card2 .image-wrapper {
  margin-bottom: 3.33333%;
  text-align: center;
}
.bl_flexbox-card2--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-card2--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-card2--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-card2--4_3 .image-wrapper img {
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .bl_flexbox-card3 {
    justify-content: center;
  }
}
.bl_flexbox-card3 .box {
  width: 31.1111133333%;
  margin-right: 3.33333%;
  margin-bottom: 3.33333%;
  padding: 1.5em;
  background-color: #f49a30;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-card3 .box {
    width: 46.66667%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-card3 .box {
    width: 100%;
    max-width: 400px;
    margin-right: 0;
    margin-left: 0;
  }
}
.bl_flexbox-card3 .box:nth-child(3n) {
  margin-right: 0;
}
.bl_flexbox-card3 .box article {
  flex-direction: column;
}
.bl_flexbox-card3 .box h3 {
  display: none;
}
.bl_flexbox-card3 .image-wrapper,
.bl_flexbox-card3 .box h3,
.bl_flexbox-card3 .box article > div {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.bl_flexbox-card3 .image-wrapper {
  margin-bottom: 3.33333%;
  text-align: center;
}
.bl_flexbox-card3--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-card3--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-card3--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-card3--4_3 .image-wrapper img {
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .bl_flexbox-card4 {
    justify-content: center;
  }
}
.bl_flexbox-card4 .box {
  width: 22.5000025%;
  margin-right: 3.33333%;
  margin-bottom: 3.33333%;
  padding: 1.5em;
  background-color: #f49a30;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-card4 .box {
    width: 30.0000033333%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-card4 .box {
    width: 100%;
    max-width: 400px;
    margin-right: 0;
    margin-left: 0;
  }
}
.bl_flexbox-card4 .box:nth-child(4n) {
  margin-right: 0;
}
.bl_flexbox-card4 .box article {
  flex-direction: column;
}
.bl_flexbox-card4 .box h3 {
  display: none;
}
.bl_flexbox-card4 .image-wrapper,
.bl_flexbox-card4 .box h3,
.bl_flexbox-card4 .box article > div {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.bl_flexbox-card4 .image-wrapper {
  margin-bottom: 3.33333%;
  text-align: center;
}
.bl_flexbox-card4--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-card4--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-card4--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-card4--4_3 .image-wrapper img {
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .bl_flexbox-card5 {
    justify-content: center;
  }
}
.bl_flexbox-card5 .box {
  width: 17.333336%;
  margin-right: 3.33333%;
  margin-bottom: 3.33333%;
  padding: 1.5em;
  background-color: #f49a30;
}
@media only screen and (max-width: 834px) {
  .bl_flexbox-card5 .box {
    width: 21.66667%;
  }
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-card5 .box {
    width: 100%;
    max-width: 400px;
    margin-right: 0;
    margin-left: 0;
  }
}
.bl_flexbox-card5 .box:nth-child(5n) {
  margin-right: 0;
}
.bl_flexbox-card5 .box article {
  flex-direction: column;
}
.bl_flexbox-card5 .box h3 {
  display: none;
}
.bl_flexbox-card5 .image-wrapper,
.bl_flexbox-card5 .box h3,
.bl_flexbox-card5 .box article > div {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.bl_flexbox-card5 .image-wrapper {
  margin-bottom: 3.33333%;
  text-align: center;
}
.bl_flexbox-card5--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-card5--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-card5--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-card5--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_flexbox-media .box, .bl_flexbox-media-overlap .box {
  display: flex;
  width: 100%;
  margin-bottom: 3.33333%;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media .box, .bl_flexbox-media-overlap .box {
    max-width: 400px;
    margin-right: auto;
    margin-bottom: 6.66666%;
    margin-left: auto;
  }
}
.bl_flexbox-media .box article, .bl_flexbox-media-overlap .box article {
  width: 100%;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media .box article, .bl_flexbox-media-overlap .box article {
    flex-direction: column;
  }
}
.bl_flexbox-media .box h3, .bl_flexbox-media-overlap .box h3 {
  display: none;
}
.bl_flexbox-media .box article > div, .bl_flexbox-media-overlap .box article > div {
  flex: 1;
}
.bl_flexbox-media .image-wrapper, .bl_flexbox-media-overlap .image-wrapper {
  flex: 0 1 50%;
  max-width: 500px;
  margin-right: 3.33333%;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media .image-wrapper, .bl_flexbox-media-overlap .image-wrapper {
    width: 100%;
    margin-bottom: 3.33333%;
  }
}
.bl_flexbox-media--1_1 .image-wrapper {
  position: relative;
}
.bl_flexbox-media--1_1 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_flexbox-media--1_1 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-media--1_1 .image-wrapper img {
  object-fit: cover;
}
.bl_flexbox-media .even.box article, .bl_flexbox-media-overlap .even.box article {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media .even.box article, .bl_flexbox-media-overlap .even.box article {
    flex-direction: column;
  }
}
.bl_flexbox-media .even.box article div, .bl_flexbox-media-overlap .even.box article div {
  margin-right: 3.33333%;
}
.bl_flexbox-media .even.box .image-wrapper, .bl_flexbox-media-overlap .even.box .image-wrapper {
  flex: 0 1 50%;
  max-width: 400px;
  margin-right: 0;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media .even.box .image-wrapper, .bl_flexbox-media-overlap .even.box .image-wrapper {
    width: 100%;
    margin-bottom: 3.33333%;
  }
}
.bl_flexbox-media--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-media--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-media--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-media--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_flexbox-media-overlap {
  position: relative;
}
.bl_flexbox-media-overlap div.box:first-child {
  width: calc(100% - 80px);
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 1;
}
.bl_flexbox-media-overlap div.box:last-child img {
  filter: brightness(60%);
}

.bl_flexbox-media-float {
  flex-direction: column !important;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media-float .box {
    width: 100%;
    max-width: 400px;
    margin-right: auto;
    margin-left: auto;
  }
}
.bl_flexbox-media-float .box h3 {
  display: none;
}
.bl_flexbox-media-float .box article > div {
  clear: right;
}
.bl_flexbox-media-float .image-wrapper {
  float: left;
  width: 100%;
  max-width: 400px;
  margin-right: 3.33333%;
  margin-bottom: 3.33333%;
}
@media only screen and (max-width: 640px) {
  .bl_flexbox-media-float .image-wrapper {
    float: none;
    max-width: initial;
    margin-right: 0;
  }
}
.bl_flexbox-media-float--4_3 .image-wrapper {
  position: relative;
}
.bl_flexbox-media-float--4_3 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.bl_flexbox-media-float--4_3 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_flexbox-media-float--4_3 .image-wrapper img {
  object-fit: cover;
}

.bl_eyecatch {
  width: 100%;
  position: relative;
}
.bl_eyecatch__image-wrapper {
  position: relative;
}
.bl_eyecatch__image-wrapper:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.bl_eyecatch__image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_eyecatch__image-wrapper img {
  object-fit: cover;
}
.bl_eyecatch__title {
  width: 100%;
  padding: 0 1em;
  text-align: center;
  font-size: clamp(1.3125rem, 3.333vw, 2.5rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.bl_eyecatch__title span {
  display: inline-block;
  white-space: nowrap;
}

.bl_sub-eyecatch {
  display: flex;
  min-height: 250px;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  position: relative;
}
.bl_sub-eyecatch:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.bl_sub-eyecatch h1,
.bl_sub-eyecatch p {
  font-size: clamp(1.6875rem, 4.167vw, 3.125rem);
  color: white;
  position: relative;
  z-index: 1;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.is_open-modal {
  overflow: hidden;
}

@media only screen and (max-width: 834px) {
  .is_open-modal .bl_modal {
    display: block;
  }
}

.bl_modal {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.4);
  animation: fadeIn 0.5s;
}
.bl_modal__wrapper {
  width: 100%;
  height: fit-content;
  max-height: 100%;
  overflow: scroll;
  padding: 40px 20px;
  background-color: #ffffff;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
}
.bl_modal__btn-wrapper {
  text-align: right;
}
.bl_modal__close {
  font-size: 0.18rem;
  margin-bottom: 20px;
}

.bl_pankuzu {
  margin-top: 2em;
  font-size: 0.875rem;
  margin-bottom: clamp(2.3125rem, 5.833vw, 4.375rem);
}
@supports not (margin: clamp(16px, 5vw, 32px)) {
  .bl_pankuzu {
    margin-bottom: 70px;
  }
  @media only screen and (max-width: 1200px) {
    .bl_pankuzu {
      margin-bottom: 61.25px;
    }
  }
  @media only screen and (max-width: 834px) {
    .bl_pankuzu {
      margin-bottom: 52.5px;
    }
  }
}
.bl_pankuzu .pankuzu {
  display: flex;
}
.bl_pankuzu .pankuzu > li {
  margin-right: 1.5%;
}
.bl_pankuzu .pankuzu > li:last-child {
  margin-right: 0;
}

@keyframes anime-001 {
  from {
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes anime-002_odd {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes anime-002_even {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes anime-003 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.bl_anime-settting, .is_anime.bl_anime-003, .bl_anime-003 .is_anime, .is_anime.bl_anime-002.even, .bl_anime-002 .is_anime.even, .is_anime.bl_anime-002.odd, .bl_anime-002 .is_anime.odd, .is_anime.bl_anime-001, .bl_anime-001 .is_anime {
  animation-fill-mode: forwards;
  animation-duration: 0.9s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-direction: normal;
}

.is_anime.bl_anime-001, .bl_anime-001 .is_anime {
  animation-name: anime-001;
}
.is_anime.bl_anime-002.odd, .bl_anime-002 .is_anime.odd {
  animation-name: anime-002_odd;
}
.is_anime.bl_anime-002.even, .bl_anime-002 .is_anime.even {
  animation-name: anime-002_even;
}
.is_anime.bl_anime-003, .bl_anime-003 .is_anime {
  animation-duration: 0.5s;
  animation-name: anime-003;
}

.bl_sns-reset .sns_list, .bl_sns-type1 .sns_list {
  border: none;
}
.bl_sns-reset .sns_list > div, .bl_sns-type1 .sns_list > div {
  border: none;
}
.bl_sns-reset .sns_list .sns_photo, .bl_sns-type1 .sns_list .sns_photo {
  width: 100%;
  padding: 0;
}
.bl_sns-reset .sns_list .sns_photo a, .bl_sns-type1 .sns_list .sns_photo a {
  display: block;
  position: relative;
}
.bl_sns-reset .sns_list .sns_photo a:before, .bl_sns-type1 .sns_list .sns_photo a:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.bl_sns-reset .sns_list .sns_photo a > :first-child, .bl_sns-type1 .sns_list .sns_photo a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.bl_sns-reset .sns_list .sns_photo a img, .bl_sns-type1 .sns_list .sns_photo a img {
  object-fit: cover;
}
.bl_sns-reset .sns_list .sns_text, .bl_sns-type1 .sns_list .sns_text {
  padding: 0;
  font-size: 1rem;
}
.bl_sns-reset .sns_list .sns_text .caption, .bl_sns-type1 .sns_list .sns_text .caption {
  word-break: break-all;
}
.bl_sns-reset .sns_list .sns_text ul, .bl_sns-type1 .sns_list .sns_text ul {
  display: none;
}

.bl_sns-type1 .sns_list {
  flex-direction: row;
  flex-wrap: wrap;
}
.bl_sns-type1 .sns_list > div {
  flex-direction: column;
}
.bl_sns-type1 .sns_list .sns_photo {
  margin-bottom: 1.25rem;
}
.bl_sns-type1 .sns_list .sns_text {
  width: 100%;
}
.bl_sns-type1 .sns_list .sns_text .sns_date {
  margin-bottom: 1.25rem;
}

.bl_h2 > article > h2 {
  font-size: clamp(1.3125rem, 3.333vw, 2.5rem);
  margin-bottom: 1em;
  color: #ec6200;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@supports not (font-size: clamp(16px, 5vw, 32px)) {
  .bl_h2 > article > h2 {
    font-size: 40px;
  }
  @media only screen and (max-width: 1200px) {
    .bl_h2 > article > h2 {
      font-size: 35px;
    }
  }
  @media only screen and (max-width: 834px) {
    .bl_h2 > article > h2 {
      font-size: 30px;
    }
  }
}
.bl_h2 > article > h2::before, .bl_h2 > article > h2::after {
  content: "";
  width: 0.075em;
  height: 1em;
  background-color: #f49a30;
}
.bl_h2 > article > h2::before {
  margin-right: 1.5em;
  transform: rotate(-35deg);
}
.bl_h2 > article > h2::after {
  margin-left: 1.5em;
  transform: rotate(35deg);
}

.bl_h3 > article > h3 {
  font-size: clamp(1rem, 2.5vw, 1.875rem);
  margin-bottom: 1em;
}
@supports not (font-size: clamp(16px, 5vw, 32px)) {
  .bl_h3 > article > h3 {
    font-size: 30px;
  }
  @media only screen and (max-width: 1200px) {
    .bl_h3 > article > h3 {
      font-size: 26.25px;
    }
  }
  @media only screen and (max-width: 834px) {
    .bl_h3 > article > h3 {
      font-size: 22.5px;
    }
  }
}
.bl_h3 > article > h3::first-letter {
  color: #b94d00;
  font-size: 1.5em;
}

.bl_loader-base, .bl_loader-003, .is_show .bl_loader-002, .is_show .bl_loader-001 {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9000;
}

.is_show .bl_loader-001 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: aliceblue;
}

.bl_loader-001.is_loaded {
  animation: bl_loader-002-fade 3s forwards ease-out;
}

@keyframes bl_loader-001-fade {
  0% {
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
    z-index: -1;
  }
}

.bl_loader-002 {
  position: relative;
}
.is_show .bl_loader-002__image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.is_show .bl_loader-002 .bg {
  display: block;
  width: 0%;
  height: percentageF(100, 300);
  transform-origin: 0%;
  animation-name: bl_loader-002-bg;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}
.is_show .bl_loader-002__bg-01 {
  background-color: #fdcf8d;
}
.is_show .bl_loader-002__bg-02 {
  background-color: #fba529;
  animation-delay: 0.5s;
}
.is_show .bl_loader-002__bg-03 {
  background-color: #bb7003;
  animation-delay: 1s;
}
@keyframes bl_loader-002-bg {
  0% {
    transform: scaleX(0);
  }
  100% {
    width: 100%;
    transform: scaleX(100%);
  }
}

.bl_loader-002.is_loaded {
  animation: bl_loader-002-fade 3s forwards ease-out;
}

@keyframes bl_loader-002-fade {
  0% {
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
    z-index: -1;
  }
}

.bl_loader-003 {
  background-color: #fff;
}
.bl_loader-003__image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.bl_loader-003 .bg {
  display: block;
  width: 0%;
  height: 50vh;
  animation-name: bl_loader-003-bg;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  position: absolute;
}
.bl_loader-003__bg-01 {
  background-color: rgba(253, 207, 141, 0.8);
  transform-origin: 0%;
  clip-path: polygon(100% 0, 100% 15%, 0 55%, 0 0);
  z-index: 1;
}
.bl_loader-003__bg-02 {
  background-color: rgba(251, 165, 41, 0.8);
  transform-origin: 100%;
  clip-path: polygon(100% 0, 100% 55%, 0 15%, 0 0);
  animation-delay: 0.5s;
  right: 0;
  z-index: 2;
}
@keyframes bl_loader-003-bg {
  0% {
    transform: scaleX(0);
  }
  100% {
    width: 100%;
    transform: scaleX(100%);
  }
}
.bl_loader-003.is_loaded {
  animation: bl_loader-003-fade 3s forwards ease-out;
}

@keyframes bl_loader-003-fade {
  0% {
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
    z-index: -1;
  }
}

header .logo {
  margin-bottom: 1em;
}
header .nav {
  margin-bottom: 2rem;
}
header .contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 220px;
  margin: 0 auto;
}
header .contact .btn {
  font-size: 0.875rem;
}
header .contact .tel {
  margin-bottom: 1em;
}
header .contact .tel * {
  color: #f49a30;
}
header .contact .reserve {
  background-color: #45c4cc;
}
header .contact .reserve * {
  color: #fff;
}
header .kasou-logo {
  width: 150px;
  height: 150px;
  padding: 10px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
@media only screen and (max-width: 1000px) {
  header .kasou-logo {
    width: 125px;
    height: 125px;
  }
}
@media only screen and (max-width: 640px) {
  header .kasou-logo {
    display: none;
  }
}
header .kasou-logo__img {
  width: 100%;
  height: 100% !important;
  object-fit: contain;
}

footer {
  background-color: #ec6200;
}
footer .logo {
  margin-bottom: 2.5rem;
}
footer .nav__lists {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  footer .nav__lists {
    flex-direction: column;
  }
}
footer .nav__list {
  margin-right: 3.47222%;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  footer .nav__list {
    margin-right: 0;
    margin-bottom: 1em;
  }
}
footer .nav__list:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 834px) {
  footer .nav__list:last-child {
    margin-bottom: 0;
  }
}
footer .nav__list *:not(i) {
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.875rem;
}
footer .sub-nav-lists__list {
  margin-top: 1em;
}
footer .copyright {
  padding: 1em;
  font-size: 0.75rem;
  color: #fff;
  background-color: #000000;
}

.concept.bl_flexbox-media article {
  align-items: center;
}
.concept.video .video__wrapper {
  width: 100%;
  position: relative;
}
.concept.video .video__wrapper:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  text-align: center;
}
.concept.video .video__wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.concept.video .video__wrapper img {
  object-fit: cover;
}

.top.loader {
  display: block;
}
.top.loader.is_none {
  opacity: 0;
  visibility: hidden;
}
.top.main-image {
  position: relative;
}
.top.main-image .main-image__slick {
  height: 100%;
}
@media only screen and (max-width: 834px) {
  .top.main-image .main-image__slick {
    height: initial;
  }
}
.top.main-image .main-image__slick .slick-list,
.top.main-image .main-image__slick .slick-track {
  height: 100%;
}
@media only screen and (max-width: 834px) {
  .top.main-image .main-image__slick .slick-list,
.top.main-image .main-image__slick .slick-track {
    height: initial;
  }
}
.top.main-image .main-image__slick .image-wrapper {
  height: 100%;
  min-height: 400px;
  position: relative;
}
.top.main-image .main-image__slick .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
  text-align: center;
}
.top.main-image .main-image__slick .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.main-image .main-image__slick .image-wrapper img {
  object-fit: cover;
}
.top.main-image .main-image__hd1 {
  width: max-content;
  max-width: 52.77777%;
  position: absolute;
  right: 3.47222%;
  bottom: 13.33333%;
}
@media only screen and (max-width: 834px) {
  .top.main-image .main-image__hd1 {
    max-width: 100%;
    padding-left: 40px;
  }
}
.top.main-image .main-image__hd1 h1 {
  color: #fff;
  text-shadow: 1px 1px 1px #b94d00, 1px 1px 1px #b94d00;
  font-size: clamp(1.6875rem, 4.167vw, 3.125rem);
  font-family: "Shippori Mincho", serif;
  font-weight: 800;
}
.top.sec-01 {
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
.top.sec-01 .sec-01__title h2 {
  margin-bottom: 1.11111em;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: clamp(1.8125rem, 4.5vw, 3.375rem);
}
.top.sec-01 .sec-01__body * {
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 2.55;
}
.top.sec-02 {
  height: 88.19444vw;
  min-height: 600px;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.top.sec-02 .sec-02__image-01 {
  position: absolute;
}
.top.sec-02 .sec-02__image-01 .image-wrapper {
  width: 100%;
  box-shadow: 10px 10px 0px #ec6200;
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-01 .image-wrapper {
    box-shadow: 10px 10px 0px rgba(236, 98, 0, 0.2);
  }
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-01 .image-wrapper::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.top.sec-02 .sec-02__image-01 .image-wrapper img {
  height: 100%;
}
.top.sec-02 .sec-02__image-01 {
  top: 8.33333vw;
  right: 0;
  z-index: 1;
}
.top.sec-02 .sec-02__image-01 .image-wrapper {
  width: 40.13888vw;
  min-width: 300px;
  position: relative;
}
.top.sec-02 .sec-02__image-01 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.top.sec-02 .sec-02__image-01 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.sec-02 .sec-02__image-01 .image-wrapper img {
  object-fit: cover;
}
.top.sec-02 .sec-02__image-02 {
  position: absolute;
}
.top.sec-02 .sec-02__image-02 .image-wrapper {
  width: 100%;
  box-shadow: 10px 10px 0px #ec6200;
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-02 .image-wrapper {
    box-shadow: 10px 10px 0px rgba(236, 98, 0, 0.2);
  }
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-02 .image-wrapper::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.top.sec-02 .sec-02__image-02 .image-wrapper img {
  height: 100%;
}
.top.sec-02 .sec-02__image-02 {
  top: 16.66666vw;
  left: 7.16666vw;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-02 {
    top: 40%;
    transform: translate(0, -40%);
  }
}
.top.sec-02 .sec-02__image-02 .image-wrapper {
  width: 31.25vw;
  min-width: 150px;
  position: relative;
}
.top.sec-02 .sec-02__image-02 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.top.sec-02 .sec-02__image-02 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.sec-02 .sec-02__image-02 .image-wrapper img {
  object-fit: cover;
}
.top.sec-02 .sec-02__image-03 {
  position: absolute;
}
.top.sec-02 .sec-02__image-03 .image-wrapper {
  width: 100%;
  box-shadow: 10px 10px 0px #ec6200;
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-03 .image-wrapper {
    box-shadow: 10px 10px 0px rgba(236, 98, 0, 0.2);
  }
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__image-03 .image-wrapper::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.top.sec-02 .sec-02__image-03 .image-wrapper img {
  height: 100%;
}
.top.sec-02 .sec-02__image-03 {
  bottom: 8.33333vw;
  left: 14.805555vw;
  z-index: 3;
}
.top.sec-02 .sec-02__image-03 .image-wrapper {
  width: 31.25vw;
  min-width: 200px;
  position: relative;
}
.top.sec-02 .sec-02__image-03 .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
  text-align: center;
}
.top.sec-02 .sec-02__image-03 .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.sec-02 .sec-02__image-03 .image-wrapper img {
  object-fit: cover;
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__body-wrapper {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
  }
}
.top.sec-02 .sec-02__title {
  height: max-content;
  writing-mode: vertical-rl;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__title {
    width: max-content;
    max-width: 100%;
    margin-bottom: 1.85em;
    writing-mode: initial;
    transform: translate(0%, 0%);
    position: relative;
    top: 0;
    left: 0;
  }
}
.top.sec-02 .sec-02__title h2 {
  font-size: clamp(2.3125rem, 5.833vw, 4.375rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
}
.top.sec-02 .sec-02__body {
  position: absolute;
  width: 40.13888vw;
  padding-right: 20px;
  right: 0;
  bottom: 29.86111vw;
  z-index: 9;
}
@media only screen and (max-width: 1000px) {
  .top.sec-02 .sec-02__body {
    bottom: 5%;
  }
}
@media only screen and (max-width: 640px) {
  .top.sec-02 .sec-02__body {
    width: max-content;
    max-width: 100%;
    position: relative;
  }
}
.top.sec-02 .sec-02__body * {
  color: #000000;
  font-size: 1.25rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 2.55;
}
@media only screen and (max-width: 1200px) {
  .top.sec-02 .sec-02__body * {
    font-size: 1rem;
  }
}
.top.sec-03 {
  padding-top: 8.33333vw;
  padding-bottom: 15.27777vw;
}
.top.sec-03 .sec-03__food,
.top.sec-03 .sec-03__drink {
  position: relative;
}
.top.sec-03 .food__image,
.top.sec-03 .drink__image {
  width: 54.16666%;
}
@media only screen and (max-width: 1000px) {
  .top.sec-03 .food__image,
.top.sec-03 .drink__image {
    min-width: 300px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.top.sec-03 .food__content,
.top.sec-03 .drink__content {
  border: 4px solid #ec6200;
  position: absolute;
  top: 33.33333%;
  z-index: 2;
  width: 69.44444%;
  padding: 7.8125% 4.6875%;
}
@media only screen and (max-width: 1200px) {
  .top.sec-03 .food__content,
.top.sec-03 .drink__content {
    top: 15%;
  }
}
@media only screen and (max-width: 1000px) {
  .top.sec-03 .food__content,
.top.sec-03 .drink__content {
    width: 100%;
    position: relative;
    z-index: 1;
  }
}
.top.sec-03 .food__content::before,
.top.sec-03 .drink__content::before {
  line-height: 0;
  color: #ec6200;
  font-size: clamp(4.875rem, 12.167vw, 9.125rem);
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .top.sec-03 .food__content::before,
.top.sec-03 .drink__content::before {
    font-size: 2.5rem;
  }
}
.top.sec-03 .food__content .box article,
.top.sec-03 .drink__content .box article {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.top.sec-03 .food__content .box article div,
.top.sec-03 .drink__content .box article div {
  width: 51.13636%;
  margin-right: 7%;
}
@media only screen and (max-width: 640px) {
  .top.sec-03 .food__content .box article div,
.top.sec-03 .drink__content .box article div {
    width: 100%;
    margin-right: 0;
  }
}
.top.sec-03 .food__content .image-wrapper,
.top.sec-03 .drink__content .image-wrapper {
  flex: 1;
}
@media only screen and (max-width: 640px) {
  .top.sec-03 .food__content .image-wrapper,
.top.sec-03 .drink__content .image-wrapper {
    display: none;
  }
}
.top.sec-03 .food__content h3,
.top.sec-03 .drink__content h3 {
  display: none;
}
.top.sec-03 .food__content .title,
.top.sec-03 .drink__content .title {
  margin-bottom: 1.33333vw;
  text-align: center;
  font-size: 1.875rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
}
.top.sec-03 .food__content .body,
.top.sec-03 .drink__content .body {
  margin-bottom: 3.125rem;
  text-align: center;
}
.top.sec-03 .food__content .btn,
.top.sec-03 .drink__content .btn {
  width: 48.88888%;
  min-width: 220px;
  margin: 0 auto;
  padding: 1.25rem;
  color: #fff;
  background-color: #ec6200;
  text-align: center;
}
.top.sec-03 .sec-03__food {
  margin-bottom: 12.5vw;
}
.top.sec-03 .food__content {
  right: 0;
}
.top.sec-03 .food__content::before {
  content: "FOOD";
  right: -50%;
  transform: translate(-50%, 0) rotate(15deg);
}
@media only screen and (max-width: 1900px) {
  .top.sec-03 .food__content::before {
    right: 5%;
    transform: translate(0, 0) rotate(15deg);
  }
}
.top.sec-03 .drink__image {
  margin-left: auto;
}
.top.sec-03 .drink__content {
  left: 0;
}
.top.sec-03 .drink__content::before {
  content: "DRINK";
  left: -50%;
  transform: translate(50%, 0) rotate(-15deg);
}
@media only screen and (max-width: 1900px) {
  .top.sec-03 .drink__content::before {
    left: 0;
    transform: translate(0, 0) rotate(-15deg);
  }
}
.top.sec-03 .drink .image-wrapper {
  text-align: center;
}
.top.sec-04 {
  padding-top: 12.5%;
  padding-bottom: 12.5%;
}
.top.sec-04 .sec-04__cont .box {
  width: 100%;
  overflow: visible !important;
}
.top.sec-04 .sec-04__cont .box article {
  display: flex;
  flex-direction: row-reverse;
  position: relative;
}
.top.sec-04 .sec-04__cont .box article > div {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 834px) {
  .top.sec-04 .sec-04__cont .box article > div {
    justify-content: center;
  }
}
@media only screen and (max-width: 640px) {
  .top.sec-04 .sec-04__cont .box article > div {
    display: block;
  }
}
.top.sec-04 .sec-04__cont .box article > div * {
  color: #fff;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 640px) {
  .top.sec-04 .sec-04__cont .box article > div * {
    writing-mode: initial;
  }
}
.top.sec-04 .sec-04__cont .box article > div .title {
  margin-left: 1.11111rem;
  font-size: 2.25rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
}
@media only screen and (max-width: 640px) {
  .top.sec-04 .sec-04__cont .box article > div .title {
    margin-left: 0;
    margin-bottom: 1.11111em;
  }
}
.top.sec-04 .sec-04__cont .box article > div .body {
  line-height: 2.5;
  margin-left: 4.375em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
@media only screen and (max-width: 640px) {
  .top.sec-04 .sec-04__cont .box article > div .body {
    margin-left: 0;
    margin-bottom: 4.375em;
  }
}
.top.sec-04 .sec-04__cont .box article > div .btn {
  display: block;
  min-height: 180px;
  max-height: 180px;
  text-align: center;
  padding: 1.5625em;
  color: #ec6200;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .top.sec-04 .sec-04__cont .box article > div .btn {
    max-height: initial;
    min-height: initial;
    width: 48.88888%;
    min-width: 220px;
    margin: 0 auto;
  }
}
.top.sec-04 .sec-04__cont .box article h3 {
  display: none;
}
.top.sec-04 .sec-04__cont .box article .image-wrapper {
  width: 60%;
  position: relative;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.top.sec-04 .sec-04__cont .box article .image-wrapper:before {
  content: "";
  display: block;
  padding-top: 75%;
  text-align: center;
}
.top.sec-04 .sec-04__cont .box article .image-wrapper > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.sec-04 .sec-04__cont .box article .image-wrapper img {
  object-fit: cover;
}
@media only screen and (max-width: 834px) {
  .top.sec-04 .sec-04__cont .box article .image-wrapper {
    width: 95%;
  }
}
@media only screen and (max-width: 640px) {
  .top.sec-04 .sec-04__cont .box article .image-wrapper {
    width: 100%;
  }
}
@media only screen and (max-width: 1000px) {
  .top.sec-04 .sec-04__cont .box article .image-wrapper img {
    filter: brightness(0.4);
  }
}
.top.insta {
  padding-top: 6.94444%;
  padding-bottom: 6.94444%;
}
.top.insta .insta__title * {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
}
.top.insta .insta__title article > h2 {
  font-size: clamp(1.5625rem, 3.833vw, 2.875rem);
}
.top.insta .insta__title article > div {
  margin-bottom: 2.85714em;
  font-size: 0.875rem;
  color: #ec6200;
}
.top.insta .sns {
  margin-bottom: 3.75rem;
}
@media only screen and (max-width: 640px) {
  .top.insta .sns {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.top.insta .sns .slick-slide {
  width: 18.333336vw;
  margin-right: 2.08333vw;
}
@media only screen and (max-width: 834px) {
  .top.insta .sns .slick-slide {
    width: 31.9444466667vw;
  }
}
@media only screen and (max-width: 640px) {
  .top.insta .sns .slick-slide {
    width: 100vw;
  }
}
.top.insta .sns .sns_photo a {
  position: relative;
}
.top.insta .sns .sns_photo a:before {
  content: "";
  display: block;
  padding-top: 85.7142857143%;
  text-align: center;
}
.top.insta .sns .sns_photo a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.insta .sns .sns_photo a img {
  object-fit: cover;
}
.top.insta .sns .sns_date {
  display: none;
}
.top.insta .btn {
  display: inline-block;
  max-width: 100%;
  min-width: 220px;
  padding: 1.25rem;
  color: #fff;
  background-color: #ec6200;
}
.top.news {
  padding-bottom: 6.94444%;
}
.top.news .news__title * {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
}
.top.news .news__title article > h2 {
  font-size: clamp(1.5625rem, 3.833vw, 2.875rem);
}
.top.news .news__title article > div {
  margin-bottom: 2.85714em;
  font-size: 0.875rem;
  color: #ec6200;
}
.top.news .news__cont {
  width: 47.22222%;
  min-width: 680px;
  margin: 0 auto;
}
@media only screen and (max-width: 834px) {
  .top.news .news__cont {
    width: 100%;
    min-width: initial;
  }
}
.top.news .news__cont dl {
  margin-bottom: 1.5625em;
  padding-bottom: 1.5625em;
  border-bottom: 1px solid #ec6200;
}
.top.news .news__cont dl:last-child {
  margin-bottom: 0;
}
.top.news .news__cont dt {
  color: #ec6200;
}
.top.staff {
  padding-bottom: 6.94444%;
}
.top.staff .btn__wrapper {
  width: 50%;
  min-width: 250px;
  margin: 0 auto;
  padding: 2.5%;
  text-align: center;
  background-repeat: no-repeat;
}
.top.staff .btn__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 7.5% 10%;
  border: 3px solid #ec6200;
}
.top.staff .btn .ja,
.top.staff .btn .en {
  display: block;
  width: 100%;
}
.top.staff .btn .ja {
  margin-bottom: 7.5%;
  padding-bottom: 7.5%;
  font-size: 1.375rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  border-bottom: 1px solid #ec6200;
}
.top.staff .btn .en {
  font-size: 0.875rem;
  color: #ec6200;
}
.top.reserve {
  padding-top: 1.388888%;
  padding-bottom: 1.388888%;
}
@media only screen and (max-width: 834px) {
  .top.reserve {
    padding: 20px;
  }
}
.top.reserve .reserve__wrapper {
  display: flex;
  align-items: center;
  width: 69.44444%;
  margin: 0 auto;
  padding: 2.77777% 6.944444%;
  background-color: #fff;
}
@media only screen and (max-width: 834px) {
  .top.reserve .reserve__wrapper {
    flex-direction: column;
    width: 100%;
  }
}
.top.reserve .reserve__body {
  width: 42.5%;
  margin-right: 17.5%;
}
@media only screen and (max-width: 834px) {
  .top.reserve .reserve__body {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.875rem;
  }
}
.top.reserve .reserve__body .title {
  margin-bottom: 1.875rem;
}
@media only screen and (max-width: 834px) {
  .top.reserve .reserve__body .title {
    text-align: center;
  }
}
.top.reserve .reserve__body .title__main {
  font-size: clamp(1.125rem, 2.833vw, 2.125rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
}
.top.reserve .reserve__body .title__sub {
  line-height: 2.35714;
  font-size: 0.875rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  color: #ec6200;
}
.top.reserve .reserve__links {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.top.reserve .reserve__links .link {
  padding: 1.42857em;
  text-align: center;
  font-size: clamp(0.6875rem, 1.75vw, 1.3125rem);
  border-radius: 100vh;
}
@media only screen and (max-width: 640px) {
  .top.reserve .reserve__links .link {
    font-size: 1rem;
  }
}
.top.reserve .reserve__links .link.tel {
  margin-bottom: 1.25rem;
  color: #ec6200;
  border: 1px solid #ec6200;
}
.top.reserve .reserve__links .link.calendor {
  color: #fff;
  background-color: #45c4cc;
  border: 1px solid #45c4cc;
}
.top.company .company__main-wrapper {
  display: flex;
  padding-top: 11.66666%;
  padding-bottom: 11.66666%;
}
@media only screen and (max-width: 834px) {
  .top.company .company__main-wrapper {
    flex-direction: column-reverse;
  }
}
.top.company .company__wrapper.map,
.top.company .company__wrapper.info {
  width: 50%;
}
@media only screen and (max-width: 834px) {
  .top.company .company__wrapper.map,
.top.company .company__wrapper.info {
    width: 100%;
  }
}
.top.company .company__wrapper.map {
  margin-right: 5%;
  position: relative;
}
.top.company .company__wrapper.map:before {
  content: "";
  display: block;
  padding-top: 83.3333333333%;
  text-align: center;
}
.top.company .company__wrapper.map > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.company .company__wrapper.map img {
  object-fit: cover;
}
.top.company .company__wrapper.map iframe {
  max-width: 100%;
  width: 100%;
  height: 100%;
}
.top.company .line {
  display: block;
  width: 75px;
  height: 75px;
  margin-bottom: 1.25rem;
}
.top.company .info__cont dl {
  margin-bottom: 2.42857em;
}
.top.company .info__cont dt,
.top.company .info__cont dd {
  font-size: 0.875rem;
}
.top.company .info__cont dt {
  margin-bottom: 1em;
}
.top.company .info__btn-wrapper {
  background-color: #ec6200;
  border-radius: 5px;
}
@media only screen and (max-width: 834px) {
  .top.company .info__btn-wrapper {
    margin-bottom: 3.75rem;
  }
}
.top.company .info__btn {
  display: block;
  padding: 1.21428em;
  color: #fff;
}

.top.company .company__main-wrapper,
.shopinfo.company .company__main-wrapper {
  display: flex;
}
@media only screen and (max-width: 834px) {
  .top.company .company__main-wrapper,
.shopinfo.company .company__main-wrapper {
    flex-direction: column-reverse;
  }
}
.top.company .company__wrapper.map,
.top.company .company__wrapper.info,
.shopinfo.company .company__wrapper.map,
.shopinfo.company .company__wrapper.info {
  width: 50%;
}
@media only screen and (max-width: 834px) {
  .top.company .company__wrapper.map,
.top.company .company__wrapper.info,
.shopinfo.company .company__wrapper.map,
.shopinfo.company .company__wrapper.info {
    width: 100%;
  }
}
.top.company .company__wrapper.map,
.shopinfo.company .company__wrapper.map {
  margin-right: 5%;
  position: relative;
}
.top.company .company__wrapper.map:before,
.shopinfo.company .company__wrapper.map:before {
  content: "";
  display: block;
  padding-top: 83.3333333333%;
  text-align: center;
}
.top.company .company__wrapper.map > :first-child,
.shopinfo.company .company__wrapper.map > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.top.company .company__wrapper.map img,
.shopinfo.company .company__wrapper.map img {
  object-fit: cover;
}
.top.company .company__wrapper.map iframe,
.shopinfo.company .company__wrapper.map iframe {
  max-width: 100%;
  width: 100%;
  height: 100%;
}
.top.company .info__cont dl,
.shopinfo.company .info__cont dl {
  margin-bottom: 2.42857em;
}
.top.company .info__cont dt,
.top.company .info__cont dd,
.shopinfo.company .info__cont dt,
.shopinfo.company .info__cont dd {
  font-size: 0.875rem;
}
.top.company .info__cont dt,
.shopinfo.company .info__cont dt {
  margin-bottom: 1em;
}
.top.company .info__btn-wrapper,
.shopinfo.company .info__btn-wrapper {
  background-color: #ec6200;
  border-radius: 5px;
}
@media only screen and (max-width: 834px) {
  .top.company .info__btn-wrapper,
.shopinfo.company .info__btn-wrapper {
    margin-bottom: 3.75rem;
  }
}
.top.company .info__btn,
.shopinfo.company .info__btn {
  display: block;
  padding: 1.21428em;
  color: #fff;
}

.top .company__main-wrapper {
  padding-top: 11.66666%;
  padding-bottom: 11.66666%;
}

.food.sns,
.drink.sns {
  margin-bottom: 3.75rem;
}
@media only screen and (max-width: 640px) {
  .food.sns,
.drink.sns {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.food.sns .slick-slide,
.drink.sns .slick-slide {
  width: 18.333336vw;
  margin-right: 2.08333vw;
}
@media only screen and (max-width: 834px) {
  .food.sns .slick-slide,
.drink.sns .slick-slide {
    width: 31.9444466667vw;
  }
}
@media only screen and (max-width: 640px) {
  .food.sns .slick-slide,
.drink.sns .slick-slide {
    width: 100vw;
  }
}
.food.sns .sns_photo a,
.drink.sns .sns_photo a {
  position: relative;
}
.food.sns .sns_photo a:before,
.drink.sns .sns_photo a:before {
  content: "";
  display: block;
  padding-top: 85.7142857143%;
  text-align: center;
}
.food.sns .sns_photo a > :first-child,
.drink.sns .sns_photo a > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}
.food.sns .sns_photo a img,
.drink.sns .sns_photo a img {
  object-fit: cover;
}
.food.sns .sns_date,
.drink.sns .sns_date {
  display: none;
}
.food.announce ul,
.drink.announce ul {
  display: flex;
  flex-direction: column;
}
.food.announce ul li,
.drink.announce ul li {
  margin-bottom: 1.25rem;
}