@charset "UTF-8";

.l-header {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  left: 0;
  height: 5.8565153734vw;
  position: absolute;
  transition: transform 0.4s ease;
  top: 0;
  width: 100%;
  z-index: 9999;
}
@media screen and (max-width: 640px) {
  .l-header {
    height: 16vw;
    position: fixed !important;
  }
}
.l-header.is-fixed {
  top: 0;
  position: fixed;
  transform: translateY(0);
}
@media screen and (max-width: 640px) {
  .l-header.is-fixed {
    position: absolute;
    top: 0;
    transform: unset;
  }
}
.l-header.is-fixed[data-js-header] {
  animation: open_header_animation 0.3s ease forwards;
}
@media screen and (max-width: 640px) {
  .l-header.is-fixed[data-js-header] {
    animation: unset;
  }
}
.l-header.is-close[data-js-header] {
  animation: close_header_animation 0.3s ease forwards;
}
.l-header-logo {
  margin-left: 6.8814055637vw;
  width: 7.9795021962vw;
}
@media screen and (max-width: 640px) {
  .l-header-logo {
    width: 29.0666666667vw;
    position: relative;
    margin-left: 4.8vw;
  }
}
.l-header-logo a {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.l-header-body {
  align-items: center;
  display: flex;
  height: 100%;
  padding-right: 2.3792093704vw;
}
@media screen and (max-width: 640px) {
  .l-header-body {
    display: unset;
    margin: unset;
    padding: unset;
  }
}
.l-header-navi {
  display: flex;
  gap: 2.7818448023vw;
  padding-right: 2.196193265vw;
  margin-top: -0.2196193265vw;
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  .l-header-navi {
    gap: 2.9282576867vw;
  }
}
@media screen and (max-width: 640px) {
  .l-header-navi {
    display: block;
    padding-right: 0;
    padding-top: 4vw;
  }
}
.l-header-navi > li {
  display: inline-block;
  padding: 0.7320644217vw 0;
  position: relative;
}
@media screen and (max-width: 640px) {
  .l-header-navi > li {
    display: block;
    border-bottom: 1px solid #BFBFBF;
    padding: unset;
    position: relative;
  }
}
.l-header-navi > li:hover > a,
.l-header-navi > li:hover > span {
  opacity: 0.4;
}
.is-fixed .l-header-navi > li:hover > a,
.is-fixed .l-header-navi > li:hover > span {
  color: #C9151E;
  opacity: 1;
}
.l-header-navi > li > a,
.l-header-navi > li > span {
  font-family: "Noto Sans JP", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 0.9516837482vw;
  font-weight: 500;
  letter-spacing: 0.0219619327vw;
  transition: none;
}
@media screen and (max-width: 640px) {
  .l-header-navi > li > a,
  .l-header-navi > li > span {
    color: #fff !important;
    display: block;
    font-size: 4.2666666667vw;
    padding: 4.2666666667vw 0;
    letter-spacing: 0.5333333333vw;
  }
}
.is-fixed .l-header-navi > li > a,
.is-fixed .l-header-navi > li > span {
  color: #404040;
}
.is-fixed .l-header-navi > li > a:hover,
.is-fixed .l-header-navi > li > span:hover {
  color: #C9151E;
  opacity: 1;
}
.l-header-navi > li > span {
  cursor: default;
}
@media screen and (max-width: 640px) {
  .l-header-navi > li > span {
    cursor: pointer;
  }
}
.l-header-subnavi {
  background: #404040;
  border-radius: 0.5856515373vw;
  box-shadow: 0 0.2196193265vw 0.439238653vw rgba(0, 0, 0, 0.16);
  left: -9999px;
  opacity: 0;
  padding: 2.4158125915vw 3.3674963397vw 2.4158125915vw 2.3426061493vw;
  position: absolute;
  top: 3.6603221083vw;
  transform: translateY(-0.3660322108vw);
  transition: transform 0.4s ease, opacity 0.4s ease;
}
@media screen and (max-width: 640px) {
  .l-header-subnavi {
    background-color: unset;
    box-shadow: unset;
    left: unset;
    opacity: unset;
    margin-top: -2.6666666667vw;
    padding: 0 0 5.3333333333vw 3.4666666667vw;
    position: unset;
    top: unset;
    transform: unset;
    transition: opacity 0.4s ease 0.1s;
  }
}
.l-header-subnavi li a {
  color: #fff;
  font-size: 1.0248901903vw;
  line-height: 2.8571428571;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .l-header-subnavi li a {
    display: block;
    font-size: 3.7333333333vw;
  }
}
.l-header-subnavi li a:hover {
  color: #C9151E;
  opacity: 1;
}
li:hover .l-header-subnavi {
  left: 0;
  opacity: 1;
  transform: translateY(0);
}
.l-header-ig, .l-header-line {
  font-size: 0;
  width: 2.4158125915vw;
}
@media screen and (max-width: 640px) {
  .l-header-ig, .l-header-line {
    align-items: center;
    display: flex;
    height: 16vw;
    justify-content: center;
    position: absolute;
    top: 0;
    width: 10.6666666667vw;
  }
}
.l-header-ig:hover, .l-header-line:hover {
  opacity: 0.6;
}
.is-fixed .l-header-ig:hover, .is-fixed .l-header-line:hover {
  opacity: 1;
}

@media screen and (max-width: 640px) {
  .l-header-ig {
    right: 26.6666666667vw;
  }
}

.l-header-ig:hover [class^=c-icon-] {
  background-color: #C9151E;
}

@media screen and (max-width: 640px) {
  .l-header-line {
    right: 17.0666666667vw;
  }
}
.l-header-line:hover [class^=c-icon-] {
  opacity: 0.8;
}
@media screen and (max-width: 640px) {
  .l-header-secondary {
    background-color: #fff;
    bottom: 0;
    height: 13.3333333333vw;
    position: fixed;
    left: 0;
    width: 100vw;
  }
}
.l-header-btns {
  display: flex;
  gap: 0.2928257687vw;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
}
@media screen and (max-width: 640px) {
  .l-header-btns {
    gap: 0;
    position: relative;
    width: 100%;
  }
}
.l-header-btn {
  color: #fff;
  display: block;
  height: 5.8565153734vw;
  padding-top: 1.2445095168vw;
  text-align: center;
  min-width: 62px;
  width: 5.8565153734vw;
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  .l-header-btn {
    min-width: unset;
    width: 10.2489019034vw;
  }
}
@media screen and (max-width: 640px) {
  .l-header-btn {
    align-items: center;
    display: flex;
    gap: 2.6666666667vw;
    height: 13.3333333333vw;
    justify-content: center;
    padding-top: 0;
    width: 50vw;
  }
}
.l-header-btn i {
  display: block;
  font-size: 0;
}
.l-header-btn i img {
  height: 1.9033674963vw;
  width: unset;
}
@media screen and (max-width: 640px) {
  .l-header-btn i img {
    height: 5.6vw;
  }
}
.l-header-btn span {
  font-size: 0.8052708638vw;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .l-header-btn span {
    font-size: 3.7333333333vw;
  }
}
.l-header-ig {
  margin-right: 1.8301610542vw;
}
.l-header-ig .c-icon-ig {
  background: #404040;
}
@media screen and (max-width: 640px) {
  .l-header-ig .c-icon-ig {
    width: 6.7973333333vw;
  }
}
.l-header-line .c-icon-line {
  align-items: center;
  background: #06C755;
  display: flex;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .l-header-line .c-icon-line {
    width: 6.6666666667vw;
  }
}

.l-description {
  align-items: center;
  display: none;
  font-size: 1.0248901903vw;
  font-weight: 500;
  position: absolute;
  left: 0;
  letter-spacing: 0.2196193265vw;
  top: 15.8125915081vw;
  writing-mode: vertical-rl;
  width: 5.8565153734vw;
}
@media screen and (max-width: 640px) {
  .l-description {
    display: flex;
    font-size: 3.2vw;
    height: 16vw;
    letter-spacing: 0;
    line-height: 1.4166666667;
    padding-left: 4.5333333333vw;
    position: fixed;
    left: 18.1333333333vw;
    top: -0.2666666667vw;
    writing-mode: unset;
    width: auto;
    z-index: 11;
  }
}

.l-headline {
  position: relative;
}
@media screen and (max-width: 640px) {
  .l-headline {
    min-height: 97.8666666667vw;
  }
}
.l-headline.without-lead.without-eyecatch {
  padding-top: 1.4641288433vw;
}
@media screen and (max-width: 640px) {
  .l-headline.without-lead.without-eyecatch {
    min-height: unset;
  }
}
@media screen and (min-width: 641px) {
  .l-headline.without-lead.without-eyecatch .l-headline-title {
    display: none;
    min-height: unset;
  }
}
.l-headline.without-lead.without-eyecatch .l-headline-inner {
  min-height: unset;
}
.l-headline-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 27.8184480234vw;
}
@media screen and (max-width: 640px) {
  .l-headline-inner {
    position: relative;
  }
}
.l-headline-title {
  padding-bottom: 1.8301610542vw;
  padding-top: 3.6603221083vw;
}
@media screen and (max-width: 640px) {
  .l-headline-title {
    padding-top: 4vw;
    padding-bottom: 5.3333333333vw;
  }
}
.without-lead .l-headline-title {
  padding-top: 6.2225475842vw;
}
.l-headline-title strong {
  display: inline-block;
}
.l-headline-title strong img {
  height: 4.1727672035vw;
}
@media screen and (max-width: 640px) {
  .l-headline-title strong img {
    height: 10.6666666667vw;
    object-fit: contain;
    object-position: top left;
    width: 100%;
  }
}
.l-headline-title span {
  color: #C9151E;
  display: block;
  font-family: "Zen Old Mincho", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 1.1713030747vw;
  font-weight: 600;
  letter-spacing: 0.0732064422vw;
  margin-top: -0.1464128843vw;
}
@media screen and (max-width: 640px) {
  .l-headline-title span {
    font-size: 3.7333333333vw;
    margin-top: 0;
  }
}
.l-headline .l-topic-path {
  padding-bottom: 5.6368960469vw;
}
.l-headline-lead {
  padding: 6.588579795vw 0;
  margin-top: -1.8301610542vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  .l-headline-lead {
    margin-top: 30.9333333333vw;
    padding-top: 37.8666666667vw;
    padding-bottom: 13.3333333333vw;
  }
}
.l-headline-lead > * {
  position: relative;
}
.l-headline-lead:before {
  background-color: #EFEDEE;
  border-radius: 0 0 1.4641288433vw 0;
  display: block;
  content: " ";
  height: 100%;
  margin-left: calc(50% - 50vw);
  position: absolute;
  top: 0;
  width: 69.6193265007vw;
}
@media screen and (max-width: 640px) {
  .l-headline-lead:before {
    border-radius: 0 0 5.3333333333vw;
    height: 100%;
    width: calc(100% + 6.4vw);
  }
}
.l-headline-lead-title {
  font-family: "Zen Old Mincho", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 1.756954612vw;
  font-weight: 600;
  letter-spacing: 0.0732064422vw;
  padding-bottom: 3.074670571vw;
}
@media screen and (max-width: 640px) {
  .l-headline-lead-title {
    font-size: 4.2666666667vw;
    padding-right: 2.6666666667vw;
  }
}
.l-headline-lead-text {
  letter-spacing: 0.0366032211vw;
  width: 40.9956076135vw;
}
@media screen and (max-width: 640px) {
  .l-headline-lead-text {
    line-height: 1.7142857143;
    width: 80.5333333333vw;
  }
}
.l-headline-lead-title + .l-headline-lead-text {
  width: 50.2196193265vw;
}
@media screen and (max-width: 640px) {
  .l-headline-lead-title + .l-headline-lead-text {
    width: 80.5333333333vw;
  }
}
.l-headline-lead-text span {
  display: block;
  font-size: 1.0248901903vw;
  line-height: 1.8571428571;
  padding-left: 1em;
  text-indent: -1em;
  padding-top: 0.7320644217vw;
}
@media screen and (max-width: 640px) {
  .l-headline-lead-text span {
    font-size: 3.2vw;
    line-height: 1.6666666667;
    padding-top: 2.6666666667vw;
  }
}
.l-headline-lead-text span:before {
  content: "※";
}
.l-headline-img {
  border-radius: 0 0 0 1.4641288433vw;
  height: 27.8184480234vw;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  width: 45.3879941435vw;
}
@media screen and (max-width: 640px) {
  .l-headline-img {
    border-radius: 0 0 0 5.3333333333vw;
    height: 57.3333333333vw;
    right: 0;
    top: 40.5333333333vw;
    width: 93.6vw;
  }
}
.l-headline-img img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.c-icon-ig {
  content: " ";
  display: inline-block;
  height: auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  aspect-ratio: 1/1;
  background-color: #404040;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="31.518" height="31.511" viewBox="0 0 31.518 31.511"><path d="M15.757,9.914a8.079,8.079,0,1,0,8.079,8.079A8.066,8.066,0,0,0,15.757,9.914Zm0,13.331a5.252,5.252,0,1,1,5.252-5.252,5.262,5.262,0,0,1-5.252,5.252ZM26.051,9.584A1.884,1.884,0,1,1,24.166,7.7,1.88,1.88,0,0,1,26.051,9.584ZM31.4,11.5a9.325,9.325,0,0,0-2.545-6.6,9.387,9.387,0,0,0-6.6-2.545c-2.6-.148-10.4-.148-13,0a9.373,9.373,0,0,0-6.6,2.538,9.356,9.356,0,0,0-2.545,6.6c-.148,2.6-.148,10.4,0,13a9.325,9.325,0,0,0,2.545,6.6,9.4,9.4,0,0,0,6.6,2.545c2.6.148,10.4.148,13,0a9.325,9.325,0,0,0,6.6-2.545,9.387,9.387,0,0,0,2.545-6.6c.148-2.6.148-10.392,0-12.994ZM28.041,27.281a5.318,5.318,0,0,1-3,3c-2.074.823-7,.633-9.288.633s-7.221.183-9.288-.633a5.318,5.318,0,0,1-3-3c-.823-2.074-.633-7-.633-9.288s-.183-7.221.633-9.288a5.318,5.318,0,0,1,3-3c2.074-.823,7-.633,9.288-.633s7.221-.183,9.288.633a5.318,5.318,0,0,1,3,3c.823,2.074.633,7,.633,9.288S28.863,25.214,28.041,27.281Z" transform="translate(0.005 -2.238)" fill="%23000"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="31.518" height="31.511" viewBox="0 0 31.518 31.511"><path d="M15.757,9.914a8.079,8.079,0,1,0,8.079,8.079A8.066,8.066,0,0,0,15.757,9.914Zm0,13.331a5.252,5.252,0,1,1,5.252-5.252,5.262,5.262,0,0,1-5.252,5.252ZM26.051,9.584A1.884,1.884,0,1,1,24.166,7.7,1.88,1.88,0,0,1,26.051,9.584ZM31.4,11.5a9.325,9.325,0,0,0-2.545-6.6,9.387,9.387,0,0,0-6.6-2.545c-2.6-.148-10.4-.148-13,0a9.373,9.373,0,0,0-6.6,2.538,9.356,9.356,0,0,0-2.545,6.6c-.148,2.6-.148,10.4,0,13a9.325,9.325,0,0,0,2.545,6.6,9.4,9.4,0,0,0,6.6,2.545c2.6.148,10.4.148,13,0a9.325,9.325,0,0,0,6.6-2.545,9.387,9.387,0,0,0,2.545-6.6c.148-2.6.148-10.392,0-12.994ZM28.041,27.281a5.318,5.318,0,0,1-3,3c-2.074.823-7,.633-9.288.633s-7.221.183-9.288-.633a5.318,5.318,0,0,1-3-3c-.823-2.074-.633-7-.633-9.288s-.183-7.221.633-9.288a5.318,5.318,0,0,1,3-3c2.074-.823,7-.633,9.288-.633s7.221-.183,9.288.633a5.318,5.318,0,0,1,3,3c.823,2.074.633,7,.633,9.288S28.863,25.214,28.041,27.281Z" transform="translate(0.005 -2.238)" fill="%23000"/></svg>');
  width: 2.3074670571vw;
}
.c-icon-line {
  content: " ";
  display: inline-block;
  height: auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  aspect-ratio: 1/0.9550898204;
  background-color: #404040;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34.974" height="34.974" viewBox="0 0 34.974 34.974"><g transform="translate(0.223 0.223)"><path d="M-84.685-4495.026h-18.657a7.667,7.667,0,0,1-7.659-7.659v-18.655a7.668,7.668,0,0,1,7.659-7.66h18.657a7.668,7.668,0,0,1,7.659,7.66v18.655A7.667,7.667,0,0,1-84.685-4495.026Zm-9.332-27.779c-6.245,0-11.327,4.124-11.327,9.192a8.258,8.258,0,0,0,2.7,5.969,12.147,12.147,0,0,0,6.778,3.1c.386.084.873.25,1,.559a2.194,2.194,0,0,1,.036,1.024l-.161.97,0,.023a.83.83,0,0,0,.057.631.377.377,0,0,0,.3.118,1.7,1.7,0,0,0,.623-.162,36.228,36.228,0,0,0,8.9-6.576,8.225,8.225,0,0,0,2.428-5.656C-82.689-4518.682-87.77-4522.805-94.016-4522.805Z" transform="translate(111.276 4529.277)" fill="%23000" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/><path d="M202.551,127.232h-3.182a.216.216,0,0,1-.216-.216v0h0v-4.935h0v0a.216.216,0,0,1,.216-.216h3.182a.217.217,0,0,1,.216.216v.8a.216.216,0,0,1-.216.216h-2.163v.834h2.163a.217.217,0,0,1,.216.216v.8a.216.216,0,0,1-.216.216h-2.163V126h2.163a.217.217,0,0,1,.216.216v.8a.216.216,0,0,1-.216.216" transform="translate(-177.732 -108.642)" fill="%23000"/><path d="M91.677,127.232a.216.216,0,0,0,.216-.216v-.8a.217.217,0,0,0-.216-.216H89.514v-3.924a.217.217,0,0,0-.216-.216h-.8a.216.216,0,0,0-.216.216v4.94h0v0a.216.216,0,0,0,.216.216h3.182Z" transform="translate(-78.629 -108.642)" fill="%23000"/><path d="M129.75,121.855h-.8a.216.216,0,0,0-.216.216v4.943a.216.216,0,0,0,.216.216h.8a.216.216,0,0,0,.216-.216v-4.943a.216.216,0,0,0-.216-.216" transform="translate(-114.786 -108.641)" fill="%23000"/><path d="M152.126,121.855h-.8a.216.216,0,0,0-.216.216v2.936l-2.262-3.054a.238.238,0,0,0-.017-.022v0l-.013-.013,0,0-.012-.01-.006,0-.011-.008-.007,0-.012-.007-.007,0-.013-.006-.007,0-.013,0-.008,0-.013,0h-.839a.216.216,0,0,0-.216.216v4.943a.216.216,0,0,0,.216.216h.8a.216.216,0,0,0,.216-.216v-2.935l2.265,3.058a.219.219,0,0,0,.056.054l0,0,.014.008.006,0,.011.005.011,0,.007,0,.015,0h0a.22.22,0,0,0,.056.008h.8a.216.216,0,0,0,.216-.216v-4.943a.216.216,0,0,0-.216-.216" transform="translate(-131.694 -108.641)" fill="%23000"/></g></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34.974" height="34.974" viewBox="0 0 34.974 34.974"><g transform="translate(0.223 0.223)"><path d="M-84.685-4495.026h-18.657a7.667,7.667,0,0,1-7.659-7.659v-18.655a7.668,7.668,0,0,1,7.659-7.66h18.657a7.668,7.668,0,0,1,7.659,7.66v18.655A7.667,7.667,0,0,1-84.685-4495.026Zm-9.332-27.779c-6.245,0-11.327,4.124-11.327,9.192a8.258,8.258,0,0,0,2.7,5.969,12.147,12.147,0,0,0,6.778,3.1c.386.084.873.25,1,.559a2.194,2.194,0,0,1,.036,1.024l-.161.97,0,.023a.83.83,0,0,0,.057.631.377.377,0,0,0,.3.118,1.7,1.7,0,0,0,.623-.162,36.228,36.228,0,0,0,8.9-6.576,8.225,8.225,0,0,0,2.428-5.656C-82.689-4518.682-87.77-4522.805-94.016-4522.805Z" transform="translate(111.276 4529.277)" fill="%23000" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/><path d="M202.551,127.232h-3.182a.216.216,0,0,1-.216-.216v0h0v-4.935h0v0a.216.216,0,0,1,.216-.216h3.182a.217.217,0,0,1,.216.216v.8a.216.216,0,0,1-.216.216h-2.163v.834h2.163a.217.217,0,0,1,.216.216v.8a.216.216,0,0,1-.216.216h-2.163V126h2.163a.217.217,0,0,1,.216.216v.8a.216.216,0,0,1-.216.216" transform="translate(-177.732 -108.642)" fill="%23000"/><path d="M91.677,127.232a.216.216,0,0,0,.216-.216v-.8a.217.217,0,0,0-.216-.216H89.514v-3.924a.217.217,0,0,0-.216-.216h-.8a.216.216,0,0,0-.216.216v4.94h0v0a.216.216,0,0,0,.216.216h3.182Z" transform="translate(-78.629 -108.642)" fill="%23000"/><path d="M129.75,121.855h-.8a.216.216,0,0,0-.216.216v4.943a.216.216,0,0,0,.216.216h.8a.216.216,0,0,0,.216-.216v-4.943a.216.216,0,0,0-.216-.216" transform="translate(-114.786 -108.641)" fill="%23000"/><path d="M152.126,121.855h-.8a.216.216,0,0,0-.216.216v2.936l-2.262-3.054a.238.238,0,0,0-.017-.022v0l-.013-.013,0,0-.012-.01-.006,0-.011-.008-.007,0-.012-.007-.007,0-.013-.006-.007,0-.013,0-.008,0-.013,0h-.839a.216.216,0,0,0-.216.216v4.943a.216.216,0,0,0,.216.216h.8a.216.216,0,0,0,.216-.216v-2.935l2.265,3.058a.219.219,0,0,0,.056.054l0,0,.014.008.006,0,.011.005.011,0,.007,0,.015,0h0a.22.22,0,0,0,.056.008h.8a.216.216,0,0,0,.216-.216v-4.943a.216.216,0,0,0-.216-.216" transform="translate(-131.694 -108.641)" fill="%23000"/></g></svg>');
  width: 2.4450951684vw;
}

.c-drawer-menu-overlay {
  background: #404040;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: -100vh;
  transition: opacity 0.2s ease;
  width: 100vw;
  z-index: 2;
}
.c-drawer-menu-overlay.is-open {
  opacity: 1;
  top: 0;
}
.c-drawer-menu-btn {
  display: block;
  height: 16vw;
  position: absolute;
  right: 0;
  width: 16vw;
  top: 0;
  z-index: 9999;
}
.c-drawer-menu-btn span {
  background-color: #404040;
  bottom: 0;
  display: block;
  height: min(0.5333333333vw, 2px);
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 5.3333333333vw;
}
.c-drawer-menu-btn span:before, .c-drawer-menu-btn span:after {
  background-color: #404040;
  border-radius: 9999px;
  content: "";
  display: block;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  width: 5.3333333333vw;
  height: min(0.5333333333vw, 2px);
  transition: all 0.2s ease;
}
.c-drawer-menu-btn span:before {
  top: -1.8666666667vw;
  width: 6.6666666667vw;
}
.c-drawer-menu-btn span::after {
  bottom: -1.8666666667vw;
  right: unset;
  width: 3.4666666667vw;
}
.c-drawer-menu-btn.is-open span {
  background-color: transparent;
}
.c-drawer-menu-btn.is-open span:before, .c-drawer-menu-btn.is-open span:after {
  bottom: 0;
  margin: auto;
  top: 0;
}
.c-drawer-menu-btn.is-open span::before {
  transform: rotate(45deg);
}
.c-drawer-menu-btn.is-open span::after {
  top: 0;
  transform: rotate(-45deg);
  width: 6.6666666667vw;
}
@media screen and (max-width: 640px) {
  .c-drawer-menu-content {
    height: 0;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: fixed;
    top: 16vw;
    width: 100vw;
    z-index: 8888;
    transition: all 0.4s ease;
  }
  .c-drawer-menu-content > ul {
    padding: 0 6.4vw 29.3333333333vw;
  }
}
@media screen and (max-width: 640px) {
  .c-drawer-menu-content.is-open {
    background-color: #2F2F2F;
    height: calc(100vh - 16vw);
    opacity: 1;
    overflow-y: scroll;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .c-accordion-btn, .c-accordion-btn-black {
    cursor: pointer;
    position: absolute;
    right: 0.8vw;
    top: 5.8666666667vw;
  }
}
@media screen and (max-width: 640px) {
  .c-accordion-btn:before, .c-accordion-btn-black:before {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="9.845" height="15.761" viewBox="0 0 9.845 15.761"><path d="M.325,15.382l-.651-.759L7.983,7.5-.325.38.325-.379,9.519,7.5Z" transform="translate(0.325 0.379)" fill="%23fff"/></svg>') no-repeat;
    background-size: contain;
    content: " ";
    display: block;
    height: 4.2666666667vw;
    transform: rotate(90deg);
    transition: transform 0.4s ease;
    width: 2.6666666667vw;
  }
}
@media screen and (max-width: 640px) {
  .c-accordion-btn[data-js-accordion=open]:before, [data-js-accordion=open].c-accordion-btn-black:before, [data-js-accordion=open] .c-accordion-btn:before, [data-js-accordion=open] .c-accordion-btn-black:before {
    transform: rotate(-90deg);
  }
}

.c-accordion-btn-black:before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="9.845" height="15.761" viewBox="0 0 9.845 15.761"><path d="M.325,15.382l-.651-.759L7.983,7.5-.325.38.325-.379,9.519,7.5Z" transform="translate(0.325 0.379)" fill="%23404040"/></svg>');
}

.c-icon-arrow {
  content: " ";
  display: inline-block;
  height: auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  aspect-ratio: 1/1.7;
  background-color: #404040;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14.447" height="9.793" viewBox="0 0 14.447 9.793"><path d="M-2379.908-7214.467l4.267-3.656h-12.351v-1h12.3l-4.22-3.617.651-.759,5.105,4.376h.087v.075l.52.446-.52.446v.035h-.04l-5.152,4.416Z" transform="translate(2387.991 7223.5)" fill="%23000"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14.447" height="9.793" viewBox="0 0 14.447 9.793"><path d="M-2379.908-7214.467l4.267-3.656h-12.351v-1h12.3l-4.22-3.617.651-.759,5.105,4.376h.087v.075l.52.446-.52.446v.035h-.04l-5.152,4.416Z" transform="translate(2387.991 7223.5)" fill="%23000"/></svg>');
  width: 1.0197657394vw;
}
@media screen and (max-width: 640px) {
  .c-icon-arrow {
    width: 4.6533333333vw;
  }
}
.c-icon-mail {
  content: " ";
  display: inline-block;
  height: auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  aspect-ratio: 1/1.25;
  background-color: #404040;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 16C1.45 16 0.979167 15.8042 0.5875 15.4125C0.195833 15.0208 0 14.55 0 14V2C0 1.45 0.195833 0.979167 0.5875 0.5875C0.979167 0.195833 1.45 0 2 0H18C18.55 0 19.0208 0.195833 19.4125 0.5875C19.8042 0.979167 20 1.45 20 2V14C20 14.55 19.8042 15.0208 19.4125 15.4125C19.0208 15.8042 18.55 16 18 16H2ZM10 9L2 4V14H18V4L10 9ZM10 7L18 2H2L10 7ZM2 4V2V14V4Z" fill="%23000"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 16C1.45 16 0.979167 15.8042 0.5875 15.4125C0.195833 15.0208 0 14.55 0 14V2C0 1.45 0.195833 0.979167 0.5875 0.5875C0.979167 0.195833 1.45 0 2 0H18C18.55 0 19.0208 0.195833 19.4125 0.5875C19.8042 0.979167 20 1.45 20 2V14C20 14.55 19.8042 15.0208 19.4125 15.4125C19.0208 15.8042 18.55 16 18 16H2ZM10 9L2 4V14H18V4L10 9ZM10 7L18 2H2L10 7ZM2 4V2V14V4Z" fill="%23000"/></svg>');
  width: 1.4641288433vw;
}
@media screen and (max-width: 640px) {
  .c-icon-mail {
    width: 5.8666666667vw;
  }
}
.c-icon-tel {
  content: " ";
  display: inline-block;
  height: auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  aspect-ratio: 1/1;
  background-color: #404040;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11.219" height="11.22" viewBox="0 0 11.219 11.22"><path d="M10.811.539,8.532.013a.529.529,0,0,0-.6.3L6.878,2.771a.525.525,0,0,0,.151.614L8.357,4.472A8.121,8.121,0,0,1,4.474,8.355L3.387,7.027a.525.525,0,0,0-.614-.151L.319,7.927a.532.532,0,0,0-.307.6l.526,2.279a.526.526,0,0,0,.513.408A10.166,10.166,0,0,0,11.219,1.051.525.525,0,0,0,10.811.539Z" transform="translate(0.001 0.001)" fill="%23000"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11.219" height="11.22" viewBox="0 0 11.219 11.22"><path d="M10.811.539,8.532.013a.529.529,0,0,0-.6.3L6.878,2.771a.525.525,0,0,0,.151.614L8.357,4.472A8.121,8.121,0,0,1,4.474,8.355L3.387,7.027a.525.525,0,0,0-.614-.151L.319,7.927a.532.532,0,0,0-.307.6l.526,2.279a.526.526,0,0,0,.513.408A10.166,10.166,0,0,0,11.219,1.051.525.525,0,0,0,10.811.539Z" transform="translate(0.001 0.001)" fill="%23000"/></svg>');
  width: 1.5893118594vw;
}
@media screen and (max-width: 640px) {
  .c-icon-tel {
    width: 4.2666666667vw;
  }
}


.l-footer {
  border-top: 1px solid #CECECE;
  padding-bottom: 9.4436310395vw;
  padding-top: 5.4904831625vw;
}
@media screen and (max-width: 640px) {
  .l-footer {
    padding-bottom: 25.52vw;
    padding-top: 0;
  }
}
.l-footer-navi {
  display: flex;
  column-gap: 2.9282576867vw;
  flex-direction: column;
  flex-wrap: wrap;
  height: 11.7130307467vw;
  row-gap: 0.2196193265vw;
  width: 13.5431918009vw;
}
@media screen and (max-width: 640px) {
  .l-footer-navi {
    gap: 0;
    height: unset;
    margin: 0 -6.4vw;
    width: 100vw;
  }
}
@media screen and (max-width: 640px) {
  .l-footer-navi > li {
    border-bottom: 1px solid #EFEDEE;
  }
}
.l-footer-navi > li > a, .l-footer-navi > li > span {
  font-size: 0.9516837482vw;
  font-weight: 600;
}
@media screen and (max-width: 640px) {
  .l-footer-navi > li > a, .l-footer-navi > li > span {
    align-items: center;
    display: flex;
    font-size: 4.2666666667vw;
    height: 17.8666666667vw;
    letter-spacing: 0.2666666667vw;
    padding: 0 0 0 13.0666666667vw;
  }
}
.l-footer-subnavi {
  display: flex;
  flex-direction: column;
  gap: 0.1464128843vw;
  margin-bottom: 0.2196193265vw;
  margin-top: -0.2196193265vw;
}
@media screen and (max-width: 640px) {
  .l-footer-subnavi {
    gap: 2.6666666667vw;
    margin: -1.3333333333vw 0 0;
    padding: 0 13.0666666667vw 6.4vw;
  }
}
.l-footer-subnavi li {
  line-height: 1;
}
@media screen and (max-width: 640px) {
  .l-footer-subnavi li {
    line-height: 1.7142857143;
  }
}
.l-footer-subnavi li a {
  font-size: 0.7320644217vw;
}
@media screen and (max-width: 640px) {
  .l-footer-subnavi li a {
    display: block;
    font-size: 3.7333333333vw;
  }
}
.l-footer-subnavi li a:before {
  content: "・";
}
.l-footer-social {
  align-items: center;
  display: flex;
  gap: 3.1478770132vw;
}
@media screen and (max-width: 640px) {
  .l-footer-social {
    gap: 5.3333333333vw;
  }
}
.l-footer-ig, .l-footer-line {
  line-height: 0;
}
@media screen and (max-width: 640px) {
  .l-footer-ig [class^=c-icon-], .l-footer-line [class^=c-icon-] {
    width: 8.4053333333vw;
  }
}
.l-footer .c-icon-line {
  background-color: #06C755;
}
.l-footer-trico {
  width: 9.9560761347vw;
}
@media screen and (max-width: 640px) {
  .l-footer-trico {
    width: 26.6666666667vw;
  }
}
.l-footer-lower {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-top: 2.5622254758vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .l-footer-lower {
    flex-direction: column;
    padding-top: 16vw;
  }
}
.l-footer-lower-right {
  align-items: end;
  display: flex;
  flex-direction: column;
  margin-top: -3.6603221083vw;
}
@media screen and (max-width: 640px) {
  .l-footer-lower-right {
    align-items: center;
    flex-direction: column-reverse;
    gap: 8vw;
    margin: 0;
  }
}
.l-footer-lower-left {
  padding-top: 2.5622254758vw;
}
@media screen and (max-width: 640px) {
  .l-footer-lower-left {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-top: 8vw;
  }
}
.l-footer-logo {
  display: inline-block;
  padding-top: 2.9282576867vw;
  width: 17.8623718887vw;
}
@media screen and (max-width: 640px) {
  .l-footer-logo {
    width: 65.0666666667vw;
  }
}
.l-footer-wink {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11.94" height="11.94" viewBox="0 0 11.94 11.94"><path d="M0,0V11.94H11.94V8.955H10.448v1.493H1.493V1.493H2.985V0ZM5.97,0,8.209,2.239,4.478,5.97,5.97,7.463,9.7,3.731,11.94,5.97V0Z" fill="%231a1a1a"/></svg>') no-repeat 100% 50%/0.8740849195vw auto;
  display: block;
  font-size: 1.0248901903vw;
  font-family: "Poppins", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  margin-bottom: 1.4641288433vw;
  padding-right: 1.317715959vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .l-footer-wink {
    background-size: 2.1333333333vw auto;
    font-size: 3.2vw;
    padding-right: 3.4666666667vw;
    margin-bottom: 0;
    margin-top: 5.3333333333vw;
  }
}
.l-footer-copy {
  font-size: 0.878477306vw;
  font-weight: 500;
  letter-spacing: 0.0219619327vw;
}
@media screen and (max-width: 640px) {
  .l-footer-copy {
    font-size: 3.2vw;
    padding-top: 2.6666666667vw;
    text-align: center;
  }
}