@charset "UTF-8";
:root {
  --main_500: 71, 71, 71;
  --secondary_500: 51, 51, 51;
  --accent_1_500: 234, 85, 50;
  --accent_gradation: linear-gradient(90deg, #EA7F32 0% , #EA5532 100%);
  --gray_700: 136, 136, 136;
  --gray_500: 71, 71, 71, 0.2;
  --gray_100: 244, 244, 244;
  --bg_900: 45, 45, 45;
  --bg_500: 71, 71, 71, 0.09;
  --line_height_base: 1.6;
  --line_height_head: 1.3;
  --line_height_en: 0;
  --letter_spacing_base: 0;
  --letter_spacing_head: 0;
  --letter_spacing_en: .07em;
  --contents_width: 1100px;
  --contents_width_wide: 1440px;
  --body_padding_side: 60px;
  --contents_width_with_padding: 1160px;
  --sidebar_width: 250px;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, a, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  font-size: 62.5%;
  word-break: break-all;
}

body {
  -webkit-text-size-adjust: 100%;
}

article, aside, details, figcaption, figure,
main, footer, header, menu, nav, section {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  word-break: break-word;
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

ul:not([class]),
ol:not([class]) {
  padding-left: 1.25em;
}

ul[class],
ol[class] {
  list-style: none;
}

span {
  font-weight: inherit;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  color: inherit;
}

@media all and (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}
a[class] {
  text-decoration: none;
}

ins {
  background-color: #ff9;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

address {
  font-style: normal;
}

sup {
  vertical-align: text-top;
  font-size: 0.75em;
}

sub {
  vertical-align: text-bottom;
  font-size: 0.75em;
}

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid rgb(var(--border));
  margin: 1em 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

iframe {
  max-width: 100%;
}

/* form
================================================== */
input[type=text], input[type=email], input[type=tel], textarea, button, select, option {
  display: block;
  width: 100%;
  max-width: 100%;
  font-family: inherit;
  outline: none;
  border: 1px solid;
  border-radius: 0;
  background: none;
}

@media all and (max-width: 767px) {
  input[type=text], input[type=email], input[type=tel], textarea, button, select, option {
    font-size: 1.6rem;
  }
}
input[type=text], input[type=email], input[type=tel], textarea, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

input[type=radio], input[type=checkbox] {
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

select {
  color: inherit;
}

textarea {
  resize: vertical;
}

button {
  color: inherit;
  font-weight: normal;
  cursor: pointer;
}

/* 02_base
================================================ */
body {
  min-width: 320px;
  padding-top: 60px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  color: rgb(var(--secondary_500));
  font-size: 1.6rem;
  font-weight: 500;
  line-height: var(--line_height_base);
  letter-spacing: var(--letter_spacing_base);
  background: url(../img/home/bg_gray01.png) repeat top left/375px;
}

@media all and (min-width: 768px) {
  body {
    min-width: var(--contents_width_with_padding);
    padding-top: 0;
    font-size: 1.6rem;
  }
}
.l-wrapper {
  position: relative;
}

@media all and (min-width: 768px) {
  .l-container.is-col2 {
    display: grid;
    grid-template-columns: var(--sidebar_width) auto;
    gap: 0 20px;
    width: var(--contents_width);
    margin: 0 auto;
  }

  .l-container.is-col2 .l-contents {
    flex: 1;
  }

  .l-container.is-col2 .l-sidebar {
    order: -1;
    flex-basis: var(--sidebar_width);
  }
}
/* sp <--> tb <--> pc
-------------------------------------- */
.u-media-query {
  display: none;
  font-family: "sp";
}

@media all and (min-width: 768px) {
  .u-media-query {
    font-family: "tb";
  }
}
@media all and (min-width: 1160px) {
  .u-media-query {
    font-family: "pc";
  }
}
@media all and (max-width: 1159px) {
  .u-view-pc {
    display: none !important;
  }
}
@media all and (max-width: 767px) {
  .u-view-tb {
    display: none !important;
  }
}
@media all and (min-width: 1160px) {
  .u-view-tb {
    display: none !important;
  }
}
@media all and (min-width: 768px) {
  .u-view-sp {
    display: none !important;
  }
}
@media all and (min-width: 1160px) {
  .u-view-under-tb {
    display: none !important;
  }
}
@media all and (max-width: 767px) {
  .u-view-upper-tb {
    display: none !important;
  }
}
/* overflow
-------------------------------------- */
.u-overflow-wrap {
  overflow: auto;
}

.u-overflow-wrap .u-overflow-sec {
  overflow: hidden;
}

@media all and (min-width: 768px) {
  .u-overflow-wrap .u-overflow-sec {
    min-width: var(--contents_width_with_padding);
  }
}
/* text
-------------------------------------- */
.u-uppercase {
  text-transform: uppercase;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.u-font-en {
  font-family: "Oswald", sans-serif;
  line-height: var(--line_height_en);
  letter-spacing: var(--letter_spacing_en);
}

/* link
-------------------------------------- */
a.u-alpha {
  display: block;
  text-decoration: none;
}

@media all and (min-width: 768px) {
  a.u-alpha {
    transition: all 0.3s ease;
  }

  a.u-alpha:hover {
    opacity: 0.7;
  }
}
a.u-zoom {
  display: block;
  text-decoration: none;
}

a.u-zoom .u-zoom__img {
  display: block;
}

a.u-zoom .u-zoom__img-wrap {
  display: block;
  overflow: hidden;
}

@media all and (min-width: 768px) {
  a.u-zoom .u-zoom__img {
    transition: all 0.3s ease;
  }
}
@media (hover: hover) and (pointer: fine) {
  a.u-zoom:hover .u-zoom__img {
    transform: scale(1.1);
  }
}
a[class].u-text-underline {
  text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
  a[class].u-text-underline:hover {
    text-decoration: none;
  }
}
/* layout
-------------------------------------- */
.u-inner {
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
}

@media all and (min-width: 768px) {
  .u-inner {
    width: 100%;
    max-width: var(--contents_width);
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media all and (min-width: 768px) {
  .u-inner.is-wide {
    max-width: var(--contents_width_wide);
    width: calc(100% - var(--body_padding_side));
  }
}
/*  .c-archive01
================================================== */
.c-archive01__item {
  border-style: solid;
  border-width: 1px 0 0;
}

.c-archive01__item:last-child {
  border-width: 1px 0;
}

.c-archive01__item-in {
  display: block;
  padding: 10px 0;
}

.c-archive01__item-meta {
  display: flex;
  flex-wrap: wrap;
}

.c-archive01__item-date {
  margin: 0 10px 0 0;
  padding: 5px 0;
}

.c-archive01__item-cat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 -5px -5px 0;
}

.c-archive01__item-cat-item {
  margin: 0 5px 5px 0;
  padding: 5px 10px;
  background: rgb(var(--black));
  color: #fff;
}

.c-archive01__item-head {
  overflow: hidden;
  display: -webkit-box;
  max-height: 1.8em;
  line-height: 1.8;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  margin-top: 5px;
}

@media all and (min-width: 768px) {
  .c-archive01__item {
    display: block;
  }

  .c-archive01__item-head {
    max-height: 3.6em;
    -webkit-line-clamp: 2;
  }
}
/* .c-case-archive01
================================================== */
.c-case-archive01 {
  display: grid;
  gap: 50px;
}

.c-case-archive01__item-img {
  border-radius: 6px;
}

.c-case-archive01__item-img img {
  width: 100%;
  border-radius: 6px;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-case-archive01__item-cat {
  margin-top: 20px;
}

.c-case-archive01__item-cat .c-case-archive01__item-cat-item {
  padding: 0px 20px;
  font-size: 1.4rem;
}

.c-case-archive01__item-head {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 8px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 9px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.c-case-archive01__item-txt {
  font-size: 1.6rem;
}

@media all and (min-width: 768px) {
  .c-case-archive01 {
    grid-template-columns: repeat(3, 1fr);
    gap: 19px;
  }

  .c-case-archive01__item-cat .c-case-archive01__item-cat-item {
    font-size: 1.6rem;
  }

  .c-case-archive01__item-head {
    font-size: clamp(2.4rem, 0.0672rem + 1.94vw, 3.8rem);
    margin-top: 15px;
  }
}
/*  .c-case-archive02
================================================== */
@media all and (min-width: 768px) {
  .c-case-archive02__item.is-large .c-case-archive02__item-cat-item {
    padding: 5px 20px;
    font-size: 1.6rem;
  }

  .c-case-archive02__item.is-large .c-case-archive02__item-head {
    margin-bottom: 20px;
    font-size: clamp(2.4rem, 2.055rem + 1.45vw, 3.8rem);
  }

  .c-case-archive02__item.is-large .c-case-archive02__item-head-mini {
    font-size: clamp(2.2rem, 1.7632rem + 1.36vw, 3.4rem);
  }
}
/* .c-case-archive02
================================================== */
.c-case-archive02 {
  display: grid;
  gap: 40px;
}

.c-case-archive02__item {
  position: relative;
}

.c-case-archive02__item:not(.is-active) {
  display: none;
}

.c-case-archive02__item-img img {
  width: 100%;
  border-radius: 6px;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-case-archive02__item-genre {
  position: absolute;
  left: 0;
  top: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  padding: 4px 9px;
  background: rgb(var(--accent_1_500));
  color: white;
  font-size: 1.6rem;
}

.c-case-archive02__item-cat {
  margin-top: 20px;
}

.c-case-archive02__item-cat .c-case-archive02__item-cat-item {
  padding: 0px 20px;
  font-size: 1.4rem;
}

.c-case-archive02__item-head {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 8px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 9px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.c-case-archive02__item-head-mini {
  font-size: 2.1rem;
}

.c-case-archive02__item-txt {
  font-size: 1.6rem;
}

@media all and (min-width: 768px) {
  .c-case-archive02 {
    grid-template-columns: repeat(3, 1fr);
    gap: 34px;
  }

  .c-case-archive02__item-cat-item {
    font-size: 1.6rem;
  }

  .c-case-archive02__item-genre {
    font-size: 1.3rem;
  }

  .c-case-archive02__item-head {
    font-size: 2.2rem;
    margin-top: 15px;
  }

  .c-case-archive02__item-head-mini {
    font-size: 2rem;
  }
}
/*  .c-column-archive01
================================================== */
.c-column-archive01 {
  border-top: 1px solid rgba(71, 71, 71, 0.2);
}

.c-column-archive01__item-in {
  position: relative;
  display: block;
  padding: 20px 30px 20px 0;
  border-bottom: 1px solid rgba(71, 71, 71, 0.2);
}

.c-column-archive01__item-head {
  font-size: 1.8rem;
  margin-top: 8px;
  margin-bottom: 2px;
  overflow: hidden;
  display: -webkit-box;
  max-height: 3.2em;
  line-height: 1.6;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

.c-column-archive01__item-txt {
  font-size: 1.4rem;
  overflow: hidden;
  display: -webkit-box;
  max-height: 3.2em;
  line-height: 1.6;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

.c-column-archive01__item-ico {
  position: absolute;
  width: 14px;
  height: 10px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #474747;
}

@media all and (min-width: 768px) {
  .c-column-archive01__item-in {
    padding: 30px 80px 35px 0;
  }

  .c-column-archive01__item-head {
    font-size: 2rem;
    margin-top: 7px;
    margin-bottom: 5px;
    max-height: 1.6em;
    -webkit-line-clamp: 1;
  }

  .c-column-archive01__item-txt {
    max-height: 1.6em;
    -webkit-line-clamp: 1;
  }

  .c-column-archive01__item-ico {
    width: 19px;
    height: 14px;
    right: 20px;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-column-archive01__item-in {
    transition: all 0.3s ease;
  }

  .c-column-archive01__item-in:hover {
    border-bottom: 1px solid #474747;
  }
}
/*  .c-column-archive02
================================================== */
.c-column-archive02.is-small {
  display: grid;
  gap: 20px;
}

.c-column-archive02.is-small .c-column-archive02__item-in {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 12px 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(var(--main_500), 0.2);
}

.c-column-archive02.is-small .c-column-archive02__item-img {
  grid-row: 1/3;
}

.c-column-archive02.is-small .c-column-archive02__item-cat {
  margin-top: 0;
}

.c-column-archive02.is-small .c-column-archive02__item-cat .c-column-archive02__item-cat-item {
  font-size: 1.1rem;
  padding: 1px 15px;
}

.c-column-archive02.is-small .c-column-archive02__item-head {
  margin: 0;
  font-size: 1.6rem;
  -webkit-line-clamp: 3;
}

@media all and (min-width: 768px) {
  .c-column-archive02.is-small {
    grid-template-columns: repeat(4, 1fr);
    gap: 0 24px;
  }

  .c-column-archive02.is-small .c-column-archive02__item-in {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .c-column-archive02.is-small .c-column-archive02__item-cat {
    margin-top: 20px;
  }

  .c-column-archive02.is-small .c-column-archive02__item-cat .c-column-archive02__item-cat-item {
    font-size: 1.3rem;
    padding: 1px 35px;
  }

  .c-column-archive02.is-small .c-column-archive02__item-head {
    margin-top: 16px;
    font-size: 2rem;
  }
}
/*  .c-column-archive01
================================================== */
.c-column-archive02 {
  display: grid;
  gap: 50px;
}

.c-column-archive02__item-img {
  border-radius: 6px;
}

.c-column-archive02__item-img img {
  width: 100%;
  border-radius: 6px;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-column-archive02__item-cat {
  margin-top: 20px;
}

.c-column-archive02__item-cat .c-column-archive02__item-cat-item {
  padding: 0px 20px;
  font-size: 1.4rem;
}

.c-column-archive02__item-head {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 8px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 9px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@media all and (min-width: 768px) {
  .c-column-archive02 {
    grid-template-columns: repeat(3, 1fr);
    gap: 19px;
  }

  .c-column-archive02__item-cat .c-column-archive02__item-cat-item {
    font-size: 1.6rem;
  }

  .c-column-archive02__item-head {
    font-size: clamp(2.4rem, 2.055rem + 1.45vw, 3.8rem);
    margin-top: 15px;
  }
}
/*  .c-column-archive01
================================================== */
.c-column-archive03 {
  display: grid;
  gap: 30px;
}

.c-column-archive03__item-in {
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(var(--main_500), 0.2);
}

.c-column-archive03__item-img {
  border-radius: 6px;
  margin-bottom: 15px;
}

.c-column-archive03__item-img img {
  width: 100%;
  border-radius: 6px;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-column-archive03__item-head {
  font-weight: 700;
  margin-top: 15px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 10px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.c-column-archive03__item-txt {
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

@media all and (min-width: 768px) {
  .c-column-archive03 {
    gap: 0;
  }

  .c-column-archive03__item-in {
    display: grid !important;
    grid-template-columns: 240px 1fr;
    grid-template-rows: repeat(3, auto);
    gap: 0 30px;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .c-column-archive03__item-img {
    grid-row: 1/4;
    margin-bottom: 0;
  }

  .c-column-archive03__item-cat {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .c-column-archive03__item-cat-item {
    font-size: 1.3rem !important;
  }

  .c-column-archive03__item-head {
    font-size: 2rem;
    -webkit-line-clamp: 1;
    margin-top: 15px;
    margin-bottom: 20px;
  }
}
/*  .c-products-archive01
================================================== */
.c-products-archive01__item-img {
  margin-bottom: 20px;
  border-radius: 6px;
}

.c-products-archive01__item-img img {
  width: 100%;
  border-radius: 6px;
}

.c-products-archive01__item-head {
  font-size: 2.4rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 10px;
  font-weight: 700;
}

@media all and (min-width: 768px) {
  .c-products-archive01__item-head {
    font-size: 2.2rem;
  }
}
/* .c-attention01
================================================== */
.c-attention01 {
  padding: 25px 20px;
  margin-bottom: 30px;
  border: 1px solid #bbb;
}

.c-attention01__head {
  font-size: 1.9rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  text-align: center;
  margin-bottom: 20px;
}

.c-attention01__list {
  display: grid;
  gap: 12px 0;
}

.c-attention01__item-ico {
  display: inline-grid;
  place-items: center;
  padding: 1px 10px;
  min-width: 44px;
  margin-right: 4px;
  box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  color: #fff;
  font-size: 1.2rem;
  background: rgb(var(--accent_1_500));
}

@media all and (min-width: 768px) {
  .c-attention01 {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: 0 80px;
    padding: 50px 60px;
    margin-bottom: 50px;
  }

  .c-attention01__head {
    font-size: 2.4rem;
    text-align: start;
    margin-bottom: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .c-attention01__list {
    display: grid;
    gap: 12px 0;
  }
}
@media all and (min-width: 768px) {
  .c-btn01.has-break .c-btn01__in {
    align-items: start;
  }
}
/* .c-btn01.is-cv
================================================== */
@media all and (min-width: 768px) {
  .c-btn01.is-cv {
    max-width: 100%;
  }

  .c-btn01.is-cv .c-btn01__in {
    padding: 30px 40px 30px 72px;
    max-height: 116px;
  }

  .c-btn01.is-cv .c-btn01__txt {
    font-size: 2.4rem;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-btn01.is-cv .c-btn01__in {
    position: relative;
  }

  .c-btn01.is-cv .c-btn01__in::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
  }

  .c-btn01.is-cv .c-btn01__in:hover::before {
    opacity: 0.05;
  }
}
/* .c-btn01.is-gradient
================================================== */
.c-btn01.is-gradient .c-btn01__in {
  background: linear-gradient(-90deg, #EA7F32 0%, #EA5532 100%);
}

.c-btn01.is-gradient .c-btn01__ico {
  border: 5px solid rgba(var(--accent_1_500), 0.4);
}

.c-btn01.is-gradient .c-btn01__ico-arrow {
  background: rgb(var(--accent_1_500));
}

/* .c-btn01.is-gray
================================================== */
.c-btn01.is-gray .c-btn01__in {
  background: #474747;
}

.c-btn01.is-gray .c-btn01__ico {
  border: 5px solid rgba(71, 71, 71, 0.4);
}

.c-btn01.is-gray .c-btn01__ico-arrow {
  background: #474747;
}

@media all and (min-width: 768px) {
  .c-btn01.is-large {
    max-width: 661px;
  }

  .c-btn01.is-large .c-btn01__in {
    padding-top: 30px;
    padding-bottom: 30px;
    max-height: 113px;
  }
}
@media all and (min-width: 768px) {
  .c-btn01.is-left-pc {
    margin-left: 0;
  }
}
/* .c-btn01.is-orange
================================================== */
.c-btn01.is-orange .c-btn01__in {
  background: rgb(var(--accent_1_500));
}

.c-btn01.is-orange .c-btn01__ico {
  border: 5px solid rgba(var(--accent_1_500), 0.4);
}

.c-btn01.is-orange .c-btn01__ico-arrow {
  background: rgb(var(--accent_1_500));
}

/* .c-btn01
================================================== */
.c-btn01__in {
  display: grid;
  align-items: center;
  justify-items: start;
  box-sizing: border-box;
  grid-template-columns: 1fr 42px;
  gap: 0 10px;
  padding: 14px 15px 14px 25px;
  border-radius: 6px;
}

.c-btn01__txt {
  text-align: start;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.3;
}

.c-btn01__txt-wrap {
  display: contents;
}

.c-btn01__ico {
  display: grid;
  place-items: center;
  background: #fff;
  width: 42px;
  height: 42px;
  box-sizing: border-box;
  border-radius: 999px;
}

.c-btn01__ico-arrow {
  background: #fff;
  width: 14px;
  height: 10px;
}

@media all and (min-width: 768px) {
  .c-btn01 {
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .c-btn01__in {
    padding: 18px 17px 17px 37px;
    grid-template-columns: 1fr 55px;
    max-height: 90px;
  }

  .c-btn01__txt {
    font-size: 2rem;
  }

  .c-btn01__txt-wrap {
    display: grid;
    height: 50%;
    overflow: hidden;
  }

  .c-btn01__ico {
    width: 55px;
    height: 55px;
  }

  .c-btn01__ico-arrow {
    width: 19px;
    height: 14px;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-btn01__in:hover .c-btn01__ico {
    border: 1px solid #fff;
    background: transparent;
  }

  .c-btn01__in:hover .c-btn01__ico-arrow {
    background: #fff;
  }

  .c-btn01__in:hover .c-btn01__txt {
    transform: translateY(-100%);
  }

  .c-btn01__ico, .c-btn01__txt {
    transition: all 0.3s ease;
  }
}
/* .c-btn01.is-cv
================================================== */
@media all and (max-width: 767px) {
  .c-btn02.is-cv .c-btn02__in {
    display: grid;
    align-items: center;
    justify-items: start;
    box-sizing: border-box;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    grid-template-columns: 1fr 14px;
    gap: 0 10px;
    color: #fff;
  }

  .c-btn02.is-cv .c-btn02__txt {
    opacity: 1;
  }

  .c-btn02.is-cv .c-btn02__ico {
    width: auto;
    height: auto;
    border: none;
  }
}
/* .c-btn02.is-right
================================================== */
.c-btn02.is-right .c-btn02__in {
  margin-right: 0;
  margin-left: auto;
}

@media all and (max-width: 767px) {
  .c-btn02.is-right-sp .c-btn02__in {
    margin-right: 0;
    margin-left: auto;
  }
}
/* .c-btn02
================================================== */
.c-btn02__in {
  display: grid;
  align-items: center;
  justify-items: start;
  box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  grid-template-columns: 1fr 38px;
  gap: 0 12px;
  color: #fff;
}

.c-btn02__txt {
  font-size: 1.5rem;
  line-height: 1.8;
  font-weight: 700;
  text-align: start;
  opacity: 0.7;
}

.c-btn02__ico {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
}

.c-btn02__ico-arrow {
  background: #fff;
  width: 14px;
  height: 10px;
}

@media all and (min-width: 768px) {
  .c-btn02__in {
    grid-template-columns: 1fr 45px;
    gap: 0 14px;
    color: #fff;
  }

  .c-btn02__txt {
    font-size: 1.7rem;
    opacity: 0.7;
  }

  .c-btn02__ico {
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
  }

  .c-btn02__ico-arrow {
    width: 19px;
    height: 14px;
  }

  .c-btn02__txt-wrap {
    display: grid;
    height: 1.7em;
    overflow: hidden;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-btn02__in:hover .c-btn02__txt {
    transform: translateY(-100%);
  }

  .c-btn02__in:hover .c-btn02__ico {
    background: #fff;
  }

  .c-btn02__in:hover .c-btn02__ico-arrow {
    background: #474747;
  }

  .c-btn02__txt, .c-btn02__ico {
    transition: all 0.3s ease;
  }
}
/* .c-cat01
================================================== */
.c-cat01 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -4px;
  margin-bottom: -8px;
}

.c-cat01__item {
  margin-right: 4px;
  margin-bottom: 8px;
}

.c-cat01__item.is-active .c-cat01__item-in {
  color: #fff;
  background: rgb(var(--accent_1_500));
  border-color: rgb(var(--accent_1_500));
}

.c-cat01__item-in {
  padding: 2px 20px;
  border: 1px solid rgb(var(--secondary_500));
  font-size: 1.4rem;
  border-radius: 999px;
}

@media all and (min-width: 768px) {
  .c-cat01 {
    margin-right: -10px;
    margin-bottom: -10px;
  }

  .c-cat01__item {
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .c-cat01__item-in {
    padding: 2px 20px;
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .c-cat01__item-in {
    transition: all 0.3s ease;
  }

  .c-cat01__item-in:hover {
    color: #fff;
    background: rgb(var(--accent_1_500));
    border-color: rgb(var(--accent_1_500));
  }
}
/* .c-cat02
================================================== */
.c-cat02 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -4px;
  margin-bottom: -4px;
}

.c-cat02__item {
  margin-right: 4px;
  margin-bottom: 4px;
  padding: 1px 15px;
  border: 1px solid rgb(var(--secondary_500));
  font-size: 1.2rem;
  border-radius: 999px;
}

@media all and (min-width: 768px) {
  .c-cat02__item {
    font-size: 1.3rem;
  }
}
/* .c-cat03
================================================== */
.c-cat03 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -4px;
  margin-bottom: -4px;
}

.c-cat03__item {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-right: 4px;
  margin-bottom: 4px;
  padding: 1px 35px;
  border: 1px solid rgb(var(--secondary_500));
  font-size: 1.1rem;
  border-radius: 999px;
}

@media all and (min-width: 768px) {
  .c-cat03__item {
    font-size: 1.2rem;
  }
}
/* .c-color-black
================================================== */
.c-color-black {
  color: rgb(var(--black));
}

/* .c-color-blue
================================================== */
.c-color-blue {
  color: blue;
}

/* .c-bg-secondary500
================================================== */
.c-bg-secondary500 {
  background: rgb(var(--secondary_500));
}

/* .c-form01
================================================== */
.c-form01 input, .c-form01 select, .c-form01 textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 20px;
  border: 1px solid #bbb;
  background: rgb(var(--gray_100));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
}

.c-form01 input::-moz-placeholder, .c-form01 select::-moz-placeholder, .c-form01 textarea::-moz-placeholder {
  color: rgb(var(--gray_700));
}

.c-form01 input::placeholder, .c-form01 select::placeholder, .c-form01 textarea::placeholder {
  color: rgb(var(--gray_700));
}

.c-form01 textarea {
  height: 200px;
  resize: vertical;
}

.c-form01 select {
  background: no-repeat right 20px top 50%/26px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23474747%22%20d%3D%22m13%2016.656-6.5-6.5%201.165-1.164L13%2014.354l5.335-5.335%201.165%201.164-6.5%206.473Z%22%2F%3E%3C%2Fsvg%3E");
  background-color: rgb(var(--gray_100));
}

.c-form01 select option {
  color: rgb(var(--gray_700));
}

@media all and (min-width: 768px) {
  .c-form01 input, .c-form01 select, .c-form01 textarea, .c-form01 button {
    font-size: 1.6rem;
  }

  .c-form01 textarea {
    height: 250px;
  }

  .c-form01 select {
    max-width: 300px;
  }
}
/* .c-form01
================================================== */
.c-form01 table, .c-form01 thead, .c-form01 tbody, .c-form01 td {
  display: block;
}

.c-form01 tr {
  display: grid;
  gap: 20px 0;
  padding-bottom: 25px;
  border-bottom: 1px solid #bbb;
}

.c-form01 tr:not(:last-child) {
  margin-bottom: 25px;
}

.c-form01 tr.is-hidden {
  display: none;
}

.c-form01 th {
  display: inline;
  font-weight: 700;
  text-align: left;
  border-bottom: 0;
}

.c-form01 th, .c-form01 td {
  border-style: solid;
  border-width: 0;
}

.c-form01 tr + tr th {
  border-top: 0;
}

@media all and (min-width: 768px) {
  .c-form01 tr {
    grid-template-columns: 234px 1fr;
    gap: 0 40px;
    padding-bottom: 35px;
  }

  .c-form01 tr:not(:last-child) {
    margin-bottom: 35px;
  }

  .c-form01 th {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
  }

  .c-form01 th.has-no-padding {
    padding-top: 0 !important;
  }
}
@media all and (min-width: 768px) {
  .mw_wp_form_input .c-form01 th {
    padding-top: 18px;
  }
}
/* .c-form01-select
================================================== */
.c-form01-select__list {
  display: grid;
  gap: 25px 0;
}

.c-form01-select__item {
  display: grid;
  gap: 10px 0;
}

@media all and (min-width: 768px) {
  .c-form01-select__item {
    grid-template-columns: auto 1fr;
    gap: 0 20px;
    align-items: center;
  }
}
/* .c-form01-label
================================================== */
.c-form01-label {
  display: inline-grid;
  place-items: center;
  padding: 1px 10px;
  min-width: 44px;
  box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 12px;
  color: #fff;
  font-size: 1.2rem;
  background: rgb(var(--gray_700));
}

.c-form01-label.is-required {
  background: rgb(var(--accent_1_500));
}

/* .c-form01-note
================================================== */
.c-form01-note {
  display: block;
  font-weight: 400;
  font-size: 1.3rem;
}

@media all and (min-width: 768px) {
  .c-form01-note {
    font-size: 1.4rem;
  }
}
:is(tr, td) .c-form01-note {
  margin-top: 18px;
}

@media all and (min-width: 768px) {
  :is(tr, td) .c-form01-note {
    margin-top: 11px;
  }
}
.mw_wp_form_confirm .c-form01-note {
  display: none;
}

/* .c-form01-postcode
================================================== */
.c-form01-postcode {
  display: flex;
  flex-wrap: wrap;
}

.c-form01-postcode__prefix {
  margin-right: 20px;
  padding-top: 20px;
}

.c-form01-postcode__input {
  max-width: 153px;
  box-sizing: border-box;
}

.c-form01-postcode-note-list {
  display: grid;
  gap: 5px 0;
  margin-top: 10px;
}

.c-form01-postcode-note {
  font-size: 1.4rem;
}

@media all and (min-width: 768px) {
  .c-form01-postcode-note-list {
    align-content: center;
    margin-top: 0;
    margin-left: 11px;
  }
}
/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form01-postcode .c-form01-postcode__prefix,
.is-confirm .c-form01-postcode .c-form01-postcode__prefix {
  max-width: none;
  padding-top: 0;
}

.mw_wp_form_confirm .c-form01-postcode .c-form01-postcode__input,
.is-confirm .c-form01-postcode .c-form01-postcode__input {
  max-width: none;
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form01-item .c-form01-item__prefix,
.mw_wp_form_confirm .c-form01-item .c-form01-item__suffix,
.is-confirm .c-form01-item .c-form01-item__prefix,
.is-confirm .c-form01-item .c-form01-item__suffix {
  min-width: 0;
  padding-top: 0;
}

.mw_wp_form_confirm .c-form01-item .c-form01-item__input,
.is-confirm .c-form01-item .c-form01-item__input {
  width: auto;
}

/* .c-form01-address
================================================== */
.c-form01-address {
  margin-top: 15px;
}

/* .c-form01-agreement
================================================== */
.c-form01-agreement {
  margin-top: 25px;
  text-align: center;
}

.c-form01-agreement__txt {
  margin-top: 30px;
  text-align: center;
}

.c-form01-agreement__ico {
  width: 11px;
  height: 14px;
  margin-left: 5px;
  background: rgb(var(--main_500));
}

@media all and (min-width: 768px) {
  .c-form01-agreement {
    margin-top: 60px;
  }

  .c-form01-agreement__txt {
    margin-top: 40px;
  }
}
.mw_wp_form_confirm .c-form01-agreement {
  display: none;
}

/* .c-form01-btn
================================================== */
.c-form01-area-btn {
  margin-top: 40px;
}

@media all and (min-width: 768px) {
  .c-form01-area-btn {
    width: 400px;
    margin-top: 60px;
    margin-left: auto;
    margin-right: auto;
  }
}
.c-form01-area-btn button {
  display: grid !important;
  align-items: center;
  box-sizing: border-box;
  display: block;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-weight: 700;
  cursor: pointer;
  text-align: start;
}

.c-form01-area-btn button + button {
  margin-top: 10px;
}

.c-form01-area-btn button:not(.is-back) {
  background: #474747;
  grid-template-columns: 1fr 42px;
  padding: 14px 15px 14px 25px;
  color: #fff;
  width: 100%;
  border-radius: 6px;
}

.c-form01-area-btn button:not(.is-back) .c-form01-btn__ico {
  border: 5px solid rgba(71, 71, 71, 0.4);
}

.c-form01-area-btn button:not(.is-back) .c-form01-btn__ico-arrow {
  background: #474747;
}

.c-form01-area-btn button.is-back {
  grid-template-columns: 42px 1fr;
  gap: 0 14px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.c-form01-area-btn button.is-back .c-form01-btn__ico {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--secondary_500), 0.15);
  border-radius: 999px;
}

.c-form01-area-btn button.is-back .c-form01-btn__ico-arrow {
  background: #474747;
  transform: rotate(180deg);
}

.c-form01-area-btn button .c-form01-btn__ico {
  display: grid;
  place-items: center;
  background: #fff;
  width: 42px;
  height: 42px;
  box-sizing: border-box;
  border-radius: 999px;
}

.c-form01-area-btn button .c-form01-btn__ico .c-form01-btn__ico-arrow {
  width: 14px;
  height: 10px;
}

@media all and (min-width: 768px) {
  .c-form01-area-btn button {
    font-size: 2rem;
  }

  .c-form01-area-btn button .c-form01-btn__ico {
    width: 55px;
    height: 55px;
  }

  .c-form01-area-btn button .c-form01-btn__ico .c-form01-btn__ico-arrow {
    width: 19px;
    height: 14px;
  }

  .c-form01-area-btn button + button {
    margin-top: 35px;
  }

  .c-form01-area-btn button:not(.is-back) {
    padding: 18px 17px 17px 37px;
    grid-template-columns: 1fr 55px;
  }

  .c-form01-area-btn button.is-back {
    grid-template-columns: 45px 1fr;
  }

  .c-form01-area-btn button.is-back .c-form01-btn__ico {
    width: 45px;
    height: 45px;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-form01-area-btn button:not(.is-back):hover .c-form01-btn__ico {
    border: 1px solid #fff;
    background: transparent;
  }

  .c-form01-area-btn button:not(.is-back):hover .c-form01-btn__ico-arrow {
    background: #fff;
  }

  .c-form01-area-btn button.is-back:hover .c-form01-btn__ico {
    border-color: rgb(var(--secondary_500));
  }

  .c-form01-area-btn button .c-form01-btn__ico,
.c-form01-area-btn button .c-form01-btn__ico-arrow {
    transition: all 0.3s ease;
  }
}
/* .c-form01 .mwform-checkbox-field
================================================ */
.c-form01 .mwform-checkbox-field,
.c-form01 .c-checkbox01 {
  display: block;
}

.c-form01 .mwform-checkbox-field + .mwform-checkbox-field,
.c-form01 .mwform-checkbox-field + .c-checkbox01,
.c-form01 .c-checkbox01 + .mwform-checkbox-field,
.c-form01 .c-checkbox01 + .c-checkbox01 {
  margin-top: 20px;
}

.c-form01 .mwform-checkbox-field label,
.c-form01 .c-checkbox01 label {
  display: block;
  cursor: pointer;
}

.c-form01 .mwform-checkbox-field input,
.c-form01 .c-checkbox01 input {
  display: none;
}

.c-form01 .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form01 .mwform-checkbox-field .c-checkbox01__text,
.c-form01 .c-checkbox01 .mwform-checkbox-field-text,
.c-form01 .c-checkbox01 .c-checkbox01__text {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  vertical-align: top;
}

.c-form01 .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form01 .mwform-checkbox-field .c-checkbox01__text::before,
.c-form01 .c-checkbox01 .mwform-checkbox-field-text::before,
.c-form01 .c-checkbox01 .c-checkbox01__text::before {
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: #f4f4f4;
  border: 1px solid #bbb;
}

.c-form01 .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.c-form01 .mwform-checkbox-field input:checked + .c-checkbox01__text::after,
.c-form01 .c-checkbox01 input:checked + .mwform-checkbox-field-text::after,
.c-form01 .c-checkbox01 input:checked + .c-checkbox01__text::after {
  position: absolute;
  top: 7px;
  left: 4px;
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: rgb(var(--accent_1_500));
  transform: rotate(135deg);
}

@media all and (min-width: 768px) {
  .c-checkbox01-list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -40px;
    margin-bottom: -20px;
  }

  .c-checkbox01-list .mwform-checkbox-field,
.c-checkbox01-list .c-checkbox01 {
    display: inline-block;
    margin-right: 40px;
    margin-bottom: 20px;
  }

  .c-checkbox01-list .mwform-checkbox-field + .mwform-checkbox-field, .c-checkbox01-list .mwform-checkbox-field + .c-checkbox01,
.c-checkbox01-list .c-checkbox01 + .mwform-checkbox-field,
.c-checkbox01-list .c-checkbox01 + .c-checkbox01 {
    margin-top: 0;
  }
}
/* .mw_wp_form リセット
================================================ */
.mw_wp_form .c-form01 .horizontal-item + .horizontal-item {
  margin-left: 0;
}

/* .c-form01-thanks
================================================ */
.c-form01-thanks__txt {
  margin-bottom: 10px;
}

#thanks .l-sub-img {
  display: none;
}

.contact-message {
  padding-top: 50px;
  padding-bottom: 50px;
}

.contact-message__btn {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  .contact-message {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .contact-message__btn {
    margin-top: 50px;
  }
}
/* .c-head01
================================================== */
@media all and (max-width: 767px) {
  .c-head01.is-sm-sp {
    font-size: 2.7rem;
  }
}
/* .c-head01
================================================== */
.c-head01 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.c-head01__en {
  color: #bbb;
  font-size: 1.2rem;
  line-height: 1.3rem;
}

@media all and (min-width: 768px) {
  .c-head01 {
    font-size: 6rem;
  }

  .c-head01__en {
    color: #bbb;
    font-size: 1.8rem;
    margin-top: 8px;
  }
}
.c-head02 {
  position: relative;
  margin-bottom: 20px;
  padding-left: 18px;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: var(--line_height_head);
}

.c-head02::before {
  content: "";
  position: absolute;
  top: 0.225em;
  left: 0;
  height: 1em;
  width: 3px;
  background: rgb(var(--accent_1_500));
}

@media all and (min-width: 768px) {
  .c-head02 {
    margin-bottom: 40px;
    padding-left: 31px;
    font-size: 3.8rem;
  }

  .c-head02::before {
    width: 5px;
  }
}
.c-head03 {
  display: flex;
  margin-bottom: 15px;
  flex: 1;
  font-size: 2rem;
  line-height: var(--line_height_head);
}

.c-head03__num {
  display: grid;
  place-content: center;
  margin-right: 8px;
  color: #fff;
  min-width: 30px;
  width: 30px;
  height: 30px;
  background: rgb(var(--accent_1_500));
  border-radius: 50%;
  font-size: 1.2rem;
  line-height: 1;
}

@media all and (min-width: 768px) {
  .c-head03 {
    margin-bottom: 24px;
    font-size: 2.9rem;
  }

  .c-head03__num {
    margin-top: -4px;
    margin-right: 10px;
    min-width: 45px;
    width: 45px;
    height: 45px;
    font-size: 1.6rem;
  }
}
/* .c-ico
================================================== */
span[class*=c-ico] {
  display: inline-block;
  vertical-align: middle;
  transition: all 0.3s ease;
  content: "";
}

/* .c-ico-arrow01 矢印アイコン
================================================== */
.c-ico-arrow01 {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" fill="none"><path fill="currentColor" d="M0 6.142h11.363L7.838 9.563 9 10.691l5.51-5.346L9 0 7.838 1.128l3.525 3.42H0v1.594Z"/></svg>') no-repeat center/contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" fill="none"><path fill="currentColor" d="M0 6.142h11.363L7.838 9.563 9 10.691l5.51-5.346L9 0 7.838 1.128l3.525 3.42H0v1.594Z"/></svg>') no-repeat center/contain;
}

/* .c-ico-external01 外部リンクアイコン
================================================== */
.c-ico-external01 {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" fill="none"><path fill="currentColor" d="M10 3v7H3v1h8V3h-1Z"/><path fill="currentColor" d="M8 0H0v8h8V0ZM7 7H1V1h6v6Z"/></svg>') no-repeat center/contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" fill="none"><path fill="currentColor" d="M10 3v7H3v1h8V3h-1Z"/><path fill="currentColor" d="M8 0H0v8h8V0ZM7 7H1V1h6v6Z"/></svg>') no-repeat center/contain;
}

/* .c-ico-reload01 読み込みアイコン
================================================== */
.c-ico-reload01 {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.5 9.25c0 4.95-3.622 8.25-8.09 8.25-3.632 0-6.562-1.926-7.585-4.95M1 9.25C1 4.3 4.622 1 9.09 1c3.632 0 6.562 1.926 7.585 4.95"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m5.125 13.376-3.3-.825-.825 3.3M13.375 5.126l3.3.825.825-3.3"/></svg>') no-repeat center/contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.5 9.25c0 4.95-3.622 8.25-8.09 8.25-3.632 0-6.562-1.926-7.585-4.95M1 9.25C1 4.3 4.622 1 9.09 1c3.632 0 6.562 1.926 7.585 4.95"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m5.125 13.376-3.3-.825-.825 3.3M13.375 5.126l3.3.825.825-3.3"/></svg>') no-repeat center/contain;
}

/* .c-list01
================================================== */
.c-list01__item {
  position: relative;
  padding-left: 11px;
}

.c-list01__item::before {
  position: absolute;
  content: "";
  top: 0.6em;
  left: 0;
  width: 4px;
  height: 4px;
  background: #474747;
  border-radius: 999px;
}

/* c-related-list
------------------------------------- */
.c-related-list {
  position: relative;
  z-index: 1;
}

.c-related-list::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 0;
  width: 100%;
  height: calc(100% - 17px);
  background: rgb(var(--bg_500));
  z-index: -1;
}

.c-related-list + .c-related-list {
  margin-top: 60px;
}

.c-related-list__inner {
  padding: 0 20px 60px;
}

.c-related-list__head {
  margin-bottom: 20px;
}

@media all and (min-width: 768px) {
  .c-related-list::before {
    top: 40px;
    height: calc(100% - 40px);
  }

  .c-related-list + .c-related-list {
    margin-top: 200px;
  }

  .c-related-list__inner {
    max-width: 1740px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px 150px;
  }

  .c-related-list__head {
    font-size: 4.7rem;
    margin-bottom: 70px;
    text-align: center;
  }
}
/* .c-navigation01
================================================== */
.c-navigation01 {
  display: grid;
  gap: 20px 0;
}

.c-navigation01__item {
  position: relative;
}

.c-navigation01__item-inner {
  display: grid;
  grid-template-columns: 1fr 42px;
  gap: 0 15px;
  place-items: end;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  padding: 20px;
  z-index: 1;
}

.c-navigation01__item-head {
  color: #fff;
  font-size: 2.6rem;
}

.c-navigation01__item-btn {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 999px;
  box-sizing: border-box;
  border: 5px solid rgba(71, 71, 71, 0.4);
}

.c-navigation01__item-btn-ico-wrap {
  display: contents;
}

.c-navigation01__item-btn-ico {
  width: 14px;
  height: 11px;
  background: #474747;
}

.c-navigation01__item-bg {
  position: relative;
}

.c-navigation01__item-bg::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}

@media all and (min-width: 768px) {
  .c-navigation01 {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
  }

  .c-navigation01__wrap {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .c-navigation01__item-inner {
    align-items: center;
    grid-template-columns: 1fr 55px;
    gap: 0 33px;
    width: auto;
    height: auto;
    top: unset;
    bottom: 0;
    padding: 40px;
  }

  .c-navigation01__item-head {
    font-size: 4.8rem;
  }

  .c-navigation01__item-btn {
    width: 55px;
    height: 55px;
  }

  .c-navigation01__item-btn-ico-wrap {
    display: contents;
  }

  .c-navigation01__item-btn-ico {
    width: 19px;
    height: 14px;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .c-navigation01__item-bg::before, .c-navigation01__item-btn, .c-navigation01__item-btn-ico {
    transition: all 0.3s ease;
  }

  .c-navigation01__item-btn-ico-wrap {
    display: block;
    overflow: hidden;
    width: 19px;
    height: 14px;
  }

  .c-navigation01__item-btn-ico {
    display: block !important;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: right;
    mask-position: right;
    width: 38px;
    transform: translateX(-50%);
  }

  .c-navigation01__item-link:hover .c-navigation01__item-bg::before {
    opacity: 0.2;
  }

  .c-navigation01__item-link:hover .c-navigation01__item-btn {
    border-color: rgba(71, 71, 71, 0);
  }

  .c-navigation01__item-link:hover .c-navigation01__item-btn-ico {
    transform: translateX(0);
  }
}
/* .c-navigation02
================================================== */
.c-navigation02 {
  display: grid;
  gap: 10px 0;
}

.c-navigation02__item {
  position: relative;
}

.c-navigation02__item-bg {
  position: relative;
}

.c-navigation02__item-bg::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(73, 73, 73, 0.7);
  mix-blend-mode: multiply;
}

.c-navigation02__item-areaTxt {
  padding: 60px 20px 80px;
  color: #fff;
}

.c-navigation02__item-head {
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 0 8px;
  font-size: 2.6rem;
  margin-bottom: 5px;
}

.c-navigation02__item-btn {
  position: absolute;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #fFf;
  right: 15px;
  bottom: 15px;
  border-radius: 999px;
  box-sizing: border-box;
  border: 5px solid rgba(71, 71, 71, 0.4);
}

.c-navigation02__item-btn-ico-wrap {
  display: contents;
}

.c-navigation02__item-btn-ico {
  width: 14px;
  height: 11px;
  background: #474747;
}

@media all and (max-width: 767px) {
  .c-navigation02__item-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-sizing: border-box;
    z-index: -1;
  }

  .c-navigation02__item-bg img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: bottom center;
    object-position: bottom center;
  }
}
@media all and (min-width: 768px) {
  .c-navigation02 {
    grid-template-columns: 1175fr 690fr;
    gap: 0 13px;
  }

  .c-navigation02__item-bg img {
    width: 100%;
  }

  .c-navigation02__item-areaTxt {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 30px;
    box-sizing: border-box;
    z-index: 0;
  }

  .c-navigation02__item-head {
    grid-template-columns: 55px 1fr;
    gap: 0 19px;
    font-size: 4rem;
    margin-bottom: 18px;
  }

  .c-navigation02__item-btn {
    width: 55px;
    height: 55px;
    right: 25px;
    bottom: 25px;
  }

  .c-navigation02__item-btn-ico {
    width: 19px;
    height: 14px;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-navigation02__item-bg::before, .c-navigation02__item-btn, .c-navigation02__item-btn-ico {
    transition: all 0.3s ease;
  }

  .c-navigation02__item-btn-ico-wrap {
    display: block;
    overflow: hidden;
    width: 19px;
    height: 14px;
  }

  .c-navigation02__item-btn-ico {
    display: block !important;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: right;
    mask-position: right;
    width: 38px;
    transform: translateX(-50%);
  }

  .c-navigation02__item-in:hover .c-navigation02__item-bg::before {
    opacity: 0.2;
  }

  .c-navigation02__item-in:hover .c-navigation02__item-btn {
    border-color: rgba(71, 71, 71, 0);
  }

  .c-navigation02__item-in:hover .c-navigation02__item-btn-ico {
    transform: translateX(0);
  }
}
@media (min-width: 1320px) {
  .c-navigation02__item.is-store .c-navigation02__item-areaTxt {
    padding: 0 7%;
  }

  .c-navigation02__item.is-arcade .c-navigation02__item-areaTxt {
    padding: 0 9.3%;
  }
}
@media (min-width: 1510px) {
  .c-navigation02 .c-navigation02__item-head-br {
    display: none;
  }
}
/* .c-note01
================================================== */
.c-note01 {
  position: relative;
  padding-left: 1.2em;
  color: rgb(var(--gray_700));
}

.c-note01::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}

/* .c-pager01
===================================*/
.c-pager01 {
  overflow: hidden;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  align-items: center;
  margin: 50px -5px -10px;
}

.c-pager01 li {
  margin: 0 5px 10px;
}

.c-pager01 li a, .c-pager01 li span {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.9rem;
  font-family: "Oswald", sans-serif;
  line-height: var(--line_height_en);
  letter-spacing: var(--letter_spacing_en);
  width: 30px;
  height: 30px;
  line-height: 1;
  border: 1px solid rgb(var(--black));
  text-decoration: none;
}

.c-pager01 li.pages span {
  width: auto;
  border: 0;
}

.c-pager01 li.current span {
  position: relative;
  color: rgb(var(--accent_1_500));
  background: rgb(var(--black));
}

.c-pager01 li.current span::before {
  position: absolute;
  content: "";
  bottom: -3px;
  left: 50%;
  width: 1em;
  height: 2px;
  background: rgb(var(--accent_1_500));
  transform: translate(-50%, 0);
}

.c-pager01 li.previous {
  margin-right: 15px;
}

.c-pager01 li.previous a::before {
  transform: rotate(180deg);
}

.c-pager01 li.next {
  margin-left: 15px;
}

.c-pager01 li.previous a, .c-pager01 li.next a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(var(--secondary_500), 0.15);
  border-radius: 999px;
}

.c-pager01 li.previous a::before, .c-pager01 li.next a::before {
  vertical-align: middle;
  transition: all 0.3s ease;
  content: "";
  width: 14px;
  height: 11px;
  background: #474747;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" fill="none"><path fill="currentColor" d="M0 6.142h11.363L7.838 9.563 9 10.691l5.51-5.346L9 0 7.838 1.128l3.525 3.42H0v1.594Z"/></svg>') no-repeat center/contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" fill="none"><path fill="currentColor" d="M0 6.142h11.363L7.838 9.563 9 10.691l5.51-5.346L9 0 7.838 1.128l3.525 3.42H0v1.594Z"/></svg>') no-repeat center/contain;
}

@media all and (min-width: 768px) {
  .c-pager01 {
    margin-top: 60px;
  }

  .c-pager01 li {
    margin: 0 10px 10px;
  }

  .c-pager01 li a, .c-pager01 li span {
    font-size: 2.6rem;
    width: 40px;
    height: 48px;
  }

  .c-pager01 li.previous {
    margin-right: 40px;
  }

  .c-pager01 li.next {
    margin-left: 40px;
  }

  .c-pager01 li.previous a, .c-pager01 li.next a {
    width: 55px;
    height: 55px;
  }

  .c-pager01 li.previous a::before, .c-pager01 li.next a::before {
    width: 19px;
    height: 14px;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .c-pager01 li:not(.previous, .next) a {
    transition: all 0.3s ease;
  }

  .c-pager01 li:not(.previous, .next) a:hover {
    text-decoration: none;
    border: 1px solid rgb(var(--black));
    background-color: rgb(var(--black));
    color: rgb(var(--accent_1_500));
  }

  .c-pager01 li.previous a, .c-pager01 li.next a {
    transition: all 0.3s ease;
  }

  .c-pager01 li.previous a:hover, .c-pager01 li.next a:hover {
    border-color: rgb(var(--secondary_500));
  }
}
/*  .c-pager02
================================================== */
.c-pager02 {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 45px 20px;
  margin-top: 60px;
  line-height: 1;
}

.c-pager02 a {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  font-weight: 700;
}

.c-pager02__ico {
  display: grid !important;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(var(--secondary_500), 0.15);
  box-sizing: border-box;
  border-radius: 999px;
}

.c-pager02__ico-arrow {
  width: 14px;
  height: 11px;
  background: rgb(var(--main_500));
}

.c-pager02__previous a, .c-pager02__next a {
  font-size: 1.5rem;
}

.c-pager02__previous a {
  justify-content: flex-start;
}

.c-pager02__previous a .c-pager02__ico {
  margin-right: 12px;
}

.c-pager02__previous a .c-pager02__ico-arrow {
  transform: rotate(-180deg);
}

.c-pager02__next a {
  justify-content: flex-end;
}

.c-pager02__next a .c-pager02__ico {
  margin-left: 12px;
}

.c-pager02__all {
  grid-column: 1/3;
}

.c-pager02__all a {
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  background: #474747;
  color: #fff;
  font-weight: 700;
  padding: 14px 15px 14px 25px;
  border-radius: 6px;
}

.c-pager02__all a .c-pager02__ico {
  background: #fff;
  border: 5px solid rgba(71, 71, 71, 0.4);
}

@media all and (min-width: 768px) {
  .c-pager02 {
    margin-top: 120px;
    grid-template-columns: 1fr 400px 1fr;
    align-items: center;
  }

  .c-pager02__ico {
    width: 45px;
    height: 45px;
  }

  .c-pager02__ico-arrow {
    width: 19px;
    height: 14px;
  }

  .c-pager02__previous a, .c-pager02__next a {
    font-size: 1.7rem;
  }

  .c-pager02__previous {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .c-pager02__previous a .c-pager02__ico {
    margin-right: 14px;
  }

  .c-pager02__next {
    grid-column: 3/4;
    grid-row: 1/2;
  }

  .c-pager02__next a .c-pager02__ico {
    margin-left: 14px;
  }

  .c-pager02__all {
    grid-column: 2/3;
    grid-row: 1/2;
  }

  .c-pager02__all a {
    font-size: 2rem;
    padding: 18px 20px 17px 44px;
  }

  .c-pager02__all a .c-pager02__ico {
    width: 55px;
    height: 55px;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .c-pager02 a .c-pager02__ico {
    transition: all 0.3s ease;
  }

  .c-pager02__previous a:hover .c-pager02__ico, .c-pager02__next a:hover .c-pager02__ico {
    border-color: rgb(var(--secondary_500));
  }

  .c-pager02__all a:hover .c-pager02__ico {
    border: 1px solid #fff;
    background: transparent;
  }

  .c-pager02__all a:hover .c-pager02__ico-arrow {
    background: #fff;
  }
}
/* .c-price01
================================================== */
.c-price01 {
  position: relative;
  overflow: hidden;
}

.c-price01__bg {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 6px 0 0 6px;
  background: var(--accent_gradation);
  z-index: -1;
}

.c-price01__inner {
  padding-top: 60px;
  padding-bottom: 30px;
}

.c-price01__head {
  display: inline-grid;
  color: #fff;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  font-weight: 700;
  margin-bottom: 20px;
}

.c-price01__head-prefix {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  padding-bottom: 3px;
}

.c-price01__head-prefix::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background: #fff;
}

.c-price01__head-main {
  display: inline-block;
  font-size: 2.7rem;
  margin-top: 6px;
}

.c-price01__slider {
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .c-price01.is-animated .c-price01__bg {
    margin-left: 0;
    border-radius: 0;
  }

  .c-price01__bg {
    margin-left: 20px;
    transition: all 0.3s ease;
  }

  .c-price01__inner {
    position: relative;
    max-width: 1780px;
    padding: 100px 40px 120px;
  }

  .c-price01__head {
    margin-bottom: 35px;
  }

  .c-price01__head-prefix {
    font-size: 2rem;
    padding-bottom: 5px;
  }

  .c-price01__head-main {
    font-size: 4rem;
    margin-top: 8px;
  }

  .c-price01__slider {
    margin-bottom: 0;
  }

  .c-price01__controller {
    position: absolute;
    right: 40px;
    top: 140px;
  }
}
/*  Works .c-single01
================================================== */
.c-single01-intro {
  display: grid;
  gap: 35px 0;
  margin-bottom: 60px;
}

.c-single01-intro__eyecatch {
  margin: 0 -20px;
}

.c-single01-intro__header-meta {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-bottom: -5px;
}

.c-single01-intro__header-meta-item {
  color: #fff;
  padding: 2px 20px;
  border-radius: 999px;
  background: rgb(var(--accent_1_500));
  margin-right: 10px;
  margin-bottom: 5px;
}

.c-single01-intro__header-head {
  font-size: 3.5rem;
  margin-top: 16px;
  margin-bottom: 30px;
  color: rgb(var(--main_500));
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.c-single01-outline {
  margin-top: 60px;
}

.c-single01-outline__head {
  font-size: 2.7rem;
  color: rgb(var(--main_500));
  margin-bottom: 25px;
}

@media all and (min-width: 768px) {
  .c-single01-intro {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: 120px;
  }

  .c-single01-intro__eyecatch {
    margin: 0;
    grid-column: 2/3;
    grid-row: 1/2;
  }

  .c-single01-intro__eyecatch img {
    border-radius: 6px 0 0 6px;
  }

  .c-single01-intro__header {
    grid-column: 1/2;
    grid-row: 1/2;
    padding-left: 20px;
    padding-right: 35px;
  }

  .c-single01-intro__header-meta {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-bottom: -5px;
  }

  .c-single01-intro__header-meta-item {
    padding: 2px 20px;
    font-size: 1.6rem;
  }

  .c-single01-intro__header-head {
    font-size: clamp(4rem, 3.528rem + 2.63vw, 5.3rem);
    margin-bottom: 45px;
  }

  .c-single01-intro__header-txt {
    font-size: 2rem;
  }
}
@media all and (min-width: 1160px) {
  .c-single01-intro {
    margin-left: calc((50vw - 50%) * -1);
    margin-right: calc((50vw - 50%) * -1);
  }

  .c-single01-intro__header {
    padding-left: 40px;
    padding-right: 70px;
  }

  .c-single01-outline {
    margin-top: 100px;
  }

  .c-single01-outline__head {
    font-size: 4.7rem;
    margin-bottom: 40px;
  }
}
/*  Column .c-single02
================================================== */
.c-single02-head {
  margin-bottom: 60px;
}

.c-single02-head__main {
  font-size: 2.7rem;
  margin-bottom: 25px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.c-single02-head__eyecatch {
  margin-bottom: 20px;
}

.c-single02-head__eyecatch img {
  width: 100%;
  border-radius: 6px;
}

.c-single02-head__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 30px;
}

.c-single02-head__meta-postdate {
  color: rgb(var(--gray_700));
  margin-right: 16px;
  line-height: var(--line_height_base);
  margin-top: 2px;
}

.c-single02-head__meta-cat {
  display: flex;
  flex-wrap: wrap;
  margin-right: -4px;
  margin-bottom: -8px;
}

.c-single02-head__meta-cat-item {
  margin-right: 4px;
  margin-bottom: 8px;
  padding: 2px 20px;
  border: 1px solid rgb(var(--secondary_500));
  font-size: 1.6rem;
  border-radius: 999px;
}

.c-single02-toc {
  margin-bottom: 40px;
}

@media all and (min-width: 768px) {
  .c-single02-head {
    margin-bottom: 70px;
  }

  .c-single02-head__main {
    font-size: 4.7rem;
    margin-bottom: 40px;
  }

  .c-single02-head__eyecatch {
    margin-bottom: 40px;
  }

  .c-single02-head__meta {
    margin-bottom: 32px;
    align-items: flex-start;
  }

  .c-single02-head__meta-postdate {
    font-size: 2.2rem;
    margin-right: 30px;
    margin-bottom: 8px;
  }

  .c-single02-head__meta-cat {
    margin-right: -10px;
    margin-bottom: -10px;
  }

  .c-single02-head__meta-cat-item {
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 2px 20px;
    font-size: 2.2rem;
  }
}
/* .c-single-content
================================================== */
.c-single-content *:first-child {
  margin-top: 0;
}

.c-single-content *:last-child {
  margin-bottom: 0;
}

.c-single-content p {
  margin: 1em 0;
}

.c-single-content a {
  text-decoration: underline;
}

.c-single-content a[target=_blank]::after {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  margin-left: 4px;
  padding-top: 4px;
  box-sizing: border-box;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none"><path fill="currentColor" d="M12.727 3.818v8.91H3.818V14H14V3.818h-1.273Z"/><path fill="currentColor" d="M10.182 0H0v10.182h10.182V0ZM8.909 8.91H1.273V1.272h7.636v7.636Z"/></svg>') no-repeat center/contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none"><path fill="currentColor" d="M12.727 3.818v8.91H3.818V14H14V3.818h-1.273Z"/><path fill="currentColor" d="M10.182 0H0v10.182h10.182V0ZM8.909 8.91H1.273V1.272h7.636v7.636Z"/></svg>') no-repeat center/contain;
  background: rgb(var(--main_500));
}

.c-single-content img {
  border-radius: 6px;
}

.c-single-content h3, .c-single-content h4 {
  color: rgb(var(--main_500));
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-top: 40px;
}

.c-single-content h2 {
  font-size: 2.7rem;
  margin-top: 60px;
  margin-bottom: 25px;
}

.c-single-content h3 {
  position: relative;
  font-size: 2.2rem;
  padding-left: 18px;
  margin-bottom: 20px;
}

.c-single-content h3::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 3px;
  left: 0;
  top: 0;
  background: rgb(var(--accent_1_500));
}

.c-single-content h4 {
  font-size: 2rem;
  margin-bottom: 25px;
}

.c-single-content ul, .c-single-content ol {
  display: grid;
  gap: 12px 0;
  margin: 1em 0;
  list-style: none;
  padding-left: 0;
}

.c-single-content ul > li, .c-single-content ol > li {
  position: relative;
}

.c-single-content ul > li::before, .c-single-content ol > li::before {
  position: absolute;
  left: 0;
}

.c-single-content ul > li {
  padding-left: 11px;
}

.c-single-content ul > li::before {
  content: "";
  width: 4px;
  height: 4px;
  background: #474747;
  top: 50%;
  transform: translate(0, -50%);
  border-radius: 999px;
}

.c-single-content ol > li {
  counter-increment: listnum01;
  padding-left: 26px;
}

.c-single-content ol > li::before {
  content: counter(listnum01, decimal-leading-zero) ".";
  font-weight: 700;
  font-family: "Oswald", sans-serif;
  letter-spacing: var(--letter_spacing_en);
  color: rgb(var(--accent_1_500));
}

.c-single-content table {
  border: 1px solid rgb(var(--main_500));
}

.c-single-content tr:not(:last-child) td {
  border-bottom: 1px solid rgb(var(--main_500));
}

.c-single-content th, .c-single-content td {
  padding: 20px;
}

.c-single-content th {
  text-align: start;
  background: rgba(var(--bg_500));
  border-bottom: 1px solid rgb(var(--main_500));
}

@media all and (max-width: 767px) {
  .c-single-content table, .c-single-content tbody, .c-single-content thead, .c-single-content tr, .c-single-content td, .c-single-content th {
    display: block;
  }
}
@media all and (min-width: 1160px) {
  .c-single-content {
    position: relative;
  }

  .c-single-content::after {
    content: "";
    clear: both;
    display: block;
  }

  .c-single-content a:hover {
    text-decoration: none;
  }

  .c-single-content h3, .c-single-content h4 {
    margin-top: 80px;
  }

  .c-single-content h2 {
    font-size: 4.5rem;
    margin-top: 100px;
    margin-bottom: 40px;
  }

  .c-single-content h3 {
    font-size: 3.6rem;
    padding-left: 31px;
    margin-bottom: 40px;
  }

  .c-single-content h3::before {
    width: 5px;
  }

  .c-single-content h4 {
    font-size: 2.9rem;
    margin-bottom: 30px;
  }

  .c-single-content ul, .c-single-content ol {
    margin: 30px 0;
  }

  .c-single-content .alignleft,
.c-single-content .alignright {
    width: 50%;
    margin-bottom: 60px;
  }

  .c-single-content .alignleft {
    margin-right: 30px;
    float: left;
  }

  .c-single-content .alignright {
    margin-left: 30px;
    float: right;
  }

  .c-single-content .aligncenter {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: block;
  }

  .c-single-content th, .c-single-content td {
    padding: 30px 20px;
  }

  .c-single-content th {
    width: 240px;
    border-right: 1px solid rgb(var(--main_500));
  }
}
/* .c-case-slider01
================================================== */
.c-case-slider01__item-img img {
  border-radius: 6px;
}

.c-case-slider01__item-cat {
  margin-top: 12px;
}

.c-case-slider01__item-head {
  font-size: 1.7rem;
  font-weight: 700;
  margin-top: 8px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  padding-bottom: 12px;
  margin-bottom: 9px;
  border-bottom: 1px solid rgba(71, 71, 71, 0.2);
}

.c-case-slider01__item-txt {
  font-size: 1.5rem;
}

@media all and (min-width: 768px) {
  .c-case-slider01__item {
    width: 336px !important;
    margin: 0 16px;
  }

  .c-case-slider01__item-cat {
    margin-top: 15px;
  }

  .c-case-slider01__item-head {
    font-size: 2rem;
    padding-bottom: 12px;
    margin-bottom: 12px;
  }

  .c-case-slider01__item-txt {
    font-size: 1.6rem;
  }
}
/* .c-price-slider01
================================================== */
.c-price-slider01__item-img img {
  border-radius: 6px 6px 0 0;
}

.c-price-slider01__item-detail {
  background: #fff;
  padding: 17px 15px 14px 15px;
}

.c-price-slider01__item-detail-head {
  display: grid;
  grid-template-columns: 31px 1fr;
  align-items: center;
  gap: 0 11px;
  font-size: 1.9rem;
  font-weight: 700;
  padding-bottom: 14px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  border-bottom: 1px solid rgba(71, 71, 71, 0.2);
  margin-bottom: 11px;
}

.c-price-slider01__item-detail-head-ico {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
}

.c-price-slider01__item-detail-info {
  display: grid;
  gap: 8px 0;
  margin-bottom: 10px;
}

.c-price-slider01__item-detail-info-item {
  display: grid;
  grid-template-columns: 73px 1fr;
  gap: 0 10px;
}

.c-price-slider01__item-detail-info-item-term {
  background: #474747;
  color: #fff;
  font-size: 1.2rem;
  padding: 1px 12px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  -moz-text-align-last: justify;
  text-align-last: justify;
}

.c-price-slider01__item-detail-info-item-description {
  font-size: 1.5rem;
}

.c-price-slider01__item-price {
  text-align: end;
  font-weight: 700;
  font-size: 2.7rem;
}

.c-price-slider01__item-price-main-jp {
  font-size: 1.5rem;
}

.c-price-slider01__item-price-main-num {
  font-size: 2.7rem;
  margin-left: 5px;
}

.c-price-slider01__item-price-suffix {
  font-size: 1.1rem;
}

@media all and (min-width: 768px) {
  .c-price-slider01__item {
    max-width: 466px;
  }

  .c-price-slider01__item-detail {
    padding: 24px 30px;
    margin-top: -1px;
  }

  .c-price-slider01__item-detail-head {
    grid-template-columns: 35px 1fr;
    gap: 0 13px;
    font-size: 2.2rem;
    margin-bottom: 15px;
  }

  .c-price-slider01__item-detail-head-ico {
    width: 35px;
    height: 35px;
  }

  .c-price-slider01__item-detail-info {
    gap: 8px 0;
  }

  .c-price-slider01__item-detail-info-item {
    grid-template-columns: 88px 1fr;
    gap: 0 15px;
  }

  .c-price-slider01__item-detail-info-item-term {
    font-size: 1.4rem;
    padding: 1px 16px;
  }

  .c-price-slider01__item-detail-info-item-description {
    font-size: 1.6rem;
  }

  .c-price-slider01__item-price {
    text-align: end;
    font-weight: 700;
    font-size: 3.6rem;
  }

  .c-price-slider01__item-price-main-jp {
    font-size: 2rem;
  }

  .c-price-slider01__item-price-main-num {
    font-size: 3.6rem;
    margin-left: 10px;
  }

  .c-price-slider01__item-price-suffix {
    font-size: 1.5rem;
  }
}
/* .c-product-slider01
================================================== */
.c-product-slider01__item-img img {
  border-radius: 6px;
}

.c-product-slider01__item-head {
  font-size: 1.7rem;
  font-weight: 700;
  margin-top: 5px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

@media all and (min-width: 768px) {
  .c-product-slider01__item {
    width: 336px !important;
    margin: 0 16px;
  }
}
.c-table01 table th, .c-table01 table td {
  padding: 20px;
  vertical-align: top;
  text-align: left;
  border: 1px solid rgb(var(--main_500));
  box-sizing: border-box;
}

.c-table01 table th {
  background: rgb(var(--bg_500));
}

@media all and (max-width: 767px) {
  .c-table01 table, .c-table01 tbody, .c-table01 tr, .c-table01 th, .c-table01 td {
    display: block;
    width: 100%;
  }

  .c-table01 table th, .c-table01 table td {
    border-width: 1px 1px 0;
  }

  .c-table01 table tr:last-child td {
    border-bottom-width: 1px;
  }
}
@media all and (min-width: 768px) {
  .c-table01 table th, .c-table01 table td {
    padding: 30px 20px;
  }

  .c-table01 table th {
    width: 22%;
  }
}
/* c-toc01
================================================ */
.c-toc01 ul {
  display: grid;
  margin: 1em 0;
  list-style: none;
  padding-left: 0;
}

.c-toc01 ul > li {
  position: relative;
}

.c-toc01 ul > li::before {
  position: absolute;
  left: 0;
}

.c-toc01 ul > li {
  padding-left: 11px;
}

.c-toc01 ul > li::before {
  content: "";
  width: 4px;
  height: 4px;
  background: #474747;
  top: 50%;
  transform: translate(0, -50%);
  border-radius: 999px;
}

.c-toc01 ul > li:first-child {
  margin-top: 0;
}

.c-toc01 .toc-h4 {
  margin-top: 10px;
}

.c-toc01 .toc-h3 {
  margin-top: 20px;
}

.c-toc01 .toc-h3 ~ .toc-h4 {
  margin-left: 20px;
}

.c-toc01 .toc-h2 {
  margin-top: 30px;
}

.c-toc01 .toc-h2 ~ .toc-h3 {
  margin-left: 20px;
}

.c-toc01 .toc-h2 ~ .toc-h4 {
  margin-left: 40px;
}

/* .c-toggle01
================================================== */
.c-toggle01__head {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 30px;
  gap: 0 10px;
  background: #474747;
  color: #fff;
  padding: 15px;
  border-radius: 6px;
  font-weight: 700;
  transition: all 0.3s ease;
}

.c-toggle01__head.is-active {
  border-radius: 6px 6px 0 0;
}

.c-toggle01__head.is-active .c-toggle01__ico::after {
  transform: translate(-50%, -50%);
}

.c-toggle01__ico {
  position: relative;
  width: 30px;
  height: 30px;
  background: #fff;
  box-sizing: border-box;
  border: 5px solid rgba(71, 71, 71, 0.4);
  border-radius: 999px;
}

.c-toggle01__ico::before, .c-toggle01__ico::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 13px;
  height: 1px;
  background: rgb(var(--main_500));
  transform: translate(-50%, -50%);
}

.c-toggle01__ico::after {
  transition: all 0.3s ease;
  transform: translate(-50%, -50%) rotate(90deg);
}

.c-toggle01__detail {
  padding: 30px 25px;
  background: #fff;
}

.c-toggle01__detail-list {
  display: grid;
  gap: 20px 0;
}

.c-toggle01__detail-item-in {
  display: grid !important;
  align-items: center;
  grid-template-columns: 35px 1fr;
  gap: 0 10px;
}

@media all and (min-width: 768px) {
  .c-toggle01__head {
    grid-template-columns: 1fr 46px;
    padding: 22px 18px;
    font-size: 2.9rem;
  }

  .c-toggle01__ico {
    width: 46px;
    height: 46px;
  }

  .c-toggle01__ico::before, .c-toggle01__ico::after {
    width: 20px;
    height: 2px;
  }

  .c-toggle01__detail {
    padding: 40px 53px;
  }

  .c-toggle01__detail-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 20px;
  }

  .c-toggle01__detail-item-in {
    grid-template-columns: 50px 1fr;
    gap: 0 8px;
    font-size: 2.2rem;
  }
}
/* .l-breadcrumb
================================================ */
.l-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
}

.l-breadcrumb-list__item {
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 1.6rem;
}

.l-breadcrumb-list__item span {
  color: rgb(var(--gray_700));
}

.l-breadcrumb-list__item + .l-breadcrumb-list__item {
  margin-left: 29px;
}

.l-breadcrumb-list__item + .l-breadcrumb-list__item:before {
  position: absolute;
  content: "";
  top: 50%;
  left: -12px;
  margin-right: 12px;
  width: 6px;
  height: 7px;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: rgb(var(--secondary_500));
  transform: translate(-100%, -50%);
}

@media all and (max-width: 767px) {
  .l-breadcrumb-list {
    white-space: nowrap;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
  }

  .l-breadcrumb-list__item {
    font-size: 1.2rem;
  }

  .l-breadcrumb-list::-webkit-scrollbar {
    display: none;
  }
}
@media all and (min-width: 768px) {
  .l-breadcrumb__inner {
    max-width: 100%;
    padding: 0 40px;
  }
}
/* .l-footer
================================================ */
.l-footer {
  position: relative;
}

.l-footer__inner {
  padding-top: 60px;
  padding-bottom: 38px;
}

@media all and (min-width: 768px) {
  .l-footer__inner {
    padding-top: 145px;
    padding-bottom: 50px;
  }
}
/* .l-footer__cv
================================================ */
.l-footer__cv {
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(217, 217, 217, 0.5);
}

.l-footer__cv-head {
  font-size: 2.8rem;
  color: #fff;
  margin-bottom: 14px;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.l-footer__cv-txt {
  font-size: 1.5rem;
  color: #fff;
  margin-bottom: 30px;
}

.l-footer__cv-areaBtn {
  display: grid;
  gap: 15px 0;
}

@media all and (min-width: 768px) {
  .l-footer__cv {
    display: flex;
    justify-content: space-between;
    padding-bottom: 34px;
  }

  .l-footer__cv-head {
    font-size: 5.8rem;
    margin-bottom: 20px;
  }

  .l-footer__cv-txt {
    font-size: 1.6rem;
    margin-bottom: 0;
  }

  .l-footer__cv-areaBtn {
    width: 662px;
    gap: 30px 0;
  }
}
/* .l-footer__info
================================================ */
.l-footer__info {
  padding-top: 15px;
}

.l-footer__info-logo {
  margin-bottom: 68px;
}

.l-footer__info-logo svg {
  width: 162px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.l-footer__info-logo svg path {
  fill: #fff;
}

.l-footer__info-nav {
  -moz-column-count: 2;
  column-count: 2;
  margin-bottom: 50px;
}

.l-footer__info-nav-item {
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 15px;
}

.l-footer__info-nav-item-in {
  display: block;
  font-size: 1.4rem;
  line-height: 2.5;
  color: #fff;
}

.l-footer__info-nav-item-in.is-works {
  position: relative;
}

.l-footer__info-nav-item-in.is-works .l-footer__info-nav-item-num {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 5.6rem;
  top: 0;
  font-size: 0.9rem;
  font-family: "Oswald", sans-serif;
  letter-spacing: var(--letter_spacing_en);
  line-height: var(--line_height_en);
  color: rgba(255, 255, 255, 0.4);
  transform: translateX(-100%);
}

.l-footer__info-copy {
  opacity: 0.85;
  margin: 0 -7px 40px;
}

.l-footer__info-external {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-right: -40px;
  margin-bottom: 17px;
}

.l-footer__info-external-item {
  opacity: 0.5;
  font-size: 1.4rem;
  color: #fff;
  margin-right: 40px;
}

.l-footer__info-external-item-in {
  padding-right: 16px;
}

.l-footer__info-external-item-ico {
  width: 11px;
  height: 11px;
  background: #ccc;
  margin-left: 5px;
  margin-top: -4px;
}

.l-footer__info-cr-txt {
  font-size: 1.3rem;
  line-height: 1.8;
  color: #fff;
  opacity: 0.5;
}

@media all and (min-width: 768px) {
  .l-footer__info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px 0;
    padding-top: 70px;
  }

  .l-footer__info-logo {
    padding-top: 10px;
    margin-bottom: 0;
  }

  .l-footer__info-logo svg {
    width: 240px;
  }

  .l-footer__info-logo-link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .l-footer__info-nav {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
    height: calc(11.25rem + 10px);
    -moz-column-count: unset;
    column-count: unset;
    margin: 0 0 0 auto;
    width: 500px;
  }

  .l-footer__info-nav-item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 5px;
  }

  .l-footer__info-nav-item-in {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .l-footer__info-nav-item-in.is-works {
    position: relative;
  }

  .l-footer__info-nav-item-in.is-works .l-footer__info-nav-item-num {
    position: absolute;
    left: unset;
    right: 0;
    height: 1em;
    top: 0;
    font-size: 0.9rem;
    font-family: "Oswald", sans-serif;
    letter-spacing: var(--letter_spacing_en);
    line-height: var(--line_height_en);
    color: rgba(255, 255, 255, 0.4);
    transform: unset;
  }

  .l-footer__info-copy {
    grid-column: 1/3;
    grid-row: 3/4;
    margin: 0;
    margin-left: 0;
  }

  .l-footer__info-external {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .l-footer__info-cr {
    text-align: end;
  }

  .l-footer__info-cr-txt {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .l-footer__info-nav-item-in {
    transition: all 0.3s ease;
  }

  .l-footer__info-nav-item-in:hover {
    opacity: 0.5;
  }

  .l-footer__info-external-item-in {
    transition: all 0.3s ease;
  }

  .l-footer__info-external-item-in:hover {
    opacity: 0.5;
  }
}
@media all and (min-width: 1160px) {
  .l-footer__info-copy {
    margin-left: calc((50vw - 50%) * -1 + 40px);
  }
}
/* .l-fixed-nav
================================================ */
@media all and (max-width: 767px) {
  .l-fixed-nav {
    position: fixed;
    display: grid;
    grid-template-columns: 1fr 1fr 73px;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    z-index: 10;
    opacity: 1;
    transition: all 0.5s ease;
  }

  .l-fixed-nav[data-scroll-top=true] {
    opacity: 0;
  }

  .l-fixed-nav__btn {
    width: 100%;
    height: 100%;
  }

  .l-fixed-nav__btn.is-gray {
    background: #474747;
  }

  .l-fixed-nav__btn.is-orange {
    background: rgb(var(--accent_1_500));
  }

  .l-fixed-nav__btn-in {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: 700;
  }

  .l-fixed-nav .l-nav-btn {
    top: 10px;
    right: 17px;
    height: 36px;
  }

  .l-fixed-nav .l-nav-btn__wrap {
    position: relative;
    width: 100%;
    height: 100%;
    background: #fff;
  }

  .l-fixed-nav .l-nav-btn__line:nth-child(1) {
    top: 0;
  }

  .l-fixed-nav .l-nav-btn__line:nth-child(2) {
    top: 6px;
  }

  .l-fixed-nav .l-nav-btn__line:nth-child(3) {
    top: 12px;
  }
}
/* .l-header
================================================ */
.l-header {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  height: 60px;
  padding: 13px 20px 9px 15px;
  box-sizing: border-box;
  transition: all 0.3s ease;
  z-index: 2000;
}

.l-header.is-open svg path {
  fill: #fff;
}

@media all and (max-width: 767px) {
  .l-header[data-scroll-top=false] .l-header-info {
    opacity: 0;
  }

  .l-header[data-scroll-top=false].is-open .l-header-info {
    opacity: 1;
  }
}
@media all and (min-width: 768px) {
  .l-header {
    position: -webkit-sticky;
    position: sticky;
    align-items: flex-start;
    height: 110px;
    padding: 31px 15px 24px 40px;
    min-width: var(--contents_width_with_padding);
  }

  .l-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .l-header.is-hidden {
    transform: translateY(-100%);
  }
}
/* .l-header-info
================================================== */
.l-header-info {
  position: relative;
  z-index: 3;
  width: 100%;
  transition: all 0.3s ease;
}

.l-header-info__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.l-header-info__logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.l-header-info__logo svg {
  display: block;
  width: 153px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

@media all and (min-width: 768px) {
  .l-header-info {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .l-header-info__logo svg {
    width: 240px;
    height: 55px;
  }
}
/* .l-nav-btn
================================================== */
.l-nav-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 38px;
  height: 39px;
  border: 0;
  cursor: pointer;
}

.l-nav-btn__line {
  position: absolute;
  left: 3px;
  width: 31px;
  height: 2px;
  content: "";
  background: #474747;
  transition: all 0.3s ease;
}

.l-nav-btn__line:nth-child(1) {
  top: 0;
}

.l-nav-btn__line:nth-child(2) {
  top: 7px;
}

.l-nav-btn__line:nth-child(3) {
  top: 14px;
}

.l-nav-btn.is-open .l-nav-btn__line {
  background: #fff;
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
  top: 7px;
  transform: rotate(-30deg);
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(2) {
  opacity: 0;
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(3) {
  top: 7px;
  transform: rotate(30deg);
}

.l-nav-btn.is-open .l-nav-btn__txt {
  color: #fff;
}

.l-nav-btn__txt {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 100%;
  font-size: 1.3rem;
  text-align: center;
}

/* .l-nav
================================================ */
.l-nav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  max-height: 100vh;
  min-width: 320px;
  padding: 120px 20px 46px;
  box-sizing: border-box;
  text-align: center;
  pointer-events: none;
  -webkit-overflow-scrolling: touch;
}

@media all and (max-width: 767px) {
  .l-nav {
    background: #333;
    overflow: auto;
    opacity: 0;
    transition: all 500ms ease;
  }

  .l-nav::-webkit-scrollbar {
    display: none;
  }

  .l-nav.is-open {
    pointer-events: auto;
    opacity: 1;
  }
}
@media all and (min-width: 768px) {
  .l-nav {
    position: static;
    display: grid;
    grid-template-columns: 1fr 300px;
    grid-template-rows: auto 1fr;
    gap: 0 30px;
    width: 100%;
    min-width: auto;
    margin-top: -31px;
    margin-right: -15px;
    padding: 0;
    pointer-events: auto;
  }
}
/* .l-nav-list
================================================== */
.l-nav-list__item-link.is-works {
  position: relative;
}

.l-nav-list__item-link.is-works .l-nav-list__item-num {
  position: absolute;
  left: calc(10px + 6.4rem);
  top: 13px;
  font-size: 0.9rem;
  font-family: "Oswald", sans-serif;
  letter-spacing: var(--letter_spacing_en);
  line-height: var(--line_height_en);
  color: rgba(255, 255, 255, 0.4);
  transform: translateX(-100%);
}

@media all and (max-width: 767px) {
  .l-nav-list__item:not(:first-child) .l-nav-list__item-link {
    padding-top: 10px;
  }

  .l-nav-list__item-link {
    display: block;
    text-align: start;
    padding: 0 10px 10px;
    line-height: 2.5em;
    color: #fff;
    border-bottom: 1px solid rgba(217, 217, 217, 0.2);
  }
}
@media all and (min-width: 768px) {
  .l-nav-list {
    position: relative;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    padding-top: 13px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .l-nav-list__item:not(:first-child) {
    margin-left: 40px;
  }

  .l-nav-list__item-link {
    display: block;
    font-weight: 700;
    line-height: 1.8;
    padding: 0;
  }

  .l-nav-list__item-link.is-works .l-nav-list__item-num {
    right: -10px;
    top: 0;
    left: unset;
    transform: unset;
    width: 3em;
    color: rgb(var(--accent_1_500));
  }

  .l-nav-list__child-wrap {
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    transform: translateY(100%);
    width: 100%;
    padding: 48px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    background: #ddd;
  }

  .l-nav-list__item:hover .l-nav-list__child-wrap {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .l-nav-list__item-link {
    transition: all 0.3s ease;
  }

  .l-nav-list__item-link:hover {
    color: rgb(var(--accent_1_500));
  }
}
/* .l-nav-overlay
================================================ */
.l-nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1000;
}

@media all and (min-width: 768px) {
  .l-nav-overlay {
    display: none !important;
  }
}
/* .l-nav-meta
================================================== */
.l-nav-meta {
  margin-top: 40px;
  display: grid;
  gap: 15px 0;
}

@media all and (min-width: 768px) {
  .l-nav-meta {
    grid-template-columns: repeat(2, 1fr);
    grid-row: 1/3;
    grid-column: 2/3;
    gap: 0;
    margin-top: 0;
  }

  .l-nav-meta__btn {
    height: 110px;
  }

  .l-nav-meta__btn-in {
    grid-template-columns: 1fr;
    place-items: center;
    height: 100%;
    font-size: 1.6rem;
    border-radius: 0;
    max-height: 100%;
    padding: 40px 10px;
  }

  .l-nav-meta__btn-txt {
    font-size: 1.6rem !important;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .l-nav-meta__btn-in {
    position: relative;
  }

  .l-nav-meta__btn-in::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
  }

  .l-nav-meta__btn-in:hover::before {
    opacity: 0.05;
  }

  .l-nav-meta__btn-in:hover .c-btn01__txt {
    transform: none !important;
  }
}
/* .l-nav-externallist
================================================== */
.l-nav-externallist {
  margin-top: 34px;
  display: grid;
  gap: 15px 0;
}

.l-nav-externallist__item {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: start;
  color: #fff;
  opacity: 0.5;
}

.l-nav-externallist__item-link {
  padding-right: 16px;
}

.l-nav-externallist__item-link-ico {
  width: 11px;
  height: 11px;
  margin-top: -4px;
  background: #ccc;
  margin-left: 5px;
}

/* .l-nav-sublist
================================================== */
@media all and (min-width: 768px) {
  .l-nav-sublist {
    display: flex;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 0 0 0 auto;
    padding-top: 20px;
  }

  .l-nav-sublist__item:not(:first-child) {
    margin-left: 30px;
  }

  .l-nav-sublist__item-link {
    font-size: 1.4rem;
    color: rgb(var(--secondary_500));
    padding: 10px 0;
  }

  .l-nav-sublist__item-link.has-ico {
    padding-right: 16px;
  }

  .l-nav-sublist__item-link-ico {
    width: 11px;
    height: 11px;
    background: #ccc;
    margin-top: -4px;
    margin-left: 5px;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .l-nav-sublist__item-link {
    transition: all 0.3s ease;
  }

  .l-nav-sublist__item-link:hover {
    opacity: 0.5;
  }
}
/* .l-ie-attention
================================================ */
.l-ie-attention {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  box-sizing: border-box;
}

.l-ie-attention__txt {
  font-size: 3rem;
  margin-bottom: 18px;
}

.l-ie-attention__note {
  color: #989898;
}

.l-ie-attention__note .l-ie-attention__note-link {
  display: inline-block;
}

.l-ie-attention__note-link {
  font-size: 1.8rem;
  border-bottom: 1px solid;
  position: relative;
  margin-right: 25px;
  display: inline-block;
}

.l-ie-attention__note-link::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 13px;
  width: 11px;
  height: 11px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%20%3Cg%20id%3D%22link%22%20transform%3D%22translate(0.5%200.5)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_23829%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2023829%22%20width%3D%228%22%20height%3D%228%22%20transform%3D%22translate(3)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4323%22%20data-name%3D%22%E3%83%91%E3%82%B9%204323%22%20d%3D%22M688%2C718.025h-6v-6%22%20transform%3D%22translate(-682%20-707.025)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/100%;
}

/* .l-main-img HOME
================================================ */
.l-main-img__content {
  position: relative;
}

.l-main-img__inner {
  box-sizing: border-box;
  position: absolute;
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  z-index: 2;
  padding: 0 7px 25px;
}

.l-main-img__slider {
  position: relative;
}

.l-main-img__slider::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(64, 64, 64, 0.3);
  background-blend-mode: multiply;
  z-index: 1;
}

@media all and (max-width: 767px) {
  .l-main-img__slider-item img {
    max-height: 112.8vw;
  }
}
@media all and (min-width: 768px) {
  .l-main-img__inner {
    padding: 0 40px 52px;
  }

  .l-main-img__copy {
    max-width: 900px;
  }
}
@media (min-width: 1280px) {
  .l-main-img__copy {
    max-width: 100%;
  }
}
/* .l-sub-img
================================================ */
.l-sub-img {
  font-size: 1.5rem;
}

.l-sub-img.no-mvimg {
  height: 35px;
}

.l-sub-img__inner {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  padding-top: 34px;
  padding-bottom: 30px;
}

.l-sub-img__head {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.l-sub-img__head-sub {
  font-size: 2rem;
  font-weight: 700;
  color: rgb(var(--gray_700));
  margin-bottom: 10px;
}

.l-sub-img__head-lead {
  margin-top: 12px;
  font-size: 1.7rem;
  font-weight: 700;
  text-align: start;
}

@media all and (min-width: 768px) {
  .l-sub-img.no-mvimg {
    height: 60px;
  }

  .l-sub-img__inner {
    max-width: 100%;
    padding: 85px 40px 120px 40px;
  }

  .l-sub-img__head {
    font-size: 10.9rem;
  }

  .l-sub-img__head.is-sm {
    font-size: clamp(3.8rem, 0.024rem + 7.66vw, 8rem);
  }

  .l-sub-img__head-sub {
    font-size: 3.8rem;
    margin-bottom: 15px;
  }

  .l-sub-img__head-lead {
    margin-top: 30px;
    font-size: 2.2rem;
  }
}
/* .l-sub-img.is-feature
================================================ */
.l-sub-img.is-feature .l-sub-img__head-sub {
  margin-bottom: 24px;
}

.l-sub-img.is-feature .l-sub-img__head {
  margin-bottom: 20px;
}

.l-sub-img.is-feature .l-sub-img__head-lead {
  font-size: 1.5rem;
}

@media all and (min-width: 768px) {
  .l-sub-img.is-feature .l-sub-img__inner {
    padding-top: 90px;
    padding-bottom: 120px;
  }

  .l-sub-img.is-feature .l-sub-img__head-sub {
    font-size: 3.8rem;
    margin-bottom: 30px;
  }

  .l-sub-img.is-feature .l-sub-img__head {
    margin-bottom: 40px;
  }

  .l-sub-img.is-feature .l-sub-img__head-lead {
    font-size: 2rem;
    margin: 0;
  }
}
/* .l-sidebar
================================================== */
.l-sidebar {
  display: grid;
  gap: 20px 0;
}

.l-sidebar-sec__head {
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  background: rgb(var(--bg_500));
  padding: 10px;
}

.l-sidebar-sec.is-category .l-sidebar-sec__list-link {
  display: block;
  padding: 20px 10px;
  border-bottom: 1px solid rgba(var(--main_500), 0.2);
}

.l-sidebar-sec.is-ranking .l-sidebar-sec__list {
  margin-top: 20px;
  display: grid;
  gap: 20px 0;
}

.l-sidebar-sec.is-ranking .l-sidebar-sec__list-link {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 0 12px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(var(--main_500), 0.2);
}

.l-sidebar-sec.is-ranking .l-sidebar-sec__list-img img {
  border-radius: 6px;
}

.l-sidebar-sec.is-ranking .l-sidebar-sec__list-head {
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

@media all and (min-width: 768px) {
  .l-sidebar {
    grid-template-rows: auto 1fr;
    gap: 30px 0;
  }

  .l-sidebar-sec {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .l-sidebar-sec__head {
    font-size: 1.8rem;
  }

  .l-sidebar-sec.is-category .l-sidebar-sec__list-link {
    font-size: 1.4rem;
  }

  .l-sidebar-sec.is-ranking .l-sidebar-sec__list {
    margin-top: 24px;
  }

  .l-sidebar-sec.is-ranking .l-sidebar-sec__list-link {
    grid-template-columns: 87px 1fr;
    gap: 0 8px;
  }

  .l-sidebar-sec.is-ranking .l-sidebar-sec__list-head {
    font-size: 1.3rem;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-sidebar-sec__list-link {
    transition: all 0.3s ease;
  }

  .l-sidebar-sec__list-link:hover {
    border-bottom: 1px solid rgb(var(--main_500)) !important;
  }
}
.js-c-anime-elem[data-anime=fadein-up] {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

.js-c-anime-elem[data-anime=fadein-up].is-animated {
  opacity: 1;
  transform: translateY(0);
}

.js-c-anime-elem[data-anime=fadein-left] {
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s ease;
}

.js-c-anime-elem[data-anime=fadein-left].is-animated {
  opacity: 1;
  transform: translateX(0);
}

.js-c-anime-elem[data-anime=fadein-right] {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s ease;
}

.js-c-anime-elem[data-anime=fadein-right].is-animated {
  opacity: 1;
  transform: translateX(0);
}

.js-c-anime-elem[data-anime-delay="0.1"] {
  transition-delay: 0.1s;
}

.js-c-anime-elem[data-anime-delay="0.2"] {
  transition-delay: 0.2s;
}

.js-c-anime-elem[data-anime-delay="0.3"] {
  transition-delay: 0.3s;
}

.js-c-anime-elem[data-anime-delay="0.4"] {
  transition-delay: 0.4s;
}

.js-c-anime-elem[data-anime-delay="0.5"] {
  transition-delay: 0.5s;
}

.js-c-anime-elem[data-anime-delay="0.6"] {
  transition-delay: 0.6s;
}

.js-c-anime-elem[data-anime-delay="0.7"] {
  transition-delay: 0.7s;
}

.js-c-anime-elem[data-anime-delay="0.8"] {
  transition-delay: 0.8s;
}

.js-c-anime-elem[data-anime-delay="0.9"] {
  transition-delay: 0.9s;
}

.js-c-anime-elem[data-anime-delay="1"] {
  transition-delay: 1s;
}

.js-c-anime-elem[data-anime-delay="1.1"] {
  transition-delay: 1.1s;
}

.js-c-anime-elem[data-anime-delay="1.2"] {
  transition-delay: 1.2s;
}

.js-c-anime-elem[data-anime-delay="1.3"] {
  transition-delay: 1.3s;
}

.js-c-anime-elem[data-anime-delay="1.4"] {
  transition-delay: 1.4s;
}

.js-c-anime-elem[data-anime-delay="1.5"] {
  transition-delay: 1.5s;
}

.js-c-anime-elem[data-anime-delay="1.6"] {
  transition-delay: 1.6s;
}

.js-c-anime-elem[data-anime-delay="1.7"] {
  transition-delay: 1.7s;
}

.js-c-anime-elem[data-anime-delay="1.8"] {
  transition-delay: 1.8s;
}

.js-c-anime-elem[data-anime-delay="1.9"] {
  transition-delay: 1.9s;
}

.js-c-anime-elem[data-anime-delay="2"] {
  transition-delay: 2s;
}

.js-c-switch-tab {
  cursor: pointer;
}

.js-c-switch-content {
  display: none;
}

.js-c-switch-content.is-active {
  display: block;
}

.js-c-toggle-trigger {
  cursor: pointer;
}

.js-c-toggle-content {
  display: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/**
 * Swiper 8.4.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 21, 2022
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* swiper
================================================ */
/* 自動で流れるスライド */
.swiper-auto-flow {
  transition-timing-function: linear;
}

.swiper-slide-parallax {
  overflow: hidden;
}

.swiper-slide-parallax img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  width: 100%;
}

@supports (aspect-ratio: 1/1.3) {
  .swiper-slide-parallax img {
    aspect-ratio: 1/1.3;
  }
}
/* c-slider01 スライダー共通パーツ：ボタンとページネーション
================================================ */
.c-slider01__controller {
  display: grid;
  width: 147px;
  margin: 0 auto;
  grid-template-columns: 42px 1fr 42px;
  place-items: center;
}

.c-slider01__btn {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--secondary_500), 0.15);
  border-radius: 999px;
}

.c-slider01__btn-ico {
  width: 14px;
  height: 11px;
  background: #474747;
}

.c-slider01__btn.is-prev {
  transform: scale(-1, 1);
}

.c-slider01__pagination {
  display: flex;
  justify-content: center;
  color: rgba(var(--secondary_500), 0.3);
}

.c-slider01__pagination .swiper-pagination-current {
  color: rgb(var(--secondary_500));
}

@media all and (min-width: 768px) {
  .c-slider01__controller {
    display: grid;
    width: 173px;
    margin: 0 auto;
    grid-template-columns: 55px 1fr 55px;
    place-items: center;
  }

  .c-slider01__btn {
    width: 55px;
    height: 55px;
  }

  .c-slider01__btn-ico {
    width: 19px;
    height: 14px;
  }

  .c-slider01__pagination {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .c-slider01__btn {
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .c-slider01__btn:hover {
    border-color: rgb(var(--secondary_500));
  }
}
.c-slider01__controller.is-white .c-slider01__btn {
  border-color: rgba(255, 255, 255, 0.15);
}

.c-slider01__controller.is-white .c-slider01__btn-ico {
  background: #fff;
}

.c-slider01__controller.is-white .c-slider01__pagination {
  color: rgba(255, 255, 255, 0.3);
}

.c-slider01__controller.is-white .c-slider01__pagination .swiper-pagination-current {
  color: #fff;
}

@media (min-width: 768px) and (hover: hover) {
  .c-slider01__controller.is-white .c-slider01__btn:hover {
    border-color: #fff;
  }
}
/* arcade-department
------------------------------------- */
.arcade-department__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.arcade-department__head {
  margin-bottom: 30px;
}

.arcade-department__list {
  display: grid;
  gap: 30px 0;
}

@media all and (min-width: 768px) {
  .arcade-department__inner {
    padding-top: 130px;
    padding-bottom: 120px;
  }

  .arcade-department__head {
    margin-bottom: 80px;
  }

  .arcade-department__list {
    gap: 40px 0;
  }
}
/* arcade-feature
------------------------------------- */
.arcade-feature {
  background: rgba(71, 71, 71, 0.09);
}

.arcade-feature__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.arcade-feature__head {
  margin-bottom: 30px;
}

.arcade-feature__list {
  display: grid;
  gap: 30px 0;
}

.arcade-feature__item-img {
  margin-bottom: 15px;
}

.arcade-feature__item-img img {
  width: 100%;
  border-radius: 6px;
}

.arcade-feature__item-txt {
  display: grid;
  align-items: center;
  position: relative;
  padding-left: 41px;
  min-height: 40px;
}

.arcade-feature__item-txt-num {
  position: absolute;
  left: 0;
  top: 20px;
  font-size: 2.7rem;
  color: rgb(var(--accent_1_500));
}

@media all and (min-width: 768px) {
  .arcade-feature__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .arcade-feature__head {
    margin-bottom: 80px;
  }

  .arcade-feature__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }

  .arcade-feature__item-img {
    margin-bottom: 10px;
  }

  .arcade-feature__item-txt {
    align-items: start;
    padding-left: 44px;
    min-height: 52px;
  }

  .arcade-feature__item-txt-num {
    top: 24px;
    font-size: 2.9rem;
  }

  .arcade-feature__item-txt-main {
    margin-top: 12px;
  }
}
/* arcade-bnr
------------------------------------- */
.arcade-bnr__inner {
  padding: 70px 10px 60px;
}

.arcade-bnr__item {
  position: relative;
}

.arcade-bnr__item-inner {
  display: grid;
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  box-sizing: border-box;
  padding: 60px 20px 15px 20px;
  transform: translateY(-50%);
  z-index: 1;
}

.arcade-bnr__item-head {
  font-size: 2.6rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  color: #fff;
  margin-bottom: 10px;
}

.arcade-bnr__item-txt {
  color: #fff;
  margin-bottom: 20px;
}

.arcade-bnr__item-btn {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 999px;
  box-sizing: border-box;
  border: 5px solid rgba(71, 71, 71, 0.4);
  margin-left: auto;
  margin-right: 0;
}

.arcade-bnr__item-btn-ico {
  width: 14px;
  height: 11px;
  background: #474747;
}

.arcade-bnr__item-bg {
  position: relative;
}

.arcade-bnr__item-bg img {
  width: 100%;
}

.arcade-bnr__item-bg::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}

@media all and (min-width: 768px) {
  .arcade-bnr__inner {
    padding: 120px 0 120px;
  }

  .arcade-bnr__item-inner {
    padding: 126px 20px 20px 80px;
  }

  .arcade-bnr__item-head {
    font-size: 4rem;
    margin-bottom: 20px;
  }

  .arcade-bnr__item-btn {
    width: 55px;
    height: 55px;
  }

  .arcade-bnr__item-btn-ico {
    width: 19px;
    height: 14px;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .arcade-bnr__item-btn, .arcade-bnr__item-bg::before {
    transition: all 0.3s ease;
  }

  .arcade-bnr__item-link:hover .arcade-bnr__item-btn {
    border-color: rgba(71, 71, 71, 0);
  }

  .arcade-bnr__item-link:hover .arcade-bnr__item-bg::before {
    opacity: 0.2;
  }
}
/* column-pickup
------------------------------------- */
.column-pickup {
  margin-top: 20px;
  background: rgb(var(--bg_500));
}

.column-pickup__inner {
  padding-top: 60px;
  padding-bottom: 70px;
  margin: 0 20px;
}

@media all and (min-width: 768px) {
  .column-pickup__inner {
    padding-top: 120px;
    padding-bottom: 120px;
    margin: 0 auto;
  }
}
/* column-archive
------------------------------------- */
.column-archive__inner {
  display: grid;
  gap: 60px 0;
  padding-top: 60px;
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .column-archive__inner {
    grid-template-columns: 1fr var(--sidebar_width);
    gap: 0 50px;
    padding-top: 120px;
    padding-bottom: 150px;
  }
}
/* column-single
------------------------------------- */
.column-single__inner {
  display: grid;
  padding-top: 60px;
  padding-bottom: 60px;
}

.column-single__sidebar {
  margin-top: 60px;
}

@media all and (min-width: 768px) {
  .column-single__inner {
    grid-template-columns: 1fr var(--sidebar_width);
    gap: 0 50px;
    padding-top: 120px;
    padding-bottom: 200px;
  }

  .column-single__pager {
    grid-column: 1/3;
    grid-row: 2/3;
  }

  .column-single__sidebar {
    margin-top: 0;
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
/* .environment-declaration
================================================ */
.environment-declaration {
  background-color: rgb(var(--gray_500));
  margin-top: 20px;
}

.environment-declaration__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.environment-declaration__head-wrapper {
  margin-bottom: 30px;
}

.environment-declaration__head-en {
  color: #bbbbbb;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.environment-declaration__box {
  background: rgba(var(--gray_500));
  padding: 30px 20px;
}

.environment-declaration__box-txt {
  margin-bottom: 25px;
}

.environment-declaration__box-area-img {
  padding: 30px 21px 39px;
  background: white;
}

.environment-declaration__box-area-img-bnr {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.environment-declaration__box-area-img-cross {
  position: relative;
  width: 20px;
  height: 20px;
  margin: 30px auto 10px;
}

.environment-declaration__box-area-img-cross::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 20px;
  height: 2px;
  background: #d9d9d9;
  transform: rotate(45deg);
  vertical-align: middle;
}

.environment-declaration__box-area-img-cross::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 20px;
  height: 2px;
  background: #d9d9d9;
  transform: rotate(135deg);
}

@media all and (min-width: 768px) {
  .environment-declaration__inner {
    padding-top: 120px;
    padding-bottom: 130px;
  }

  .environment-declaration__head {
    text-align: center;
  }

  .environment-declaration__head-wrapper {
    margin-bottom: 80px;
  }

  .environment-declaration__head-en {
    text-align: center;
    font-size: 1.8rem;
  }

  .environment-declaration__box {
    margin-left: -80px;
    margin-right: -80px;
    padding: 60px 80px;
  }

  .environment-declaration__box-txt {
    text-align: center;
    margin-bottom: 30px;
  }

  .environment-declaration__box-area-img {
    display: flex;
    align-items: center;
    padding: 60px 83px;
  }

  .environment-declaration__box-area-img-cross {
    width: 50px;
  }

  .environment-declaration__box-area-img-cross::before {
    width: 50px;
  }

  .environment-declaration__box-area-img-cross::after {
    width: 50px;
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .environment-declaration__box {
    margin-left: 0;
    margin-right: 0;
    padding: 60px 40px;
  }
}
/* .environment-vision
================================================ */
.environment-vision__inner {
  padding-top: 55px;
  padding-bottom: 60px;
}

.environment-vision__head-wrapper {
  margin-bottom: 30px;
}

.environment-vision__head-en {
  color: #bbbbbb;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

@media all and (min-width: 768px) {
  .environment-vision__inner {
    padding-top: 100px;
    padding-bottom: 125px;
  }

  .environment-vision__head {
    text-align: center;
  }

  .environment-vision__head-wrapper {
    margin-bottom: 80px;
  }

  .environment-vision__head-en {
    text-align: center;
    font-size: 1.8rem;
  }

  .environment-vision__head-mini {
    font-size: 50px;
  }
}
/* .environment-initiative
================================================ */
.environment-initiative {
  background: rgba(var(--gray_500));
}

.environment-initiative__inner {
  padding-top: 60px;
  padding-bottom: 59px;
}

.environment-initiative__head-wrapper {
  margin-bottom: 30px;
}

.environment-initiative__head-en {
  color: #bbbbbb;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.environment-initiative-list__item-head {
  display: flex;
  margin-bottom: 25px;
}

.environment-initiative-list__item-head-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  margin-right: 10px;
  background: rgb(var(--accent_1_500));
  color: white;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
}

.environment-initiative-list__item-head-txt {
  width: calc(100% - 44px);
  font-size: 2.7rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.environment-initiative-list__item-txt {
  margin-bottom: 30px;
}

.environment-initiative-list__item-area-img {
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: 50px;
}

.environment-initiative-list__item-area-img div:nth-child(2n+1) {
  margin-left: -20px;
  margin-right: auto;
  min-width: 355px;
}

.environment-initiative-list__item-area-img div:nth-child(2n) {
  margin-left: auto;
  min-width: 335px;
}

.environment-initiative-list__item-area-img div:nth-child(2n+1) img {
  border-radius: 0 9px 9px 0;
}

.environment-initiative-list__item-area-img div:nth-child(2n) img {
  border-radius: 9px 0 0 9px;
}

.environment-initiative-list__item-img + .environment-initiative-list__item-img {
  margin-top: 20px;
}

.environment-initiative-list__item-img {
  width: 80%;
}

.environment-initiative__classification {
  margin: 0 -20px 30px;
}

.environment-initiative__classification-table {
  width: 100%;
  margin: 0 auto 20px;
  border-collapse: collapse;
}

.environment-initiative__classification-table thead {
  width: 100%;
  text-align: center;
}

.environment-initiative__classification-table thead th {
  width: 50%;
  padding: 16px 30px;
  background-color: rgb(var(--accent_1_500));
  color: white;
  border-right: 1px solid #bbbbbb;
}

.environment-initiative__classification-table thead th:last-child {
  border-right: none;
}

.environment-initiative__classification-table tbody td {
  width: 50%;
  padding: 19px 10px;
  background-color: white;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #bbbbbb;
  border-bottom: 1px solid #bbbbbb;
}

.environment-initiative__classification-table tbody td:last-child {
  border-right: none;
}

.environment-initiative__classification-table tbody tr:last-child td {
  border-bottom: none;
}

.environment-initiative__classification-txt {
  padding-left: 20px;
  padding-right: 20px;
}

.environment-initiative__receivables-head {
  margin-bottom: 15px;
  font-size: 2rem;
  font-weight: 700;
}

.environment-initiative__receivables table {
  margin-bottom: 20px;
}

.environment-initiative__receivables th {
  line-height: var(--line_height_head);
}

.environment-initiative__receivables td {
  line-height: var(--line_height_head);
}

.environment-initiative__receivables-txt {
  padding-left: 1em;
  text-indent: -1em;
  color: rgb(var(--gray_700));
  font-size: 1.4rem;
  line-height: var(--line_height_head);
}

@media all and (min-width: 768px) {
  .environment-initiative__inner {
    padding-top: 115px;
    padding-bottom: 40px;
  }

  .environment-initiative__head {
    text-align: center;
  }

  .environment-initiative__head-wrapper {
    margin-bottom: 80px;
  }

  .environment-initiative__head-en {
    text-align: center;
    font-size: 1.8rem;
  }

  .environment-initiative-list__item {
    margin-bottom: 80px;
  }

  .environment-initiative-list__item-head {
    margin-bottom: 40px;
  }

  .environment-initiative-list__item-head-num {
    width: 60px;
    height: 60px;
    margin-right: 20px;
    font-size: 2.1rem;
  }

  .environment-initiative-list__item-head-txt {
    font-size: 4.7rem;
  }

  .environment-initiative-list__item-txt {
    margin-bottom: 36px;
  }

  .environment-initiative-list__item-area-img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: auto;
  }

  .environment-initiative-list__item-area-img div:nth-child(2n+1) {
    margin-left: 0;
    margin-right: auto;
    min-width: initial;
  }

  .environment-initiative-list__item-area-img div:nth-child(2n+1) img {
    min-width: initial;
    height: auto;
  }

  .environment-initiative-list__item-area-img div:nth-child(2n) {
    margin-left: auto;
    min-width: initial;
  }

  .environment-initiative-list__item-img {
    width: 100%;
  }

  .environment-initiative-list__item-img + .environment-initiative-list__item-img {
    margin-top: 0;
  }

  .environment-initiative__classification {
    max-width: 1100px;
    margin: 0 auto 60px;
  }

  .environment-initiative__classification-table {
    margin-bottom: 30px;
  }

  .environment-initiative__classification__txt {
    padding-left: 0;
  }
}
/* .environment-column
================================================ */
.environment-column__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.environment-column__head {
  margin-bottom: 25px;
  font-size: 2.7rem;
}

@media all and (min-width: 768px) {
  .environment-column__inner {
    padding: 120px 20px 150px 20px;
    box-sizing: border-box;
    max-width: 1740px;
  }

  .environment-column__head {
    text-align: center;
    margin-bottom: 63px;
    font-size: 4.7rem;
  }
}
/* .error-page404
================================================ */
.error-page404__inner {
  padding-top: 50px;
  padding-bottom: 50px;
}

.error-page404__btn {
  margin-top: 40px;
}

@media all and (min-width: 768px) {
  .error-page404__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .error-page404__btn {
    margin-top: 60px;
  }
}
/* feature-intro
------------------------------------- */
.feature-intro {
  position: relative;
  margin-top: 30px;
}

.feature-intro::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(var(--bg_500));
  z-index: -1;
}

.feature-intro::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/feature/bg_intro01.png) no-repeat center bottom/contain;
  z-index: -1;
}

.feature-intro__inner {
  padding-top: 60px;
  padding-bottom: 70px;
}

.feature-intro__head {
  margin-bottom: 30px;
}

.feature-intro__txt {
  margin-bottom: 18px;
}

@media all and (min-width: 768px) {
  .feature-intro.is-animated::before {
    width: 100%;
  }

  .feature-intro::before {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    width: calc(100% - 40px);
    height: 100%;
    transform: translateX(-50%);
    z-index: -1;
    transition: all 0.3s ease;
  }

  .feature-intro__inner {
    padding-top: 150px;
    padding-bottom: 160px;
  }

  .feature-intro__head {
    text-align: center;
    margin-bottom: 70px;
  }

  .feature-intro__img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }

  .feature-intro__txt {
    margin-bottom: 68px;
    text-align: center;
  }
}
/* feature-merit
------------------------------------- */
.feature-merit__inner {
  padding-top: 60px;
}

.feature-merit__head {
  margin-bottom: 30px;
}

.feature-merit__content {
  display: grid;
  gap: 50px 0;
}

@media all and (min-width: 768px) {
  .feature-merit__inner {
    padding-top: 150px;
  }

  .feature-merit__head {
    margin-bottom: 80px;
    text-align: center;
  }

  .feature-merit__content {
    gap: 130px 0;
  }
}
/* c-feature-set
------------------------------------- */
.c-feature-set {
  display: grid;
  gap: 20px 0;
}

.c-feature-set__head-num {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: rgb(var(--accent_1_500));
  border: 4px solid rgba(255, 255, 255, 0.1);
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  border-radius: 999px;
  margin-bottom: 15px;
}

.c-feature-set__head-main {
  font-size: 2.7rem;
  color: rgb(var(--main_500));
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.c-feature-set__img img {
  border-radius: 6px;
}

.c-feature-set__btn {
  margin-top: 30px;
}

.c-feature-set__btn-wrap {
  margin-top: 30px;
}

.c-feature-set__btn-wrap .c-feature-set__btn {
  margin-top: 0;
}

.c-feature-set__btn-wrap .c-feature-set__btn + .c-feature-set__btn {
  margin-top: 15px;
}

@media all and (min-width: 768px) {
  .c-feature-set {
    grid-template-rows: auto 1fr;
    gap: 40px 50px;
    grid-template-columns: repeat(2, 1fr);
  }

  .c-feature-set:nth-child(odd) {
    margin-right: -30px;
  }

  .c-feature-set:nth-child(odd) .c-feature-set__img {
    grid-column: 2/3;
  }

  .c-feature-set:nth-child(even) {
    margin-left: -30px;
  }

  .c-feature-set:nth-child(even) .c-feature-set__img {
    grid-column: 1/2;
  }

  .c-feature-set__head-num {
    width: 60px;
    height: 60px;
    font-size: 2.1rem;
    margin-bottom: 25px;
  }

  .c-feature-set__head-main {
    font-size: 4.4rem;
  }

  .c-feature-set__img {
    grid-row: 1/3;
  }

  .c-feature-set__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 30px -7px -15px;
  }

  .c-feature-set__btn-wrap .c-feature-set__btn {
    margin: 0 7px 15px;
    max-width: 320px;
  }

  .c-feature-set__btn-wrap .c-feature-set__btn + .c-feature-set__btn {
    margin: 0 7px 15px;
  }
}
@media all and (min-width: 1160px) {
  .c-feature-set:nth-child(odd) {
    grid-template-columns: 670px 1fr;
    margin-right: calc((50vw - 50%) * -1 + 20px);
  }

  .c-feature-set:nth-child(even) {
    grid-template-columns: 1fr 670px;
    margin-left: calc((50vw - 50%) * -1 + 20px);
  }
}
/* feature-service
------------------------------------- */
.feature-service__inner {
  padding-top: 60px;
  margin-bottom: 80px;
}

.feature-service__head {
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .feature-service__inner {
    padding: 150px 20px;
    max-width: 100%;
  }

  .feature-service__head {
    text-align: center;
    margin-bottom: 80px;
  }
}
/* feature-bg
------------------------------------- */
.feature-bg {
  position: absolute;
  display: grid;
  align-items: center;
  overflow: hidden;
  width: 100%;
  z-index: -1;
  top: 44px;
}

.feature-bg img {
  width: 1577px;
  max-width: 140%;
}

@media all and (min-width: 768px) {
  .feature-bg {
    min-width: var(--contents_width_with_padding);
  }
}
/* feature-message
------------------------------------- */
.feature-message {
  width: 100%;
  position: absolute;
  top: 0;
  padding-top: 60px;
}

.feature-message__txt {
  position: absolute;
  top: 0;
  height: 100%;
  z-index: 0;
  -webkit-mask-image: -webkit-linear-gradient(90deg, black 0%, black 80%, transparent);
  mask-image: -webkit-linear-gradient(90deg, black 0%, black 80%, transparent);
}

.feature-message__txt.is-flow-top {
  background: url(../img/feature/txt_feature01_sp.png) repeat-y right center/100% auto;
  width: 86px;
  right: 0;
  -webkit-animation: message-txt-flow-top-sp 30s linear infinite;
  animation: message-txt-flow-top-sp 30s linear infinite;
}

.feature-message__txt.is-flow-bottom {
  background: url(../img/feature/txt_feature02_sp.png) repeat-y right center/100% auto;
  width: 86px;
  right: 105px;
  -webkit-animation: message-txt-flow-bottom-sp 30s linear infinite;
  animation: message-txt-flow-bottom-sp 30s linear infinite;
}

@media all and (min-width: 768px) {
  .feature-message {
    min-width: var(--contents_width_with_padding);
    padding-top: 0;
  }

  .feature-message__txt.is-flow-top {
    background: url(../img/feature/txt_feature01_pc.png) repeat-y right center/100% auto;
    width: 196px;
    right: 130px;
    -webkit-animation: message-txt-flow-top-pc 30s linear infinite;
    animation: message-txt-flow-top-pc 30s linear infinite;
  }

  .feature-message__txt.is-flow-bottom {
    background: url(../img/feature/txt_feature02_pc.png) repeat-y right center/100% auto;
    width: 202px;
    right: 360px;
    -webkit-animation: message-txt-flow-bottom-pc 30s linear infinite;
    animation: message-txt-flow-bottom-pc 30s linear infinite;
  }
}
/* message-txt animation
================================================== */
@-webkit-keyframes message-txt-flow-top-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -608px;
  }
}
@keyframes message-txt-flow-top-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -608px;
  }
}
@-webkit-keyframes message-txt-flow-bottom-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 959px;
  }
}
@keyframes message-txt-flow-bottom-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 959px;
  }
}
@-webkit-keyframes message-txt-flow-top-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -1431px;
  }
}
@keyframes message-txt-flow-top-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -1431px;
  }
}
@-webkit-keyframes message-txt-flow-bottom-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 2265px;
  }
}
@keyframes message-txt-flow-bottom-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 2265px;
  }
}
/* .home-message
================================================ */
.home-message {
  position: relative;
}

.home-message__inner {
  padding-top: 55px;
  padding-bottom: 150px;
}

.home-message__head {
  margin-bottom: 26px;
}

.home-message__txt {
  font-size: 1.7rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.home-message__txt + .home-message__txt {
  margin-top: 2em;
}

.home-message__bg {
  position: absolute;
  background: url(../img/home/txt_message01_sp.png) repeat-x center top/auto 100%;
  left: 0;
  width: 100%;
  height: 33px;
  z-index: -1;
}

.home-message__bg.is-flow-right {
  bottom: 68px;
  -webkit-animation: message-txt-flow-right-sp 70s linear infinite;
  animation: message-txt-flow-right-sp 70s linear infinite;
}

.home-message__bg.is-flow-left {
  bottom: 21px;
  -webkit-animation: message-txt-flow-left-sp 70s linear infinite;
  animation: message-txt-flow-left-sp 70s linear infinite;
}

@media all and (min-width: 768px) {
  .home-message__inner {
    padding-top: 142px;
    padding-bottom: 253px;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 0 190px;
    max-width: 1000px;
  }

  .home-message__head {
    margin-bottom: 0;
  }

  .home-message__txt {
    font-size: 2.5rem;
  }

  .home-message__bg {
    background: url(../img/home/txt_message01_pc.png) repeat-x center top/auto 100%;
    height: 61px;
  }

  .home-message__bg.is-flow-right {
    bottom: 115px;
    -webkit-animation: message-txt-flow-right-pc 70s linear infinite;
    animation: message-txt-flow-right-pc 70s linear infinite;
  }

  .home-message__bg.is-flow-left {
    bottom: 25px;
    -webkit-animation: message-txt-flow-left-pc 70s linear infinite;
    animation: message-txt-flow-left-pc 70s linear infinite;
  }
}
/* message-txt animation
================================================== */
@-webkit-keyframes message-txt-flow-right-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2280px 0;
  }
}
@keyframes message-txt-flow-right-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2280px 0;
  }
}
@-webkit-keyframes message-txt-flow-right-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2357px 0;
  }
}
@keyframes message-txt-flow-right-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2357px 0;
  }
}
@-webkit-keyframes message-txt-flow-left-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 2280px 0;
  }
}
@keyframes message-txt-flow-left-sp {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 2280px 0;
  }
}
@-webkit-keyframes message-txt-flow-left-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 2357px 0;
  }
}
@keyframes message-txt-flow-left-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 2357px 0;
  }
}
/* .home-merit
================================================ */
.home-merit {
  position: relative;
  background: url(../img/home/bg_merit01_sp.jpg) repeat top right/cover;
  border-radius: 3px;
}

.home-merit::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: url(../img/home/bg_merit01_deco_sp.png) no-repeat top right/288px;
}

.home-merit__inner {
  position: relative;
  padding-top: 70px;
  padding-bottom: 70px;
  z-index: 1;
}

.home-merit__head {
  display: -moz-inline-grid;
  display: inline-grid;
  color: #fff;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  font-weight: 700;
  margin-bottom: 40px;
}

.home-merit__head-prefix {
  font-size: 1.8rem;
}

.home-merit__head-main {
  margin-top: 8px;
  font-size: 3.5rem;
}

.home-merit__head-prefix, .home-merit__head-main {
  display: inline-block;
  position: relative;
}

.home-merit__head-prefix::before, .home-merit__head-main::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -5px;
  left: 0;
  background: #fff;
}

.home-merit__content {
  height: 500vh;
  display: grid;
}

.home-merit__content-inner {
  display: grid;
  position: -webkit-sticky;
  position: sticky;
  top: 12vh;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  bottom: 0;
  z-index: 5;
}

.home-merit__content-item {
  position: relative;
  padding-top: 50px;
  grid-area: 1/1;
  max-width: 600px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  transition: all 0.5s ease;
}

.home-merit__content-item[data-merit-slide=invisible] {
  opacity: 0;
  pointer-events: none;
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(1) {
  z-index: 3;
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(1) .home-merit__content-item-img-inner {
  transform: rotate(6deg) translateY(-100px);
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(2) {
  z-index: 2;
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(2) .home-merit__content-item-img-inner {
  transform: rotate(-4deg) translateY(-100px);
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(3) {
  z-index: 1;
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(3) .home-merit__content-item-img-inner {
  transform: rotate(0) translateY(-100px);
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(4) {
  z-index: 0;
}

.home-merit__content-item[data-merit-slide=invisible]:nth-child(4) .home-merit__content-item-img-inner {
  transform: rotate(4deg) translateY(-100px);
}

.home-merit__content-item[data-merit-slide=behind] .home-merit__content-item-img img {
  opacity: 0.2;
}

.home-merit__content-item[data-merit-slide=behind] .home-merit__content-item-txt {
  opacity: 0;
}

.home-merit__content-item:nth-child(1) {
  z-index: 3;
}

.home-merit__content-item:nth-child(1) .home-merit__content-item-img-inner {
  transform: rotate(6deg);
}

.home-merit__content-item:nth-child(2) {
  z-index: 2;
}

.home-merit__content-item:nth-child(2) .home-merit__content-item-img-inner {
  transform: rotate(-4deg);
}

.home-merit__content-item:nth-child(3) {
  z-index: 1;
}

.home-merit__content-item:nth-child(3) .home-merit__content-item-img-inner {
  transform: rotate(0);
}

.home-merit__content-item:nth-child(4) {
  z-index: 0;
}

.home-merit__content-item:nth-child(4) .home-merit__content-item-img-inner {
  transform: rotate(4deg);
}

.home-merit__content-item-num {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  color: #fff;
  background: rgb(var(--accent_1_500));
  border: 4px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
}

.home-merit__content-item-img {
  padding: 0 55px 36px;
}

.home-merit__content-item-img-inner {
  transition: all 0.5s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.home-merit__content-item-img-inner::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #313131;
  z-index: -1;
}

.home-merit__content-item-txt {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding-left: 35px;
}

.home-merit__detail {
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 40px 22px 30px;
  margin-bottom: 30px;
}

.home-merit__detail-head {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 11px;
}

.home-merit__detail-txt {
  color: #fff;
  opacity: 0.7;
  margin-bottom: 14px;
}

@media all and (min-width: 768px) {
  .home-merit {
    background: url(../img/home/bg_merit01_pc.jpg) repeat-y bottom center/cover;
    border-radius: 6px;
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
    transition: all 0.3s ease;
  }

  .home-merit::before {
    background: url(../img/home/bg_merit01_deco_pc.png) no-repeat top right/1156px;
  }

  .home-merit::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/home/bg_merit02_deco_pc.png) no-repeat bottom center/contain;
    z-index: 0;
  }

  .home-merit.is-animated {
    width: 100%;
    border-radius: 0;
  }

  .home-merit__inner {
    padding-top: 260px;
    padding-bottom: 200px;
  }

  .home-merit__head {
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
    margin-bottom: 0;
  }

  .home-merit__head.is-invisible {
    transition: all 0.3s ease !important;
    opacity: 0 !important;
    transform: translateY(-20px) !important;
  }

  .home-merit__head-prefix {
    font-size: 4rem;
  }

  .home-merit__head-main {
    font-size: 7rem;
  }

  .home-merit__head-prefix::before, .home-merit__head-main::before {
    bottom: -8px;
  }

  .home-merit__content {
    height: 400vh;
    height: calc(var(--vh, 1vh) * 400);
  }

  .home-merit__content[data-tb=false] .home-merit__content-inner {
    align-items: center;
    top: 0;
  }

  .home-merit__content[data-tb=false] .home-merit__content-item {
    display: grid;
    align-items: center;
    grid-template-columns: repeat(2, 1fr);
    padding-top: 0;
    max-width: 100%;
    margin: 0;
  }

  .home-merit__content[data-tb=false] .home-merit__content-item-num {
    top: 106px;
    width: 80px;
    height: 80px;
    font-size: 2.8rem;
    border: 6px solid rgba(255, 255, 255, 0.1);
  }

  .home-merit__content[data-tb=false] .home-merit__content-item-img {
    grid-column: 2/3;
    grid-row: 1/1;
    padding: 0 0 0 55px;
  }

  .home-merit__content[data-tb=false] .home-merit__content-item-txt {
    grid-column: 1/2;
    grid-row: 1/1;
    font-size: 3.2rem;
    padding-left: 63px;
  }

  .home-merit__content[data-tb=false] .home-merit__content-item[data-merit-slide=invisible] {
    transform: translateY(-40px);
  }

  .home-merit__content[data-tb=false] .home-merit__content-nav {
    position: absolute;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 1em;
    gap: 0 15px;
    color: #fff;
    left: 65px;
    bottom: 32vh;
  }

  .home-merit__content[data-tb=false] .home-merit__content-nav-item {
    display: block;
    position: relative;
    font-size: 1.5rem;
  }

  .home-merit__content[data-tb=false] .home-merit__content-nav-item.is-current {
    transition: all 0.3s ease;
  }

  .home-merit__content[data-tb=false] .home-merit__content-nav-item.is-current::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    left: 0;
    bottom: 0;
    background: #fff;
  }

  .home-merit__detail {
    display: grid;
    grid-template-columns: 410fr 515fr;
    gap: 20px;
    padding: 62px 80px 52px 76px;
    margin-bottom: 70px;
  }

  .home-merit__detail-head {
    font-size: 2.6rem;
    margin-bottom: 0;
  }

  .home-merit__detail-txt {
    grid-column: 2/3;
    grid-row: 1/3;
    opacity: 1;
    margin-bottom: 0;
  }
}
/* .home-service
================================================ */
.home-service__inner {
  padding-top: 52px;
}

.home-service__header {
  margin-bottom: 35px;
}

.home-service__head {
  margin-bottom: 18px;
}

@media all and (min-width: 768px) {
  .home-service__inner {
    padding: 0 20px;
    padding-top: 160px;
    max-width: 100%;
  }

  .home-service__header {
    display: grid;
    grid-template-columns: 1fr 580px;
    gap: 0 20px;
    max-width: 1700px;
    margin: 0 auto;
    margin-bottom: 57px;
  }

  .home-service__head {
    margin-bottom: 0;
  }
}
/* .home-product
================================================ */
.home-product {
  overflow-x: hidden;
}

.home-product__inner {
  padding-top: 52px;
  padding-bottom: 70px;
}

.home-product__head {
  margin-bottom: 18px;
}

.home-product__txt {
  margin-bottom: 35px;
}

.home-product__slider {
  margin: 0 -20px;
  margin-bottom: 20px;
}

.home-product__controller {
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .home-product__inner {
    position: relative;
    max-width: 1760px;
    padding: 160px 30px;
  }

  .home-product__header {
    display: grid;
    grid-template-columns: 1fr 580px;
    gap: 0 20px;
    margin: 0 auto;
    margin-bottom: 57px;
  }

  .home-product__head {
    margin-bottom: 0;
  }

  .home-product__txt {
    margin-bottom: 0;
  }

  .home-product__slider {
    margin: 0 -16px;
    margin-bottom: 70px;
  }

  .home-product__controller {
    position: absolute;
    bottom: 177px;
    right: 30px;
    margin-bottom: 0;
  }
}
/* .home-case
================================================ */
.home-case {
  overflow: hidden;
  background: rgba(71, 71, 71, 0.09);
}

.home-case__inner {
  padding-top: 52px;
  padding-bottom: 70px;
}

.home-case__head {
  margin-bottom: 20px;
}

.home-case__cat {
  margin-bottom: 35px;
}

.home-case__slider {
  margin-bottom: 30px;
}

.home-case__controller {
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .home-case__inner {
    position: relative;
    max-width: 1760px;
    padding: 160px 30px;
  }

  .home-case__header {
    display: grid;
    grid-template-columns: 1fr 580px;
    gap: 0 20px;
    margin: 0 auto;
    margin-bottom: 58px;
  }

  .home-case__head {
    margin-bottom: 0;
  }

  .home-case__cat {
    margin-bottom: 0;
  }

  .home-case__slider {
    margin: 0 -16px;
    margin-bottom: 76px;
  }

  .home-case__controller {
    position: absolute;
    bottom: 177px;
    right: 30px;
    margin-bottom: 0;
  }
}
/* .home-column
================================================ */
.home-column__inner {
  padding-top: 50px;
  padding-bottom: 70px;
}

.home-column__head {
  margin-bottom: 20px;
}

.home-column__archive {
  margin-bottom: 40px;
}

@media all and (min-width: 768px) {
  .home-column__inner {
    display: grid;
    grid-template-columns: 360px 1fr;
    grid-template-rows: 1fr auto;
    gap: 0 40px;
    max-width: 1760px;
    padding: 160px 30px 218px;
  }

  .home-column__archive {
    max-width: 1000px;
    margin-left: auto;
    margin-right: 0;
    margin-top: 14px;
    margin-bottom: 0;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
/* .inquiry-tel
================================================ */
.inquiry-tel__inner {
  margin-top: 50px;
}

.inquiry-tel__detail {
  padding: 30px 20px;
  background: #D9D9D9;
}

.inquiry-tel__detail-btn-wrap {
  display: grid;
  gap: 20px 0;
  margin-bottom: 15px;
}

.inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-in {
  display: block;
  background: #fff;
  border-radius: 6px;
  padding: 21px 26px 13px;
}

.inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-num {
  display: grid;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 7px;
  grid-template-columns: 36px 1fr;
  gap: 0 3px;
  font-size: 2.6rem;
  color: rgb(var(--accent_1_500));
}

.inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-txt-ico {
  display: block;
}

.inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-txt {
  font-size: 1.2rem;
  text-align: center;
}

.inquiry-tel__detail-btn:not(.has-link) {
  padding: 20px;
  border: 1px solid #bbb;
}

.inquiry-tel__detail-btn:not(.has-link) .inquiry-tel__detail-btn-head {
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  text-align: center;
  margin-bottom: 5px;
}

.inquiry-tel__detail-btn:not(.has-link) .inquiry-tel__detail-btn-txt {
  text-align: center;
  font-weight: 700;
}

.inquiry-tel__detail-btn:not(.has-link) .inquiry-tel__detail-btn-txt-suffix {
  font-size: 1.4rem;
}

@media all and (min-width: 768px) {
  .inquiry-tel__inner {
    margin-top: 70px;
  }

  .inquiry-tel__detail {
    padding: 40px 80px;
  }

  .inquiry-tel__detail-btn-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
    margin-bottom: 40px;
  }

  .inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-in {
    padding: 40px 26px 30px;
  }

  .inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-num {
    margin-bottom: 11px;
    grid-template-columns: 54px 1fr;
    gap: 0 8px;
    font-size: 4rem;
  }

  .inquiry-tel__detail-btn.has-link .inquiry-tel__detail-btn-txt {
    font-size: 1.4rem;
  }

  .inquiry-tel__detail-btn:not(.has-link) {
    padding: 36px 20px;
  }

  .inquiry-tel__detail-btn:not(.has-link) .inquiry-tel__detail-btn-head {
    margin-bottom: 9px;
  }

  .inquiry-tel__detail-txt {
    text-align: center;
  }
}
/* .inquiry-mail
================================================ */
.inquiry-mail__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.inquiry-mail__form-step {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 30px;
}

.inquiry-mail__form-step::before, .inquiry-mail__form-step::after {
  position: absolute;
  content: "";
  top: 20px;
  width: calc(50% - 83px);
  height: 2px;
  background-image: linear-gradient(to right, #888 4px, transparent 4px);
  background-size: 8px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.inquiry-mail__form-step::before {
  left: 50px;
}

.inquiry-mail__form-step::after {
  right: 50px;
}

.inquiry-mail__form-step-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 48px;
}

.inquiry-mail__form-step-item-num {
  font-size: 2.8rem;
  color: rgb(var(--accent_1_500));
  text-align: center;
  line-height: 1.8;
}

.inquiry-mail__form-step-item-txt {
  text-align: center;
}

.inquiry-mail__form-notes {
  margin-bottom: 30px;
}

.inquiry-mail__form-detail {
  background: #fff;
  margin: 0 -20px;
}

.inquiry-mail__form-detail-inner {
  padding: 30px 20px 60px;
}

@media all and (min-width: 768px) {
  .inquiry-mail__inner {
    padding-top: 120px;
    padding-bottom: 150px;
  }

  .inquiry-mail__form-step {
    max-width: 550px;
    margin-bottom: 50px;
  }

  .inquiry-mail__form-step::before, .inquiry-mail__form-step::after {
    top: 44px;
    width: calc(50% - 130px);
  }

  .inquiry-mail__form-step::before {
    left: 75px;
  }

  .inquiry-mail__form-step::after {
    right: 75px;
  }

  .inquiry-mail__form-step-item {
    min-width: 64px;
  }

  .inquiry-mail__form-step-item-num {
    font-size: 4rem;
  }

  .inquiry-mail__form-notes {
    margin-bottom: 50px;
  }

  .inquiry-mail__form-detail {
    margin: 0;
  }

  .inquiry-mail__form-detail-inner {
    padding: 60px 60px 70px;
  }
}
/* .c-inquiry
================================================ */
.c-inquiry-head01 {
  font-size: 2.2rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  text-align: center;
  margin-bottom: 20px;
  color: rgb(var(--main_500));
}

@media all and (min-width: 768px) {
  .c-inquiry-head01 {
    font-size: 3.8rem;
    margin-bottom: 40px;
  }
}
/* .partner-recruitment
================================================ */
.partner-recruitment {
  margin-top: 20px;
  background: rgba(var(--bg_500));
}

.partner-recruitment__inner {
  padding-top: 70px;
  padding-bottom: 60px;
}

.partner-recruitment__head {
  margin-bottom: 30px;
}

.partner-recruitment-box {
  padding: 25px 20px 26px 20px;
  background: #fff;
}

.partner-recruitment-box + .partner-recruitment-box {
  margin-top: 15px;
}

.partner-recruitment-box__head {
  margin-bottom: 23px;
  font-size: 2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.partner-recruitment-box-list__item {
  position: relative;
  padding-left: 13px;
  font-size: 1.6rem;
  line-height: var(--line_height_head);
}

.partner-recruitment-box-list__item + .partner-recruitment-box-list__item {
  margin-top: 13px;
}

.partner-recruitment-box-list__item::before {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background-color: rgb(var(--secondary_500));
  position: absolute;
  top: 8px;
  left: 0;
}

@media all and (min-width: 768px) {
  .partner-recruitment__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .partner-recruitment__head {
    text-align: center;
    margin-bottom: 70px;
  }

  .partner-recruitment__wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .partner-recruitment-box {
    padding: 38px 40px 50px;
  }

  .partner-recruitment-box + .partner-recruitment-box {
    margin-top: 0;
  }

  .partner-recruitment-box__head {
    margin-bottom: 30px;
    font-size: 2.9rem;
  }
}
/* .partner-application
================================================ */
.partner-application__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.partner-application__head {
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .partner-application__inner {
    padding-top: 120px;
    padding-bottom: 150px;
  }

  .partner-application__head {
    text-align: center;
    margin-bottom: 70px;
  }
}
/* products-pickup
------------------------------------- */
.products-pickup {
  overflow: hidden;
}

.products-pickup__inner {
  padding-top: 38px;
}

.products-pickup__slider {
  margin-bottom: 20px;
}

@media all and (min-width: 768px) {
  .products-pickup__inner {
    padding-top: 102px;
    position: relative;
  }

  .products-pickup__slider {
    margin-bottom: 0;
  }

  .products-pickup__controller {
    position: absolute;
    top: 105px;
    right: 0;
  }
}
/* products-search
------------------------------------- */
.products-search__inner {
  padding-top: 60px;
}

@media all and (min-width: 768px) {
  .products-search__inner {
    padding-top: 150px;
  }
}
/* products-archive
------------------------------------- */
.products-archive__inner {
  padding-top: 40px;
}

.products-archive__list {
  display: grid;
  gap: 40px 0;
}

@media all and (min-width: 768px) {
  .products-archive__inner {
    padding-top: 70px;
  }

  .products-archive__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 34px;
  }
}
/* products-navigation
------------------------------------- */
.products-navigation__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .products-navigation__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}
/* c-products
------------------------------------- */
.c-products-head01 {
  font-size: 2.7rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 25px;
}

@media all and (min-width: 768px) {
  .c-products-head01 {
    font-size: 4.7rem;
    margin-bottom: 40px;
  }
}
/* products-intro
------------------------------------- */
.products-intro {
  position: relative;
  z-index: 1;
  margin-top: 50px;
}

.products-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: rgb(var(--bg_500));
  z-index: -1;
}

.products-intro__inner {
  padding-top: 30px;
  padding-bottom: 30px;
}

.products-intro__area-img {
  margin-bottom: 30px;
}

.products-intro__img-main {
  margin-bottom: 10px;
}

.products-intro__img-main-item img {
  width: 100%;
  border-radius: 6px;
  -o-object-fit: contain;
  object-fit: contain;
}

.products-intro__img-sub {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.products-intro__img-sub-item {
  position: relative;
}

.products-intro__img-sub-item::before, .products-intro__img-sub-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #EA5532;
  border-radius: 6px;
  opacity: 0;
  transition: all 0.3s ease;
  box-sizing: border-box;
  z-index: 1;
}

.products-intro__img-sub-item::after {
  background: rgba(71, 71, 71, 0.5);
  z-index: 0;
}

.products-intro__img-sub-item.is-active::before, .products-intro__img-sub-item.is-active::after {
  opacity: 1;
}

.products-intro__img-sub-item img {
  width: 100%;
  border-radius: 6px;
  -o-object-fit: contain;
  object-fit: contain;
}

.products-intro__head {
  margin-bottom: 10px;
  font-size: 2.7rem;
  line-height: var(--line_height_head);
}

.products-intro__tag {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.products-intro__tag-item {
  color: rgb(var(--gray_700));
  margin: 0 20px 8px 0;
  font-size: 1.4rem;
}

.products-intro__tag-item::before {
  content: "#";
}

.products-intro__txt {
  font-size: 1.8rem;
}

.products-intro__btn {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  .products-intro {
    margin-top: 70px;
    overflow: hidden;
  }

  .products-intro::before {
    width: 100%;
    max-width: 1400px;
  }

  .products-intro__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .products-intro__content {
    display: flex;
  }

  .products-intro__area-img {
    order: 2;
    max-width: 510px;
    margin-bottom: 0;
  }

  .products-intro__area-txt {
    flex: 1;
    padding-right: 40px;
  }

  .products-intro__head {
    margin-bottom: 30px;
    font-size: 4.7rem;
  }

  .products-intro__tag {
    margin-bottom: 30px;
  }

  .products-intro__txt {
    font-size: 2rem;
  }

  .products-intro__btn {
    margin-top: 45px;
    margin-left: 0;
  }
}
/* products-detail
------------------------------------- */
.products-detail__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.products-detail__spec {
  margin-top: 60px;
}

.products-detail__special {
  margin-top: 60px;
  padding: 30px 20px;
  background: rgb(var(--bg_500));
}

.products-detail__btn {
  margin-top: 60px;
}

@media all and (min-width: 768px) {
  .products-detail__inner {
    padding-top: 120px;
    padding-bottom: 200px;
  }

  .products-detail__spec {
    margin-top: 80px;
  }

  .products-detail__special {
    margin-top: 80px;
    padding: 50px;
  }

  .products-detail__btn {
    margin-top: 120px;
  }
}
/* products-detail-sec
------------------------------------- */
.products-detail-sec + .products-detail-sec {
  margin-top: 50px;
}

.products-detail-sec__area-txt {
  margin-bottom: 15px;
}

.products-detail-sec__img img {
  border-radius: 6px;
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

@media all and (min-width: 768px) {
  .products-detail-sec {
    display: flex;
  }

  .products-detail-sec__area-txt {
    flex: 1;
    margin-bottom: 0;
  }

  .products-detail-sec__img {
    max-width: 404px;
    margin-left: 40px;
  }
}
/* .service-sec
================================================ */
.service-sec__inner {
  padding-top: 20px;
  padding-bottom: 53px;
}

.service-sec__inner.is-low {
  padding-top: 0;
}

.service-sec__img {
  margin-bottom: 15px;
}

.service-sec-btn {
  margin-bottom: 15px;
}

.service-sec-btn__in {
  grid-template-columns: 1fr 80px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: none !important;
}

.service-sec-btn__txt {
  color: rgb(var(--main_500));
  font-size: 2.7rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  opacity: 1;
}

.service-sec__txt {
  padding-left: 20px;
  padding-right: 20px;
}

@media all and (min-width: 768px) {
  .service-sec__inner {
    width: 100%;
    max-width: 1920px;
    margin: auto;
    padding-bottom: 130px;
  }

  .service-sec__img {
    margin-bottom: -3px;
  }

  .service-sec-btn__in {
    padding-left: 42px !important;
  }

  .service-sec-btn__txt {
    font-size: 6rem !important;
  }

  .service-sec-btn__txt-wrap {
    height: 82px;
    margin-right: 25px;
  }

  .service-sec__txt {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (hover: hover) {
  .service-sec-btn__in:hover .service-btn__ico {
    border: 5px solid white !important;
    background: rgb(var(--gray_700));
  }

  .service-sec-btn__ico, .service-sec-btn__txt {
    transition: all 0.3s ease;
  }
}
/* .service-bnr
================================================ */
.service-bnr {
  padding: 24px 20px 70px;
}

@media all and (min-width: 768px) {
  .service-bnr {
    width: 100%;
    max-width: 1920px;
    box-sizing: border-box;
    margin: auto;
    padding-top: 70px;
    padding-bottom: 150px;
  }
}
/* c-service-intro
------------------------------------- */
.c-service-intro {
  margin-top: 50px;
}

.c-service-intro__inner {
  position: relative;
  padding-top: 90px;
  padding-bottom: 30px;
}

.c-service-intro__bg {
  position: absolute;
  background: url(../img/home/txt_message01_sp.png) repeat-x center top/auto 100%;
  left: 0;
  width: 100%;
  height: 33px;
  z-index: 1;
}

.c-service-intro__bg.is-flow-right {
  top: 0;
  -webkit-animation: message-txt-flow-right-sp 30s linear infinite;
  animation: message-txt-flow-right-sp 30s linear infinite;
}

.c-service-intro__bg.is-flow-left {
  top: 47px;
  -webkit-animation: message-txt-flow-left-sp 30s linear infinite;
  animation: message-txt-flow-left-sp 30s linear infinite;
}

.c-service-intro__slider {
  position: relative;
  z-index: 0;
}

.c-service-intro__slider::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(64, 64, 64, 0.3);
  z-index: 1;
}

@media all and (min-width: 768px) {
  .c-service-intro {
    margin-top: 36px;
  }

  .c-service-intro__inner {
    padding-top: 167px;
    padding-bottom: 80px;
  }

  .c-service-intro__bg {
    background: url(../img/home/txt_message01_pc.png) repeat-x center top/auto 100%;
    height: 61px;
  }

  .c-service-intro__bg.is-flow-right {
    top: 0;
    -webkit-animation: message-txt-flow-right-pc 30s linear infinite;
    animation: message-txt-flow-right-pc 30s linear infinite;
  }

  .c-service-intro__bg.is-flow-left {
    top: 90px;
    -webkit-animation: message-txt-flow-left-pc 30s linear infinite;
    animation: message-txt-flow-left-pc 30s linear infinite;
  }
}
/* c-service-set
------------------------------------- */
.c-service-set:not(:last-child) {
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(var(--main_500), 0.2);
}

.c-service-set__img {
  margin-bottom: 25px;
}

.c-service-set__img img {
  width: 100%;
  border-radius: 6px;
}

.c-service-set__btn {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  .c-service-set {
    display: grid;
    grid-template-columns: 1fr 485px;
    gap: 0 34px;
    padding-bottom: 40px;
  }

  .c-service-set__areaTxt {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .c-service-set__img {
    grid-column: 2/3;
    grid-row: 1/2;
    margin-bottom: 0;
  }
}
/* c-store-head01
------------------------------------- */
.c-store-head01 {
  position: relative;
}

.c-store-head01__bg::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(64, 64, 64, 0.7);
  background-blend-mode: multiply;
  z-index: 1;
}

.c-store-head01__inner {
  position: absolute;
  display: flex;
  align-items: center;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.c-store-head01__head {
  display: grid;
  gap: 5px 0;
  color: #fff;
}

.c-store-head01__head-prefix {
  font-size: 1.3rem;
}

.c-store-head01__head-main {
  font-size: 3.3rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

@media all and (min-width: 768px) {
  .c-store-head01__inner {
    left: 50%;
    transform: translateX(-50%);
  }

  .c-store-head01__head {
    gap: 10px 0;
  }

  .c-store-head01__head-prefix {
    font-size: 2.4rem;
  }

  .c-store-head01__head-main {
    font-size: 5.5rem;
  }
}
/* store-department
------------------------------------- */
.store-department__inner {
  padding-top: 20px;
  padding-bottom: 70px;
}

.store-department__list {
  display: grid;
  gap: 30px 0;
}

@media all and (min-width: 768px) {
  .store-department__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .store-department__list {
    gap: 40px 0;
  }
}
/* store-example
------------------------------------- */
.store-example__inner {
  padding-top: 40px;
  padding-bottom: 70px;
}

.store-example__archive-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 14px;
  margin-bottom: 50px;
}

.store-example__archive-item-img {
  margin-bottom: 9px;
}

.store-example__archive-item-img img {
  border-radius: 6px;
}

.store-example__archive-item-txt {
  font-weight: 700;
  text-align: center;
}

.store-example__archive-txt {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}

@media all and (min-width: 768px) {
  .store-example__inner {
    padding-top: 110px;
    padding-bottom: 120px;
  }

  .store-example__archive-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 25px;
    margin-bottom: 100px;
  }

  .store-example__archive-item-img {
    margin-bottom: 15px;
  }

  .store-example__archive-item-txt {
    font-size: 1.8rem;
  }

  .store-example__archive-txt {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }
}
/* store-flow
------------------------------------- */
.store-flow {
  position: relative;
}

.store-flow::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(71, 71, 71, 0.09);
  z-index: -1;
}

.store-flow__inner {
  padding-top: 50px;
  padding-bottom: 70px;
}

.store-flow__head {
  font-size: 2.7rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  text-align: center;
  margin-bottom: 25px;
}

.store-flow__detail {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 20px;
}

.store-flow__detail-list {
  display: grid;
  gap: 20px 0;
}

.store-flow__detail-item {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 0 11px;
  padding-bottom: 20px;
}

.store-flow__detail-item:not(:last-child) {
  border-bottom: 1px solid rgba(var(--main_500), 0.2);
}

.store-flow__detail-item-step {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  box-sizing: border-box;
  padding-top: 15px;
  padding-bottom: 17px;
  color: #fff;
  background: rgb(var(--accent_1_500));
  border-radius: 999px;
  border: 4px solid rgba(255, 255, 255, 0.1);
}

.store-flow__detail-item-step-txt {
  font-size: 1rem;
}

.store-flow__detail-item-step-num {
  font-size: 1.4rem;
}

.store-flow__detail-item-areaTxt {
  margin-top: 15px;
}

.store-flow__detail-item-head {
  font-size: 2rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  font-weight: 700;
  margin-bottom: 9px;
}

.store-flow__detail-item-note {
  margin-top: 9px;
  font-size: 1.4rem;
}

@media all and (min-width: 768px) {
  .store-flow__inner {
    padding-top: 120px;
    padding-bottom: 150px;
  }

  .store-flow__head {
    font-size: 4.7rem;
    margin-bottom: 60px;
  }

  .store-flow__detail {
    padding: 60px 50px 70px;
  }

  .store-flow__detail-list {
    gap: 30px 0;
  }

  .store-flow__detail-item {
    grid-template-columns: 120px 1fr;
    gap: 0 35px;
    padding-bottom: 36px;
  }

  .store-flow__detail-item:last-child {
    padding-bottom: 0;
  }

  .store-flow__detail-item-step {
    width: 120px;
    height: 120px;
    padding-top: 26px;
    padding-bottom: 30px;
  }

  .store-flow__detail-item-step-txt {
    font-size: 1.7rem;
  }

  .store-flow__detail-item-step-num {
    font-size: 2.5rem;
  }

  .store-flow__detail-item-areaTxt {
    margin-top: 20px;
  }

  .store-flow__detail-item-head {
    font-size: 2.7rem;
    margin-bottom: 17px;
  }

  .store-flow__detail-item-note {
    margin-top: 17px;
  }
}
/* .subsidy-overview
================================================ */
.subsidy-overview {
  margin-top: 20px;
  background: rgba(var(--bg_500));
}

.subsidy-overview__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.subsidy-overview__head {
  margin-bottom: 30px;
}

.subsidy-overview-list__item {
  padding: 20px;
  background: white;
}

.subsidy-overview-list__item + .subsidy-overview-list__item {
  margin-top: 25px;
}

.subsidy-overview-list__item-img {
  margin-bottom: 20px;
}

.subsidy-overview-list__item-img img {
  border-radius: 6px;
}

.subsidy-overview-list__item-area-txt-head {
  position: relative;
  margin-bottom: 20px;
  padding-left: 20px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.subsidy-overview-list__item-area-txt-head::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  border-left: 3px solid rgb(var(--accent_1_500));
}

.subsidy-overview-list__item-area-txt-txt {
  margin-bottom: 39px;
  font-size: 1.6rem;
}

.subsidy-overview-list__item-bottom {
  position: relative;
  padding: 48px 20px 30px;
  background-color: rgba(var(--bg_500));
}

.subsidy-overview-list__item-bottom-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -70px auto 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  box-sizing: border-box;
  padding: 10px 20px;
  border: 1px solid rgb(var(--accent_1_500));
  background: white;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 999px;
}

.subsidy-overview-list__item-bottom-box-txt {
  position: relative;
  padding-left: 10px;
  margin-bottom: 5px;
  font-size: 1.6rem;
  font-weight: 700;
}

.subsidy-overview-list__item-bottom-box-txt::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: rgb(var(--main_500));
  position: absolute;
  top: 8px;
  left: 0;
}

@media all and (min-width: 768px) {
  .subsidy-overview__inner {
    padding-top: 123px;
    padding-bottom: 120px;
    max-width: 1260px;
  }

  .subsidy-overview__head {
    text-align: center;
    margin-bottom: 80px;
  }

  .subsidy-overview-list__item {
    padding: 80px 80px 74px;
  }

  .subsidy-overview-list__item + .subsidy-overview-list__item {
    margin-top: 40px;
  }

  .subsidy-overview-list__item-top {
    display: flex;
    margin-bottom: 33px;
  }

  .subsidy-overview-list__item-img {
    margin-right: 30px;
    max-width: 350px;
  }

  .subsidy-overview-list__item-area-txt-head {
    padding-left: 30px;
    margin-bottom: 40px;
    font-size: 3.8rem;
  }

  .subsidy-overview-list__item-area-txt-txt {
    font-size: 1.6rem;
  }

  .subsidy-overview-list__item-bottom {
    padding: 76px 50px 55px;
  }

  .subsidy-overview-list__item-bottom-tag {
    margin-left: -20px;
    margin-top: -92px;
    margin-bottom: 30px;
    font-size: 1.8rem;
  }

  .subsidy-overview-list__item-bottom-box {
    display: flex;
  }

  .subsidy-overview-list__item-bottom-box-txt {
    margin-right: 40px;
  }

  .subsidy-overview-list__item-bottom-box-txt::before {
    top: 13px;
  }
}
/* .subsidy-cases
================================================ */
.subsidy-cases__inner {
  padding-top: 50px;
  padding-bottom: 60px;
}

.subsidy-cases__head {
  margin-bottom: 27px;
}

.subsidy-cases__info {
  margin-bottom: 40px;
  padding: 20px;
  border-radius: 6px;
  background: rgba(var(--bg_500));
}

.subsidy-cases__info-head {
  margin-bottom: 22px;
  padding-bottom: 20px;
  border-bottom: 1px solid #bbbbbb;
  font-size: 2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

@media all and (min-width: 768px) {
  .subsidy-cases__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .subsidy-cases__head {
    text-align: center;
    margin-bottom: 85px;
  }

  .subsidy-cases__info {
    display: grid;
    grid-template-columns: 1fr 645px;
    align-items: center;
    padding: 40px 60px;
    margin-bottom: 65px;
    gap: 0 20px;
  }

  .subsidy-cases__info-head {
    margin-bottom: 0;
    padding-bottom: 30px;
    padding-top: 30px;
    padding-right: 50px;
    border-right: 1px solid #bbbbbb;
    border-bottom: none;
    font-size: 2.9rem;
  }

  .subsidy-cases__cat {
    padding-left: 20px;
  }
}
/* .subsidy-support
================================================ */
.subsidy-support {
  background: rgba(var(--bg_500));
}

.subsidy-support__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.subsidy-support__head {
  margin-bottom: 14px;
  font-size: 2rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.subsidy-support__head-wrapper {
  margin-bottom: 31px;
}

.subsidy-support__head-sub {
  color: #bbbbbb;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.subsidy-support-list {
  margin-bottom: 40px;
}

.subsidy-support-list__item {
  position: relative;
  padding: 30px 20px 30px;
  border-radius: 6px;
  background: white;
  line-height: 1.8;
  letter-spacing: 0.14em;
}

.subsidy-support-list__item + .subsidy-support-list__item {
  margin-top: 20px;
}

.subsidy-support-list__item-wrapper {
  display: grid;
  gap: 11px 10px;
  grid-template-columns: 1fr 142px;
}

.subsidy-support-list__item-num {
  color: rgb(var(--accent_1_500));
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
}

.subsidy-support-list__item-txt {
  grid-column: 1/3;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.subsidy-support-list__item-btn {
  display: flex;
  grid-column: 2/3;
  grid-row: 1/2;
  width: 142px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 5px 14px 5px 15px;
  box-sizing: border-box;
  border-radius: 6px;
  text-align: left;
  padding-left: 15px;
  background-color: rgb(var(--main_500));
  color: white;
  font-size: 1.3rem;
}

.subsidy-support-list__item-ico {
  width: 7px;
  height: 7px;
  margin: 3px 0 0 auto;
  border-top: 2px solid white;
  border-right: 2px solid white;
  transform: rotate(135deg);
}

.subsidy-support-list__item-btn.is-open .subsidy-support-list__item-ico {
  margin-top: 7px;
  transform: rotate(315deg);
}

.subsidy-support-list__item-content {
  display: none;
  padding: 14px 0 12px;
  font-size: 1.6rem;
  line-height: var(--line_height_base);
  letter-spacing: var(--letter_spacing_base);
}

.subsidy-support__contact {
  display: grid;
  gap: 30px 0;
  margin-bottom: 15px;
  padding: 30px 20px;
  background: white;
}

.subsidy-support__contact-mail {
  padding-bottom: 40px;
  border-bottom: 1px solid #d9d9d9;
}

.subsidy-support__contact-mail-head {
  margin-bottom: 25px;
  text-align: left;
  font-size: 2rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.subsidy-support__contact-tel-head {
  margin-bottom: 25px;
  text-align: left;
  font-size: 2rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
}

.subsidy-support__contact-tel-btn-in {
  background: rgb(var(--gray_100));
  display: block;
  border-radius: 6px;
  padding: 21px 26px 13px;
}

.subsidy-support__contact-tel-btn-num {
  display: grid;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 7px;
  grid-template-columns: 36px 1fr;
  gap: 0 3px;
  font-size: 2.6rem;
  color: rgb(var(--accent_1_500));
}

.subsidy-support__contact-tel-btn-txt {
  text-align: center;
  font-size: 1.2rem;
}

.subsidy-support__contact-tel-btn-txt-ico {
  display: block;
}

@media all and (min-width: 768px) {
  .subsidy-support__inner {
    padding-top: 100px;
    padding-bottom: 120px;
  }

  .subsidy-support__head {
    margin-bottom: 17px;
    text-align: center;
    font-size: 2.9rem;
  }

  .subsidy-support__head-wrapper {
    margin-bottom: 63px;
  }

  .subsidy-support__head-sub {
    text-align: center;
    font-size: 1.4rem;
  }

  .subsidy-support-list {
    margin-bottom: 60px;
  }

  .subsidy-support-list__item {
    padding: 40px 50px 30px;
  }

  .subsidy-support-list__item-wrapper {
    display: grid;
    grid-template-columns: auto 1fr 168px;
    gap: 0 42px;
  }

  .subsidy-support-list__item-num {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .subsidy-support-list__item-btn {
    grid-column: 3/4;
    grid-row: 1/2;
    padding: 5px 16px;
    min-width: 168px;
    font-size: 1.6rem;
  }

  .subsidy-support-list__item-txt {
    grid-column: 2/3;
    grid-row: 1/2;
  }

  .subsidy-support-list__item-ico {
    margin-top: 6px;
  }

  .subsidy-support-list__item-btn.is-open .subsidy-support-list__item-ico {
    margin-top: 10px;
  }

  .subsidy-support__contact {
    margin-right: 0;
    margin-left: 0;
    padding: 50px 130px 42px;
  }

  .subsidy-support__contact-mail {
    max-width: 450px;
    padding-right: 50px;
    padding-bottom: 0;
    border-bottom: none;
    border-right: 1px solid #d9d9d9;
  }

  .subsidy-support__contact-mail-head {
    text-align: center;
    font-size: 2.9rem;
  }

  .subsidy-support__contact-mail-btn-txt {
    font-size: 2.4rem;
    line-height: 1.1;
  }

  .subsidy-support__contact-tel {
    max-width: 450px;
    padding-left: 50px;
  }

  .subsidy-support__contact-tel-head {
    text-align: center;
    font-size: 2.9rem;
  }

  .subsidy-support__contact-tel-btn-in {
    padding: 32px 26px 24px;
  }

  .subsidy-support__contact-tel-btn-num {
    margin-bottom: 11px;
    grid-template-columns: 54px 1fr;
    gap: 0 8px;
    font-size: 4rem;
  }

  .subsidy-support__contact-tel-btn-txt {
    font-size: 1.4rem;
  }
}
@media all and (min-width: 1260px) {
  .subsidy-support__contact {
    margin-right: -80px;
    margin-left: -80px;
  }
}
/* works-search
------------------------------------- */
.works-search__inner {
  padding-top: 40px;
}

.works-search__detail {
  display: grid;
  gap: 40px 0;
}

.works-search__detail-list {
  display: grid;
  gap: 20px 0;
}

.works-search__detail-item-head {
  font-size: 2rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  font-weight: 700;
}

.works-search__detail-item-cat-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-bottom: -15px;
}

.works-search__detail-item-cat-item {
  padding: 2px 18px;
  border: 1px solid rgb(var(--main_500));
  border-radius: 999px;
  margin-right: 10px;
  margin-bottom: 15px;
}

.works-search__detail-item-cat-item.is-current {
  border-color: rgb(var(--accent_1_500));
  background: rgb(var(--accent_1_500));
  color: #fff;
}

.works-search__detail-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 190px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 13px 10px 14px;
  font-weight: 700;
  border-radius: 6px;
}

.works-search__detail-btn-ico {
  width: 17px;
  height: 17px;
  margin-right: 10px;
  margin-top: 3px;
  background: rgb(var(--main_500));
}

@media all and (min-width: 768px) {
  .works-search__inner {
    padding-top: 102px;
  }

  .works-search__detail {
    gap: 50px 0;
  }

  .works-search__detail-list {
    gap: 30px 0;
  }

  .works-search__detail-item-head {
    font-size: 2.9rem;
  }

  .works-search__detail-item-cat-item {
    font-size: 2.2rem;
  }

  .works-search__detail-btn {
    max-width: 180px;
    padding: 12px 10px;
    font-size: 2rem;
  }
}
/* works-archive
------------------------------------- */
.works-archive__inner {
  padding-top: 26px;
  padding-bottom: 60px;
}

.works-archive__txt {
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: var(--line_height_head);
  letter-spacing: var(--letter_spacing_head);
  margin-bottom: 40px;
}

.works-archive__txt-num {
  font-size: 3.8rem;
  line-height: var(--line_height_head);
  margin-right: 3px;
}

.works-archive__list {
  display: grid;
  gap: 50px 0;
  margin-bottom: 40px;
}

.works-archive__btn {
  max-width: 190px;
  color: #fff;
  background: #474747;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 13px 5px 14px;
  font-weight: 700;
  border-radius: 6px;
}

@media all and (min-width: 768px) {
  .works-archive__inner {
    max-width: 100%;
    padding: 83px 20px 150px;
  }

  .works-archive__txt {
    font-size: 3.1rem;
    margin-bottom: 87px;
  }

  .works-archive__txt-num {
    font-size: 5.8rem;
  }

  .works-archive__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 90px 19px;
    margin-bottom: 100px;
  }

  .works-archive__btn {
    max-width: 400px;
    font-size: 2rem;
    padding: 27px 20px;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .works-archive__btn {
    transition: all 0.3s ease;
  }

  .works-archive__btn:hover {
    opacity: 0.7;
  }
}
.works-archive__list[data-length="12"] .works-archive__item:nth-child(n+13) {
  display: none;
}

.works-archive__list[data-length="24"] .works-archive__item:nth-child(n+25) {
  display: none;
}

.works-archive__list[data-length="36"] .works-archive__item:nth-child(n+37) {
  display: none;
}

.works-archive__list[data-length="48"] .works-archive__item:nth-child(n+49) {
  display: none;
}

.works-archive__list[data-length="60"] .works-archive__item:nth-child(n+61) {
  display: none;
}

.works-archive__list[data-length="72"] .works-archive__item:nth-child(n+73) {
  display: none;
}

.works-archive__list[data-length="84"] .works-archive__item:nth-child(n+85) {
  display: none;
}

.works-archive__list[data-length="96"] .works-archive__item:nth-child(n+97) {
  display: none;
}

.works-archive__list[data-length="108"] .works-archive__item:nth-child(n+109) {
  display: none;
}

.works-archive__list[data-length="120"] .works-archive__item:nth-child(n+121) {
  display: none;
}

/* works-single
------------------------------------- */
.works-single {
  overflow: hidden;
}

.works-single__inner {
  padding-top: 38px;
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .works-single__inner {
    padding-top: 130px;
    padding-bottom: 241px;
  }
}