@charset "UTF-8";
:root {
  --color-primary-200: 224,234,245;
  --color-primary-400: 43,73,106;
  --color-primary-500: 23,47,75;
  --color-secondary-500: 246,246,246;
  --color-surface-500: 245,245,245;
  --color-grayscale-100: 255, 255, 255;
  --color-grayscale-500: 204,204,204;
  --color-grayscale-600: 145,153,164;
  --color-grayscale-700: 98,114,132;
  --color-grayscale-800: 49,64,81;
  --color-grayscale-900: 14,32,53;
  --color-category01-500: 205,201,166;
  --color-category02-500: 166,205,186;
  --fontfamily_base: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  --font_color_base: rgb(var(--color-grayscale-900));
  --font_size_base: 1.6rem;
  --line-height_base: 1.9;
  --line-height_head: 1.5;
  --letter-spacing_base: .08em;
  --letter-spacing_head: .1em;
  --fontfamily_en: "";
  --font_weight_en: 400;
  --line-height_en: 1.1;
  --letter-spacing_en: .1em;
  --fontfamily_serif: "BIZ UDPMincho", serif;
  --font_weight_serif: 400;
  --line-height_serif: 1.5;
  --letter-spacing_serif: .1em;
  --contents_width: 1100px;
  --contents_wide_width: 1400px;
  --contents_wider_width: 1780px;
  --body_padding_side: 20px;
  --contents_width_with_padding: 1180px;
  --contents_wide_width_with_padding: 1480px;
  --contents_wider_width_with_padding: 1860px;
  --sidebar_width: 250px;
  --header_height: 54px;
}
@media (min-width: 768px) {
  :root {
    --body_padding_side: 40px;
    --header_height: 116px;
    --font_size_base: 1.6rem;
  }
}

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;
  font-weight: 400;
}

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 (hover: hover) and (pointer: fine) {
  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(rgba(var(--color-grayscale-900), 0.6)));
  margin: 1em 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

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 (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;
  appearance: 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;
  text-align: left;
  font: inherit;
}

/* 02_base
================================================ */
html:not([class=is-no-smoothscroll]) {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header_height);
}

body {
  min-width: 320px;
  font-family: var(--fontfamily_base);
  color: var(--font_color_base);
  font-size: var(--font_size_base);
  line-height: var(--line-height_base);
  letter-spacing: var(--letter-spacing_base);
  -webkit-text-size-adjust: 100%;
}
@media (min-width: 768px) {
  body {
    min-width: var(--contents_width_with_padding);
  }
}
@media (min-width: 768px) and (hover: none) {
  body {
    -webkit-text-size-adjust: none;
  }
}

.l-wrapper {
  position: relative;
}

@media (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 (min-width: 768px) {
  .u-media-query {
    font-family: "tb";
  }
}
@media (min-width: 1180px) {
  .u-media-query {
    font-family: "pc";
  }
}

@media (max-width: 1179px) {
  .u-view-pc {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-view-tb {
    display: none !important;
  }
}
@media (min-width: 1180px) {
  .u-view-tb {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .u-view-sp {
    display: none !important;
  }
}

@media (min-width: 1180px) {
  .u-view-under-tb {
    display: none !important;
  }
}

@media (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 (min-width: 768px) {
  .u-overflow-wrap .u-overflow-sec {
    min-width: var(--contents_width_with_padding);
  }
}

/* font
-------------------------------------- */
.u-font-serif {
  font-family: var(--fontfamily_serif);
  font-weight: var(--font_weight_serif);
  line-height: var(--line-height_serif);
  letter-spacing: var(--letter-spacing_serif);
}

/* text
-------------------------------------- */
.u-uppercase {
  text-transform: uppercase;
}

.u-capitalize {
  text-transform: capitalize;
}

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

/* link
-------------------------------------- */
a.u-alpha {
  display: block;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  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 (hover: hover) and (pointer: fine) {
  a.u-zoom .u-zoom__img {
    transition: all 0.3s ease;
  }
  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-iframe {
  position: relative;
  aspect-ratio: 16/9;
}
.u-iframe iframe, .u-iframe video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

/* layout
-------------------------------------- */
.u-inner {
  box-sizing: border-box;
  padding-left: var(--body_padding_side);
  padding-right: var(--body_padding_side);
}
@media (min-width: 768px) {
  .u-inner {
    width: 100%;
    max-width: var(--contents_width_with_padding);
    margin-right: auto;
    margin-left: auto;
  }
}

.u-wide-inner {
  box-sizing: border-box;
  padding-left: var(--body_padding_side);
  padding-right: var(--body_padding_side);
}
@media (min-width: 768px) {
  .u-wide-inner {
    width: 100%;
    max-width: var(--contents_wide_width_with_padding);
    margin-right: auto;
    margin-left: auto;
  }
}

.u-wider-inner {
  box-sizing: border-box;
  padding-left: var(--body_padding_side);
  padding-right: var(--body_padding_side);
}
@media (min-width: 768px) {
  .u-wider-inner {
    width: 100%;
    max-width: var(--contents_wider_width_with_padding);
    margin-right: auto;
    margin-left: auto;
  }
}

/* object-fit
================================================ */
.u-img-contain, .u-img-cover {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: inherit;
}

.u-img-cover {
  -o-object-fit: cover;
  object-fit: cover;
}

/*  .c-archive01.is-pc-gap-small
================================================== */
@media (min-width: 768px) {
  .c-archive01.is-pc-gap-small {
    gap: 60px 34px;
  }
}

/*  .c-archive01
================================================== */
.c-archive01 {
  display: grid;
  gap: 30px;
}
.c-archive01__item-link {
  position: relative;
  z-index: 1;
}
.c-archive01__item-category {
  position: absolute;
  top: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 20px;
  font-size: 1.1rem;
  line-height: var(--line-height_serif);
  background-color: rgb(var(--color-category01-500));
  z-index: 1;
}
.c-archive01__item-category.is-blue {
  background-color: rgb(var(--color-category02-500));
}
.c-archive01__item-img {
  position: relative;
  margin-bottom: 20px;
  background-color: rgba(var(--color-surface-500));
}
.c-archive01__item-img:after {
  content: "";
  display: block;
  padding-top: 68%;
}
.c-archive01__item-img img {
  position: absolute;
  top: 0;
  left: 0;
}
.c-archive01__item-head {
  font-size: 2rem;
  letter-spacing: var(--letter-spacing_head);
  overflow: hidden;
  display: -webkit-box;
  max-height: 3em;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.c-archive01__item-txt {
  border-top: 1px solid rgb(var(--color-grayscale-500));
  margin-top: 15px;
  padding-top: 15px;
  color: rgb(var(--color-grayscale-700));
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.c-archive01__item-tag {
  margin-top: 12px;
}
@media (min-width: 768px) {
  .c-archive01 {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 60px;
  }
  .c-archive01__item-category {
    font-size: 1.4rem;
  }
  .c-archive01__item-img {
    margin-bottom: 27px;
  }
  .c-archive01__item-head {
    font-size: 2.2rem;
    max-height: 3em;
    -webkit-line-clamp: 2;
  }
  .c-archive01__item-txt {
    margin-top: 25px;
    padding-top: 20px;
  }
  .c-archive01__item-tag {
    margin-top: 8px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-archive01__item-link:hover .c-archive01__item-head {
    color: rgb(var(--color-grayscale-700));
  }
  .c-archive01__item-head {
    transition: all 0.3s ease;
  }
}

/* .c-archive01__notfound
================================================ */
.c-archive01__notfound {
  padding: 20px 0;
  box-sizing: border-box;
  background-color: rgba(var(--color-surface-500));
  color: rgba(var(--color-grayscale-700));
  text-align: center;
}
@media (min-width: 768px) {
  .c-archive01__notfound {
    padding: 30px 0;
  }
}

/* .c-bg
================================================== */
.c-bg-primary-200 {
  background-color: rgb(var(--color-primary-200));
}

.c-bg-primary-400 {
  background-color: rgb(var(--color-primary-400));
}

.c-bg-primary-500 {
  background-color: rgb(var(--color-primary-500));
}

.c-bg-secondary-500 {
  background-color: rgb(var(--color-secondary-500));
}

.c-bg-grayscale-100 {
  background-color: rgb(var(--color-grayscale-100));
}

.c-bg-grayscale-500 {
  background-color: rgb(var(--color-grayscale-500));
}

.c-bg-grayscale-600 {
  background-color: rgb(var(--color-grayscale-600));
}

.c-bg-grayscale-700 {
  background-color: rgb(var(--color-grayscale-700));
}

.c-bg-grayscale-800 {
  background-color: rgb(var(--color-grayscale-800));
}

.c-bg-grayscale-900 {
  background-color: rgb(var(--color-grayscale-900));
}

.c-bg-category01-500 {
  background-color: rgb(var(--color-category01-500));
}

.c-bg-category02-500 {
  background-color: rgb(var(--color-category02-500));
}

.c-bg-surface-500 {
  background-color: rgb(var(--color-surface-500));
}

.c-btn01 {
  margin-top: 15px;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn01__link {
  display: flex;
  align-items: center;
}
.c-btn01__txt {
  border-bottom: 1px solid;
  line-height: var(--line-height_serif);
}
.c-btn01__ico {
  margin-left: 15px;
}
@media (min-width: 768px) {
  .c-btn01 {
    margin-top: 80px;
  }
  .c-btn01__link {
    display: flex;
    align-items: center;
    padding-bottom: 10px;
  }
  .c-btn01__txt {
    order: 2;
    border-bottom: 0;
  }
  .c-btn01__ico {
    margin: 0 13px 0 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn01__link:hover .c-btn01__ico {
    background: rgb(var(--color-primary-500));
    color: #fff;
    transform: scale(1.1539);
  }
  .c-btn01__ico {
    transition: all 0.3s ease;
  }
}

/* .c-card01-content
================================================ */
.c-card01-content {
  position: relative;
  z-index: 1;
  margin: 0 -20px;
  padding-bottom: 44px;
}
.c-card01-content::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 47px);
  background: url(../img/common/c-card/bg_card01_sp.jpg) no-repeat center/cover;
}
@media (min-width: 768px) {
  .c-card01-content {
    margin: 0 auto;
    padding-bottom: 50px;
    max-width: 1760px;
    width: 100%;
  }
  .c-card01-content::before {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
    width: clamp(1380px, 100vw - 140px, 1780px);
    height: calc(100% - 20px);
    background-image: url(../img/common/c-card/bg_card01_pc.jpg);
  }
}
@media (min-width: 1481px) {
  .c-card01-content {
    padding-bottom: 50px;
    max-width: 1760px;
  }
  .c-card01-content::before {
    width: clamp(1380px, 100vw - 140px, 1780px);
    height: calc(100% - 50px);
  }
}

/* .c-card01
================================================ */
.c-card01__img {
  margin-bottom: 30px;
}
.c-card01__area-txt {
  color: #fff;
}
.c-card01__head {
  margin-bottom: 12px;
  font-size: 2rem;
}
.c-card01__btn {
  margin-top: 30px;
  margin-left: auto;
}
@media (min-width: 768px) {
  .c-card01 {
    width: 100%;
    padding: 0 rgb(var(--body_padding_side));
  }
  .c-card01__in {
    max-width: 1400px;
    width: 100%;
    min-height: 500px;
    margin: auto;
    display: flex;
    align-items: flex-end;
  }
  .c-card01__img {
    width: 50%;
    order: 2;
    margin-bottom: 0;
  }
  .c-card01__img img {
    max-width: 785px;
    width: calc(var(--vw, 1vw) * 50 - 100px);
  }
  .c-card01__area-txt {
    width: 50%;
    order: 1;
    padding: 5vw 2.5vw 0 0px;
    box-sizing: border-box;
  }
  .c-card01__head {
    margin-bottom: 24px;
    font-size: 2.2rem;
  }
  .c-card01__btn {
    margin-top: 20px;
    margin-left: 0;
  }
  .c-card01__pager {
    display: inline-flex;
    align-items: flex-end;
    color: rgb(var(--color-grayscale-500));
    margin-bottom: 15px;
  }
  .c-card01__pager-current {
    font-size: 2.6rem;
  }
  .c-card01__pager-total {
    font-size: 1.8rem;
  }
  .c-card01__pager-total::before {
    content: "/";
  }
}
@media (min-width: 1481px) {
  .c-card01__img {
    width: 45%;
    order: 2;
    margin-bottom: 0;
  }
  .c-card01__img img {
    max-width: 785px;
    width: calc(var(--vw, 1vw) * 40 - 100px);
  }
  .c-card01__area-txt {
    width: 55%;
    order: 1;
    padding: 5vw 5.81vw 40px 40px;
    box-sizing: border-box;
  }
  .c-card01__head {
    margin-bottom: 46px;
    font-size: 2.2rem;
  }
  .c-card01__btn {
    margin-top: 60px;
    margin-left: 0;
  }
  .c-card01__pager {
    margin-bottom: 25px;
  }
  .c-card01__pager-current {
    font-size: 3.2rem;
  }
  .c-card01__pager-total {
    font-size: 2.1rem;
  }
}

/* .c-color
================================================== */
.c-color-primary-200 {
  color: rgb(var(--color-primary-200));
}

.c-color-primary-400 {
  color: rgb(var(--color-primary-400));
}

.c-color-primary-500 {
  color: rgb(var(--color-primary-500));
}

.c-color-secondary-500 {
  color: rgb(var(--color-secondary-500));
}

.c-color-grayscale-100 {
  color: rgb(var(--color-grayscale-100));
}

.c-color-grayscale-500 {
  color: rgb(var(--color-grayscale-500));
}

.c-color-grayscale-600 {
  color: rgb(var(--color-grayscale-600));
}

.c-color-grayscale-700 {
  color: rgb(var(--color-grayscale-700));
}

.c-color-grayscale-800 {
  color: rgb(var(--color-grayscale-800));
}

.c-color-grayscale-900 {
  color: rgb(var(--color-grayscale-900));
}

.c-color-category01-500 {
  color: rgb(var(--color-category01-500));
}

.c-color-category02-500 {
  color: rgb(var(--color-category02-500));
}

/* .c-form-agreement
================================================== */
.c-form-agreement {
  margin-top: 35px;
}
.c-form-agreement .mwform-checkbox-field {
  margin-top: 30px;
  text-align: center;
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .c-form-agreement {
    text-align: center;
    margin-top: 50px;
  }
  .c-form-agreement .mwform-checkbox-field {
    margin-top: 24px;
  }
}
.c-form-agreement .wpcf7-form-control-wrap {
  margin-top: 30px;
  display: block;
  text-align: center;
  font-size: 1.6rem;
}
.c-form-agreement .wpcf7-acceptance .wpcf7-list-item {
  display: inline-flex;
  margin-right: 20px;
  cursor: pointer;
}
.c-form-agreement .wpcf7-acceptance .wpcf7-list-item input[type=checkbox] {
  display: none;
  border-width: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}
.c-form-agreement .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 34px;
  min-height: 26px;
  vertical-align: top;
}
.c-form-agreement .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 26px;
  height: 26px;
  background: #fff;
  border: 1px solid rgba(var(--color-grayscale-900));
  box-sizing: border-box;
}
.c-form-agreement .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 26px;
  height: 26px;
  background-color: #000;
  -webkit-mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="4px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="4px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  transform: scale(0);
}
.c-form-agreement .wpcf7-acceptance .wpcf7-list-item input:checked + .wpcf7-list-item-label::after {
  transform: scale(1);
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-agreement {
  display: none;
}

/* .c-form-btn
================================================== */
.c-form-area-btn {
  margin-top: 35px;
}
@media (min-width: 768px) {
  .c-form-area-btn {
    margin-top: 35px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.c-form-btn {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  text-align: left;
  height: 60px;
  padding: 10px 20px;
  background: rgb(var(--color-grayscale-900));
  color: #fff;
  border: 0;
  font-size: 1.6rem;
  -webkit-appearance: none;
  appearance: none;
  font-weight: 500;
}
.c-form-btn + .c-form-btn {
  margin-top: 20px;
}
.c-form-btn.is-back {
  background: rgba(var(--color-grayscale-900), 0.6);
}
@media (min-width: 768px) {
  .c-form-btn {
    max-width: 320px;
    height: 80px;
    font-size: 1.8rem;
    transition: all 0.3s ease;
    margin: 0;
  }
  .c-form-btn + .c-form-btn {
    margin-top: 0;
    margin-left: 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-form-btn:hover {
    opacity: 0.8;
  }
  .c-form-btn.is-back:hover {
    opacity: 0.8;
  }
}

/* CF7用 */
@media (min-width: 768px) {
  .c-form-area-btn > p {
    display: flex;
  }
}
.c-form-area-btn .wpcf7-submit:disabled {
  opacity: 0.75;
}
.c-form-area-btn .wpcf7-submit {
  min-width: 320px;
}
.c-form-area-btn .wpcf7-previous {
  min-width: 320px;
}

/* .c-form .mwform-checkbox-field
================================================ */
.c-form .wpcf7-list-item-label,
.c-form .mwform-checkbox-field,
.c-form .c-checkbox {
  display: block;
}
.c-form .wpcf7-list-item-label + .mwform-checkbox-field,
.c-form .wpcf7-list-item-label + .c-checkbox,
.c-form .mwform-checkbox-field + .mwform-checkbox-field,
.c-form .mwform-checkbox-field + .c-checkbox,
.c-form .c-checkbox + .mwform-checkbox-field,
.c-form .c-checkbox + .c-checkbox {
  margin-top: 10px;
}
.c-form .wpcf7-list-item-label label,
.c-form .mwform-checkbox-field label,
.c-form .c-checkbox label {
  display: block;
  cursor: pointer;
}
.c-form .wpcf7-list-item-label input,
.c-form .mwform-checkbox-field input,
.c-form .c-checkbox input {
  border-width: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}
.c-form .wpcf7-list-item-label input:focus-visible + .mwform-checkbox-field-text::before, .c-form .wpcf7-list-item-label input:focus-visible + .c-checkbox__text::before,
.c-form .mwform-checkbox-field input:focus-visible + .mwform-checkbox-field-text::before,
.c-form .mwform-checkbox-field input:focus-visible + .c-checkbox__text::before,
.c-form .c-checkbox input:focus-visible + .mwform-checkbox-field-text::before,
.c-form .c-checkbox input:focus-visible + .c-checkbox__text::before {
  border-color: rgb(var(--color-grayscale-900));
  box-shadow: 0 0 0 2px rgba(var(--color-grayscale-900), 0.25);
}
.c-form .wpcf7-list-item-label .mwform-checkbox-field-text,
.c-form .wpcf7-list-item-label .c-checkbox__text,
.c-form .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form .mwform-checkbox-field .c-checkbox__text,
.c-form .c-checkbox .mwform-checkbox-field-text,
.c-form .c-checkbox .c-checkbox__text {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 34px;
  min-height: 26px;
  vertical-align: top;
}
.c-form .wpcf7-list-item-label .mwform-checkbox-field-text::before,
.c-form .wpcf7-list-item-label .c-checkbox__text::before,
.c-form .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form .mwform-checkbox-field .c-checkbox__text::before,
.c-form .c-checkbox .mwform-checkbox-field-text::before,
.c-form .c-checkbox .c-checkbox__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 26px;
  height: 26px;
  background: #fff;
  border: 1px solid var(rgba(var(--color-grayscale-900), 0.6));
  box-sizing: border-box;
}
.c-form .wpcf7-list-item-label .mwform-checkbox-field-text::after,
.c-form .wpcf7-list-item-label .c-checkbox__text::after,
.c-form .mwform-checkbox-field .mwform-checkbox-field-text::after,
.c-form .mwform-checkbox-field .c-checkbox__text::after,
.c-form .c-checkbox .mwform-checkbox-field-text::after,
.c-form .c-checkbox .c-checkbox__text::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 26px;
  height: 26px;
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="4px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="4px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  transform: scale(0);
}
.c-form .wpcf7-list-item-label input:checked + .mwform-checkbox-field-text::after,
.c-form .wpcf7-list-item-label input:checked + .c-checkbox__text::after,
.c-form .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.c-form .mwform-checkbox-field input:checked + .c-checkbox__text::after,
.c-form .c-checkbox input:checked + .mwform-checkbox-field-text::after,
.c-form .c-checkbox input:checked + .c-checkbox__text::after {
  transform: scale(1);
}

.c-checkbox-list {
  display: flex;
  flex-wrap: wrap;
}
.c-checkbox-list .mwform-checkbox-field,
.c-checkbox-list .c-checkbox {
  display: inline-block;
  margin-right: 20px;
}
.c-checkbox-list .mwform-checkbox-field + .mwform-checkbox-field, .c-checkbox-list .mwform-checkbox-field + .c-checkbox,
.c-checkbox-list .c-checkbox + .mwform-checkbox-field,
.c-checkbox-list .c-checkbox + .c-checkbox {
  margin-top: 0;
}

.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}
.wpcf7-checkbox .wpcf7-list-item {
  display: inline-flex;
  margin-right: 20px;
  cursor: pointer;
}
.wpcf7-checkbox input[type=checkbox] {
  display: none;
  border-width: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}
.wpcf7-checkbox input[type=checkbox]:focus-visible + .wpcf7-list-item::before, .wpcf7-checkbox input[type=checkbox]:focus-visible + .c-checkbox__text::before {
  border-color: rgb(var(--color-grayscale-900));
  box-shadow: 0 0 0 2px rgba(var(--color-grayscale-900), 0.25);
}
.wpcf7-checkbox .wpcf7-list-item-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 34px;
  min-height: 26px;
  vertical-align: top;
}
.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 26px;
  height: 26px;
  background: #fff;
  border: 1px solid rgba(var(--color-grayscale-900));
  box-sizing: border-box;
}
.wpcf7-checkbox .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 26px;
  height: 26px;
  background-color: #000;
  -webkit-mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="4px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="4px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  transform: scale(0);
}
.wpcf7-checkbox input:checked + .wpcf7-list-item-label::after {
  transform: scale(1);
}

/* c-flow-flow
------------------------------------- */
.c-form-flow {
  max-width: 170px;
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto 20px;
}
.c-form-flow::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translate(-50%, 0);
  height: 1px;
  width: calc(100% - 25px);
  background: var(rgba(var(--color-grayscale-900), 0.6));
}
.c-form-flow__item {
  position: relative;
  padding-top: 20px;
  font-weight: 400;
  color: var(rgba(var(--color-grayscale-900), 0.6));
}
.c-form-flow__item::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 7px;
  height: 7px;
  background: var(rgba(var(--color-grayscale-900), 0.6));
  border-radius: 50%;
}
.c-form-flow__item:nth-child(2) {
  margin: auto;
}
@media (min-width: 768px) {
  .c-form-flow {
    max-width: 260px;
    margin: 0 auto 70px;
  }
  .c-form-flow::before {
    width: calc(100% - 35px);
  }
  .c-form-flow__item {
    padding-top: 25px;
    font-size: 2rem;
  }
  .c-form-flow__item::before {
    top: 0;
    width: 10px;
    height: 10px;
  }
}

.mw_wp_form_input .c-form-flow__item:nth-child(1), .is-input .c-form-flow__item:nth-child(1) {
  color: rgb(var(--color-accent01));
}
.mw_wp_form_input .c-form-flow__item:nth-child(1)::before, .is-input .c-form-flow__item:nth-child(1)::before {
  background: rgb(var(--color-accent01));
}

.mw_wp_form_confirm .c-form-flow__item:nth-child(2), .is-confirm .c-form-flow__item:nth-child(2) {
  color: rgb(var(--color-accent01));
}
.mw_wp_form_confirm .c-form-flow__item:nth-child(2)::before, .is-confirm .c-form-flow__item:nth-child(2)::before {
  background: rgb(var(--color-accent01));
}

.mw_wp_form_complete .c-form-flow__item:nth-child(2), .is-complete .c-form-flow__item:nth-child(2) {
  color: rgb(var(--color-accent01));
}
.mw_wp_form_complete .c-form-flow__item:nth-child(2)::before, .is-complete .c-form-flow__item:nth-child(2)::before {
  background: rgb(var(--color-accent01));
}

/* c-form-privacy
------------------------------------ */
.c-form-privacy {
  margin-top: 35px;
}
.c-form-privacy__in {
  margin-right: 5px;
  padding: 25px;
  overflow: auto;
  max-height: 275px;
  box-sizing: border-box;
  border: 1px solid var(rgba(var(--color-grayscale-900), 0.6));
  overscroll-behavior-y: none;
}
.c-form-privacy__in h3 {
  margin-bottom: 15px;
  font-size: 1.5rem;
}
.c-form-privacy__in p {
  margin: 1em 0;
}
.c-form-privacy__in dl {
  margin: 1em 0;
}
.c-form-privacy__in::-webkit-scrollbar {
  width: 7px;
}
.c-form-privacy__in::-webkit-scrollbar-track {
  background-color: var(rgba(var(--color-grayscale-900), 0.6));
  border-radius: 1000px;
}
.c-form-privacy__in::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-grayscale-900));
  border-radius: 1000px;
}
@media (min-width: 768px) {
  .c-form-privacy__in {
    padding: 30px;
    max-height: 300px;
  }
  .c-form-privacy__in h3 {
    margin-bottom: 15px;
    font-size: 1.8rem;
  }
  .c-form-privacy__in p {
    margin: 1em 0 1.5em;
  }
  .c-form-privacy__in dl {
    margin: 1.5em 0;
  }
}

.mw_wp_form_confirm .c-form-privacy {
  display: none;
}

/* .c-form .mwform-radio-field
================================================ */
.c-form .mwform-radio-field, .c-form .c-radio {
  display: block;
}
.c-form .mwform-radio-field + .mwform-radio-field,
.c-form .mwform-radio-field + .c-radio, .c-form .c-radio + .mwform-radio-field,
.c-form .c-radio + .c-radio {
  margin-top: 10px;
}
.c-form .mwform-radio-field label, .c-form .c-radio label {
  display: block;
  cursor: pointer;
}
.c-form .mwform-radio-field input, .c-form .c-radio input {
  border-width: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}
.c-form .mwform-radio-field input:focus-visible + .mwform-radio-field-text::before, .c-form .mwform-radio-field input:focus-visible + .c-radio__text::before, .c-form .c-radio input:focus-visible + .mwform-radio-field-text::before, .c-form .c-radio input:focus-visible + .c-radio__text::before {
  border-color: rgb(var(--color-grayscale-900));
  box-shadow: 0 0 0 2px rgba(var(--color-grayscale-900), 0.25);
}
.c-form .mwform-radio-field .mwform-radio-field-text,
.c-form .mwform-radio-field .c-radio__text, .c-form .c-radio .mwform-radio-field-text,
.c-form .c-radio .c-radio__text {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 34px;
  min-height: 26px;
  vertical-align: top;
}
.c-form .mwform-radio-field .mwform-radio-field-text::before,
.c-form .mwform-radio-field .c-radio__text::before, .c-form .c-radio .mwform-radio-field-text::before,
.c-form .c-radio .c-radio__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 26px;
  height: 26px;
  background: #fff;
  border: 1px solid var(rgba(var(--color-grayscale-900), 0.6));
  border-radius: 50%;
  box-sizing: border-box;
}
.c-form .mwform-radio-field .mwform-radio-field-text::after,
.c-form .mwform-radio-field .c-radio__text::after, .c-form .c-radio .mwform-radio-field-text::after,
.c-form .c-radio .c-radio__text::after {
  content: "";
  position: absolute;
  top: calc((26px - 10px) / 2);
  left: calc((26px - 10px) / 2);
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgb(var(--color-grayscale-900));
  transform: scale(0);
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.c-form .mwform-radio-field input:checked + .mwform-radio-field-text::after,
.c-form .mwform-radio-field input:checked + .c-radio__text::after, .c-form .c-radio input:checked + .mwform-radio-field-text::after,
.c-form .c-radio input:checked + .c-radio__text::after {
  transform: scale(1);
}

.c-radio-list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-radio-list {
    flex-direction: row;
  }
  .c-radio-list .mwform-radio-field,
.c-radio-list .c-radio {
    display: inline-block;
    margin-right: 20px;
  }
  .c-radio-list .mwform-radio-field + .mwform-radio-field, .c-radio-list .mwform-radio-field + .c-radio,
.c-radio-list .c-radio + .mwform-radio-field,
.c-radio-list .c-radio + .c-radio {
    margin-top: 0;
  }
}

.wpcf7-radio .wpcf7-list-item {
  display: block;
}
.wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 10px;
}
.wpcf7-radio label {
  display: block;
  cursor: pointer;
}
.wpcf7-radio input[type=radio] {
  border-width: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}
.wpcf7-radio input[type=radio]:focus-visible + .wpcf7-list-item-label::before, .wpcf7-radio input[type=radio]:focus-visible + .c-radio__text::before {
  border-color: rgb(var(--color-grayscale-900));
  box-shadow: 0 0 0 2px rgba(var(--color-grayscale-900), 0.25);
}
.wpcf7-radio .wpcf7-list-item-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 34px;
  min-height: 26px;
  vertical-align: top;
}
.wpcf7-radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 26px;
  height: 26px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid rgba(var(--color-grayscale-900));
  box-sizing: border-box;
}
.wpcf7-radio .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: calc((26px - 10px) / 2);
  left: calc((26px - 10px) / 2);
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgb(var(--color-grayscale-900));
  transform: scale(0);
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.wpcf7-radio input:checked + .wpcf7-list-item-label::after {
  transform: scale(1);
}

/* /* c-form-txt
================================================== */
.c-form-txt {
  margin-bottom: 10px;
}
.c-form-txt.is-confirm {
  display: none;
}
@media (min-width: 768px) {
  .c-form-txt {
    margin-bottom: 35px;
    text-align: center;
  }
}

.mw_wp_form_confirm .c-form-txt {
  display: none;
}
.mw_wp_form_confirm .c-form-txt.is-confirm {
  display: block;
}

/* .c-form-placeholder
================================================== */
.c-form-placeholder {
  display: block;
  color: var(rgba(var(--color-grayscale-900), 0.6));
  font-size: 1.3rem;
  margin-bottom: 5px;
}
/* .c-form-note
================================================== */
.c-form-note {
  display: block;
  font-weight: 400;
  font-size: 1.6rem;
  text-indent: -1em;
  margin-left: 1em;
  color: var(rgba(var(--color-grayscale-900), 0.6));
}
.c-form-note::before {
  content: "※";
}
.c-form-note__list {
  margin: 10px 0;
}
.c-form-note__list .c-form-note {
  margin-top: 0;
}

td .c-form-note {
  margin-top: 10px;
}
td .c-form-note + .c-form-note {
  margin-top: 5px;
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-note, .mw_wp_form_confirm .c-form-placeholder {
  display: none;
}

/* .c-form
================================================== */
input[type=text]:focus-visible, input[type=email]:focus-visible, input[type=tel]:focus-visible, textarea:focus-visible, button:focus-visible, select:focus-visible, option:focus-visible {
  border-color: rgb(var(--color-grayscale-900));
  box-shadow: 0 0 0 2px rgba(var(--color-grayscale-900), 0.25);
}

input.c-form-parts,
select.c-form-parts,
textarea.c-form-parts,
button.c-form-parts {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 40px;
  padding: 5px 10px;
  font-size: 1.6rem;
  border: 1px solid var(rgba(var(--color-grayscale-900), 0.6));
  background: #fff;
  -webkit-appearance: none;
  appearance: none;
  font-family: inherit;
}
input.c-form-parts::placeholder,
select.c-form-parts::placeholder,
textarea.c-form-parts::placeholder,
button.c-form-parts::placeholder {
  color: rgb(var(--color-grayscale-900), 0.6);
}
@media (min-width: 768px) {
  input.c-form-parts.is-min,
select.c-form-parts.is-min,
textarea.c-form-parts.is-min,
button.c-form-parts.is-min {
    max-width: 220px;
  }
  input.c-form-parts.is-large,
select.c-form-parts.is-large,
textarea.c-form-parts.is-large,
button.c-form-parts.is-large {
    max-width: 100%;
  }
}

textarea.c-form-parts {
  height: 150px;
  resize: vertical;
}

select.c-form-parts {
  padding-right: 20px;
  background: #fff no-repeat right 10px top 50%/12px;
  background-image: 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%2210%22%20viewBox%3D%220%200%2012%2010%22%3E%3Cpath%20d%3D%22M6%2C0l6%2C10H0Z%22%20transform%3D%22translate(12%2010)%20rotate(180)%22%20fill%3D%22%231a1311%22%2F%3E%3C%2Fsvg%3E");
}

.c-form-parts-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
}
.c-form-parts-list .c-form-parts {
  margin-right: 20px;
  width: 300px;
}
.c-form-parts-list.is-flex-enb {
  justify-content: flex-end;
}

/* .c-form.is-default
================================================== */
.c-form.is-default th, .c-form.is-default td {
  padding: 10px 0 20px;
  border-style: solid;
  border-color: var(rgba(var(--color-grayscale-900), 0.6));
  border-width: 0;
  box-sizing: border-box;
}
.c-form.is-default th {
  padding: 15px 0 0;
  font-weight: 500;
  text-align: left;
}
@media (max-width: 767px) {
  .c-form.is-default table {
    margin-bottom: 30px;
  }
  .c-form.is-default table, .c-form.is-default thead, .c-form.is-default tbody, .c-form.is-default tr, .c-form.is-default th, .c-form.is-default td {
    display: block;
  }
  .c-form.is-default td {
    border-bottom: 1px solid rgba(var(--color-grayscale-900));
  }
}
@media (min-width: 768px) {
  .c-form.is-default table {
    margin-bottom: 50px;
  }
  .c-form.is-default th, .c-form.is-default td {
    vertical-align: top;
    padding: 28px;
    border-width: 1px 0;
    border-style: solid;
  }
  .c-form.is-default th {
    position: relative;
    width: 300px;
  }
  .c-form.is-default th > span {
    position: relative;
    display: block;
    padding-right: 51px;
  }
  .c-form.is-default th > p {
    position: relative;
    display: block;
    padding-right: 51px;
  }
  .c-form.is-default td {
    padding: 28px 0 28px 22px;
  }
}

/* .c-form-label
================================================== */
.c-form-label {
  display: inline-grid;
  place-content: center;
  width: 41px;
  height: 24px;
  margin-left: 10px;
  font-size: 1rem;
  background: rgb(var(--color-grayscale-900));
  color: #fff;
}
.c-form-label.is-required {
  background: #f00;
}
@media (min-width: 768px) {
  .c-form-label {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.4rem;
  }
}

/* .c-form-postcode
================================================== */
.c-form-postcode {
  display: flex;
  flex-wrap: wrap;
}
.c-form-postcode__prefix {
  max-width: 26px;
  margin-right: 12px;
  padding-top: 4px;
  font-size: 1.6rem;
}
.c-form-postcode__input {
  flex-basis: 120px;
}
.c-form-postcode__addr {
  margin-top: 15px;
}
.c-form-postcode__addr input {
  max-width: 100%;
}
@media (min-width: 768px) {
  .c-form-postcode__input {
    flex-basis: 200px;
  }
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-postcode .c-form-postcode__prefix,
.is-confirm .c-form-postcode .c-form-postcode__prefix {
  max-width: none;
  flex-basis: 0;
}

/* .c-form-item
================================================== */
.c-form-item {
  display: flex;
}
.c-form-item + .c-form-item {
  margin-top: 10px;
}
.c-form-item-list {
  display: flex;
}
.c-form-item-list .c-form-item + .c-form-item {
  margin-top: 0;
  margin-left: 14px;
}
.c-form-item__prefix {
  min-width: 20px;
  margin-right: 10px;
  padding-top: 5px;
}
.c-form-item__suffix {
  min-width: 20px;
  margin-left: 10px;
  padding-top: 5px;
}
.c-form-item__input {
  flex: 1;
  min-width: 80px;
}
@media (min-width: 768px) {
  .c-form-item {
    display: inline-flex;
  }
  .c-form-item + .c-form-item {
    margin: 0 0 0 20px;
  }
  .c-form-item__input {
    width: 200px;
  }
  .c-form-item-list .c-form-item__input {
    width: auto;
  }
}

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

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

/* .mw_wp_form リセット
================================================ */
.mw_wp_form .c-form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

/* .c-form-thanks
================================================ */
.c-form-thanks__txt {
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .c-form-thanks__btn {
    margin-top: 50px;
  }
}

/* .c-gallery01
================================================ */
.c-gallery01__main {
  overflow: visible !important;
}
.c-gallery01__main-item {
  position: relative;
  background-color: rgba(var(--color-surface-500));
}
.c-gallery01__main-item:before {
  content: "";
  display: block;
  padding-top: 68%;
}
.c-gallery01__main-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.c-gallery01__main .swiper-button-disabled {
  opacity: 0.3;
}
.c-gallery01__main .swiper-button-prev {
  left: -15px;
}
.c-gallery01__main .swiper-button-next {
  right: -15px;
}
.c-gallery01__main.has-item1 .swiper-button-prev,
.c-gallery01__main.has-item1 .swiper-button-next {
  display: none;
}
.c-gallery01__thumb {
  margin-top: 5px;
}
.c-gallery01__thumb-item {
  position: relative;
  opacity: 0.5;
  cursor: pointer;
}
.c-gallery01__thumb-item:before {
  content: "";
  display: block;
  padding-top: 68%;
}
.c-gallery01__thumb-item:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(var(--color-primary-500));
  box-sizing: border-box;
  background-color: rgba(23, 47, 75, 0.4);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
}
.c-gallery01__thumb-item.swiper-slide-thumb-active {
  opacity: 1;
}
.c-gallery01__thumb-item.swiper-slide-thumb-active:after {
  opacity: 1;
}
.c-gallery01__thumb-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-gallery01__thumb.has-item1 {
  display: none;
}
@media (min-width: 768px) {
  .c-gallery01__main .swiper-button-prev,
.c-gallery01__main .swiper-button-next {
    width: 50px;
    height: 50px;
  }
  .c-gallery01__main .swiper-button-prev {
    left: -25px;
  }
  .c-gallery01__main .swiper-button-next {
    right: -25px;
  }
  .c-gallery01__thumb {
    margin-top: 10px;
  }
}

@media (min-width: 768px) {
  .c-head01.is-pc-main-small .c-head01__main {
    font-size: 4.6rem;
  }
}

.c-head01.is-white {
  color: #fff;
}

.c-head01 {
  margin-bottom: 25px;
}
.c-head01__sub {
  margin-bottom: 13px;
  font-size: 1.2rem;
}
.c-head01__main {
  font-size: 2.7rem;
}
@media (min-width: 768px) {
  .c-head01 {
    margin-bottom: 60px;
  }
  .c-head01__sub {
    font-size: 1.4rem;
  }
  .c-head01__main {
    font-size: 5.2rem;
  }
}

/* .c-head02
================================================ */
.c-head02 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(var(--color-grayscale-500));
  box-sizing: border-box;
  font-size: 2.3rem;
}
@media (min-width: 768px) {
  .c-head02 {
    margin-bottom: 35px;
    padding-bottom: 12px;
    font-size: 2.8rem;
  }
}

/* .c-ico
================================================== */
.c-ico {
  display: inline-block;
  vertical-align: baseline;
}
.c-ico svg {
  transition: all 0.3s ease;
}

/* .c-ico.is-arw01
================================================== */
/* .c-ico.is-arw02
================================================== */
/* .c-ico.is-arw03
================================================== */
.c-ico.is-arw03::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}
.c-ico.is-arw03.is-circle {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .c-ico.is-arw03.is-circle {
    width: 50px;
    height: 50px;
  }
}

/* .c-ico.is-blank01
================================================== */
.c-ico.is-blank01::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 9px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.004 8.998"><path d="M7566,22026v-5.334h1.78v.891h-.89v3.553h3.56v-.889h.885V22026Zm2.67-2.67V22018H7574v5.328Zm.89-.885h3.554v-3.559h-3.554Z" transform="translate(-7565.498 -22017.502)" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.004 8.998"><path d="M7566,22026v-5.334h1.78v.891h-.89v3.553h3.56v-.889h.885V22026Zm2.67-2.67V22018H7574v5.328Zm.89-.885h3.554v-3.559h-3.554Z" transform="translate(-7565.498 -22017.502)" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

/* .c-ico.is-blank02
================================================== */
/* .c-ico.is-mail01
================================================== */
.c-ico.is-mail01::after {
  content: "";
  display: inline-block;
  width: 28px;
  height: 19px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" x="0" y="0" style="enable-background:new 0 0 28 19" version="1.1" viewBox="0 0 28 19"><path d="m19.9 8.8 7.8 8.8c0-.1.1-.3.1-.4v-15l-7.9 6.6zM27.1.4c-.3-.2-.6-.4-1-.4H1.7C1.3 0 1 .1.7.4l13.2 11.2L27.1.4zM0 2.1v15c0 .2 0 .3.1.4l7.8-8.8L0 2.1z"/><path d="m13.9 13.9-4.6-4-8 9c.1.1.2.1.4.1h24.5c.1 0 .3 0 .4-.1l-8-9-4.7 4z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" x="0" y="0" style="enable-background:new 0 0 28 19" version="1.1" viewBox="0 0 28 19"><path d="m19.9 8.8 7.8 8.8c0-.1.1-.3.1-.4v-15l-7.9 6.6zM27.1.4c-.3-.2-.6-.4-1-.4H1.7C1.3 0 1 .1.7.4l13.2 11.2L27.1.4zM0 2.1v15c0 .2 0 .3.1.4l7.8-8.8L0 2.1z"/><path d="m13.9 13.9-4.6-4-8 9c.1.1.2.1.4.1h24.5c.1 0 .3 0 .4-.1l-8-9-4.7 4z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

/* .c-ico.is-map01
================================================== */
/* .c-ico.is-search01
================================================== */
/* .c-ico.is-tel01
================================================== */
.c-ico.is-tel01::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 16px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 16"><path d="M17,11.1l-5-0.5l-2.4,2.2C7,11.5,4.8,9.4,3.4,6.9l2.4-2.2L5.2,0H0c-0.5,9,7.4,16.5,17,16V11.1L17,11.1z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 16"><path d="M17,11.1l-5-0.5l-2.4,2.2C7,11.5,4.8,9.4,3.4,6.9l2.4-2.2L5.2,0H0c-0.5,9,7.4,16.5,17,16V11.1L17,11.1z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

/* .c-ico.is-check01
================================================== */
.c-ico.is-check01::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 16 12" viewBox="0 0 16 12"><path d="M13.7 0 6 7.5 2.3 3.9 0 6.1 6 12l10-9.8L13.7 0z" class="st0"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 16 12" viewBox="0 0 16 12"><path d="M13.7 0 6 7.5 2.3 3.9 0 6.1 6 12l10-9.8L13.7 0z" class="st0"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

/* .c-ico.is-facebook01
================================================== */
.c-ico.is-facebook01::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 30 30" viewBox="0 0 30 30"><path d="M30 15c0-8.3-6.7-15-15-15S0 6.7 0 15c0 7 4.8 12.9 11.4 14.6v-10H8.3V15h3.1v-2c0-5.1 2.3-7.5 7.3-7.5 1 0 2.6.2 3.3.4v4.2c-.4 0-1-.1-1.7-.1-2.5 0-3.4.9-3.4 3.4V15h4.9l-.8 4.6h-4.1v10.3C24.2 29 30 22.7 30 15z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 30 30" viewBox="0 0 30 30"><path d="M30 15c0-8.3-6.7-15-15-15S0 6.7 0 15c0 7 4.8 12.9 11.4 14.6v-10H8.3V15h3.1v-2c0-5.1 2.3-7.5 7.3-7.5 1 0 2.6.2 3.3.4v4.2c-.4 0-1-.1-1.7-.1-2.5 0-3.4.9-3.4 3.4V15h4.9l-.8 4.6h-4.1v10.3C24.2 29 30 22.7 30 15z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

/* .c-ico.is-instagram01
================================================== */
.c-ico.is-instagram01::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 30 30" viewBox="0 0 30 30"><path d="M8.8.1C7.2.2 6.1.4 5.1.8c-1 .4-1.8.9-2.7 1.7-.7.9-1.2 1.7-1.6 2.7-.4 1-.6 2-.7 3.6C0 10.4 0 11 0 15c0 4.1 0 4.6.1 6.2.1 1.6.3 2.7.7 3.6.4 1 .9 1.8 1.7 2.7.8.8 1.7 1.3 2.7 1.7 1 .4 2 .6 3.6.7 1.6.1 2.2.1 6.2.1 4.1 0 4.6 0 6.2-.1 1.6-.1 2.7-.3 3.6-.7 1-.4 1.8-.9 2.7-1.7.8-.8 1.3-1.7 1.7-2.7.4-1 .6-2 .7-3.6.1-1.6.1-2.2.1-6.2 0-4.1 0-4.6-.1-6.2-.1-1.6-.3-2.7-.7-3.6-.4-1-.9-1.8-1.7-2.7-.8-.8-1.7-1.3-2.7-1.7-1-.4-2-.6-3.6-.7C19.6 0 19 0 15 0c-4.1 0-4.6 0-6.2.1zM9 27.2c-1.5-.1-2.3-.3-2.8-.5-.7-.3-1.2-.6-1.7-1.1-.5-.5-.9-1-1.1-1.7-.2-.5-.5-1.3-.5-2.8-.2-1.6-.2-2.1-.2-6.1 0-4 0-4.5.1-6.1.1-1.5.3-2.3.5-2.8.3-.6.6-1.1 1.1-1.7.5-.5 1-.9 1.7-1.1.5-.2 1.3-.5 2.8-.5 1.6-.1 2.1-.1 6.1-.1 4 0 4.5 0 6.1.1 1.5.1 2.3.3 2.8.5.7.3 1.2.6 1.7 1.1.5.5.9 1 1.1 1.7.2.5.5 1.3.5 2.8.1 1.6.1 2.1.1 6.1 0 4 0 4.5-.1 6.1-.1 1.5-.3 2.3-.5 2.8-.3.7-.6 1.2-1.1 1.7-.5.5-1 .9-1.7 1.1-.5.2-1.3.5-2.8.5-1.6.1-2.1.1-6.1.1-4 0-4.5 0-6-.1zM21.2 7c0 1 .8 1.8 1.8 1.8S24.8 8 24.8 7 24 5.2 23 5.2 21.2 6 21.2 7zM7.3 15c0 4.3 3.5 7.7 7.7 7.7 4.3 0 7.7-3.5 7.7-7.7 0-4.3-3.5-7.7-7.7-7.7-4.3 0-7.7 3.5-7.7 7.7zm2.7 0c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 30 30" viewBox="0 0 30 30"><path d="M8.8.1C7.2.2 6.1.4 5.1.8c-1 .4-1.8.9-2.7 1.7-.7.9-1.2 1.7-1.6 2.7-.4 1-.6 2-.7 3.6C0 10.4 0 11 0 15c0 4.1 0 4.6.1 6.2.1 1.6.3 2.7.7 3.6.4 1 .9 1.8 1.7 2.7.8.8 1.7 1.3 2.7 1.7 1 .4 2 .6 3.6.7 1.6.1 2.2.1 6.2.1 4.1 0 4.6 0 6.2-.1 1.6-.1 2.7-.3 3.6-.7 1-.4 1.8-.9 2.7-1.7.8-.8 1.3-1.7 1.7-2.7.4-1 .6-2 .7-3.6.1-1.6.1-2.2.1-6.2 0-4.1 0-4.6-.1-6.2-.1-1.6-.3-2.7-.7-3.6-.4-1-.9-1.8-1.7-2.7-.8-.8-1.7-1.3-2.7-1.7-1-.4-2-.6-3.6-.7C19.6 0 19 0 15 0c-4.1 0-4.6 0-6.2.1zM9 27.2c-1.5-.1-2.3-.3-2.8-.5-.7-.3-1.2-.6-1.7-1.1-.5-.5-.9-1-1.1-1.7-.2-.5-.5-1.3-.5-2.8-.2-1.6-.2-2.1-.2-6.1 0-4 0-4.5.1-6.1.1-1.5.3-2.3.5-2.8.3-.6.6-1.1 1.1-1.7.5-.5 1-.9 1.7-1.1.5-.2 1.3-.5 2.8-.5 1.6-.1 2.1-.1 6.1-.1 4 0 4.5 0 6.1.1 1.5.1 2.3.3 2.8.5.7.3 1.2.6 1.7 1.1.5.5.9 1 1.1 1.7.2.5.5 1.3.5 2.8.1 1.6.1 2.1.1 6.1 0 4 0 4.5-.1 6.1-.1 1.5-.3 2.3-.5 2.8-.3.7-.6 1.2-1.1 1.7-.5.5-1 .9-1.7 1.1-.5.2-1.3.5-2.8.5-1.6.1-2.1.1-6.1.1-4 0-4.5 0-6-.1zM21.2 7c0 1 .8 1.8 1.8 1.8S24.8 8 24.8 7 24 5.2 23 5.2 21.2 6 21.2 7zM7.3 15c0 4.3 3.5 7.7 7.7 7.7 4.3 0 7.7-3.5 7.7-7.7 0-4.3-3.5-7.7-7.7-7.7-4.3 0-7.7 3.5-7.7 7.7zm2.7 0c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

/* .c-ico.is-instagram01
================================================== */
.c-ico.is-instagram01::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 30 30" viewBox="0 0 30 30"><path d="M8.8.1C7.2.2 6.1.4 5.1.8c-1 .4-1.8.9-2.7 1.7-.7.9-1.2 1.7-1.6 2.7-.4 1-.6 2-.7 3.6C0 10.4 0 11 0 15c0 4.1 0 4.6.1 6.2.1 1.6.3 2.7.7 3.6.4 1 .9 1.8 1.7 2.7.8.8 1.7 1.3 2.7 1.7 1 .4 2 .6 3.6.7 1.6.1 2.2.1 6.2.1 4.1 0 4.6 0 6.2-.1 1.6-.1 2.7-.3 3.6-.7 1-.4 1.8-.9 2.7-1.7.8-.8 1.3-1.7 1.7-2.7.4-1 .6-2 .7-3.6.1-1.6.1-2.2.1-6.2 0-4.1 0-4.6-.1-6.2-.1-1.6-.3-2.7-.7-3.6-.4-1-.9-1.8-1.7-2.7-.8-.8-1.7-1.3-2.7-1.7-1-.4-2-.6-3.6-.7C19.6 0 19 0 15 0c-4.1 0-4.6 0-6.2.1zM9 27.2c-1.5-.1-2.3-.3-2.8-.5-.7-.3-1.2-.6-1.7-1.1-.5-.5-.9-1-1.1-1.7-.2-.5-.5-1.3-.5-2.8-.2-1.6-.2-2.1-.2-6.1 0-4 0-4.5.1-6.1.1-1.5.3-2.3.5-2.8.3-.6.6-1.1 1.1-1.7.5-.5 1-.9 1.7-1.1.5-.2 1.3-.5 2.8-.5 1.6-.1 2.1-.1 6.1-.1 4 0 4.5 0 6.1.1 1.5.1 2.3.3 2.8.5.7.3 1.2.6 1.7 1.1.5.5.9 1 1.1 1.7.2.5.5 1.3.5 2.8.1 1.6.1 2.1.1 6.1 0 4 0 4.5-.1 6.1-.1 1.5-.3 2.3-.5 2.8-.3.7-.6 1.2-1.1 1.7-.5.5-1 .9-1.7 1.1-.5.2-1.3.5-2.8.5-1.6.1-2.1.1-6.1.1-4 0-4.5 0-6-.1zM21.2 7c0 1 .8 1.8 1.8 1.8S24.8 8 24.8 7 24 5.2 23 5.2 21.2 6 21.2 7zM7.3 15c0 4.3 3.5 7.7 7.7 7.7 4.3 0 7.7-3.5 7.7-7.7 0-4.3-3.5-7.7-7.7-7.7-4.3 0-7.7 3.5-7.7 7.7zm2.7 0c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 30 30" viewBox="0 0 30 30"><path d="M8.8.1C7.2.2 6.1.4 5.1.8c-1 .4-1.8.9-2.7 1.7-.7.9-1.2 1.7-1.6 2.7-.4 1-.6 2-.7 3.6C0 10.4 0 11 0 15c0 4.1 0 4.6.1 6.2.1 1.6.3 2.7.7 3.6.4 1 .9 1.8 1.7 2.7.8.8 1.7 1.3 2.7 1.7 1 .4 2 .6 3.6.7 1.6.1 2.2.1 6.2.1 4.1 0 4.6 0 6.2-.1 1.6-.1 2.7-.3 3.6-.7 1-.4 1.8-.9 2.7-1.7.8-.8 1.3-1.7 1.7-2.7.4-1 .6-2 .7-3.6.1-1.6.1-2.2.1-6.2 0-4.1 0-4.6-.1-6.2-.1-1.6-.3-2.7-.7-3.6-.4-1-.9-1.8-1.7-2.7-.8-.8-1.7-1.3-2.7-1.7-1-.4-2-.6-3.6-.7C19.6 0 19 0 15 0c-4.1 0-4.6 0-6.2.1zM9 27.2c-1.5-.1-2.3-.3-2.8-.5-.7-.3-1.2-.6-1.7-1.1-.5-.5-.9-1-1.1-1.7-.2-.5-.5-1.3-.5-2.8-.2-1.6-.2-2.1-.2-6.1 0-4 0-4.5.1-6.1.1-1.5.3-2.3.5-2.8.3-.6.6-1.1 1.1-1.7.5-.5 1-.9 1.7-1.1.5-.2 1.3-.5 2.8-.5 1.6-.1 2.1-.1 6.1-.1 4 0 4.5 0 6.1.1 1.5.1 2.3.3 2.8.5.7.3 1.2.6 1.7 1.1.5.5.9 1 1.1 1.7.2.5.5 1.3.5 2.8.1 1.6.1 2.1.1 6.1 0 4 0 4.5-.1 6.1-.1 1.5-.3 2.3-.5 2.8-.3.7-.6 1.2-1.1 1.7-.5.5-1 .9-1.7 1.1-.5.2-1.3.5-2.8.5-1.6.1-2.1.1-6.1.1-4 0-4.5 0-6-.1zM21.2 7c0 1 .8 1.8 1.8 1.8S24.8 8 24.8 7 24 5.2 23 5.2 21.2 6 21.2 7zM7.3 15c0 4.3 3.5 7.7 7.7 7.7 4.3 0 7.7-3.5 7.7-7.7 0-4.3-3.5-7.7-7.7-7.7-4.3 0-7.7 3.5-7.7 7.7zm2.7 0c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}

.c-check-list01__item {
  position: relative;
  display: flex;
  line-height: var(--line-height_serif);
  flex: 1;
  padding-bottom: 10px;
}
.c-check-list01__item::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: url(../img/common/bg_dot01.svg) repeat-x center left/contain;
}
.c-check-list01__item + .c-check-list01__item {
  padding-top: 15px;
}
.c-check-list01__item .c-check-list01__item-ico {
  display: grid;
  place-content: center;
  min-width: 16px;
  height: 16px;
  background: #fff;
  color: rgb(var(--color-grayscale-900));
  border-radius: 50%;
  margin: 5px 10px 0 0;
}
.c-check-list01__item .c-check-list01__item-ico::after {
  width: 8px;
  height: 8px;
}
@media (min-width: 768px) {
  .c-check-list01__item + .c-check-list01__item {
    padding-top: 25px;
  }
  .c-check-list01__item .c-check-list01__item-ico {
    min-width: 24px;
    height: 24px;
    margin: 5px 14px 0 0;
  }
  .c-check-list01__item .c-check-list01__item-ico::after {
    width: 14px;
    height: 14px;
  }
}

.c-list-decimal01 {
  counter-reset: num;
}
.c-list-decimal01__item {
  counter-increment: num;
  position: relative;
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  flex: 1;
}
.c-list-decimal01__item::before {
  content: counter(num, decimal-leading-zero) ".";
  display: inline-block;
  padding-right: 0.5em;
  white-space: nowrap;
  color: rgb(var(--main));
}

/*  .c-list01
================================================== */
.c-list01 {
  list-style: none;
}
.c-list01__item {
  position: relative;
  padding-left: 1em;
  box-sizing: border-box;
}
.c-list01__item::before {
  content: "";
  position: absolute;
  top: calc(1em - 3px);
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
}
@media (min-width: 768px) {
  .c-list01.is-column2-upper-tb {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

/* .c-pager01
===================================*/
.c-pager01 {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  margin: 50px -20px -24px;
}
.c-pager01 li {
  margin: 0 3px 24px;
}
.c-pager01 li a, .c-pager01 li span {
  line-height: 1;
  position: relative;
  display: block;
  padding: 5px 8px;
  box-sizing: border-box;
  color: rgba(var(--color-grayscale-700));
  font-family: var(--fontfamily_serif);
  font-weight: var(--font_weight_serif);
  letter-spacing: var(--letter-spacing_serif);
  text-decoration: none;
}
.c-pager01 li a:after, .c-pager01 li span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  margin: 0 5px;
  background-color: rgba(var(--color-grayscale-900));
  pointer-events: none;
  opacity: 0;
  transition: all 0.3s ease;
}
.c-pager01 li.current span {
  color: rgba(var(--color-grayscale-900));
}
.c-pager01 li.current span:after {
  opacity: 1;
}
.c-pager01 li.previous a, .c-pager01 li.next a {
  width: 30px;
  height: 50px;
  padding: 0;
  color: rgba(var(--color-grayscale-900));
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
}
.c-pager01 li.previous a:before, .c-pager01 li.next a:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-pager01 li.previous {
  margin-right: 25px;
  transform: scaleX(-1);
}
.c-pager01 li.next {
  margin-left: 25px;
}
.c-pager01 li.pages, .c-pager01 li.first, .c-pager01 li.extend, .c-pager01 li.last {
  display: none;
}
@media (max-width: 374px) {
  .c-pager01 li.previous {
    margin-right: 5px;
  }
  .c-pager01 li.next {
    margin-left: 5px;
  }
}
@media (min-width: 768px) {
  .c-pager01 {
    margin: 92px -3px -24px;
  }
  .c-pager01 li {
    margin: 0 3px 24px;
  }
  .c-pager01 li a, .c-pager01 li span {
    padding: 5px 7px;
  }
  .c-pager01 li.previous {
    margin-right: 50px;
  }
  .c-pager01 li.next {
    margin-left: 50px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-pager01 li:not(.previous):not(.next) a:hover:after {
    opacity: 1;
  }
  .c-pager01 li.previous a:hover:before,
.c-pager01 li.next a:hover:before {
    margin-left: 5px;
  }
}

/*  .c-pager02
================================================== */
.c-pager02 {
  position: relative;
  overflow: hidden;
  margin-top: 55px;
}
.c-pager02__all {
  margin: 5px auto;
}
.c-pager02__previous, .c-pager02__next {
  width: calc(50% - 10px);
  margin-top: 25px;
}
.c-pager02__previous a, .c-pager02__next a {
  position: relative;
  box-sizing: border-box;
  text-decoration: none;
  overflow: hidden;
  display: -webkit-box;
  max-height: 4.5em;
  line-height: 1.5;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.c-pager02__previous a:after, .c-pager02__next a:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-pager02__previous {
  float: left;
}
.c-pager02__previous a {
  padding-left: 30px;
  color: rgba(var(--color-grayscale-700));
}
.c-pager02__previous a:after {
  left: 0;
  transform: translateY(-50%) scaleX(-1);
}
.c-pager02__next {
  float: right;
  text-align: right;
}
.c-pager02__next a {
  padding-right: 30px;
}
.c-pager02__next a:after {
  right: 0;
}
@media (min-width: 768px) {
  .c-pager02 {
    margin-top: 95px;
    padding: 0 350px;
    box-sizing: border-box;
  }
  .c-pager02__previous, .c-pager02__next {
    float: none !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 314px;
    margin-top: -5px;
  }
  .c-pager02__previous a, .c-pager02__next a {
    max-height: 3em;
    -webkit-line-clamp: 2;
  }
  .c-pager02__previous {
    left: 0;
  }
  .c-pager02__previous a {
    padding-left: 52px;
  }
  .c-pager02__next {
    right: 0;
  }
  .c-pager02__next a {
    padding-right: 52px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-pager02__previous a:hover, .c-pager02__next a:hover {
    text-decoration: underline;
  }
}

/* .c-set01.is-pc-col2
================================================ */
@media (min-width: 768px) {
  .c-set01.is-pc-col2 {
    display: flex;
    justify-content: flex-start;
    flex-direction: row-reverse;
  }
  .c-set01.is-pc-col2.has-align-end {
    align-items: flex-end;
  }
  .c-set01.is-pc-col2 .c-set01__img {
    max-width: 1000px;
    width: 100%;
    margin: 0 0 0 90px;
  }
  .c-set01.is-pc-col2 .c-set01__area-txt {
    min-width: 500px;
    width: 500px;
  }
  .c-set01.is-pc-col2 .c-set01__area-txt.has-space-between {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media (max-width: 1580px) and (min-width: 768px) {
  .c-set01.is-pc-col2.has-align-end {
    align-items: flex-start;
  }
}

/* .c-set01-list
================================================ */
@media (max-width: 767px) {
  .c-set01-list .c-set01 + .c-set01 {
    margin-top: 70px;
  }
}
@media (min-width: 768px) {
  .c-set01-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 120px 120px;
  }
}

/* .c-set01
================================================ */
.c-set01__img {
  margin-bottom: 25px;
  text-align: center;
}
.c-set01__logo {
  margin: -25px 0 42px;
  text-align: center;
}
.c-set01__logo-txt {
  line-height: var(--line-height_head);
  margin-top: -10px;
  color: rgba(var(--color-grayscale-800));
  font-size: 1.4rem;
}
.c-set01__lead {
  margin-bottom: 16px;
  font-size: 2rem;
}
.c-set01__head {
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
  font-size: 2.3rem;
}
.c-set01__head-num {
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  color: rgba(var(--color-surface-500));
  font-size: 6rem;
  z-index: -1;
}
.c-set01__head-small {
  font-size: 2rem;
}
.c-set01__txt + .c-set01__txt {
  margin-top: 1em;
}
.c-set01__btn {
  margin: 34px 0 0 auto;
}
@media (max-width: 767px) {
  .c-set01__area-txt {
    padding: 0 20px;
    box-sizing: border-box;
  }
}
@media (min-width: 768px) {
  .c-set01__img {
    margin-bottom: 62px;
  }
  .c-set01__logo {
    margin: 0 0 72px;
  }
  .c-set01__logo-txt {
    margin-top: -24px;
    font-size: 1.6rem;
  }
  .c-set01__lead {
    margin-bottom: 40px;
    font-size: 2.2rem;
  }
  .c-set01__head {
    margin-bottom: 40px;
    font-size: 2.8rem;
  }
  .c-set01__head-num {
    right: -2px;
    font-size: 11rem;
  }
  .c-set01__head-small {
    font-size: 2.2rem;
  }
  .c-set01__txt + .c-set01__txt {
    margin-top: 2.2em;
  }
  .c-set01__btn {
    margin-top: 38px;
  }
}

/* c-single01
------------------------------------- */
.c-single01 {
  overflow: hidden;
}
.c-single01__inner {
  padding-top: 54px;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .c-single01__inner {
    padding-top: 70px;
    padding-bottom: 85px;
  }
}

/* .c-single01-header
================================================ */
.c-single01-header {
  margin-bottom: 30px;
}
.c-single01-header__area-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.c-single01-header__cat {
  line-height: var(--line-height_head);
  margin: 0 15px 20px 0;
}
.c-single01-header__cat-in {
  display: block;
  padding: 4px 20px;
  box-sizing: border-box;
  background-color: rgb(var(--color-category01-500));
  font-size: 1.1rem;
  letter-spacing: var(--letter-spacing_base);
  transition: all 0.3s ease;
}
.c-single01-header__date {
  color: rgba(var(--color-grayscale-700));
  margin-bottom: 20px;
  font-size: 1.4rem;
}
.c-single01-header__head {
  font-size: 2.9rem;
}
@media (min-width: 768px) {
  .c-single01-header {
    margin-bottom: 70px;
  }
  .c-single01-header__cat {
    margin: 0 20px 20px 0;
  }
  .c-single01-header__cat-in {
    padding: 5px 21px;
    font-size: 1.4rem;
  }
  .c-single01-header__head {
    font-size: 4.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-single01-header__cat-in:hover {
    background-color: rgba(var(--color-grayscale-900)) !important;
    color: #fff;
  }
}

/* .c-single01-intro
================================================ */
.c-single01-intro__gallery {
  margin-bottom: 30px;
}
.c-single01-intro__lead {
  line-height: var(--line-height_base);
  margin-bottom: 20px;
  font-size: 2.3rem;
}
.c-single01-intro__txt {
  color: rgba(var(--color-grayscale-700));
}
.c-single01-intro__tag {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .c-single01-intro {
    display: flex;
    flex-direction: row-reverse;
  }
  .c-single01-intro__gallery {
    min-width: 540px;
    width: 540px;
    margin: 0 0 0 60px;
  }
  .c-single01-intro__area-txt {
    width: 100%;
  }
  .c-single01-intro__lead {
    margin-bottom: 30px;
    font-size: 2.8rem;
  }
}

/* .c-single01__content
================================================ */
.c-single01__content {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .c-single01__content {
    margin-top: 100px;
  }
}

/* .c-single01__table
================================================ */
.c-single01__table {
  margin-top: 70px;
}
@media (min-width: 768px) {
  .c-single01__table {
    margin-top: 100px;
  }
}

/* .c-single01-relation
================================================ */
.c-single01-relation {
  margin-top: 80px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .c-single01-relation {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 768px) {
  .c-single01-relation {
    margin-top: 166px;
  }
}

/* .c-single-content
================================================== */
.c-single-content *:first-child {
  margin-top: 0;
}
.c-single-content *:last-child {
  margin-bottom: 0;
}
.c-single-content h1,
.c-single-content h2,
.c-single-content h3,
.c-single-content h4,
.c-single-content h5,
.c-single-content h6 {
  box-sizing: border-box;
  font-family: var(--fontfamily_serif);
  font-weight: var(--font_weight_serif);
  line-height: var(--line-height_serif);
  letter-spacing: var(--letter-spacing_serif);
  clear: both;
}
.c-single-content h2 {
  margin: 60px 0 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(var(--color-grayscale-500));
  font-size: 2.3rem;
}
.c-single-content h3 {
  position: relative;
  margin: 40px 0 15px;
  padding-left: 12px;
  font-size: 2rem;
}
.c-single-content h3:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1px;
  margin: 4px 0 2px;
  background-color: rgba(var(--color-primary-400));
}
.c-single-content h4 {
  margin: 40px 0 15px;
  font-size: 1.8rem;
}
.c-single-content h1, .c-single-content h5, .c-single-content h6 {
  margin: 25px 0 10px;
}
.c-single-content p {
  margin: 1em 0;
}
.c-single-content strong {
  background: linear-gradient(transparent 0%, rgba(var(--color-primary-200)) 0%);
  color: rgb(var(--red));
  font-weight: 400;
}
.c-single-content a[target=_blank]::after {
  margin-left: 5px;
  content: "";
  display: inline-block;
  width: 10px;
  height: 9px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.004 8.998"><path d="M7566,22026v-5.334h1.78v.891h-.89v3.553h3.56v-.889h.885V22026Zm2.67-2.67V22018H7574v5.328Zm.89-.885h3.554v-3.559h-3.554Z" transform="translate(-7565.498 -22017.502)" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.004 8.998"><path d="M7566,22026v-5.334h1.78v.891h-.89v3.553h3.56v-.889h.885V22026Zm2.67-2.67V22018H7574v5.328Zm.89-.885h3.554v-3.559h-3.554Z" transform="translate(-7565.498 -22017.502)" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
}
.c-single-content ul, .c-single-content ol {
  line-height: var(--line-height_head);
  list-style: none;
  margin: 2em 0;
  padding-left: 0;
}
.c-single-content ul li, .c-single-content ol li {
  position: relative;
  box-sizing: border-box;
}
.c-single-content ul li {
  padding-left: 0.8em;
}
.c-single-content ul li + li {
  margin-top: 1em;
}
.c-single-content ul li:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: rgba(var(--color-primary-400));
}
.c-single-content ol {
  counter-reset: number 0;
}
.c-single-content ol li {
  counter-increment: number 1;
  padding-left: 2.1em;
}
.c-single-content ol li + li {
  margin-top: 1.2em;
}
.c-single-content ol li:before {
  content: counter(number, decimal-leading-zero) ".";
  position: absolute;
  top: 1px;
  left: 0;
  font-family: var(--fontfamily_serif);
  font-weight: var(--font_weight_serif);
  letter-spacing: var(--letter-spacing_serif);
}
.c-single-content blockquote {
  margin: 30px 0;
  padding: 20px;
  box-sizing: border-box;
  background-color: rgba(var(--color-surface-500));
  clear: both;
}
@media (max-width: 767px) {
  .c-single-content img {
    display: block;
    margin: 35px auto 20px;
  }
}
@media (min-width: 768px) {
  .c-single-content {
    display: flow-root;
  }
  .c-single-content h2 {
    margin: 100px 0 35px;
    padding-bottom: 12px;
    font-size: 2.8rem;
  }
  .c-single-content h3 {
    margin: 60px 0 20px;
    padding-left: 15px;
    font-size: 2.2rem;
  }
  .c-single-content h3:before {
    margin: 2px 0 4px;
  }
  .c-single-content h4 {
    margin: 50px 0 15px;
  }
  .c-single-content h1, .c-single-content h5, .c-single-content h6 {
    margin: 40px 0 10px;
  }
  .c-single-content ul, .c-single-content ol {
    margin: 2.1em 0;
  }
  .c-single-content ul li + li {
    margin-top: 1.1em;
  }
  .c-single-content blockquote {
    margin: 40px 0;
    padding: 40px;
  }
  .c-single-content .alignleft {
    float: left;
    margin: 28px 50px 28px 0;
    clear: right;
  }
  .c-single-content .alignleft + .alignleft {
    clear: left;
  }
  .c-single-content .alignright {
    float: right;
    margin: 28px 0 28px 50px;
  }
  .c-single-content .aligncenter {
    display: block;
    margin: 50px auto 60px;
    text-align: center;
    clear: both;
  }
}

.c-tab01 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid rgb(var(--color-grayscale-500));
}
.c-tab01__item {
  display: flex;
}
.c-tab01__item-in {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding: 14px 0;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: var(--line-height_serif);
  color: rgb(var(--color-grayscale-700));
  transition: all 0.3s ease;
}
.c-tab01__item-in::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.5px;
  width: 100%;
  height: 3px;
  background: rgb(var(--color-primary-500));
  transition: all 0.3s ease;
  transform: scaleY(0);
}
.c-tab01__item.is-active .c-tab01__item-in {
  color: rgb(var(--color-primary-500));
}
.c-tab01__item.is-active .c-tab01__item-in::before {
  transform: scaleY(1);
}
@media (max-width: 374px) {
  .c-tab01__item-in {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .c-tab01 {
    grid-template-columns: repeat(auto-fill, 280px);
  }
  .c-tab01__item-in {
    padding: 30px 0;
    font-size: 1.8rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-tab01__item-in:hover {
    color: rgb(var(--color-primary-500));
  }
}

/*  .c-table01
================================================== */
.c-table01 table {
  box-sizing: border-box;
  border-bottom: 1px solid rgba(var(--color-grayscale-500));
}
.c-table01 th, .c-table01 td {
  padding: 20px;
  border-top: 1px solid rgba(var(--color-grayscale-500));
  box-sizing: border-box;
  background-color: #fff;
  font-weight: 400;
  vertical-align: top;
  text-align: left;
}
.c-table01 th {
  padding: 12px 20px;
  background-color: rgba(var(--color-surface-500));
}
@media (max-width: 767px) {
  .c-table01 table, .c-table01 tbody, .c-table01 tr, .c-table01 th, .c-table01 td {
    display: block;
  }
  .c-table01 td {
    border-top: 0;
  }
}
@media (min-width: 768px) {
  .c-table01 th {
    padding: 20px 25px;
    width: 220px;
  }
}

/* .c-table02
================================================ */
.c-table02 table {
  border-bottom: 1px solid rgba(var(--color-grayscale-500));
  box-sizing: border-box;
}
.c-table02 th, .c-table02 td {
  border-top: 1px solid rgba(var(--color-grayscale-500));
  box-sizing: border-box;
  vertical-align: top;
  text-align: left;
}
.c-table02 th {
  line-height: var(--line-height_head);
  padding-top: 22px;
  font-weight: 400;
}
.c-table02 td {
  padding: 4px 0 22px;
}
@media (max-width: 767px) {
  .c-table02 table, .c-table02 tbody, .c-table02 tr, .c-table02 th, .c-table02 td {
    display: block;
  }
  .c-table02 td {
    border-top: 0;
  }
}
@media (min-width: 768px) {
  .c-table02 th, .c-table02 td {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .c-table02 th {
    width: 210px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* .c-tag01-set
================================================ */
.c-tag01-set {
  margin-top: 80px;
  padding: 40px 30px;
  box-sizing: border-box;
}
.c-tag01-set__head {
  margin-bottom: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid #D9D9D9;
  box-sizing: border-box;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .c-tag01-set {
    display: flex;
    margin-top: 100px;
    padding: 50px;
  }
  .c-tag01-set__head {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    min-width: 265px;
    width: 265px;
    margin: 0 55px 0 0;
    padding: 22px 10px 22px 0;
    border-bottom: 0;
    border-right: 1px solid #D9D9D9;
    font-size: 2.2rem;
  }
  .c-tag01-set__area-tag {
    width: 100%;
    padding: 10px 0;
    box-sizing: border-box;
  }
}

/* .c-tag01-list
================================================ */
.c-tag01-list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-bottom: -12px;
  overflow: hidden;
}
.c-tag01-list .c-tag01 {
  margin: 0 20px 12px 0;
}

/* .c-tag01
================================================ */
.c-tag01 {
  line-height: var(--line-height_head);
}
.c-tag01__in {
  display: inline-block;
  color: rgba(var(--color-grayscale-600));
  font-size: 1.4rem;
  transition: all 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-tag01 a.c-tag01__in:hover {
    color: rgb(var(--color-grayscale-900));
    text-decoration: underline !important;
  }
}

/* .l-breadcrumb
================================================ */
.l-breadcrumb-list {
  display: flex;
}
.l-breadcrumb-list__item {
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  color: rgba(var(--color-grayscale-100));
  font-size: 1.2rem;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item {
  margin-left: 3px;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  margin: -2px 6px 0 0;
  border-top: 1px solid rgba(var(--color-grayscale-500));
  border-right: 1px solid rgba(var(--color-grayscale-500));
  box-sizing: border-box;
}
.l-breadcrumb-list a.l-breadcrumb-list__txt {
  color: rgba(var(--color-grayscale-500));
}
@media (max-width: 767px) {
  .l-breadcrumb-list {
    -webkit-overflow-scrolling: touch;
    overflow: auto;
  }
  .l-breadcrumb-list::-webkit-scrollbar {
    display: none;
  }
}
@media (min-width: 768px) {
  .l-breadcrumb-list__item {
    font-size: 1.4rem;
  }
  .l-breadcrumb-list__item + .l-breadcrumb-list__item {
    margin-left: 6px;
  }
  .l-breadcrumb-list__item + .l-breadcrumb-list__item:before {
    width: 6px;
    height: 6px;
    margin: -2px 9px 0 0;
  }
  .l-breadcrumb-list__item:last-child {
    text-overflow: ellipsis;
    overflow: hidden;
  }
}

/* .l-footer-contact
================================================ */
.l-footer-contact {
  position: relative;
  padding-top: 157px;
  overflow: hidden;
  z-index: 1;
}
.l-footer-contact::before {
  content: "";
  position: absolute;
  top: 157px;
  left: 0;
  width: 100%;
  height: calc(100% - 157px);
  background: url(../img/common/bg_footer01_sp.png) no-repeat center top/cover;
  z-index: -1;
}
.l-footer-contact__bg-txt {
  position: absolute;
  top: 64px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 3140px;
  z-index: -2;
}
.l-footer-contact__bg-txt img {
  display: block;
  animation: rotate 500s linear infinite;
  transform-origin: center center;
}
.l-footer-contact__inner {
  padding: 100px 40px 60px;
  color: #fff;
}
.l-footer-contact__head {
  margin-bottom: 18px;
  font-size: 2.7rem;
}
.l-footer-contact__list {
  margin-bottom: 25px;
  max-width: 295px;
}
.l-footer-contact__txt {
  margin-bottom: 43px;
}
.l-footer-contact__btn {
  max-width: 295px;
  margin: 38px auto 0;
}
.l-footer-contact__btn-link {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: rgb(var(--color-primary-500));
  font-size: 1.8rem;
}
.l-footer-contact__btn-ico {
  position: relative;
  top: 2px;
  margin-right: 15px;
}
@media (min-width: 768px) {
  .l-footer-contact {
    padding-top: 295px;
  }
  .l-footer-contact::before {
    top: 295px;
    height: calc(100% - 295px);
    background-image: url(../img/common/bg_footer01_pc.png);
  }
  .l-footer-contact__bg-txt {
    top: 84px;
    width: 10441px;
  }
  .l-footer-contact__inner {
    position: relative;
    padding: 234px 40px 137px;
  }
  .l-footer-contact__head {
    margin-bottom: 60px;
    font-size: 5.1rem;
  }
  .l-footer-contact__list {
    margin-bottom: 40px;
    max-width: 440px;
  }
  .l-footer-contact__txt {
    margin-bottom: 40px;
  }
  .l-footer-contact__btn {
    position: absolute;
    top: 57%;
    right: 110px;
    transform: translate(0, -50%);
    max-width: 145px;
    width: 100%;
    height: 145px;
    margin: 0;
  }
  .l-footer-contact__btn-link {
    width: 100%;
    height: 100%;
    border-radius: 50%;
  }
  .l-footer-contact__btn-ico {
    top: 0;
    margin-right: 0;
    width: 20px;
  }
  .l-footer-contact__btn-ico::after {
    width: 20px !important;
    height: 20px !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-contact__btn-link {
    transition: all 0.3s ease;
  }
  .l-footer-contact__btn-link:hover {
    background: rgb(var(--color-primary-500));
    color: #fff;
    transform: scale(1.1539);
  }
}

/* .l-footer
================================================ */
.l-footer {
  position: relative;
  background: rgb(var(--color-primary-500));
  color: #fff;
}
.l-footer__inner {
  padding: 58px 0 30px;
}
.l-footer__info {
  margin-bottom: 30px;
  text-align: center;
}
.l-footer__info-logo {
  width: 147px;
  margin: 0 auto 22px;
}
.l-footer__info-logo svg {
  fill: #fff;
}
.l-footer__info-addr {
  font-size: 1.4rem;
}
.l-footer__info-nav {
  margin-top: 20px;
  font-size: 1.4rem;
}
.l-footer__info-nav-in {
  display: inline-block;
}
.l-footer__info-nav-ico {
  vertical-align: middle !important;
  margin: -4px 0 0 5px;
}
.l-footer__sns {
  display: flex;
  justify-content: center;
  padding-bottom: 40px;
}
.l-footer__sns-item {
  margin: 0 12px;
}
.l-footer__cr {
  border-top: 1px solid;
  padding-top: 33px;
  text-align: center;
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .l-footer__inner {
    padding: 153px var(--body_padding_side) 140px;
  }
  .l-footer__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  .l-footer__info {
    margin-bottom: 120px;
    text-align: left;
  }
  .l-footer__info-logo {
    width: 224px;
    margin: 0 0 26px;
  }
  .l-footer__info-addr {
    font-size: 1.6rem;
  }
  .l-footer__info-nav {
    margin-top: 30px;
    font-size: 1.6rem;
  }
  .l-footer__sns {
    display: flex;
    justify-content: flex-start;
    margin-left: -12px;
    padding-bottom: 0;
  }
  .l-footer__sns-item {
    margin: 0 12px;
  }
  .l-footer__sitemap {
    margin: 60px 0 0 auto;
  }
  .l-footer__sitemap-list {
    display: flex;
  }
  .l-footer__sitemap-item {
    font-size: 1.4rem;
  }
  .l-footer__sitemap-item + .l-footer__sitemap-item {
    margin-left: 60px;
  }
  .l-footer__sitemap-child-wrap {
    margin-top: 17px;
  }
  .l-footer__sitemap-child-item {
    font-size: 1.2rem;
  }
  .l-footer__sitemap-child-item::before {
    content: "-";
    margin-right: 0.25em;
  }
  .l-footer__cr {
    border-top: 0;
    padding-top: 0;
    text-align: right;
    align-self: center;
  }
}

/* .l-footer-page-top
================================================ */
.l-footer-page-top {
  position: absolute;
  top: -35px;
  right: 80px;
  z-index: 2;
}
.l-footer-page-top__link {
  position: relative;
  padding-top: 100px;
  font-size: 1.4rem;
  width: 1em;
  writing-mode: tb-rl;
  line-height: 1;
  display: block;
}
.l-footer-page-top__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 2px;
  height: 95px;
  background-image: radial-gradient(#fff 2px, transparent 2px);
  background-size: 6px 6px;
}

/* .l-header
================================================ */
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
  overflow: hidden;
}
.l-header.is-sticky {
  position: fixed;
  top: 0;
}
@media (max-width: 767px) {
  .l-header.is-open {
    position: fixed;
    top: 0;
  }
}
@media (min-width: 768px) {
  .l-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-width: var(--contents_width_with_padding);
    box-sizing: border-box;
    overflow: visible;
  }
}
@media (min-width: 768px) and (hover: none) {
  .l-header {
    left: 0 !important;
  }
}
@media (min-width: 768px) {
  .l-header.is-sticky {
    background: #fff;
    box-shadow: 0px 0px 32px 8px rgba(23, 47, 75, 0.15);
    height: 80px;
  }
  .l-header.is-sticky .l-header-info {
    padding-top: 10px;
    padding-bottom: 10px;
    height: 100%;
  }
  .l-header.is-sticky .l-header-info__logo svg {
    fill: rgb(var(--color-grayscale-900));
  }
  .l-header.is-sticky .l-nav-list {
    margin-top: 0;
  }
  .l-header.is-sticky .l-nav-list__item-link {
    color: rgb(var(--color-grayscale-900));
  }
  .l-header.is-sticky .l-nav-list__item-link:is(button)::before {
    background: rgb(var(--color-grayscale-900));
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-header.is-sticky .l-nav-list__item-link:hover {
    color: rgb(var(--color-grayscale-500));
  }
}
@media (min-width: 768px) {
  .l-header.is-sticky .l-nav-contact {
    width: 185px;
    height: 46px;
    margin-top: 0;
  }
  .l-header.is-sticky .l-nav-contact__link {
    color: rgb(var(--color-grayscale-900));
    border-color: rgb(var(--color-grayscale-900));
    border-radius: 0;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-header.is-sticky .l-nav-contact__link:hover {
    background: rgb(var(--color-grayscale-900));
    color: #fff;
  }
}
@media (min-width: 768px) {
  .l-header.is-sticky .l-nav-contact__txt {
    display: block !important;
  }
  .l-header.is-sticky .l-nav-contact__txt-fixed {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .l-header.is-sticky .l-nav-contact__ico {
    margin-right: 7px;
  }
  .l-header.is-sticky .l-nav-contact__ico::after {
    width: 21px !important;
    height: 15px !important;
  }
}

/* .l-header.is-color-black
/* PCで文字色などが黒
================================================ */
@media (min-width: 768px) {
  .l-header.is-color-black:not(.is-sticky) .l-header-info__logo svg {
    fill: rgb(var(--color-grayscale-900));
  }
  .l-header.is-color-black:not(.is-sticky) .l-nav-list__item-link {
    color: rgb(var(--color-grayscale-900));
  }
  .l-header.is-color-black:not(.is-sticky) .l-nav-list__item-link:is(button)::before {
    background: rgb(var(--color-grayscale-900));
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-header.is-color-black:not(.is-sticky) .l-nav-list__item-link:hover {
    color: rgb(var(--color-grayscale-500));
  }
}
@media (min-width: 768px) {
  .l-header.is-color-black:not(.is-sticky) .l-nav-contact__link {
    color: rgb(var(--color-grayscale-900));
    border-color: rgb(var(--color-grayscale-900));
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-header.is-color-black:not(.is-sticky) .l-nav-contact__link:hover {
    background: rgb(var(--color-grayscale-900));
    color: #fff;
  }
}

/* .l-header-info
================================================== */
.l-header-info {
  position: relative;
  z-index: 3;
  box-sizing: border-box;
  height: var(--header_height);
  padding: 0 20px;
  background: #fff;
}
.l-header-info__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  height: 100%;
}
.l-header-info__logo {
  width: 131px;
}
.l-header-info__logo svg {
  fill: rgb(var(--color-primary-500));
}
@media (min-width: 768px) {
  .l-header-info {
    position: static;
    height: var(--header_height);
    padding: 34px 0 0 60px;
    background: transparent;
  }
  .l-header-info__logo {
    width: 178px;
  }
  .l-header-info__logo svg {
    fill: #fff;
  }
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
  position: relative;
  width: 31px;
  height: 31px;
  top: 5px;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.l-nav-btn__line {
  position: absolute;
  left: 0;
  width: 31px;
  height: 2px;
  content: "";
  background: rgb(var(--color-grayscale-900));
  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.is-open .l-nav-btn__line {
  top: 5px;
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
  transform: rotate(-29deg);
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(2) {
  transform: rotate(29deg);
}
.l-nav-btn__txt {
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 100%;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}

/* .l-nav
================================================ */
.l-nav {
  position: fixed;
  top: var(--header_height);
  left: 0;
  z-index: 2;
  width: 100%;
  height: calc(100vh - var(--header_height));
  min-width: 320px;
  padding: 52px 0;
  box-sizing: border-box;
  overscroll-behavior-y: none;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 767px) {
  .l-nav {
    background: rgb(var(--color-primary-500));
    color: #fff;
    overflow: auto;
    transform: translateX(120%);
    transition: all 0.3s ease;
  }
  .l-nav::-webkit-scrollbar {
    display: none;
  }
  .l-nav.is-open {
    transform: translateX(0);
  }
}
@media (min-width: 768px) {
  .l-nav {
    position: static;
    width: auto;
    height: auto;
    min-width: auto;
    margin-left: auto;
    padding: 0 60px 0 0;
    display: flex;
    align-items: center;
  }
}

/* .l-nav-list
================================================== */
@media (max-width: 767px) {
  .l-nav-list {
    padding: 0 40px;
  }
  .l-nav-list__item {
    border-bottom: 1px solid rgb(var(--color-grayscale-700));
  }
  .l-nav-list__item-link {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 15px 0 12px;
    border: 0;
  }
  .l-nav-list__item-link:is(button) {
    pointer-events: none;
  }
  .l-nav-list__item-ico {
    color: rgb(var(--color-grayscale-700));
  }
  .l-nav-list__child-wrap {
    display: block !important;
    box-sizing: border-box;
    padding-left: 20px;
  }
  .l-nav-list__child-item {
    padding-block: 15px;
    border-top: 1px solid rgb(var(--color-grayscale-700));
  }
  .l-nav-list__child-item-link {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  .l-nav-list {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin: 25px 30px 0 0;
  }
  .l-nav-list__item {
    position: relative;
    margin: 0 20px;
  }
  .l-nav-list__item-link {
    display: block;
    border: 0;
    padding: 0;
    color: #fff;
  }
  .l-nav-list__item-link:is(button)::before {
    content: "";
    position: absolute;
    top: -3px;
    right: -10px;
    width: 7px;
    height: 7px;
    background: #fff;
    transition: all 0.3s ease;
    border-radius: 50%;
  }
  .l-nav-list__child-wrap {
    box-sizing: border-box;
    position: absolute;
    left: -120px;
    right: -120px;
    top: calc(100% + 30px);
    margin: auto;
    display: flex;
    width: 240px;
    height: auto;
    padding: 20px 40px;
    background: #fff;
    transition: visibility 0s linear, all 0.3s ease;
  }
  .l-nav-list__child-wrap:not(.is-active) {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(-30px);
  }
  .l-nav-list__child-item-link {
    display: flex;
    color: rgb(var(--color-primary-500));
  }
  .l-nav-list__child-item-link .l-nav-list__item-ico {
    order: -1;
    margin-right: 14px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-nav-list__item-link {
    transition: all 0.3s ease;
  }
  .l-nav-list__item-link:hover {
    color: rgb(var(--color-grayscale-500));
  }
  .l-nav-list__child-item-link {
    transition: all 0.3s ease;
  }
  .l-nav-list__child-item-link:hover {
    color: rgb(var(--color-grayscale-500));
  }
}

/* .l-nav-contact
================================================ */
.l-nav-contact {
  max-width: 295px;
  margin: 38px auto 0;
}
.l-nav-contact__link {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: rgb(var(--color-primary-500));
  font-size: 1.8rem;
}
.l-nav-contact__ico {
  position: relative;
  top: 2px;
  margin-right: 15px;
}
@media (min-width: 768px) {
  .l-nav-contact {
    width: 92px;
    height: 92px;
    margin: 20px 0 0;
  }
  .l-nav-contact__link {
    height: 100%;
    background: transparent;
    color: #fff;
    border-radius: 50%;
    border: 1px solid #fff;
    transition: all 0.3s ease;
    font-size: 1.6rem;
  }
  .l-nav-contact__ico {
    position: relative;
    top: 2px;
    margin-right: 0;
  }
  .l-nav-contact__ico::after {
    width: 32px !important;
    height: 22px !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-nav-contact__link:hover {
    background: #fff;
    color: rgb(var(--color-primary-500));
  }
}

/* .l-nav-sns
================================================ */
.l-nav-sns {
  margin-top: 34px;
  display: flex;
  justify-content: center;
  gap: 24px;
}
/* .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;
}

/* .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 {
  position: relative;
  overflow: hidden;
  padding-top: var(--header_height);
  z-index: 1;
}
.l-main-img::before {
  content: "";
  position: absolute;
  top: var(--header_height);
  left: 0;
  width: 100%;
  height: 110px;
  background-image: linear-gradient(180deg, rgba(23, 47, 75, 0.6) 0%, rgba(23, 47, 75, 0) 100%);
  z-index: 2;
}
.l-main-img__visual {
  -webkit-clip-path: ellipse(165% 90% at 70% 10%);
  clip-path: ellipse(165% 90% at 70% 10%);
}
.l-main-img__visual-item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.l-main-img__inner {
  position: relative;
  padding: 16px 40px 0;
}
.l-main-img__pager {
  position: absolute;
  top: 26px;
  right: 21px;
}
.l-main-img__copy {
  font-size: 2.6rem;
}
.l-main-img__txt {
  margin-top: 23px;
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .l-main-img {
    padding-top: 0;
    z-index: 1;
  }
  .l-main-img::before {
    top: 0;
    height: 217px;
  }
  .l-main-img__visual {
    -webkit-clip-path: ellipse(130% 100% at 50% 0%);
    clip-path: ellipse(130% 100% at 50% 0%);
  }
  .l-main-img__inner {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    max-width: 1680px;
    padding: 0 var(--body_padding_side);
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    z-index: 1;
    box-sizing: border-box;
  }
  .l-main-img__pager {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translate(0, -50%);
  }
  .l-main-img__copy {
    gap: 12px;
    font-size: clamp(4rem, 3.2rem + 1.042vw, 5.2rem);
  }
  .l-main-img__copy-in {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
  }
  .l-main-img__txt {
    margin-top: 44px;
    font-size: 1.8rem;
  }
}

/* .l-sub-img
================================================ */
@media (max-width: 767px) {
  #oem .l-sub-img__content {
    background-image: url(../img/oem/bg_mv01_sp.jpg);
  }

  #brand .l-sub-img__content {
    background-image: url(../img/brand/bg_mv01_sp.jpg);
  }

  #company .l-sub-img__content {
    background-image: url(../img/company/bg_mv01_sp.jpg);
  }

  #products .l-sub-img__content {
    background-image: url(../img/products/bg_mv01_sp.jpg);
  }
}
@media (min-width: 768px) {
  #oem .l-sub-img__content {
    background-image: url(../img/oem/bg_mv01_pc.jpg);
  }

  #brand .l-sub-img__content {
    background-image: url(../img/brand/bg_mv01_pc.jpg);
  }

  #company .l-sub-img__content {
    background-image: url(../img/company/bg_mv01_pc.jpg);
  }

  #products .l-sub-img__content {
    background-image: url(../img/products/bg_mv01_pc.jpg);
  }
}
.l-sub-img {
  overflow: hidden;
}
.l-sub-img__content {
  position: relative;
  background: rgba(var(--color-grayscale-900)) no-repeat center/cover;
  color: rgba(var(--color-grayscale-100));
}
.l-sub-img__content:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 100%;
  background: url(../img/common/deco_mv01_sp.png) no-repeat bottom center/100%;
  pointer-events: none;
  z-index: 1;
}
.l-sub-img__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 336px;
  padding-top: 40px;
  padding-bottom: 40px;
}
.l-sub-img__area-txt {
  width: 100%;
}
.l-sub-img__en {
  margin-bottom: 8px;
  font-size: 1.4rem;
}
.l-sub-img__head {
  font-size: 3.4rem;
}
.l-sub-img__breadcrumb {
  margin-top: 38px;
}
@media (max-width: 767px) {
  .l-sub-img {
    padding-top: 54px;
    box-sizing: border-box;
  }
  .l-sub-img__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 768px) {
  .l-sub-img__content:after {
    background-image: url(../img/common/deco_mv01_pc.png);
  }
  .l-sub-img__inner {
    min-height: 590px;
    padding-top: 130px;
    padding-bottom: 120px;
  }
  .l-sub-img__en {
    margin-bottom: 8px;
  }
  .l-sub-img__head {
    font-size: 5.2rem;
  }
  .l-sub-img__breadcrumb {
    margin-top: 56px;
  }
}

/* .l-sub-img.is-img-none
/* MV画像がない場合
================================================ */
.l-sub-img.is-img-none .l-sub-img__content {
  background: none !important;
  color: rgba(var(--color-grayscale-900));
}
.l-sub-img.is-img-none .l-sub-img__content:after {
  content: none;
}
.l-sub-img.is-img-none .l-sub-img__inner {
  align-items: flex-end;
  min-height: 206px;
  padding-top: 15px;
  padding-bottom: 15px;
}
.l-sub-img.is-img-none .l-sub-img__breadcrumb .l-breadcrumb-list__item {
  color: rgba(var(--color-grayscale-900));
}
@media (min-width: 768px) {
  .l-sub-img.is-img-none .l-sub-img__inner {
    min-height: 420px;
    padding-top: 135px;
    padding-bottom: 25px;
  }
}

/* .l-sidebar
================================================== */
.js-c-anime-elem[data-anime=fadein-up] {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js-c-anime-elem[data-anime=fadein-up].is-animated {
  opacity: 1;
  transform: translateY(0);
}

.js-c-anime-elem[data-anime=fadein-right] {
  opacity: 0;
  transform: translateX(30px);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js-c-anime-elem[data-anime=fadein-right].is-animated {
  opacity: 1;
  transform: translateX(0);
}

.js-c-anime-elem[data-anime-parent] [data-anime=fadein-up] {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js-c-anime-elem[data-anime-parent].is-animated [data-anime=fadein-up]:not(.js-c-anime-elem) {
  opacity: 1;
  transform: translateY(0);
}
.js-c-anime-elem[data-anime-parent] .is-animated[data-anime=fadein-up] {
  opacity: 1;
  transform: translateY(0);
}
.js-c-anime-elem[data-anime-parent] [data-anime=fadein-right] {
  opacity: 0;
  transform: translateX(30px);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js-c-anime-elem[data-anime-parent].is-animated [data-anime=fadein-right]:not(.js-c-anime-elem) {
  opacity: 1;
  transform: translateX(0);
}
.js-c-anime-elem[data-anime-parent] .is-animated[data-anime=fadein-right] {
  opacity: 1;
  transform: translateX(0);
}

.js-c-anime-elem[data-anime-delay="0.1"], .js-c-anime-elem [data-anime-delay="0.1"] {
  transition-delay: 0.1s !important;
}
.js-c-anime-elem[data-anime-delay="0.2"], .js-c-anime-elem [data-anime-delay="0.2"] {
  transition-delay: 0.2s !important;
}
.js-c-anime-elem[data-anime-delay="0.3"], .js-c-anime-elem [data-anime-delay="0.3"] {
  transition-delay: 0.3s !important;
}
.js-c-anime-elem[data-anime-delay="0.4"], .js-c-anime-elem [data-anime-delay="0.4"] {
  transition-delay: 0.4s !important;
}
.js-c-anime-elem[data-anime-delay="0.5"], .js-c-anime-elem [data-anime-delay="0.5"] {
  transition-delay: 0.5s !important;
}
.js-c-anime-elem[data-anime-delay="0.6"], .js-c-anime-elem [data-anime-delay="0.6"] {
  transition-delay: 0.6s !important;
}
.js-c-anime-elem[data-anime-delay="0.7"], .js-c-anime-elem [data-anime-delay="0.7"] {
  transition-delay: 0.7s !important;
}
.js-c-anime-elem[data-anime-delay="0.8"], .js-c-anime-elem [data-anime-delay="0.8"] {
  transition-delay: 0.8s !important;
}
.js-c-anime-elem[data-anime-delay="0.9"], .js-c-anime-elem [data-anime-delay="0.9"] {
  transition-delay: 0.9s !important;
}
.js-c-anime-elem[data-anime-delay="1"], .js-c-anime-elem [data-anime-delay="1"] {
  transition-delay: 1s !important;
}
.js-c-anime-elem[data-anime-delay="1.1"], .js-c-anime-elem [data-anime-delay="1.1"] {
  transition-delay: 1.1s !important;
}
.js-c-anime-elem[data-anime-delay="1.2"], .js-c-anime-elem [data-anime-delay="1.2"] {
  transition-delay: 1.2s !important;
}
.js-c-anime-elem[data-anime-delay="1.3"], .js-c-anime-elem [data-anime-delay="1.3"] {
  transition-delay: 1.3s !important;
}
.js-c-anime-elem[data-anime-delay="1.4"], .js-c-anime-elem [data-anime-delay="1.4"] {
  transition-delay: 1.4s !important;
}
.js-c-anime-elem[data-anime-delay="1.5"], .js-c-anime-elem [data-anime-delay="1.5"] {
  transition-delay: 1.5s !important;
}
.js-c-anime-elem[data-anime-delay="1.6"], .js-c-anime-elem [data-anime-delay="1.6"] {
  transition-delay: 1.6s !important;
}
.js-c-anime-elem[data-anime-delay="1.7"], .js-c-anime-elem [data-anime-delay="1.7"] {
  transition-delay: 1.7s !important;
}
.js-c-anime-elem[data-anime-delay="1.8"], .js-c-anime-elem [data-anime-delay="1.8"] {
  transition-delay: 1.8s !important;
}
.js-c-anime-elem[data-anime-delay="1.9"], .js-c-anime-elem [data-anime-delay="1.9"] {
  transition-delay: 1.9s !important;
}
.js-c-anime-elem[data-anime-delay="2"], .js-c-anime-elem [data-anime-delay="2"] {
  transition-delay: 2s !important;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes slideTxt {
  from, to {
    transform-origin: left;
  }
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-c-anime-head .js-c-anime-head-txt {
  display: inline-block;
  will-change: transform, opacity;
  opacity: 0;
  transform: translateY(100%);
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(1) {
  animation-delay: 0.08s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(2) {
  animation-delay: 0.16s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(3) {
  animation-delay: 0.24s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(4) {
  animation-delay: 0.32s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(5) {
  animation-delay: 0.4s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(6) {
  animation-delay: 0.48s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(7) {
  animation-delay: 0.56s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(8) {
  animation-delay: 0.64s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(9) {
  animation-delay: 0.72s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(10) {
  animation-delay: 0.8s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(11) {
  animation-delay: 0.88s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(12) {
  animation-delay: 0.96s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(13) {
  animation-delay: 1.04s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(14) {
  animation-delay: 1.12s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(15) {
  animation-delay: 1.2s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(16) {
  animation-delay: 1.28s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(17) {
  animation-delay: 1.36s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(18) {
  animation-delay: 1.44s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(19) {
  animation-delay: 1.52s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(20) {
  animation-delay: 1.6s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(21) {
  animation-delay: 1.68s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(22) {
  animation-delay: 1.76s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(23) {
  animation-delay: 1.84s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(24) {
  animation-delay: 1.92s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(25) {
  animation-delay: 2s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(26) {
  animation-delay: 2.08s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(27) {
  animation-delay: 2.16s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(28) {
  animation-delay: 2.24s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(29) {
  animation-delay: 2.32s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(30) {
  animation-delay: 2.4s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(31) {
  animation-delay: 2.48s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(32) {
  animation-delay: 2.56s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(33) {
  animation-delay: 2.64s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(34) {
  animation-delay: 2.72s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(35) {
  animation-delay: 2.8s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(36) {
  animation-delay: 2.88s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(37) {
  animation-delay: 2.96s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(38) {
  animation-delay: 3.04s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(39) {
  animation-delay: 3.12s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(40) {
  animation-delay: 3.2s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(41) {
  animation-delay: 3.28s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(42) {
  animation-delay: 3.36s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(43) {
  animation-delay: 3.44s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(44) {
  animation-delay: 3.52s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(45) {
  animation-delay: 3.6s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(46) {
  animation-delay: 3.68s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(47) {
  animation-delay: 3.76s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(48) {
  animation-delay: 3.84s;
}
.js-c-anime-head .js-c-anime-head-txt:nth-of-type(49) {
  animation-delay: 3.92s;
}

.js-c-anime-head.is-animated .js-c-anime-head-txt {
  animation-name: slideTxt;
  animation-duration: 1s;
  animation-fill-mode: both;
}

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

.js-cursor {
  display: none;
}
@media (min-width: 768px) {
  .js-cursor {
    position: fixed;
    display: block;
    z-index: 9999;
    pointer-events: none;
  }
  .js-cursor::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    content: "";
    background: none;
    border-radius: 50%;
    width: 0;
    height: 0;
    margin-top: -41px;
    margin-left: -41px;
    transition: all 0.3s ease;
  }
}
@media (hover: hover) and (pointer: fine) {
  .js-cursor.is-hover {
    cursor: pointer;
  }
  .js-cursor.is-hover::before {
    background: #fff;
    width: 165px;
    height: 165px;
  }
  .js-cursor.is-hover::after {
    content: attr(data-cursor-text);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgb(var(--color-grayscale-900));
    font-size: 2.3rem;
    white-space: nowrap;
    margin-top: -41px;
    margin-left: -41px;
    text-transform: uppercase;
  }
}

/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@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;
  scroll-snap-stop: always;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.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-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

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

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: rgb(var(--color-primary-500));
  font-size: 0;
  display: inline-grid;
  place-content: center;
  z-index: 1;
  cursor: pointer;
  background: #fff;
  border: 1px solid rgb(var(--color-primary-500));
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  background: rgb(var(--grayscale_500));
  pointer-events: none;
}
@media (min-width: 1481px) {
  .swiper-button-prev,
.swiper-button-next {
    width: 87px;
    height: 87px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .swiper-button-prev,
.swiper-button-next {
    transition: all 0.3s ease;
  }
  .swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: rgb(var(--color-primary-500));
    transform: translate(0, -50%) scale(1.1);
    color: #fff;
  }
}

.swiper-button-prev {
  left: -40px;
}
.swiper-button-prev > span {
  transform: scale(-1, 1);
}

.swiper-button-next {
  right: -40px;
}

.swiper-pagination {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.swiper-pagination-bullet {
  display: block;
  margin-bottom: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgb(var(--color-grayscale-900));
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.swiper-pagination-bullet-active {
  background: rgb(var(--color-grayscale-900));
}
@media (min-width: 768px) {
  .swiper-pagination-bullet {
    margin: 7px;
    background-color: transparent;
    color: #fff;
    border-color: #fff;
  }
  .swiper-pagination-bullet-active {
    background: #fff;
  }
}

/* （！）/oem/、/brand/など、事業案内関連のページの
/ * 共通スタイルのSCSSファイルになります。
================================================ */
/* .business-content01
================================================ */
.business-content01 {
  padding-top: 60px;
  padding-bottom: 8px;
  box-sizing: border-box;
}
.business-content01__sec + .business-content01__sec {
  margin-top: 80px;
}
@media (min-width: 768px) {
  .business-content01 {
    padding-top: 240px;
    padding-bottom: 85px;
  }
  .business-content01__sec + .business-content01__sec {
    margin-top: 180px;
  }
}

/* .business-content02
================================================ */
.business-content02 {
  padding-top: 90px;
  padding-bottom: 80px;
  box-sizing: border-box;
}
.business-content02__sec {
  position: relative;
}
.business-content02__sec + .business-content02__sec {
  margin-top: 80px;
  padding-top: 80px;
}
.business-content02__sec + .business-content02__sec:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(var(--color-grayscale-500));
}
@media (min-width: 768px) {
  .business-content02 {
    padding-top: 194px;
    padding-bottom: 300px;
  }
  .business-content02__sec + .business-content02__sec {
    margin-top: 120px;
    padding-top: 160px;
  }
  .business-content02__sec + .business-content02__sec:before {
    left: 70px;
    width: calc(100% - 140px);
  }
}

/* .business-bg01
================================================ */
.business-bg01 {
  position: relative;
  z-index: 1;
  padding-top: 70px;
  padding-bottom: 90px;
  box-sizing: border-box;
  background: no-repeat center top/cover;
  overflow: hidden;
}
.business-bg01:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
  z-index: -2;
  pointer-events: none;
}
.business-bg01.has-oem {
  background-image: url(../img/oem/bg_sec01_sp.png);
}
.business-bg01.has-brand {
  background-image: url(../img/brand/bg_sec01_sp.png);
}
.business-bg01__deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
.business-bg01__deco-txt {
  position: absolute;
  top: 175px;
  left: 50%;
  transform: translateX(-50%);
  width: 3140px;
}
.business-bg01__deco-txt img {
  display: block;
  animation: rotate 500s linear infinite;
  transform-origin: center center;
}
@media (max-width: 767px) {
  .business-bg01 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 768px) {
  .business-bg01 {
    padding-top: 232px;
    padding-bottom: 248px;
  }
  .business-bg01:before {
    height: 40%;
  }
  .business-bg01.has-oem {
    background-image: url(../img/oem/bg_sec01_pc.png);
  }
  .business-bg01.has-brand {
    background-image: url(../img/brand/bg_sec01_pc.png);
  }
  .business-bg01__deco-txt {
    top: 135px;
    width: 10496px;
  }
}

/* .business-message
================================================ */
.business-message__inner {
  position: relative;
}
.business-message__deco {
  position: absolute;
  top: -48px;
  left: -3%;
  width: 75px;
  z-index: 1;
  pointer-events: none;
}
.business-message__img {
  position: relative;
  width: 74%;
  margin: 0 auto 28px;
}
.business-message__img img {
  width: 100%;
}
.business-message__img-deco {
  position: absolute;
  right: -37px;
  bottom: -6px;
  width: 116px;
  z-index: 1;
  pointer-events: none;
}
.business-message__head {
  margin-bottom: 26px;
}
.business-message__head-en {
  margin-bottom: 15px;
  font-size: 1.2rem;
}
.business-message__head-main {
  line-height: 2.1;
  font-size: 2rem;
  letter-spacing: var(--letter-spacing_serif);
}
.business-message__txt {
  line-height: 2.2;
}
.business-message__txt + .business-message__txt {
  margin-top: 1em;
}
@media (max-width: 374px) {
  .business-message__head-main {
    font-size: 1.7rem;
  }
}
@media (min-width: 768px) {
  .business-message__inner {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  .business-message__deco {
    top: -125px;
    left: -180px;
    width: 176px;
  }
  .business-message__img {
    min-width: 465px;
    width: 465px;
    margin: 60px -94px 0 60px;
  }
  .business-message__img-deco {
    right: 41px;
    bottom: -36px;
    width: 239px;
  }
  .business-message__area-txt {
    width: 100%;
  }
  .business-message__head {
    margin-bottom: 50px;
  }
  .business-message__head-en {
    margin-bottom: 20px;
    font-size: 1.4rem;
  }
  .business-message__head-main {
    font-size: 3.6rem;
  }
  .business-message__txt {
    font-size: 1.8rem;
  }
  .business-message__txt + .business-message__txt {
    margin-top: 2.2em;
  }
}
@media (max-width: 1370px) and (min-width: 768px) {
  .business-message__img {
    margin-right: 0;
  }
}

/* .business-support
================================================ */
.business-support {
  margin-top: 60px;
}
.business-support__list-item {
  padding: 20px;
  box-sizing: border-box;
  background-color: #fff;
}
.business-support__list-img {
  max-width: 205px;
  width: 100%;
  margin: 0 auto 10px;
}
.business-support__list-head {
  margin-bottom: 10px;
  font-size: 2rem;
  text-align: center;
}
@media (max-width: 374px) {
  .business-support__list-head {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .business-support__list-item + .business-support__list-item {
    margin-top: 8px;
  }
}
@media (min-width: 768px) {
  .business-support {
    margin-top: 188px;
  }
  .business-support__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -4px -8px;
  }
  .business-support__list-item {
    width: calc(33.33% - 8px);
    margin: 0 4px 8px;
    padding: 50px 60px;
  }
  .business-support__list-en {
    margin-bottom: 30px;
    color: rgba(var(--color-grayscale-700));
    font-size: 1.4rem;
  }
  .business-support__list-img {
    max-width: 280px;
    margin-bottom: 30px;
  }
  .business-support__list-head {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height: 66px;
    margin-bottom: 18px;
    font-size: 2.2rem;
  }
}
@media (max-width: 1370px) and (min-width: 768px) {
  .business-support__list-item {
    padding: 40px 50px;
  }
}

/* .business-info
================================================ */
.business-info {
  padding-top: 90px;
  padding-bottom: 90px;
  box-sizing: border-box;
}
.business-info__sec + .business-info__sec {
  margin-top: 90px;
}
@media (max-width: 374px) {
  .business-info__head-main {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  .business-info__head {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 768px) {
  .business-info {
    padding-top: 200px;
    padding-bottom: 240px;
  }
  .business-info__sec + .business-info__sec {
    margin-top: 180px;
  }
}

/* business-story
------------------------------------- */
.business-story__head {
  padding: 0 35px;
}
@media (min-width: 768px) {
  .business-story {
    overflow: hidden;
  }
  .business-story__inner {
    max-width: 100%;
  }
  .business-story__head {
    max-width: 1400px;
    padding: 0 var(--body_padding_side);
    margin: 0 auto 50px;
  }
}
@media (min-width: 1481px) {
  .business-story__head {
    margin-bottom: 0;
  }
}

/* .business-brand
================================================ */
.business-brand {
  background: url(../img/common/bg_story01.png) no-repeat center/cover;
  color: #fff;
}
.business-brand__content {
  padding: 30px 40px 44px;
  box-sizing: border-box;
}
.business-brand__lead {
  margin-bottom: 26px;
  font-size: 1.7rem;
}
.business-brand__txt + .business-brand__txt {
  margin-top: 1em;
}
.business-brand__btn {
  margin: 28px 0 0 auto;
}
@media (max-width: 767px) {
  .business-brand__head {
    margin-bottom: 40px;
    padding: 60px 40px 0;
  }
}
@media (min-width: 768px) {
  .business-brand {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
  }
  .business-brand__img {
    position: sticky;
    top: 0;
    width: 53%;
    max-height: 100vh;
    margin-top: -50px;
    padding: 0 70px 50px 0;
    box-sizing: border-box;
  }
  .business-brand__content {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    width: 47%;
    padding: 160px 90px 112px var(--body_padding_side);
  }
  .business-brand__content-in {
    max-width: 550px;
    width: 100%;
  }
  .business-brand__head {
    margin-bottom: 88px;
  }
  .business-brand__lead {
    margin-bottom: 50px;
    font-size: 1.8rem;
  }
  .business-brand__txt + .business-brand__txt {
    margin-top: 2.2em;
  }
  .business-brand__btn {
    margin: 48px 0 0;
  }
}

/* .business-flow
================================================ */
.business-flow__area-head {
  margin-bottom: 40px;
}
.business-flow__lead {
  color: rgba(var(--color-grayscale-800));
}
.business-flow__list-item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 222px;
  padding: 0 20px;
  box-sizing: border-box;
  background-color: rgba(var(--color-surface-500));
  text-align: center;
}
.business-flow__list-item:last-of-type {
  background-color: #F0EFEA;
}
.business-flow__list-item + .business-flow__list-item {
  background-image: radial-gradient(rgba(var(--color-grayscale-500)) 1px, transparent 1.5px);
  background-size: 6px 6px;
  background-position: 0 -2px;
  background-repeat: repeat-x;
}
.business-flow__list-item + .business-flow__list-item:before {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
}
.business-flow__list-item + .business-flow__list-item:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-color: currentColor;
  color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 14 12" viewBox="0 0 14 12"><path d="M0 5.1h10c.5 0 .7-.6.4-1L7.8 1.3 9 0l4.7 5.2c.4.5.4 1.2 0 1.7L9 12l-1.2-1.3 2.6-2.8c.3-.4.1-1-.4-1H0V5.1z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}
.business-flow__list-num {
  position: absolute;
  top: 20px;
  left: 20px;
  color: rgba(var(--color-grayscale-700));
  font-size: 2rem;
}
.business-flow__list-img {
  max-width: 130px;
  width: 100%;
  margin-bottom: 4px;
}
.business-flow__list-head {
  font-size: 2rem;
}
@media (max-width: 767px) {
  .business-flow__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 768px) {
  .business-flow__area-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: var(--contents_width);
    width: 100%;
    margin: 0 auto 70px;
  }
  .business-flow__head {
    margin: 0 126px 0 0;
  }
  .business-flow__lead {
    margin-top: 50px;
  }
  .business-flow__list {
    display: flex;
    flex-wrap: wrap;
  }
  .business-flow__list-item {
    width: 20%;
    min-height: 328px;
    padding: 0 20px;
  }
  .business-flow__list-item + .business-flow__list-item {
    background-position: -1px 0;
    background-repeat: repeat-y;
  }
  .business-flow__list-item + .business-flow__list-item:before {
    top: 50%;
    left: -25px;
    transform: translate(0, -50%);
    width: 50px;
    height: 50px;
  }
  .business-flow__list-item + .business-flow__list-item:after {
    top: 50%;
    left: -6px;
    transform: translate(0, -50%) rotate(0);
  }
  .business-flow__list-num {
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2.2rem;
  }
  .business-flow__list-img {
    max-width: 180px;
    margin-bottom: 32px;
  }
  .business-flow__list-head {
    font-size: 2.2rem;
  }
}

/* .business-products
================================================ */
.business-products__btn {
  margin: 30px 0 0 auto;
}
@media (max-width: 767px) {
  .business-products__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 768px) {
  .business-products__inner {
    position: relative;
  }
  .business-products__btn {
    position: absolute;
    top: 42px;
    right: 40px;
    margin: 0;
  }
}

/* .business-intro
================================================ */
.business-intro__sec + .business-intro__sec {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .business-intro__head {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 768px) {
  .business-intro__sec + .business-intro__sec {
    margin-top: 120px;
  }
}

/* .company-philosophy
================================================ */
.company-philosophy__inner {
  padding-top: 70px;
  padding-bottom: 90px;
}
.company-philosophy__img {
  margin-bottom: 40px;
  text-align: center;
}
.company-philosophy__list {
  padding: 0 20px;
  box-sizing: border-box;
}
.company-philosophy__list-item + .company-philosophy__list-item {
  margin-top: 30px;
}
.company-philosophy__list-head {
  margin-bottom: 6px;
  font-size: 2rem;
}
.company-philosophy__list-txt {
  color: rgba(var(--color-grayscale-800));
}
.company-philosophy__user {
  position: relative;
  margin: 60px 20px 0;
  box-sizing: border-box;
  border: 1px solid rgba(var(--color-grayscale-500));
}
.company-philosophy__user-deco {
  position: absolute;
  top: -30px;
  right: -33px;
  width: 98px;
  pointer-events: none;
}
.company-philosophy__user-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 30px 20px 16px;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(var(--color-grayscale-500));
  font-size: 2.3rem;
}
.company-philosophy__user-name-sub {
  margin: 6px 16px 0 0;
  font-size: 1.4rem;
  letter-spacing: var(--letter-spacing_serif);
}
.company-philosophy__user-content {
  padding: 12px 20px 30px;
  box-sizing: border-box;
}
.company-philosophy__user-head {
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .company-philosophy__head {
    padding: 0 20px;
  }
}
@media (min-width: 768px) {
  .company-philosophy__inner {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .company-philosophy__wrap {
    display: flex;
    align-items: center;
  }
  .company-philosophy__img {
    min-width: 561px;
    width: 561px;
    margin: 0 80px 0 0;
  }
  .company-philosophy__list {
    width: 100%;
    padding: 0;
  }
  .company-philosophy__list-item + .company-philosophy__list-item {
    margin-top: 60px;
  }
  .company-philosophy__list-head {
    margin-bottom: 10px;
    font-size: 2.2rem;
  }
  .company-philosophy__list-txt {
    font-size: 1.4rem;
  }
  .company-philosophy__user {
    margin: 120px 0 0;
  }
  .company-philosophy__user-deco {
    top: -46px;
    left: 308px;
    right: auto;
    width: 137px;
  }
  .company-philosophy__user-name {
    padding: 52px 60px 30px;
    font-size: 2.8rem;
  }
  .company-philosophy__user-name-sub {
    margin: 6px 27px 0 0;
    font-size: 1.6rem;
  }
  .company-philosophy__user-content {
    padding: 25px 60px 48px;
  }
  .company-philosophy__user-head {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
}

/* .company-profile
================================================ */
.company-profile {
  background: url(../img/company/bg_profile01_sp.jpg) no-repeat center/cover;
  color: #fff;
}
.company-profile__inner {
  padding-top: 90px;
  padding-bottom: 90px;
}
.company-profile__img {
  width: 69%;
  margin: 0 auto 37px;
}
.company-profile__img img {
  width: 100%;
}
@media (max-width: 767px) {
  .company-profile__head, .company-profile__wrap {
    padding: 0 20px;
  }
}
@media (min-width: 768px) {
  .company-profile {
    background-image: url(../img/company/bg_profile01_pc.jpg);
  }
  .company-profile__inner {
    padding-top: 160px;
    padding-bottom: 120px;
  }
  .company-profile__wrap {
    display: flex;
    align-items: flex-start;
  }
  .company-profile__img {
    min-width: 300px;
    width: 300px;
    margin: 0 80px 0 0;
  }
  .company-profile__table {
    width: 100%;
  }
}

/* .company-profile-cv
================================================ */
.company-profile-cv {
  position: relative;
  margin-top: 60px;
  padding: 40px 20px;
  box-sizing: border-box;
  background: linear-gradient(to bottom, rgba(23, 47, 75, 0.6) 0%, rgba(23, 47, 75, 0) 100%);
}
.company-profile-cv__head {
  font-size: 2.3rem;
  margin-bottom: 20px;
}
.company-profile-cv__area {
  line-height: var(--line-height_head);
  margin-top: 24px;
  padding: 22px 15px 20px;
  box-sizing: border-box;
  background-color: rgba(var(--color-grayscale-100), 0.08);
  text-align: center;
}
.company-profile-cv__btn {
  margin-top: 20px;
}
.company-profile-cv__btn-in {
  display: block;
  padding: 15px 0 20px;
  box-sizing: border-box;
  background-color: rgba(var(--color-grayscale-100));
  text-align: center;
  transition: all 0.3s ease;
}
.company-profile-cv__btn-main {
  color: rgba(var(--color-grayscale-900));
  font-size: 2rem;
  transition: all 0.3s ease;
}
.company-profile-cv__btn-ico {
  margin: 0 12px 0 2px;
}
.company-profile-cv__btn-ico:after {
  transition: none !important;
}
.company-profile-cv__btn-ico[class*=mail]:after {
  width: 20px;
  height: 14px;
}
.company-profile-cv__btn-sub {
  line-height: var(--line-height_head);
  margin-top: 4px;
  color: rgba(var(--color-grayscale-700));
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  transition: all 0.3s ease;
}
@media (max-width: 374px) {
  .company-profile-cv__head {
    font-size: 2rem;
  }
  .company-profile-cv__btn-main {
    font-size: 1.8rem;
  }
  .company-profile-cv__btn-sub {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .company-profile-cv__btn-item + .company-profile-cv__btn-item {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .company-profile-cv {
    margin-top: 100px;
    padding: 80px;
  }
  .company-profile-cv__deco {
    position: absolute;
    right: -50px;
    bottom: -42px;
    width: 99px;
    pointer-events: none;
  }
  .company-profile-cv__head {
    font-size: 2.8rem;
    margin-bottom: 30px;
  }
  .company-profile-cv__area {
    margin-top: 30px;
    padding: 18px;
    font-size: 1.8rem;
  }
  .company-profile-cv__btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 50px -10px -20px;
  }
  .company-profile-cv__btn-item {
    display: flex;
    width: calc(50% - 20px);
    margin: 0 10px 20px;
  }
  .company-profile-cv__btn-item.has-tel .company-profile-cv__btn-in {
    pointer-events: none;
  }
  .company-profile-cv__btn-in {
    width: 100%;
    padding: 32px 0 30px;
  }
  .company-profile-cv__btn-main {
    font-size: 2.2rem;
  }
  .company-profile-cv__btn-ico {
    margin: 0 16px 0 4px;
  }
  .company-profile-cv__btn-ico[class*=tel]:after {
    width: 21px;
    height: 21px;
  }
  .company-profile-cv__btn-ico[class*=mail]:after {
    width: 26px;
    height: 17px;
  }
  .company-profile-cv__btn-sub {
    margin-top: 4px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .company-profile-cv__btn-in:hover {
    background-color: rgba(var(--color-grayscale-900));
  }
  .company-profile-cv__btn-in:hover .company-profile-cv__btn-main,
.company-profile-cv__btn-in:hover .company-profile-cv__btn-sub {
    color: #fff;
  }
}

/* .error-page404
================================================ */
.error-page404__inner {
  padding-top: 80px;
  padding-bottom: 10px;
}
.error-page404__head {
  margin-bottom: 20px;
  font-size: 2.3rem;
  text-align: center;
}
.error-page404__txt {
  text-align: center;
}
.error-page404__btn {
  margin: 30px auto 0;
}
@media (min-width: 768px) {
  .error-page404__inner {
    padding-top: 120px;
    padding-bottom: 0;
  }
  .error-page404__head {
    margin-bottom: 35px;
    font-size: 2.8rem;
  }
  .error-page404__btn {
    margin-top: 40px;
  }
}

/* home-message
------------------------------------- */
.home-message {
  position: relative;
  z-index: 1;
}
.home-message__bg-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.home-message__bg-txt {
  position: absolute;
  top: 68px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 3140px;
  z-index: -1;
}
.home-message__bg-txt img {
  display: block;
  animation: rotate 500s linear infinite;
  transform-origin: center center;
}
.home-message__inner {
  position: relative;
  padding: 185px 40px 70px;
  z-index: 1;
}
.home-message__inner::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 110px;
  height: 284px;
  background: url(../img/home/bg_message01_sp.png) no-repeat center/contain;
}
.home-message__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.home-message__area-txt {
  order: 2;
}
.home-message__area-img {
  padding: 0 19px 40px;
}
.home-message__area-img.is-animated .home-message__img:nth-child(1)::before {
  opacity: 1;
  transform: rotate(-3deg);
}
.home-message__img-wrap {
  display: grid;
}
.home-message__img {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  order: 3;
  z-index: 1;
}
.home-message__img:nth-child(2), .home-message__img:nth-child(3) {
  display: none;
}
.home-message__img:nth-child(1)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(var(--color-primary-200));
  z-index: -1;
  transition: all 0.9s ease;
  opacity: 0;
}
.home-message__obj {
  position: absolute;
  top: 103px;
  right: 10px;
  width: 90px;
}
.home-message__head {
  margin-bottom: 29px;
}
.home-message__head-en {
  margin-bottom: 15px;
  font-size: 1.2rem;
}
.home-message__head-ja {
  font-size: 2.3rem;
  line-height: 1.9;
}
.home-message__txt {
  line-height: 2.2;
}
.home-message__txt + .home-message__txt {
  margin-top: 1em;
}
.home-message__btn {
  margin-left: auto;
}
@media (min-width: 768px) {
  .home-message::before {
    left: auto;
    right: 0;
    bottom: 100px;
    z-index: -1;
    width: 342px;
    height: 512px;
    background: url(../img/home/bg_message01_pc.png) no-repeat center/contain;
  }
  .home-message__bg-txt {
    top: 265px;
    width: 10496px;
  }
  .home-message__inner {
    position: relative;
    padding: 449px 40px 0;
  }
  .home-message__inner::before {
    display: none;
  }
  .home-message__content {
    flex-direction: row;
  }
  .home-message__area-txt {
    width: 50%;
    padding-top: 268px;
    padding-left: 6.41vw;
    margin-left: auto;
    order: 2;
    box-sizing: border-box;
  }
  .home-message__area-img {
    position: sticky;
    top: 150px;
    left: 0;
    flex: 1;
    padding: 0;
  }
  .home-message__img {
    grid-column: 1;
    grid-row: 1;
    order: 1;
  }
  .home-message__img:nth-child(2), .home-message__img:nth-child(3) {
    display: block;
    opacity: 0;
    transform: translateX(-100px);
  }
  .home-message__img:nth-child(2) {
    order: 2;
  }
  .home-message__img:nth-child(3) {
    order: 3;
  }
  .home-message__img:nth-child(1)::before {
    left: auto;
    right: 0;
    max-width: 890px;
    height: auto;
    width: calc(var(--vw, 1vw) * 50 - 70px);
    aspect-ratio: 890/840;
  }
  .home-message__img img {
    max-width: 890px;
    width: calc(var(--vw, 1vw) * 50 - 70px);
    margin-left: -10vw;
    float: right;
  }
  .home-message__obj {
    top: 520px;
    right: 0;
    width: clamp(200px, 12.71vw, 244px);
  }
  .home-message__head {
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
  }
  .home-message__head-en {
    margin-bottom: 20px;
    font-size: 1.4rem;
  }
  .home-message__head-ja {
    font-size: clamp(3.8rem, 3.4rem + 0.521vw, 4.4rem);
    line-height: 2.1;
  }
  .home-message__txt {
    position: relative;
    z-index: 1;
    font-size: 1.8rem;
  }
  .home-message__txt + .home-message__txt {
    margin-top: 40px;
  }
  .home-message__btn {
    position: relative;
    z-index: 1;
    margin-left: 0;
  }
}
@media (max-width: 1370px) and (min-width: 768px) {
  .home-message__head-ja {
    font-size: 3.6rem;
  }
}

/* home-needs
------------------------------------- */
.home-needs__inner {
  padding: 50px 40px 97px;
}
.home-needs__head {
  margin-bottom: 25px;
  font-size: 2.5rem;
}
.home-needs__list {
  display: grid;
  gap: 8px;
}
.home-needs__item {
  padding: 25px 20px 20px;
}
.home-needs__item-img {
  max-width: 133px;
  width: 100%;
  margin: 0 auto 10px;
}
.home-needs__item-head {
  margin-bottom: 10px;
  text-align: center;
  font-size: 2rem;
}
.home-needs__item-txt {
  text-align: center;
}
@media (min-width: 768px) {
  .home-needs__inner {
    padding: 239px 40px 244px;
  }
  .home-needs__head {
    width: var(--contents_width);
    margin: 0 auto 58px;
    font-size: 3.2rem;
  }
  .home-needs__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .home-needs__item {
    padding: 50px 20px 60px;
  }
  .home-needs__item-img {
    max-width: 234px;
    margin-bottom: 30px;
  }
  .home-needs__item-head {
    margin-bottom: 15px;
    font-size: 2.2rem;
  }
}
@media (max-width: 1320px) and (min-width: 768px) {
  .home-needs__item-txt {
    font-size: 1.4rem;
  }
}

/* home-business
------------------------------------- */
.home-business {
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #fff;
}
.home-business.home-brand {
  margin-top: 3px;
}
.home-business.home-brand .home-business__inner {
  padding-top: 47px;
  padding-bottom: 65px;
}
.home-business.home-brand .home-business__bg-item img {
  -o-object-position: bottom;
  object-position: bottom;
}
.home-business__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.home-business__bg-item {
  width: 100%;
  height: 100%;
}
.home-business__bg-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
}
.home-business__inner {
  padding-top: 76px;
  padding-bottom: 52px;
}
.home-business__head {
  margin-bottom: 25px;
}
.home-business__head-num {
  margin-bottom: 7px;
  font-size: 1.4rem;
}
.home-business__head-ja {
  font-size: 3.4rem;
}
.home-business__copy {
  margin-bottom: 6px;
  font-size: 2rem;
}
.home-business__txt {
  margin-bottom: 20px;
}
.home-business__note {
  display: grid;
  gap: 6px;
  padding-top: 20px;
  border-top: 1px solid;
  font-size: 1.4rem;
}
.home-business__note-head::before {
  content: "・";
}
.home-business__btn {
  margin-left: auto;
}
@media (min-width: 768px) {
  .home-business.home-brand {
    margin-top: 3px;
  }
  .home-business.home-brand .home-business__inner {
    padding-top: 292px;
    padding-bottom: 145px;
  }
  .home-business.home-brand .home-business__note {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.55vw;
  }
  .home-business__inner {
    padding-top: 289px;
    padding-bottom: 140px;
  }
  .home-business__head {
    margin-bottom: 8.85vw;
  }
  .home-business__head-num {
    margin-bottom: 15px;
    font-size: 1.8rem;
  }
  .home-business__head-ja {
    font-size: clamp(4.8rem, 3.667rem + 1.476vw, 6.5rem);
  }
  .home-business__txt-area {
    width: 50%;
    min-width: calc(100% - 620px);
    margin-left: auto;
  }
  .home-business__copy {
    margin-bottom: 34px;
    font-size: 2.2rem;
  }
  .home-business__txt {
    margin-bottom: 60px;
  }
  .home-business__note {
    gap: 0;
    padding-top: 50px;
  }
  .home-business__note-head::after {
    content: "|";
    padding: 0 0.25em;
  }
  .home-business__note-list {
    display: flex;
  }
  .home-business__note-txt {
    flex: 1;
  }
  .home-business__btn {
    margin-left: auto;
  }
}

/* home-products
------------------------------------- */
.home-products__inner {
  padding-top: 90px;
  padding-bottom: 100px;
}
.home-products__head {
  padding: 0 20px;
  margin-bottom: 15px;
}
.home-products__archive {
  margin: 0 -20px;
}
.home-products__content-list {
  margin-top: 34px;
  padding: 0 40px;
}
.home-products__btn {
  margin: 25px 20px 0 auto;
}
@media (min-width: 768px) {
  .home-products__inner {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
    gap: 38px 0;
    padding-top: 215px;
    padding-bottom: 245px;
  }
  .home-products__head {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
    margin-bottom: 0;
  }
  .home-products__archive {
    grid-column: 1/3;
    grid-row: 2;
    margin: 0;
  }
  .home-products__content-list {
    margin-top: 50px;
    padding: 0;
  }
  .home-products__btn {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 35px 0 0 auto;
  }
}

/* home-gallery
------------------------------------- */
.home-gallery {
  position: relative;
}
.home-gallery__img .swiper-wrapper {
  pointer-events: none;
  transition-timing-function: linear !important;
}
.home-gallery__img-item {
  width: 147px;
}
.home-gallery__img-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
@media (min-width: 768px) {
  .home-gallery__obj01 {
    position: absolute;
    top: -94px;
    left: 50%;
    transform: translateX(33vw);
    z-index: 2;
  }
  .home-gallery__obj02 {
    position: absolute;
    left: 50%;
    bottom: -117px;
    transform: translateX(-50vw);
    z-index: 2;
  }
  .home-gallery__img-item {
    width: auto;
  }
}

/* home-story
------------------------------------- */
.home-story__inner {
  padding-top: 105px;
}
.home-story__head {
  padding: 0 35px;
}
@media (min-width: 768px) {
  .home-story {
    overflow: hidden;
  }
  .home-story__inner {
    padding-top: 295px;
    max-width: 100%;
  }
  .home-story__head {
    max-width: 1400px;
    padding: 0 var(--body_padding_side);
    margin: 0 auto 50px;
  }
}
@media (min-width: 1481px) {
  .home-story {
    overflow: hidden;
  }
  .home-story__head {
    margin-bottom: 0;
  }
}

/* .products-pickup
================================================ */
.products-pickup__inner {
  padding-top: 54px;
}
.products-pickup__content {
  background: url(../img/products/bg_pickup01.jpg) no-repeat center/cover;
}
.products-pickup__content-inner {
  padding: 60px 25px;
}
.products-pickup__head {
  margin-bottom: 40px;
  font-size: 2.9rem;
}
@media (max-width: 767px) {
  .products-pickup__inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 768px) {
  .products-pickup__inner {
    padding-top: 70px;
  }
  .products-pickup__content-inner {
    padding: 80px 40px 74px;
  }
  .products-pickup__head {
    margin-bottom: 60px;
    font-size: 4.6rem;
  }
}

/* .products-archive
================================================ */
.products-archive__inner {
  padding-top: 60px;
  padding-bottom: 10px;
}
.products-archive__tab {
  margin-bottom: 34px;
}
.products-archive__area-archive {
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .products-archive__tab {
    margin-left: -20px;
    margin-right: -20px;
  }
  .products-archive__area-archive {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 768px) {
  .products-archive__inner {
    padding-top: 80px;
    padding-bottom: 85px;
  }
  .products-archive__tab {
    margin-bottom: 50px;
  }
}