@charset "UTF-8";
/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
body {
  background: #fff;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
}

input, button, textarea, select {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  outline: none;
}

* {
  letter-spacing: 0.04em;
}

*:before, *:after {
  display: block;
}

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

a {
  text-decoration: none;
}

a[href*="tel:"] {
  text-decoration: underline;
}

@media (hover: hover) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (width <= 768px) {
  .pc-br {
    display: none;
  }
}
@media (769px <= width) {
  .sp-br {
    display: none;
  }
}
@container (width <= 768px) {
  .cont-pc-br {
    display: none;
  }
}
@container (769px <= width) {
  .cont-sp-br {
    display: none;
  }
}
@media (width <= 768px) {
  .pc-disp {
    display: none !important;
  }
}
@media (769px <= width) {
  .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) {
  .opacity-link {
    transition: opacity 0.2s ease;
  }

  .opacity-link:hover {
    opacity: 0.4;
  }
}
.txt-link {
  text-decoration: underline;
}

@media (hover: hover) {
  .txt-link:hover {
    text-decoration: none;
  }
}
.arrow-link {
  color: #2187FF;
  text-decoration: underline;
}

.arrow-link::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 10px;
  margin-left: 0.5em;
  background: #2187FF;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
}

.external-link::after {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-left: 0.5em;
  background: #000;
  -webkit-mask: url(../images/common/ico_external.svg) no-repeat center/contain;
          mask: url(../images/common/ico_external.svg) no-repeat center/contain;
  transform: translateY(0.1em);
}

.wrapper {
  min-width: 320px;
  overflow: clip;
}

@media (width <= 768px) {
  .wrapper {
    padding-top: 48px;
  }
}
.main-cont {
  position: relative;
}

@media (width <= 768px) {
  .main-cont {
    padding-bottom: 60px;
  }
}
@media (769px <= width) {
  .main-cont {
    padding-bottom: 120px;
  }
}
.safari-status-bars,
.safari-tab-bars {
  display: none;
}

body.is-safari .safari-status-bars {
  display: block;
  width: 100%;
  height: 5px;
  background: #000;
  mix-blend-mode: lighten;
  position: fixed;
  top: 0;
  pointer-events: none;
}

body.is-safari .safari-tab-bars {
  display: block;
  width: 100%;
  height: 4px;
  background: #000;
  mix-blend-mode: lighten;
  position: fixed;
  bottom: 0;
  pointer-events: none;
}

/* =========================================================
common parts
========================================================= */
/*------------------------------------------
text
------------------------------------------*/
@media (width <= 768px) {
  .c-txt01 {
    font-size: 13px;
    line-height: 1.69;
  }
}
@media (769px <= width) {
  .c-txt01 {
    font-size: 15px;
    line-height: 1.73;
  }
}
/*------------------------------------------
title
------------------------------------------*/
.c-ttl01 {
  color: #1862B9;
}

.c-ttl01--en {
  font-family: "Lato", sans-serif;
  line-height: 1.15;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-ttl01--en {
    font-size: clamp(1px, 5.33vw, 20px);
  }
}
@media (769px <= width) {
  .c-ttl01--en {
    font-size: clamp(1px, 2.19vw, 30px);
  }
}
.c-ttl02__en {
  color: #2187FF;
  font-family: "Lato", sans-serif;
  line-height: 1.15;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-ttl02__en {
    font-size: clamp(1px, 5.86vw, 22px);
  }
}
@media (769px <= width) {
  .c-ttl02__en {
    font-size: clamp(1px, 2.48vw, 34px);
  }
}
.c-ttl02__ja {
  margin: 0.7em auto 0;
  line-height: 1.15;
  letter-spacing: 0.12em;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-ttl02__ja {
    font-size: clamp(1px, 2.93vw, 11px);
  }
}
@media (769px <= width) {
  .c-ttl02__ja {
    font-size: 14px;
  }
}
.c-ttl03 {
  border-bottom: 1px solid #EDEDED;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-ttl03 {
    padding: 0 0 10px;
    font-size: 15px;
    line-height: 1.73;
  }
}
@media (769px <= width) {
  .c-ttl03 {
    padding: 0 0 15px;
    font-size: 20px;
    line-height: 1.7;
  }
}
.c-ttl04 {
  text-align: center;
}

.c-ttl04__en {
  font-family: "Lato", sans-serif;
  color: #1862B9;
  font-weight: 500;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-ttl04__en {
    font-size: clamp(1px, 3.73vw, 14px);
  }
}
@media (769px <= width) {
  .c-ttl04__en {
    font-size: clamp(1px, 1.75vw, 24px);
  }
}
.c-ttl04__ja {
  margin: 10px auto 0;
  font-weight: 500;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-ttl04__ja {
    font-size: clamp(1px, 5.33vw, 20px);
  }
}
@media (769px <= width) {
  .c-ttl04__ja {
    font-size: clamp(1px, 2.48vw, 34px);
  }
}
/*------------------------------------------
button
------------------------------------------*/
.c-btn01 a,
.c-btn01 button {
  width: 100%;
  border-radius: 70px;
  background: #2187FF;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media (width <= 768px) {
  .c-btn01 a,
.c-btn01 button {
    height: 50px;
    gap: 5px;
  }
}
@media (769px <= width) {
  .c-btn01 a,
.c-btn01 button {
    height: 70px;
    gap: 10px;
  }
}
.c-btn01__en {
  font-family: "Lato", sans-serif;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-btn01__en {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-btn01__en {
    font-size: 13px;
  }
}
.c-btn01__ja {
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-btn01__ja {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-btn01__ja {
    font-size: 15px;
  }
}
.c-btn01.arrow a::after,
.c-btn01.arrow button::after {
  content: "";
  width: 12px;
  height: 10px;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #fff;
}

.c-btn01.arrow.down a::after,
.c-btn01.arrow.down button::after {
  transform: rotate(90deg);
}

.c-btn01.ig a::after,
.c-btn01.ig button::after {
  content: "";
  width: 19px;
  height: 19px;
  -webkit-mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
          mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
  background: #fff;
}

.c-btn01.white a,
.c-btn01.white button {
  color: #2187FF;
  background: #fff;
}

.c-btn01.white.arrow a::after,
.c-btn01.white.arrow button::after, .c-btn01.white.ig a::after,
.c-btn01.white.ig button::after {
  background: #2187FF;
}

.c-btn01.border-b a,
.c-btn01.border-b button {
  border: 1px solid #2187FF;
  color: #2187FF;
  background: none;
}

.c-btn01.border-b.arrow a::after,
.c-btn01.border-b.arrow button::after, .c-btn01.border-b.ig a::after,
.c-btn01.border-b.ig button::after {
  background: #2187FF;
}

@media (hover: hover) {
  .c-btn01 a,
.c-btn01 button {
    transition: background 0.2s ease;
  }

  .c-btn01 a:hover,
.c-btn01 button:hover {
    background: #55A3FF;
  }

  .c-btn01.border-b a,
.c-btn01.border-b button {
    transition: opacity 0.2s ease;
  }

  .c-btn01.border-b a:hover,
.c-btn01.border-b button:hover {
    opacity: 0.6;
    background: none;
  }
}
/*------------------------------------------
tag
------------------------------------------*/
.c-tag01 {
  width: -moz-fit-content;
  width: fit-content;
  padding: 7px 16px;
  border: 1px solid #2187FF;
  border-radius: 32px;
  color: #2187FF;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-tag01 {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-tag01 {
    font-size: 13px;
  }
}
.c-new {
  aspect-ratio: 44/54;
  background: #2187FF;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  display: flex;
  align-items: center;
}

.c-new::before {
  content: "NEW";
  font-family: "Lato", sans-serif;
  color: #fff;
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
}

@media (width <= 768px) {
  .c-new::before {
    margin: 0 0 0 0.6em;
  }
}
@media (769px <= width) {
  .c-new::before {
    margin: 0 0 0 0.7em;
  }
}
/*------------------------------------------
form
------------------------------------------*/
.c-checkbox input[type=checkbox] {
  display: none;
}

.c-checkbox label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}

.c-checkbox__txt {
  line-height: 1.4;
}

@media (width <= 768px) {
  .c-checkbox__txt {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-checkbox__txt {
    font-size: 14px;
  }
}
.c-checkbox__check {
  aspect-ratio: 1/1;
  border: 1px solid #D1D1D1;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-checkbox__check {
    width: 16px;
  }
}
@media (769px <= width) {
  .c-checkbox__check {
    width: 20px;
  }
}
.c-checkbox__check::before {
  width: 62.5%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_check.svg) no-repeat center/contain;
          mask: url(../images/common/ico_check.svg) no-repeat center/contain;
  background: #fff;
}

.c-checkbox input[type=checkbox]:checked + .c-checkbox__check {
  border: none;
  background: #2187FF;
}

.c-checkbox input[type=checkbox]:checked + .c-checkbox__check::before {
  content: "";
}

.c-checkbox input[type=checkbox]:checked + .c-checkbox__check + .c-checkbox__txt {
  color: #2187FF;
}

.c-select {
  position: relative;
  background: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  position: relative;
}

.c-select::before {
  content: "";
  aspect-ratio: 10/8;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #1862B9;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media (width <= 768px) {
  .c-select::before {
    width: 8px;
    right: 9px;
  }
}
@media (769px <= width) {
  .c-select::before {
    width: 10px;
    right: 13px;
  }
}
.c-select select {
  width: 100%;
  letter-spacing: 0.06em;
  position: relative;
  z-index: 1;
}

@media (width <= 768px) {
  .c-select select {
    padding: 10px 30px 10px 15px;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-select select {
    padding: 10px 35px 10px 20px;
    font-size: 14px;
  }
}
/*------------------------------------------
card
------------------------------------------*/
.c-card01 a {
  display: block;
  position: relative;
}

@media (width <= 768px) {
  .c-card01 a > * + * {
    margin: 10px auto 0;
  }
}
@media (769px <= width) {
  .c-card01 a > * + * {
    margin: 15px auto 0;
  }
}
.c-card01 .c-new {
  margin: 0;
  position: absolute;
  z-index: 1;
}

@media (width <= 768px) {
  .c-card01 .c-new {
    width: 54px;
    top: -5px;
    left: -10px;
  }
}
@media (769px <= width) {
  .c-card01 .c-new {
    width: 65px;
    top: -10px;
    left: -13px;
  }
}
.c-card01__img {
  margin: 0 auto !important;
  aspect-ratio: 36/27;
  border-radius: 5px;
  overflow: hidden;
}

.c-card01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card01__date {
  font-family: "Lato", sans-serif;
  color: rgba(0, 0, 0, 0.4);
  line-height: 1;
}

@media (width <= 768px) {
  .c-card01__date {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card01__date {
    font-size: 13px;
  }
}
@media (width <= 768px) {
  .c-card01__txt01 {
    font-size: 12px;
    line-height: 1.83;
  }
}
@media (769px <= width) {
  .c-card01__txt01 {
    font-size: 14px;
    line-height: 1.85;
  }
}
@media (hover: hover) {
  .c-card01 a img {
    transition: transform 1s ease;
  }

  .c-card01 a:hover img {
    transform: scale(1.05);
  }
}
.c-card02 a {
  display: block;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(to left, #ebf4ff 0%, #f4f4f4 100%);
  position: relative;
}

.c-card02 .c-new {
  position: absolute;
  top: 0;
  z-index: 1;
}

@media (width <= 768px) {
  .c-card02 .c-new {
    width: 44px;
    top: -10px;
    left: -10px;
  }
}
@media (769px <= width) {
  .c-card02 .c-new {
    width: 65px;
    top: -13px;
    left: -13px;
  }
}
@media (width <= 768px) {
  .c-card02 .c-new::before {
    margin: 0 0 0 0.3em;
  }
}
.c-card02__img {
  aspect-ratio: 36/27;
  border-radius: 5px;
  overflow: hidden;
}

.c-card02__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (width <= 768px) {
  .c-card02__detail {
    padding: 15px 20px 30px;
  }
}
@media (769px <= width) {
  .c-card02__detail {
    padding: 20px 20px 40px;
  }
}
@media (width <= 768px) {
  .c-card02__detail > * + * {
    margin: 15px auto 0;
  }
}
@media (769px <= width) {
  .c-card02__detail > * + * {
    margin: 20px auto 0;
  }
}
.c-card02__date {
  font-family: "Lato", sans-serif;
  color: rgba(0, 0, 0, 0.4);
  line-height: 1;
}

@media (width <= 768px) {
  .c-card02__date {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card02__date {
    font-size: 13px;
  }
}
@media (width <= 768px) {
  .c-card02__txt01 {
    font-size: 12px;
    line-height: 1.83;
  }
}
@media (769px <= width) {
  .c-card02__txt01 {
    font-size: 15px;
    line-height: 1.73;
  }
}
@media (hover: hover) {
  .c-card02 a img {
    transition: transform 1s ease;
  }

  .c-card02 a:hover img {
    transform: scale(1.05);
  }
}
.c-card03 a {
  display: block;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(to left, #ebf4ff 0%, #f4f4f4 100%);
  position: relative;
}

.c-card03__img {
  aspect-ratio: 346/242;
  border-radius: 5px;
  overflow: hidden;
}

.c-card03__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card03__detail {
  position: relative;
}

@media (width <= 768px) {
  .c-card03__detail {
    padding: 20px;
  }
}
@media (769px <= width) {
  .c-card03__detail {
    padding: 25px 30px;
  }
}
.c-card03__tag {
  background: #2187FF;
  border-radius: 3px;
  color: #fff;
  line-height: 1.3;
  font-weight: 500;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
}

@media (width <= 768px) {
  .c-card03__tag {
    padding: 4px 7px;
    font-size: 11px;
    left: 20px;
  }
}
@media (769px <= width) {
  .c-card03__tag {
    padding: 6px 16px;
    font-size: 12px;
    left: 25px;
  }
}
.c-card03__wrap {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

.c-card03__wrap + * {
  margin: 10px auto 0;
}

.c-card03__txt01 {
  font-weight: 500;
}

@media (width <= 768px) {
  .c-card03__txt01 {
    font-size: 12px;
    line-height: 1.83;
  }
}
@media (769px <= width) {
  .c-card03__txt01 {
    font-size: 14px;
    line-height: 1.71;
  }
}
.c-card03__txt01.gray {
  color: #797979;
}

@media (width <= 768px) {
  .c-card03__txt02 {
    font-size: 14px;
    line-height: 1.71;
  }
}
@media (769px <= width) {
  .c-card03__txt02 {
    font-size: 17px;
    line-height: 1.52;
  }
}
@media (hover: hover) {
  .c-card03 a img {
    transition: transform 1s ease;
  }

  .c-card03 a:hover img {
    transform: scale(1.05);
  }
}
.c-card04 a {
  display: block;
}

.c-card04 a > * + * {
  margin: 5px auto 0;
}

.c-card04__img {
  aspect-ratio: 267/360;
  overflow: hidden;
}

.c-card04__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (769px <= width) {
  .c-card04__img + * {
    margin: 10px auto 0 !important;
  }
}
.c-card04__wrap {
  display: flex;
  align-items: baseline;
  gap: 5px 10px;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .c-card04__wrap > * {
    width: 100%;
  }
}
.c-card04__txt01 {
  line-height: 1.3;
  letter-spacing: 0.08em;
}

@media (width <= 768px) {
  .c-card04__txt01 {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card04__txt01 {
    font-size: 15px;
  }
}
.c-card04__txt02 {
  font-size: 500;
  line-height: 1.4;
}

@media (width <= 768px) {
  .c-card04__txt02 {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .c-card04__txt02 {
    font-size: 20px;
  }
}
.c-card04__txt03 {
  font-family: "Lato", sans-serif;
  color: #A2A2A2;
  line-height: 1.4;
}

@media (width <= 768px) {
  .c-card04__txt03 {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-card04__txt03 {
    font-size: 14px;
  }
}
@media (hover: hover) {
  .c-card04 a img {
    transition: transform 1s ease;
  }

  .c-card04 a:hover img {
    transform: scale(1.05);
  }
}
.c-card05 a,
.c-card05 button {
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
  position: relative;
}

.c-card05 .c-new {
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 1;
}

@media (width <= 768px) {
  .c-card05 .c-new {
    width: 33px;
  }
}
@media (769px <= width) {
  .c-card05 .c-new {
    width: 65px;
  }
}
@media (width <= 768px) {
  .c-card05 .c-new::before {
    font-size: 9px;
    margin: 0 0 0 0.2em;
  }
}
.c-card05__img {
  aspect-ratio: 36/27;
  overflow: hidden;
}

.c-card05__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card05__detail {
  padding: 15px clamp(1px, 6.66vw, 25px) 20px;
}

.c-card05__detail > * + * {
  margin: 15px auto 0;
}

.c-card05__txt01 {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.71;
}

.c-card05__txt02 {
  color: #747474;
}

@media (width <= 768px) {
  .c-card05__txt02 {
    font-size: 12px;
    line-height: 2;
  }
}
@media (769px <= width) {
  .c-card05__txt02 {
    font-size: 14px;
    line-height: 1.71;
  }
}
.c-card05__txt02 + .c-card05__txt02 {
  margin: 5px auto 0;
}

.c-card05__list01 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

[class*=c-card05__tag] {
  min-width: 75px;
  padding: 4px 10px;
  border: 1px solid;
  border-radius: 3px;
  font-size: 11px;
  line-height: 1;
  text-align: center;
}

.c-card05__tag--01 {
  border-color: #2187FF;
  color: #2187FF;
}

.c-card05__tag--02 {
  border-color: #FF7722;
  color: #FF7722;
}

.c-card05__tag--03 {
  border-color: #2187FF;
  background: #2187FF;
  color: #fff;
}

.c-card05__price {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0;
}

.c-card05__price .strong {
  font-family: "Lato", sans-serif;
  color: #2187FF;
  font-size: 1.75em;
  letter-spacing: 0;
}

.c-card05__price .tax {
  font-size: 0.83em;
}

.c-card05__more {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.c-card05__more::before {
  content: "";
  aspect-ratio: 73/9;
  background: url(../images/common/txt_more.svg) no-repeat center/contain;
}

@media (width <= 768px) {
  .c-card05__more::before {
    width: 73px;
  }
}
@media (769px <= width) {
  .c-card05__more::before {
    width: 86px;
  }
}
.c-card05__more .ico,
.c-card05__more .zoom {
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #F4F4F4;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-card05__more .ico,
.c-card05__more .zoom {
    width: 27px;
  }
}
@media (769px <= width) {
  .c-card05__more .ico,
.c-card05__more .zoom {
    width: 40px;
  }
}
.c-card05__more .ico::before {
  content: "";
  aspect-ratio: 12/10;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #2187FF;
}

@media (width <= 768px) {
  .c-card05__more .ico::before {
    width: 9px;
  }
}
@media (769px <= width) {
  .c-card05__more .ico::before {
    width: 12px;
  }
}
.c-card05__more .zoom::before {
  content: "";
  aspect-ratio: 20/17;
  -webkit-mask: url(../images/common/ico_zoom02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_zoom02.svg) no-repeat center/contain;
  background: #2187FF;
}

@media (width <= 768px) {
  .c-card05__more .zoom::before {
    width: 17px;
  }
}
@media (769px <= width) {
  .c-card05__more .zoom::before {
    width: 20px;
  }
}
@media (hover: hover) {
  .c-card05 a img,
.c-card05 button img {
    transition: transform 1s ease;
  }

  .c-card05 a:hover img,
.c-card05 button:hover img {
    transform: scale(1.05);
  }
}
.c-card06 {
  background: #F4F4F4;
  border-radius: 5px;
  position: relative;
}

@media (width <= 768px) {
  .c-card06 {
    padding: 20px 6.25%;
  }
}
@media (769px <= width) {
  .c-card06 {
    padding: 40px;
  }
}
@media (1025px <= width) {
  .c-card06 {
    display: grid;
    grid-template-columns: 33.96vw 1fr;
    grid-template-rows: max-content 1fr;
    grid-template-areas: "title title" "image detail";
    gap: 30px clamp(1px, 2.92vw, 40px);
  }
}
.c-card06 .c-new {
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 1;
}

@media (width <= 768px) {
  .c-card06 .c-new {
    width: 45px;
  }
}
@media (769px <= width) {
  .c-card06 .c-new {
    width: 65px;
  }
}
@media (width <= 768px) {
  .c-card06 .c-new::before {
    font-size: 10px;
  }
}
.c-card06__check {
  position: absolute;
}

@media (width <= 768px) {
  .c-card06__check {
    top: 10px;
    right: 10px;
  }
}
@media (769px <= width) {
  .c-card06__check {
    top: 40px;
    right: 40px;
  }
}
.c-card06__check label {
  display: flex;
  align-items: center;
  gap: 15px;
  cursor: pointer;
}

.c-card06__check input[type=checkbox] {
  display: none;
}

.c-card06__check .check {
  aspect-ratio: 1/1;
  border: 1px solid #D1D1D1;
  background: #fff;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-card06__check .check {
    width: 24px;
  }
}
@media (769px <= width) {
  .c-card06__check .check {
    width: 30px;
  }
}
.c-card06__check .check::before {
  content: "";
  width: 62.5%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_check.svg) no-repeat center/contain;
          mask: url(../images/common/ico_check.svg) no-repeat center/contain;
  background: #D1D1D1;
}

.c-card06__check .txt {
  font-size: 14px;
  line-height: 1;
}

@media (width <= 1024px) {
  .c-card06__check .txt {
    display: none;
  }
}
.c-card06__check :has(input[type=checkbox]:checked) .check {
  border: none;
  background: #2187FF;
}

.c-card06__check :has(input[type=checkbox]:checked) .check::before {
  background: #fff;
}

.c-card06__img {
  overflow: hidden;
}

@media (1025px <= width) {
  .c-card06__img {
    grid-area: image;
  }
}
.c-card06__img .img {
  display: none;
  aspect-ratio: 464/348;
}

.c-card06__img .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-card06__img .list {
  display: flex;
  justify-content: center;
  gap: 4px;
}

@media (width <= 768px) {
  .c-card06__img .list {
    margin: 8px auto 0;
  }
}
@media (769px <= width) {
  .c-card06__img .list {
    margin: 10px auto 0;
  }
}
@media (width <= 768px) {
  .c-card06__img .btn {
    min-width: 53px;
  }
}
@media (769px <= width) {
  .c-card06__img .btn {
    min-width: 70px;
  }
}
.c-card06__img .btn button {
  width: 100%;
  background: #fff;
  color: #2187FF;
  border-radius: 3px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}

@media (width <= 768px) {
  .c-card06__img .btn button {
    padding: 5px 8px;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-card06__img .btn button {
    padding: 7px 13px;
    font-size: 14px;
  }
}
.c-card06__img .btn button.is-active {
  background: #2187FF;
  color: #fff;
}

.c-card06__ttl {
  font-weight: 500;
}

@media (width <= 768px) {
  .c-card06__ttl {
    margin: 15px auto 0;
    font-size: 14px;
    line-height: 1.71;
  }
}
@media (769px <= width) {
  .c-card06__ttl {
    font-size: 22px;
    line-height: 1.63;
  }
}
@media (769px <= width <= 1024px) {
  .c-card06__ttl {
    margin: 30px auto 0;
  }
}
@media (1025px <= width) {
  .c-card06__ttl {
    grid-area: title;
    width: calc(100% - 250px);
  }
}
@media (width <= 768px) {
  .c-card06__detail {
    margin: 15px auto 0;
  }
}
@media (769px <= width <= 1024px) {
  .c-card06__detail {
    margin: 30px auto 0;
  }
}
@media (1025px <= width) {
  .c-card06__detail {
    grid-area: detail;
  }
}
.c-card06__tags {
  display: flex;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .c-card06__tags {
    gap: 5px;
  }
}
@media (769px <= width) {
  .c-card06__tags {
    gap: 10px;
  }
}
.c-card06__price {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0;
}

@media (width <= 768px) {
  .c-card06__price {
    margin: 15px auto 0;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-card06__price {
    margin: 20px auto 0;
    font-size: 14px;
  }
}
.c-card06__price .strong {
  font-family: "Lato", sans-serif;
  color: #2187FF;
  letter-spacing: 0;
}

@media (width <= 768px) {
  .c-card06__price .strong {
    font-size: 1.75em;
  }
}
@media (769px <= width) {
  .c-card06__price .strong {
    font-size: 2.4em;
  }
}
.c-card06__price .tax {
  font-size: 0.83em;
}

[class*=c-card06__tag--] {
  border: 1px solid;
  border-radius: 3px;
  font-size: 11px;
  line-height: 1;
  text-align: center;
}

@media (width <= 768px) {
  [class*=c-card06__tag--] {
    min-width: 75px;
    padding: 4px 10px;
    font-size: 11px;
  }
}
@media (769px <= width) {
  [class*=c-card06__tag--] {
    min-width: 90px;
    padding: 5px 14px;
    font-size: 12px;
  }
}
.c-card06__tag--01 {
  border-color: #2187FF;
  color: #2187FF;
}

.c-card06__tag--02 {
  border-color: #FF7722;
  color: #FF7722;
}

@media (width <= 768px) {
  [class*=c-card06__list01] {
    margin: 10px auto 0;
  }
}
@media (769px <= width <= 1024px) {
  [class*=c-card06__list01] {
    margin: 30px auto 0;
  }
}
@media (1025px <= width) {
  [class*=c-card06__list01] {
    grid-area: list;
  }
}
[class*=c-card06__list01] + [class*=c-card06__list01] {
  margin: 0;
}

[class*=c-card06__list01] .bundle {
  display: flex;
  border-bottom: 1px solid #C6C6C6;
  line-height: 1.8;
}

@media (width <= 768px) {
  [class*=c-card06__list01] .bundle {
    padding: 10px 0;
    font-size: 12px;
  }
}
@media (769px <= width) {
  [class*=c-card06__list01] .bundle {
    padding: 15px 0;
    font-size: 14px;
  }
}
[class*=c-card06__list01] dt {
  color: #797979;
  font-weight: 400;
}

@media (width <= 768px) {
  [class*=c-card06__list01] dt {
    width: 65px;
    font-size: 11px;
  }
}
@media (769px <= width) {
  [class*=c-card06__list01] dt {
    width: 80px;
  }
}
[class*=c-card06__list01] dd {
  flex: 1;
}

@media (769px <= width) {
  .c-card06__list01--02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 13px;
  }
}
.c-card06__point {
  margin: 20px auto 0;
  line-height: 1.83;
}

@media (width <= 768px) {
  .c-card06__point {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-card06__point {
    font-size: 14px;
  }
}
.c-card06__point::before {
  display: inline-block;
  margin-right: 13px;
  padding: 4px 6px;
  background: #fff;
  color: #2187FF;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

@media (769px <= width) {
  .c-card06__point::before {
    content: "おすすめポイント";
  }
}
.c-card06__list02 {
  width: clamp(1px, 73.59vw, 286px);
  display: flex;
}

@media (width <= 768px) {
  .c-card06__list02 {
    margin: 20px auto 0;
    gap: 7px;
  }
}
@media (769px <= width) {
  .c-card06__list02 {
    margin: 30px 0 0 auto;
    gap: 10px;
  }
}
.c-card06__list02 .c-btn01 a {
  font-size: 12px;
}

@media (width <= 768px) {
  .c-card06__list02 .c-btn01 a {
    height: 40px;
  }
}
@media (769px <= width) {
  .c-card06__list02 .c-btn01 a {
    height: 45px;
  }
}
@media (width <= 768px) {
  .c-card06__list02 .c-btn01 a::after {
    width: 10px;
  }
}
.c-card06__list02 .c-btn01:nth-child(1) {
  width: 39.5%;
}

.c-card06__list02 .c-btn01:nth-child(2) {
  flex: 1;
}

.c-card06:has(input[type=checkbox]:checked) {
  background: #EBF4FF;
}

/*------------------------------------------
list
------------------------------------------*/
.c-list01__bundle {
  display: flex;
  border-bottom: 1px solid #C6C6C6;
}

@media (width <= 768px) {
  .c-list01__bundle {
    padding: 15px 0;
    font-size: 13px;
    line-height: 1.69;
  }
}
@media (769px <= width) {
  .c-list01__bundle {
    padding: 20px 0;
    font-size: 14px;
    line-height: 1.85;
  }
}
.c-list01__bundle:first-child {
  padding-top: 0;
}

.c-list01__bundle.wide {
  display: block;
}

.c-list01__bundle.wide > * {
  width: 100%;
}

@media (width <= 768px) {
  .c-list01__bundle.wide > * + * {
    margin: 5px auto 0;
  }
}
@media (769px <= width) {
  .c-list01__bundle.wide > * + * {
    margin: 15px auto 0;
  }
}
.c-list01 dt {
  color: #797979;
  font-weight: 400;
}

@media (width <= 768px) {
  .c-list01 dt {
    width: 105px;
  }
}
@media (769px <= width) {
  .c-list01 dt {
    width: 145px;
  }
}
.c-list01 dd {
  flex: 1;
}

/*------------------------------------------
icon
------------------------------------------*/
.c-ico--ig {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
          mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
}

/*------------------------------------------
animation
------------------------------------------*/
@keyframes c-arrow-1st {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes c-arrow-2nd {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
/* =========================================================
common layout
========================================================= */
/*------------------------------------------
section
------------------------------------------*/
@media (width <= 768px) {
  .c-sec01 {
    padding: 0 5.55%;
  }
}
@media (769px <= width) {
  .c-sec01 {
    padding: 0 8.35vw;
  }
}
.c-sec01 .c-sec01__in {
  margin: 0 auto;
}

@media (width <= 768px) {
  .c-sec02 {
    padding: 0 11.11%;
  }
}
@media (769px <= width) {
  .c-sec02 {
    padding: 0 calc(8.35vw + 6.25%);
  }
}
.c-sec02 .c-sec02__in {
  margin: 0 auto;
}

/*------------------------------------------
block
------------------------------------------*/
@media (width <= 768px) {
  .c-block01 .c-ttl03 + * {
    margin: 15px auto 0;
  }
}
@media (769px <= width) {
  .c-block01 .c-ttl03 + * {
    margin: 20px auto 0;
  }
}
/*------------------------------------------
head
------------------------------------------*/
.c-page-hd {
  overflow: hidden;
  background: url(../images/common/bg01.avif) no-repeat center/cover;
  position: relative;
}

@media (width <= 768px) {
  .c-page-hd {
    padding: 25px 11.11%;
  }
}
@media (769px <= width) {
  .c-page-hd {
    padding: 110px clamp(1px, 7.83vw, 107px) 90px;
  }
}
.c-page-hd::before {
  content: "";
  width: 100%;
  position: absolute;
  bottom: -4px;
  left: 0;
  background-repeat: repeat-x;
  background-position: 0 0;
  background-size: auto 100%;
}

@media (width <= 768px) {
  .c-page-hd::before {
    height: 30px;
  }
}
@media (769px <= width) {
  .c-page-hd::before {
    height: 66px;
  }
}
.c-page-hd__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 15px;
}

.c-page-hd__en {
  font-family: "Lato", sans-serif;
  font-weight: 500;
  line-height: 1;
}

@media (width <= 768px) {
  .c-page-hd__en {
    width: 100%;
    font-size: clamp(1px, 5.86vw, 22px);
  }
}
@media (769px <= width) {
  .c-page-hd__en {
    font-size: 34px;
  }
}
.c-page-hd__ja {
  line-height: 1.3;
  letter-spacing: 0.12em;
}

@media (width <= 768px) {
  .c-page-hd__ja {
    font-size: clamp(1px, 2.93vw, 11px);
  }
}
@media (769px <= width) {
  .c-page-hd__ja {
    font-size: 14px;
  }
}
.c-page-hd__deco {
  aspect-ratio: 571/512;
  background: url(../images/common/deco_hd01.png) no-repeat center/contain;
  position: absolute;
}

@media (width <= 768px) {
  .c-page-hd__deco {
    width: 140px;
    top: -45px;
    right: 0;
  }
}
@media (769px <= width) {
  .c-page-hd__deco {
    width: 285px;
    top: -10px;
    right: 42px;
  }
}
/*------------------------------------------
column
------------------------------------------*/
.c-col1-3 {
  display: grid;
}

@media (width <= 768px) {
  .c-col1-3 {
    gap: 20px;
  }
}
@media (769px <= width) {
  .c-col1-3 {
    gap: 40px clamp(1px, 2.19vw, 30px);
  }
}
@media (769px <= width <= 1024px) {
  .c-col1-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (1025px <= width) {
  .c-col1-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-col2-3 {
  display: grid;
}

@media (width <= 768px) {
  .c-col2-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 8px;
  }
}
@media (769px <= width) {
  .c-col2-3 {
    gap: 60px clamp(1px, 2.63vw, 36px);
  }
}
@media (769px <= width <= 1024px) {
  .c-col2-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (1025px <= width) {
  .c-col2-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-col2-4 {
  display: grid;
}

@media (width <= 768px) {
  .c-col2-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 16px;
  }
}
@media (769px <= width) {
  .c-col2-4 {
    gap: 53px clamp(1px, 2.04vw, 28px);
  }
}
@media (769px <= width <= 1024px) {
  .c-col2-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (1025px <= width) {
  .c-col2-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
/*------------------------------------------
pager
------------------------------------------*/
.c-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 5.33vw, 20px);
}

[class*=c-pager__arrow] a {
  width: 26px;
  height: 26px;
  border: 1px solid #2187FF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

[class*=c-pager__arrow] a::before {
  content: "";
  width: 8px;
  height: 10px;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #2187FF;
  transform: translateX(1px);
}

[class*=c-pager__arrow] a.no-link {
  pointer-events: none;
}

.c-pager__arrow--prev a {
  transform: scale(-1, -1);
}

.c-pager__list {
  display: flex;
  align-items: center;
  gap: clamp(1px, 5.33vw, 20px);
}

.c-pager__list .num a {
  display: block;
  padding: 0 0 3px;
  color: #2187FF;
  border-bottom: 1px solid #2187FF;
  font-family: "Lato", sans-serif;
  letter-spacing: -0.04em;
  line-height: 1;
}

@media (width <= 768px) {
  .c-pager__list .num a {
    font-size: clamp(1px, 4vw, 15px);
  }
}
@media (769px <= width) {
  .c-pager__list .num a {
    font-size: 18px;
  }
}
.c-pager__list .num.is-current a {
  color: #000;
  border: none;
  pointer-events: none;
}

.c-pager__list .ellipsis {
  width: 20px;
  height: 2px;
  -webkit-mask: url(../images/common/txt_ellipsis.svg) no-repeat center/contain;
          mask: url(../images/common/txt_ellipsis.svg) no-repeat center/contain;
  background: #b5b5b5;
}

/*------------------------------------------
navigation
------------------------------------------*/
[class*=c-nav01__item] a,
[class*=c-nav01__item] button {
  width: 100%;
  border: 1px solid #2187FF;
  color: #2187FF;
  border-radius: 60px;
  line-height: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  [class*=c-nav01__item] a,
[class*=c-nav01__item] button {
    height: 50px;
    font-size: clamp(1px, 3.2vw, 12px);
  }
}
@media (769px <= width) {
  [class*=c-nav01__item] a,
[class*=c-nav01__item] button {
    height: 60px;
    font-size: 16px;
  }
}
[class*=c-nav01__item] a::before,
[class*=c-nav01__item] button::before {
  aspect-ratio: 1/1;
  background: #2187FF;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

@media (width <= 768px) {
  [class*=c-nav01__item] a::before,
[class*=c-nav01__item] button::before {
    width: 12px;
  }
}
@media (769px <= width) {
  [class*=c-nav01__item] a::before,
[class*=c-nav01__item] button::before {
    width: 14px;
  }
}
[class*=c-nav01__item] span {
  color: #D1D1D1;
}

[class*=c-nav01__item].is-current a,
[class*=c-nav01__item].is-current button {
  background: #2187FF;
  color: #fff;
}

[class*=c-nav01__item].is-current a::before,
[class*=c-nav01__item].is-current button::before {
  content: "";
}

/*------------------------------------------
breadcrumb
------------------------------------------*/
@media (width <= 768px) {
  .c-breadcrumb {
    padding-bottom: 20px;
  }
}
@media (769px <= width) {
  .c-breadcrumb {
    padding-bottom: 40px;
  }
}
.c-breadcrumb__item {
  display: inline;
  margin-right: 15px;
  color: #797979;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-breadcrumb__item {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-breadcrumb__item {
    font-size: 12px;
  }
}
.c-breadcrumb__item::after {
  content: "";
  width: 6px;
  height: 10px;
  display: inline-block;
  margin-left: 15px;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
  background: #D8D8D8;
  vertical-align: middle;
}

.c-breadcrumb__item:last-child {
  margin-right: 0;
}

.c-breadcrumb__item:last-child::after {
  content: none;
}

/*------------------------------------------
no item
------------------------------------------*/
.c-no-item {
  margin: 80px auto 0;
  line-height: 1.6;
  text-align: center;
}

@media (width <= 768px) {
  .c-no-item {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-no-item {
    font-size: 15px;
  }
}
/*------------------------------------------
slider control
------------------------------------------*/
.c-slider-control [class*=swiper-button-] {
  aspect-ratio: 1/1;
  width: 40px;
  height: auto;
  background: #F4F4F4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-slider-control [class*=swiper-button-]:after {
  content: "";
  width: 12px;
  height: 10px;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #2187FF;
}

.c-slider-control .swiper-button-prev::after {
  transform: rotate(180deg);
}

/*------------------------------------------
modal
------------------------------------------*/
.c-modal {
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  overscroll-behavior: none;
  display: none;
}

@media (width <= 768px) {
  .c-modal {
    padding: 0 5.55%;
  }
}
@media (769px <= width) {
  .c-modal {
    padding: 0 max(7.83vw, 107px);
  }
}
.c-modal__bg {
  width: 100%;
  height: 100%;
  background: rgba(229, 241, 255, 0.9);
  position: fixed;
  top: 0;
  left: 0;
}

.c-modal__close {
  position: absolute;
}

@media (width <= 768px) {
  .c-modal__close {
    top: 5px;
    right: -15px;
  }
}
@media (769px <= width) {
  .c-modal__close {
    top: 20px;
    left: calc(100% + 20px);
  }
}
.c-modal__close button {
  aspect-ratio: 1/1;
  background: #2187FF;
  border-radius: 50%;
  color: #fff;
  position: relative;
}

@media (width <= 768px) {
  .c-modal__close button {
    width: 40px;
    transform: rotate(45deg);
  }
}
@media (769px <= width) {
  .c-modal__close button {
    width: 67px;
    text-align: center;
  }
}
.c-modal__close button::before, .c-modal__close button::after {
  content: "";
  height: 1px;
  background: #fff;
}

@media (width <= 768px) {
  .c-modal__close button::before, .c-modal__close button::after {
    width: 19px;
    position: absolute;
    top: 50%;
    left: 50%;
  }
}
@media (769px <= width) {
  .c-modal__close button::before, .c-modal__close button::after {
    width: 31px;
    position: absolute;
    top: 43px;
  }
}
@media (width <= 768px) {
  .c-modal__close button::before {
    transform: translate(-50%, -50%);
  }
}
@media (769px <= width) {
  .c-modal__close button::before {
    transform: rotate(30deg);
    left: 18px;
  }
}
@media (width <= 768px) {
  .c-modal__close button::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
@media (769px <= width) {
  .c-modal__close button::after {
    transform: rotate(-30deg);
    right: 18px;
  }
}
.c-modal__close button .txt {
  font-family: "Lato", sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
}

@media (width <= 768px) {
  .c-modal__close button .txt {
    display: none;
  }
}
.c-modal__cont {
  position: relative;
  z-index: 1;
}

/*------------------------------------------
acc
------------------------------------------*/
.js-accarea {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s linear;
}

.js-accarea__in {
  overflow: hidden;
}

.js-accarea.is-open {
  grid-template-rows: 1fr;
}

/*------------------------------------------
blank
------------------------------------------*/
.c-blank {
  position: relative;
}

@media (width <= 768px) {
  .c-blank {
    height: 190px;
  }
}
@media (769px <= width) {
  .c-blank {
    height: 500px;
  }
}
.c-blank__bg {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.c-blank__bg .in {
  width: 100%;
  height: calc(100% + 100px);
  background: url(../images/common/blank/bg_plx.avif) no-repeat center 0/cover;
  position: absolute;
  top: 0;
  left: 0;
}

.c-blank__deco {
  aspect-ratio: 510/567;
  background: url(../images/common/blank/deco01.png) no-repeat center/contain;
  position: absolute;
  z-index: 1;
}

@media (width <= 768px) {
  .c-blank__deco {
    width: 142px;
    top: -15px;
    right: 4px;
  }
}
@media (769px <= width) {
  .c-blank__deco {
    width: 255px;
    top: calc(100% - 10px);
    right: 30px;
  }
}
/*------------------------------------------
mission
------------------------------------------*/
.c-mission {
  background: #fff;
  position: relative;
  overflow: hidden;
}

@media (1025px <= width) {
  .c-mission {
    padding-right: 0;
  }
}
.c-mission::before {
  content: "";
  aspect-ratio: 176/995;
  background: url(../images/common/mission/bg_band.png) no-repeat center/contain;
  position: absolute;
  left: 0;
}

@media (width <= 768px) {
  .c-mission::before {
    width: 28px;
    top: 15px;
  }
}
@media (769px <= width) {
  .c-mission::before {
    width: 88px;
    top: -35px;
  }
}
.c-mission__deco01 {
  position: absolute;
}

@media (width <= 768px) {
  .c-mission__deco01 {
    width: 100px;
    height: 95px;
    background: url(../images/common/mission/deco01_sp.png) no-repeat center/contain;
    top: 49px;
    right: -2px;
  }
}
@media (769px <= width) {
  .c-mission__deco01 {
    width: 257px;
    height: 140px;
    background: url(../images/common/mission/deco01_pc.png) no-repeat center/contain;
    top: 54px;
    left: 41.65vw;
  }
}
@media (1025px <= width) {
  .c-mission .c-sec02__in {
    display: grid;
    grid-template-columns: 432px 1fr;
    grid-template-rows: repeat(2, max-content) 1fr;
    grid-template-areas: "title image" "lead image" "text image";
    gap: 50px clamp(1px, 5.27vw, 72px);
  }
}
.c-mission .c-ttl02 {
  display: flex;
  align-items: center;
  gap: 15px;
}

@media (1025px <= width) {
  .c-mission .c-ttl02 {
    grid-area: title;
  }
}
.c-mission .c-ttl02__ja {
  margin: 0;
}

@media (width <= 768px) {
  .c-mission__img {
    width: calc(100vw - 11.11vw);
    margin: 20px -11.11vw 0 auto;
  }
}
@media (769px <= width <= 1024px) {
  .c-mission__img {
    width: calc(100vw - calc(8.35vw + 6.25%));
    margin: 50px calc((8.35vw + 6.25%) * -1) 0 auto;
  }
}
@media (1025px <= width) {
  .c-mission__img {
    grid-area: image;
  }
}
@media (width <= 768px) {
  .c-mission__lead {
    margin: 30px auto 0;
  }
}
@media (769px <= width <= 1024px) {
  .c-mission__lead {
    margin: 50px auto 0;
  }
}
@media (1025px <= width) {
  .c-mission__lead {
    grid-area: lead;
  }
}
.c-mission__lead .c-txt-anime01 {
  font-weight: 600;
}

@media (width <= 768px) {
  .c-mission__lead .c-txt-anime01 {
    font-size: 18px;
    line-height: 1.66;
  }
}
@media (769px <= width) {
  .c-mission__lead .c-txt-anime01 {
    font-size: 24px;
    line-height: 1.66;
  }
}
.c-mission__lead .c-txt-anime01 .bg {
  color: #BABABA;
}

.c-mission__lead .c-txt-anime01:nth-child(2) .cover {
  transition-delay: 0.7s;
}

.c-mission__txt01 {
  letter-spacing: 0.06em;
}

@media (width <= 768px) {
  .c-mission__txt01 {
    margin: 30px auto 0;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .c-mission__txt01 {
    font-size: 15px;
    line-height: 1.86;
  }
}
@media (769px <= width <= 1024px) {
  .c-mission__txt01 {
    margin: 50px auto 0;
  }
}
@media (1025px <= width) {
  .c-mission__txt01 {
    grid-area: text;
  }
}
/*------------------------------------------
vision
------------------------------------------*/
.c-vision {
  background: #fff;
  position: relative;
}

.c-vision__deco01 {
  position: absolute;
  z-index: 1;
}

@media (width <= 768px) {
  .c-vision__deco01 {
    width: 119px;
    height: 69px;
    background: url(../images/common/vision/deco01_sp.png) no-repeat center/contain;
    bottom: -44px;
    right: 18px;
  }
}
@media (769px <= width) {
  .c-vision__deco01 {
    width: 224px;
    height: 122px;
    background: url(../images/common/vision/deco01_pc.png) no-repeat center/contain;
    bottom: -27px;
    left: 58px;
  }
}
[class*=c-vision__img] {
  position: absolute;
  z-index: 2;
}

.c-vision__img01 {
  left: 0;
}

@media (width <= 768px) {
  .c-vision__img01 {
    width: 55.46vw;
    top: 10.66vw;
  }
}
@media (769px <= width) {
  .c-vision__img01 {
    width: clamp(1px, 28.91vw, 395px);
    top: clamp(1px, 7.32vw, 100px);
  }
}
@media (width <= 768px) {
  .c-vision__img02 {
    width: 33.33vw;
    top: 38.4vw;
    right: 0;
  }
}
@media (769px <= width) {
  .c-vision__img02 {
    width: clamp(1px, 21.08vw, 288px);
    right: clamp(1px, 7.83vw, 107px);
    bottom: -26px;
  }
}
.c-vision .c-sec02__in {
  position: relative;
  z-index: 0;
}

@media (width <= 768px) {
  .c-vision .c-sec02__in {
    padding: 45.86vw 0 57px;
  }
}
@media (769px <= width) {
  .c-vision .c-sec02__in {
    padding: 80px 25% 118px;
  }
}
.c-vision .c-sec02__in::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: url(../images/common/bg01.avif) no-repeat center/cover;
  position: absolute;
  top: 0;
  z-index: -1;
}

@media (width <= 768px) {
  .c-vision .c-sec02__in::before {
    left: -5.55vw;
  }
}
@media (769px <= width) {
  .c-vision .c-sec02__in::before {
    left: 6.25%;
  }
}
.c-vision__band {
  width: 100vw;
  background: url(../images/common/vision/bg_band.png) repeat-x 0 0/auto 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media (width <= 768px) {
  .c-vision__band {
    height: 30px;
    top: -20px;
    animation: vision-sp 35s linear infinite;
  }
}
@media (769px <= width) {
  .c-vision__band {
    height: 81px;
    top: -68px;
    animation: vision-pc 35s linear infinite;
  }
}
.c-vision .c-ttl02 {
  display: flex;
  align-items: center;
  gap: 15px;
}

.c-vision .c-ttl02__ja {
  margin: 0;
}

@media (width <= 768px) {
  .c-vision__lead {
    margin: 40px auto 0;
  }
}
@media (769px <= width) {
  .c-vision__lead {
    margin: 50px auto 0;
  }
}
.c-vision__lead .c-txt-anime01 {
  font-weight: 600;
}

@media (width <= 768px) {
  .c-vision__lead .c-txt-anime01 {
    font-size: 18px;
    line-height: 1.66;
  }
}
@media (769px <= width) {
  .c-vision__lead .c-txt-anime01 {
    font-size: 24px;
    line-height: 1.66;
  }
}
.c-vision__lead .c-txt-anime01 .bg {
  color: #BABABA;
}

.c-vision__txt01 {
  letter-spacing: 0.06em;
}

@media (width <= 768px) {
  .c-vision__txt01 {
    margin: 35px auto 0;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .c-vision__txt01 {
    margin: 50px auto 0;
    font-size: 15px;
    line-height: 1.86;
  }
}
@keyframes vision-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -177px;
  }
}
@keyframes vision-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -479px;
  }
}
/*------------------------------------------
animation
------------------------------------------*/
.c-img-anime01 img {
  opacity: 0;
  transform: scale(1.05);
  transition: transform 2s ease-in-out, opacity 1s ease-in-out;
}

.c-img-anime01.is-active img {
  opacity: 1;
  transform: scale(1);
}

.c-txt-anime01 {
  position: relative;
}

.c-txt-anime01 .cover {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s linear;
  position: absolute;
  top: 0;
  left: 0;
}

.c-txt-anime01.is-active .cover {
  clip-path: inset(0 0 0 0);
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.wysiwyg {
  word-break: break-all;
}

.wysiwyg *,
.wysiwyg ::before,
.wysiwyg ::after {
  box-sizing: content-box;
}

.wysiwyg h1 {
  font-size: 2em;
  font-weight: 600;
}

.wysiwyg h2 {
  font-size: 1.5em;
  font-weight: 600;
}

.wysiwyg h3 {
  font-size: 1.17em;
  font-weight: 600;
}

.wysiwyg h4 {
  font-weight: 600;
}

.wysiwyg h5 {
  font-size: 0.83em;
  font-weight: 600;
}

.wysiwyg h6 {
  font-size: 0.67em;
  font-weight: 600;
}

.wysiwyg hr {
  display: block;
}

.wysiwyg a {
  text-decoration: underline;
  transition: opacity 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .wysiwyg a:hover {
    opacity: 0.6;
  }
}
.wysiwyg strong,
.wysiwyg b {
  font-weight: 600;
}

.wysiwyg em {
  font-style: italic;
}

.wysiwyg ul,
.wysiwyg ol {
  padding-left: 1.5em;
}

.wysiwyg ul {
  list-style: disc;
}

.wysiwyg ol {
  list-style: decimal;
}

.wysiwyg table {
  border-collapse: separate;
}

/* =========================================================
header
========================================================= */
/*------------------------------------------
header
------------------------------------------*/
.c-hd {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
}

@media (width <= 768px) {
  .c-hd {
    height: 48px;
    padding: 0 5px 0 14px;
    background: #fff;
  }
}
@media (769px <= width) {
  .c-hd {
    padding: 15px 15px 15px 30px;
  }
}
.c-hd__logo {
  aspect-ratio: 110/57;
}

@media (width <= 1024px) {
  .c-hd__logo {
    width: clamp(1px, 16.53vw, 62px);
  }
}
@media (769px <= width) {
  .c-hd__logo {
    width: 110px;
  }
}
.c-hd__logo a {
  display: block;
}

.c-hd__wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

@media (width <= 768px) {
  .c-hd__wrap {
    height: 100%;
    gap: 10px;
  }
}
@media (769px <= width) {
  .c-hd__wrap {
    height: 60px;
    padding: 0 18px 0 35px;
    background: #fff;
    border-radius: 60px;
  }
}
.c-hd__list {
  margin-right: 30px;
  display: flex;
  align-items: center;
  gap: 30px;
  transform: translateY(-0.2em);
}

@media (width <= 768px) {
  .c-hd__list {
    display: none;
  }
}
.c-hd__item {
  position: relative;
}

.c-hd__item > a,
.c-hd__item > button {
  font-family: "Lato", sans-serif;
  line-height: 1;
  position: relative;
}

@media (width <= 1024px) {
  .c-hd__item > a,
.c-hd__item > button {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-hd__item > a,
.c-hd__item > button {
    font-size: 15px;
  }
}
.c-hd__item > button {
  padding: 0 18px 0 0;
}

.c-hd__item > button::before, .c-hd__item > button::after {
  content: "";
  background: #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.c-hd__item > button::before {
  width: 11px;
  height: 1px;
  right: 0;
}

.c-hd__item > button::after {
  width: 1px;
  height: 11px;
  right: 5px;
}

.c-hd__item > button.is-open::after {
  content: none;
}

.c-hd .js-accarea {
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
}

.c-hd__sublist {
  width: 204px;
  border: 1px solid #2187FF;
  border-radius: 30px;
  overflow: hidden;
}

.c-hd__subitem {
  border-bottom: 1px solid #2187FF;
}

.c-hd__subitem:last-child {
  border-bottom: none;
}

.c-hd__subitem a {
  display: block;
  padding: 17px 10px;
  background: #fff;
  font-size: 13px;
  line-height: 1.46;
  text-align: center;
}

@media (hover: hover) {
  .c-hd__subitem a {
    transition: color 0.2s ease;
  }

  .c-hd__subitem a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
@media (769px <= width) {
  .c-hd__ig {
    margin-right: 17px;
  }
}
.c-hd__ig a {
  width: 17px;
  display: block;
  background: #000;
}

.c-hd__btn {
  aspect-ratio: 1/1;
  height: 100%;
  position: relative;
  z-index: 21;
}

.c-hd__btn button {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.c-hd__btn button::before {
  content: "MENU";
  font-family: "Lato", sans-serif;
  line-height: 1;
}

@media (width <= 768px) {
  .c-hd__btn button::before {
    font-size: 9px;
  }
}
@media (769px <= width) {
  .c-hd__btn button::before {
    font-size: 11px;
  }
}
.c-hd__btn span {
  display: block;
  width: clamp(1px, 7.46vw, 28px);
  height: 1px;
  background: rgba(0, 0, 0, 0.5);
}

@media (width <= 768px) {
  .c-hd__btn span {
    width: 26px;
  }
}
@media (769px <= width) {
  .c-hd__btn span {
    width: 34px;
  }
}
.c-hd__btn button.is-open::before {
  content: "CLOSE";
}

.c-hd__btn button.is-open span {
  transform-origin: left;
}

@media (width <= 768px) {
  .c-hd__btn button.is-open span:nth-child(1) {
    transform: rotate(11deg);
  }
}
@media (769px <= width) {
  .c-hd__btn button.is-open span:nth-child(1) {
    transform: rotate(8.5deg);
  }
}
@media (width <= 768px) {
  .c-hd__btn button.is-open span:nth-child(2) {
    transform: rotate(-11deg);
  }
}
@media (769px <= width) {
  .c-hd__btn button.is-open span:nth-child(2) {
    transform: rotate(-8.5deg);
  }
}
.c-hd.is-sticky {
  transform: translateY(-100%);
  transition: 0.3s ease;
}

.c-hd.is-show {
  transform: translateY(0);
}

/*------------------------------------------
navigation
------------------------------------------*/
.c-nav {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
}

.c-nav__bg {
  width: 100%;
  height: 100vh;
  backdrop-filter: blur(20px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
}

.c-nav__in {
  width: clamp(1px, 100%, 611px);
  height: 100%;
  margin: 0 0 0 auto;
  background: #fff;
  overflow: auto;
}

.c-nav__wrap {
  width: 100%;
  min-height: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-content: center;
}

@media (width <= 768px) {
  .c-nav__wrap {
    padding: 60px 10.66vw 80px;
    gap: 50px 0;
  }
}
@media (769px <= width) {
  .c-nav__wrap {
    padding: 50px clamp(1px, 10.61vw, 145px) 90px;
    gap: 80px 0;
  }
}
@media (769px <= width) {
  .c-nav__wrap .c-nav__item01 a {
    font-size: 14px;
  }
}
.c-nav__hd {
  font-family: "Lato", sans-serif;
  color: #2187FF;
  font-size: 13px;
  line-height: 1;
}

@media (width <= 768px) {
  .c-nav__hd + * {
    margin: 15px auto 0;
  }
}
@media (769px <= width) {
  .c-nav__hd + * {
    margin: 22px auto 0;
  }
}
[class*=c-nav__item0] a {
  font-size: 12px;
  line-height: 2.16;
}

.c-nav__item01 + .c-nav__item01 {
  margin: 10px auto 0;
}

.c-nav__item02 + .c-nav__item02 {
  margin: 10px auto 0;
}

.c-nav__item02 a {
  color: rgba(0, 0, 0, 0.5);
}

.c-nav__ig a {
  display: block;
  width: 20px;
  background: #000;
}

.c-nav {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s 0.5s;
}

.c-nav .c-nav__bg {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.c-nav .c-nav__in {
  transform: translateX(100%);
  transition: transform 0.5s ease;
}

.c-nav.is-open {
  visibility: visible;
  pointer-events: all;
  transition: visibility 0s;
}

.c-nav.is-open .c-nav__bg {
  opacity: 1;
}

.c-nav.is-open .c-nav__in {
  transform: translateX(0);
}

/*------------------------------------------
sticky button
------------------------------------------*/
.sticky-btn {
  position: fixed;
  z-index: 10;
}

@media (width <= 768px) {
  .sticky-btn {
    width: 190px;
    right: 5px;
    bottom: 5px;
  }
}
@media (769px <= width) {
  .sticky-btn {
    width: 269px;
    right: 20px;
    bottom: 20px;
  }
}
.sticky-btn a {
  border-radius: 60px;
  background: #2187FF;
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (width <= 768px) {
  .sticky-btn a {
    height: 47px;
    padding: 0 0 0 4px;
    font-size: 11px;
    gap: 5px;
  }
}
@media (769px <= width) {
  .sticky-btn a {
    height: 60px;
    padding: 0 0 0 6px;
    font-size: 15px;
    gap: 10px;
  }
}
.sticky-btn a::before {
  content: "";
  aspect-ratio: 18/14;
  -webkit-mask: url(../images/common/ico_mail.svg) no-repeat center/contain;
          mask: url(../images/common/ico_mail.svg) no-repeat center/contain;
  background: #fff;
  transform: translateY(1px);
}

@media (width <= 768px) {
  .sticky-btn a::before {
    width: 13px;
    margin-right: 3px;
  }
}
@media (769px <= width) {
  .sticky-btn a::before {
    width: 18px;
  }
}
.sticky-btn a::after {
  content: "";
  aspect-ratio: 9/8;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #fff;
  transform: translateY(1px);
}

@media (width <= 768px) {
  .sticky-btn a::after {
    width: 9px;
  }
}
@media (769px <= width) {
  .sticky-btn a::after {
    width: 12px;
  }
}
@media (hover: hover) {
  .sticky-btn a {
    transition: background 0.2s ease;
  }

  .sticky-btn a:hover {
    background: #55A3FF;
  }
}
/* =========================================================
footer
========================================================= */
@media (width <= 768px) {
  .c-ft {
    padding: 0 10px 57px;
  }
}
@media (769px <= width) {
  .c-ft {
    padding: 0 30px 100px;
  }
}
.c-ft__in {
  background: url(../images/common/bg_ft.avif) no-repeat center/cover;
  border-radius: 15px;
  position: relative;
}

@media (width <= 768px) {
  .c-ft__in {
    padding: 40px 8vw 30px;
  }
}
@media (769px <= width) {
  .c-ft__in {
    padding: 60px 5.55%;
  }
}
@media (1025px <= width) {
  .c-ft__in {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 74px 1fr;
    gap: 79px 0;
    grid-template-areas: "logo links" "information links";
  }
}
.c-ft__logo {
  width: clamp(1px, 27.46vw, 144px);
}

@media (width <= 1024px) {
  .c-ft__logo {
    margin: 0 auto;
  }
}
@media (1025px <= width) {
  .c-ft__logo {
    grid-area: logo;
  }
}
.c-ft__logo a {
  display: block;
}

@media (width <= 1024px) {
  .c-ft__info {
    margin: 30px auto;
    text-align: center;
  }
}
@media (1025px <= width) {
  .c-ft__info {
    grid-area: information;
  }
}
.c-ft__info > * + * {
  margin: 15px auto 0;
}

.c-ft__info .txt01 {
  font-size: 15px;
  line-height: 1.73;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-ft__info .txt01 > * {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .c-ft__info .txt01 > * {
    margin: 10px auto 0;
  }
}
.c-ft__info .txt02 {
  font-size: 13px;
  line-height: 1.69;
}

@media (width <= 768px) {
  .c-ft__info .txt02 + .txt02 {
    margin: 15px auto 0;
  }
}
@media (769px <= width) {
  .c-ft__info .txt02 + .txt02 {
    margin: 20px auto 0;
  }
}
.c-ft__wrap {
  display: grid;
  gap: 40px 0;
}

@media (width <= 768px) {
  .c-ft__wrap {
    margin: 30px auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (769px <= width) {
  .c-ft__wrap {
    grid-template-rows: 1fr max-content;
    grid-template-areas: "link01 link03 ig" "link02 link03 ig";
  }
}
@media (769px <= width <= 1024px) {
  .c-ft__wrap {
    margin: 30px auto;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (1025px <= width) {
  .c-ft__wrap {
    grid-area: links;
    grid-template-columns: repeat(2, 144px) 1fr;
  }
}
@media (769px <= width) {
  .c-ft__wrap .c-nav__item01 a {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-ft__wrap .c-nav__box01:has(.c-nav__ig) .c-nav__hd {
    font-size: 15px;
  }
}
@media (769px <= width) {
  .c-ft__link01 {
    grid-area: link01;
  }
}
@media (769px <= width) {
  .c-ft__link02 {
    grid-area: link02;
  }
}
@media (769px <= width) {
  .c-ft__link03 {
    grid-area: link03;
  }
}
@media (769px <= width) {
  .c-ft__link04 {
    grid-area: ig;
  }
}
@media (1025px <= width) {
  .c-ft__link04 {
    width: -moz-fit-content;
    width: fit-content;
    justify-self: end;
  }
}
.c-ft__link04 .c-nav__ig a {
  background: #2187FF;
}

@media (1025px <= width) {
  .c-ft__link04 .c-nav__ig a {
    margin: 0 auto;
  }
}
.c-ft__copyright {
  font-family: "Lato", sans-serif;
  color: rgba(0, 0, 0, 0.3);
  font-size: 10px;
  line-height: 1;
}

@media (width <= 1024px) {
  .c-ft__copyright {
    margin: 30px auto 0;
    text-align: center;
  }
}
@media (1025px <= width) {
  .c-ft__copyright {
    position: absolute;
    bottom: 60px;
    right: 5.55%;
  }
}