@charset "UTF-8";
html body {
  color: #636363;
  font-family: "M PLUS Rounded 1c", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 1.6rem;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

a,
button {
  -webkit-transition: 0.3s;
  cursor: pointer;
  transition: 0.3s;
}
a:hover,
button:hover {
  cursor: pointer;
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  a:hover,
  button:hover {
    opacity: 1;
  }
}

html {
  font-size: 0.78125vw;
  height: 100%;
  position: relative;
}

body {
  height: 100%;
  overflow-x: hidden;
  position: relative;
  width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 2.6666666667vw;
  }
  html body {
    font-size: 1.3rem;
  }
}
/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Make images easier to work with */
img,
picture {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

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

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.l-bg-center {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(90%, transparent), to(#fff)), url(../img/main/bg-center.png);
  background: linear-gradient(to bottom, transparent 0%, transparent 90%, #fff 100%), url(../img/main/bg-center.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  margin-top: 2.578125vw;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-bg-center {
    background-image: url(../img/main/bg-center-sp.png);
    background-size: contain;
    margin-top: 3.8vw;
  }
}

.l-bg-center::before {
  background-color: #e4ebee;
  content: "";
  height: 2.1875vw;
  left: 0;
  position: absolute;
  top: -2.03125vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-bg-center::before {
    display: none;
  }
}

.l-bg {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(90%, transparent), to(#fff)), url(../img/main/bg-top.png);
  background: linear-gradient(to bottom, transparent 0%, transparent 90%, #fff 100%), url(../img/main/bg-top.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  left: 0;
  margin-bottom: -21.875vw;
  padding-bottom: 19.53125vw;
  position: relative;
  top: -21.875vw;
  width: 100%;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .l-bg {
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(90%, transparent), to(#fff)), url(../img/main/bg-top-sp.png);
    background: linear-gradient(to bottom, transparent 0%, transparent 90%, #fff 100%), url(../img/main/bg-top-sp.png);
    background-size: 100% auto;
    padding-bottom: 26.6666666667vw;
    top: -31.2vw;
  }
}

.l-footer {
  background-color: #6c7cea;
  font-family: "M PLUS Rounded 1c", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  letter-spacing: 0.02em;
  line-height: 1.7;
  margin: 0 auto;
  padding: 1.953125vw 1.5625vw 1.71875vw 2.34375vw;
  position: relative;
  top: -2px;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 16vw 5.6vw 3.7333333333vw;
  }
}

.l-footer .l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.l-footer .l-footer__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.l-footer .l-footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__nav-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 8vw;
  }
}

.l-footer .l-footer__nav-item:not(:last-child) {
  margin-right: 3.75vw;
}

.l-footer .l-footer__nav-item a {
  color: #0080e2;
}

@media screen and (max-width: 768px) {
  .l-footer .l-footer__nav-item {
    margin-bottom: 2.6666666667vw;
    margin-left: 4vw;
    margin-right: 4vw;
  }
  .l-footer .l-footer__nav-item:not(:last-child) {
    margin-right: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 8vw;
  }
}
.l-footer .l-footer__info-name {
  max-width: 20.9375vw;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__info-name {
    max-width: 71.4666666667vw;
  }
}

.l-footer .l-footer__info-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__info-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
    gap: 3.2vw 7.7333333333vw;
            justify-content: center;
    margin-top: 2.6666666667vw;
  }
}

.l-footer .l-footer__info-item {
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 0 1.171875vw;
  position: relative;
}

.l-footer .l-footer__info-item:first-child {
  margin-left: -0.15625vw;
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  .l-footer .l-footer__info-item {
    padding: 0;
  }
  .l-footer .l-footer__info-item:not(:last-child)::before {
    display: none;
  }
}
.l-footer .l-footer__info-item a {
  color: #fff;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.46875vw;
}

.l-footer .l-footer__info-item a::after {
  background-image: url("../img/icon_link-wh.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 0.9375vw;
  width: 0.9375vw;
}

@media screen and (max-width: 768px) {
  .l-footer .l-footer__info-item a {
    margin-right: 0;
    padding-right: 4vw;
  }
  .l-footer .l-footer__info-item a::after {
    height: 3.2vw;
    right: -1.6vw;
    width: 3.2vw;
  }
}
.l-footer .l-footer__copyright {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.7;
  margin-top: 2.65625vw;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__copyright {
    font-size: 1.2rem;
    letter-spacing: 0;
    margin-top: 8vw;
  }
}

.l-footer .l-footer__sns {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .l-footer .l-footer__sns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 8vw;
  }
}

.l-footer__btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.203125vw;
}
@media screen and (max-width: 768px) {
  .l-footer__btn-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7.7333333333vw;
  }
}

.l-footer__top {
  display: block;
  left: 50%;
  position: absolute;
  top: 0;
  width: 5.078125vw;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .l-footer__top {
    max-width: 80px;
    top: 1%;
    width: 13.8666666667vw;
  }
}

@media (any-hover: hover) {
  .l-footer__top:hover {
    opacity: 1;
  }
}
.l-header {
  padding: 3.125vw 2.734375vw 0;
  position: fixed;
  width: 100%;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .l-header {
    padding: 7.2vw 7.2vw 0;
  }
}

.l-header .l-header__logo {
  pointer-events: all;
  position: relative;
  width: 10.15625vw;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .l-header .l-header__logo {
    max-width: 130px;
    width: 17.6vw;
  }
}

.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 96.7rem;
  padding-left: 1.953125vw;
  padding-right: 1.953125vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.c-btn {
  background: #6c7cea;
  color: #fff;
  cursor: pointer;
  font-size: 1.5rem;
  max-width: 20.46875vw;
  padding: 1.1328125vw 1.953125vw;
  position: relative;
  width: 100%;
  -webkit-transition: 0.3s ease;
  border-radius: 50vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  gap: 0.9375vw;
  letter-spacing: 0.25em;
  line-height: 1;
  text-align: left;
  transition: 0.3s ease;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
          box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
}
@media screen and (max-width: 768px) {
  .c-btn {
    font-size: 1.3rem;
    gap: 1.3333333333vw;
    max-width: 500px;
    padding: min(1rem, 18px) 4vw;
  }
}

.c-btn__icon {
  display: block;
  width: 0.46875vw;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-btn__icon {
    width: min(0.7rem, 10px);
  }
}

@media (any-hover: hover) {
  .c-btn:hover {
    opacity: 0.8;
  }
  .c-btn:hover .c-btn__icon {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}
.c-modal .c-modal__overlay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(0, 0, 0, .3);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}

.c-modal .c-modal__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #E6F5FA;
  border-radius: 6px;
  max-height: 100vh;
  padding: 3.515625vw;
  width: 37.03125vw;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
  overflow-y: auto;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__container {
    padding: 9.3333333333vw;
    width: 80%;
  }
}
.c-modal .c-modal__header {
  position: relative;
  width: 100%;
}

.c-modal .c-modal__title {
  color: #666;
  font-family: "M PLUS Rounded 1c", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  width: 100%;
}

.c-modal .c-modal__close {
  background: none;
  border: none;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  cursor: pointer;
  position: absolute;
  right: -2.34375vw;
  top: -2.734375vw;
  width: 3.90625vw;
}

.c-modal .c-modal__close::before {
  color: #666;
  content: "✕";
  font-size: 2.7rem;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__close {
    right: -8vw;
    top: -9.3333333333vw;
    width: 13.3333333333vw;
  }
}
.c-modal .c-modal__content {
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__content {
    width: 100%;
  }
}
.c-modal .c-modal__bnr {
  background-color: #FFF;
  border-radius: 0.46875vw;
  width: 25.9375vw;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__bnr {
    border-radius: 1.6vw;
    width: 100%;
  }
}
.c-modal .c-modal__bnr a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 4.6875vw;
  padding: 0.78125vw;
}

.c-modal .c-modal__bnr a::after {
  background-image: url("../img/ico/ico__exl-link-blue.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 0.9375vw;
  position: absolute;
  right: 0.78125vw;
  top: 0.78125vw;
  width: 0.9375vw;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__bnr a::after {
    height: 3.2vw;
    right: 2.6666666667vw;
    top: 2.6666666667vw;
    width: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  .c-modal .c-modal__bnr a {
    height: 16vw;
    padding: 2.6666666667vw;
    width: 100%;
  }
}
.c-modal .c-modal__bnr a img {
  max-height: 100%;
  max-width: 11.25vw;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__bnr a img {
    max-width: 38.4vw;
    width: 100%;
  }
}
.c-modal .c-modal__bnr:not(:first-child) {
  margin-top: 1.5625vw;
}

@media screen and (max-width: 768px) {
  .c-modal .c-modal__bnr:not(:first-child) {
    margin-top: 5.3333333333vw;
  }
}
/* Animation */
@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .c-modal__overlay {
  -webkit-animation: mmfadeIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mmfadeIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide[aria-hidden=false] .c-modal__container {
  -webkit-animation: mmslideIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mmslideIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide[aria-hidden=true] .c-modal__overlay {
  -webkit-animation: mmfadeOut 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mmfadeOut 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide[aria-hidden=true] .c-modal__container {
  -webkit-animation: mmslideOut 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mmslideOut 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.micromodal-slide .c-modal__container,
.micromodal-slide .c-modal__overlay {
  will-change: transform;
}

.c-pagetop {
  background-color: #E6F5FA;
  border-radius: 2.734375vw 2.734375vw 0 0;
  cursor: pointer;
  display: none;
  height: 2.734375vw;
  position: absolute;
  right: 3.28125vw;
  top: -2.578125vw;
  width: 5.46875vw;
  z-index: 0;
}

.c-pagetop::after {
  content: "";
  height: 1.25vw;
  left: 50%;
  position: absolute;
  top: 1.09375vw;
  width: 1.171875vw;
  -webkit-transform: translateX(-50%);
  background-image: url("../img/ico/ico__arrow-blue.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .c-pagetop {
    left: 50%;
    right: auto;
    top: -8.8vw;
    -webkit-transform: translateX(-50%);
    border-radius: 9.3333333333vw 9.3333333333vw 0 0;
    height: 9.3333333333vw;
    transform: translateX(-50%);
    width: 18.6666666667vw;
  }
  .c-pagetop::after {
    background-image: none;
    height: 4.2666666667vw;
    top: 3.7333333333vw;
    width: 4vw;
  }
}
.c-sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-sns-list .c-sns-list__item {
  height: auto;
  width: 3.125vw;
}

.c-sns-list .c-sns-list__item:not(:last-child) {
  margin-right: 1.5625vw;
}

.c-sns-list .c-sns-list__item img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-sns-list .c-sns-list__item {
    width: 10.6666666667vw;
  }
  .c-sns-list .c-sns-list__item:not(:last-child) {
    margin-right: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .c-menu__link-box .c-bnr {
    margin-bottom: 4vw;
  }
  .c-menu__link-box .c-bnr a {
    padding: 2.1333333333vw;
  }
  .c-menu__link-box .c-bnr a::after {
    height: 2.6666666667vw;
    right: 2.1333333333vw;
    top: 2.1333333333vw;
    width: 2.6666666667vw;
  }
  .c-menu__link-box .c-bnr .c-bnr__logo {
    margin-right: 0;
  }
  .c-menu__link-box .c-bnr .c-bnr__logo.--shop {
    margin-bottom: 2.6666666667vw;
    width: 80%;
  }
  .c-menu__link-box .c-bnr .c-bnr__logo.--company {
    width: 35.2vw;
  }
  .c-menu__link-box .c-bnr a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .c-menu__link-box .c-sns-list__item {
    width: 100%;
  }
  .c-menu__link-box .c-sns-list__item:not(:last-child) {
    margin-right: 4vw;
  }
}
.c-bnr {
  background-color: #fff;
  border-radius: 0.46875vw;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-bnr {
    border-radius: 1.6vw;
    width: 100%;
  }
}
.c-bnr a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #003399;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0em;
  padding: 0.9375vw;
}

.c-bnr a::after {
  background-image: url("../img/icon_link-bl.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 0.9375vw;
  position: absolute;
  right: 0.78125vw;
  top: 0.78125vw;
  width: 0.9375vw;
}

.c-bnr a p {
  font-family: "M PLUS 1p", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .c-bnr a {
    letter-spacing: 0;
    min-height: 16.5333333333vw;
    padding: 2.6666666667vw;
    padding-left: 4.2666666667vw;
    -webkit-box-pack: normal;
        -ms-flex-pack: normal;
            justify-content: normal;
  }
  .c-bnr a::after {
    height: 3.2vw;
    right: 2.6666666667vw;
    top: 2.6666666667vw;
    width: 3.2vw;
  }
}
.c-bnr .c-bnr__logo.--shop {
  height: auto;
  margin-right: 1.25vw;
  width: 11.25vw;
}

.c-bnr .c-bnr__logo.--company {
  width: 20.9375vw;
}

@media screen and (max-width: 768px) {
  .c-bnr .c-bnr__logo.--shop {
    margin-right: 4.2666666667vw;
    width: 47%;
  }
  .c-bnr .c-bnr__logo.--company {
    width: 100%;
  }
}
.c-sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-sns-list .c-sns-list__item {
  height: auto;
  width: 3.125vw;
}

.c-sns-list .c-sns-list__item:not(:last-child) {
  margin-right: 1.5625vw;
}

@media screen and (max-width: 768px) {
  .c-sns-list .c-sns-list__item {
    width: 10.6666666667vw;
  }
  .c-sns-list .c-sns-list__item:not(:last-child) {
    margin-right: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .c-menu__link-box .c-bnr {
    margin-bottom: 4vw;
  }
  .c-menu__link-box .c-bnr a {
    padding: 2.1333333333vw;
  }
  .c-menu__link-box .c-bnr a::after {
    height: 2.6666666667vw;
    right: 2.1333333333vw;
    top: 2.1333333333vw;
    width: 2.6666666667vw;
  }
  .c-menu__link-box .c-bnr .c-bnr__logo {
    margin-right: 0;
  }
  .c-menu__link-box .c-bnr .c-bnr__logo.--shop {
    margin-bottom: 2.6666666667vw;
    width: 80%;
  }
  .c-menu__link-box .c-bnr .c-bnr__logo.--company {
    width: 35.2vw;
  }
  .c-menu__link-box .c-bnr a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .c-menu__link-box .c-sns-list__item {
    width: 100%;
  }
  .c-menu__link-box .c-sns-list__item:not(:last-child) {
    margin-right: 4vw;
  }
}
.p-about {
  padding-bottom: 7.8125vw;
  padding-top: 17.578125vw;
}
@media screen and (max-width: 768px) {
  .p-about {
    padding-bottom: 0;
    padding-top: 21.3333333333vw;
  }
}

.p-about-top-txt {
  color: #4c4949;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-about-top-txt {
    font-size: 2rem;
    letter-spacing: 0.3em;
  }
}

.p-about__ttl {
  margin: 2.5vw auto 0;
  width: 43.515625vw;
}
@media screen and (max-width: 768px) {
  .p-about__ttl {
    margin-top: 5.3333333333vw;
    width: 77.3333333333vw;
  }
}

.p-about__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11.5625vw;
  margin-left: -2.1875vw;
  margin-top: 9.296875vw;
}
@media screen and (max-width: 768px) {
  .p-about__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw;
    margin-top: 15.4666666667vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0 5.3333333333vw 0 10.6666666667vw;
    position: relative;
  }
}

.p-about__body {
  padding-top: 1.171875vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about__body {
    padding-top: 2.6666666667vw;
  }
}

.p-about__txt-box {
  padding-left: 1.5625vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about__txt-box {
    padding-left: 0;
  }
}

.p-about__txt {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.125em;
  line-height: 1.8666666667;
}
@media screen and (max-width: 768px) {
  .p-about__txt {
    font-size: 1.3rem;
    line-height: 1.5384615385;
  }
}

@media screen and (max-width: 768px) {
  .p-about__txt span {
    display: block;
    margin-top: 5.3333333333vw;
  }
}

.p-about__txt-copy {
  position: absolute;
  right: -25%;
  top: -55%;
  width: 15.15625vw;
}
@media screen and (max-width: 768px) {
  .p-about__txt-copy {
    right: -6.1333333333vw;
    top: -30%;
    width: 34.6666666667vw;
  }
}

.p-about__img {
  width: 16.5625vw;
}
@media screen and (max-width: 768px) {
  .p-about__img {
    bottom: -7.2vw;
    margin-top: 5.3333333333vw;
    max-width: 300px;
    position: absolute;
    right: 7.7333333333vw;
    width: 26.6666666667vw;
  }
}

.p-about__bottom-txt {
  color: #4c4949;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-about__bottom-txt {
    font-size: 1.6rem;
    line-height: 1.3888888889;
    margin-top: -8vw;
  }
}

.p-about__bottom-mainTxt {
  color: #4c4949;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3.4rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-top: 1.796875vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-about__bottom-mainTxt {
    font-size: 2rem;
    line-height: 1.4;
    margin-top: 3.2vw;
  }
}

.p-about__bottom-mainTxt > span {
  color: #ff8292;
}

.p-about__arrow {
  background-image: url(../img/main/line.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 7.8125vw;
  margin: -0.390625vw auto 0;
  max-width: 54.453125vw;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-about__arrow {
    height: 32vw;
    margin: -5.3333333333vw auto 0;
    max-width: unset;
    width: 79.2vw;
  }
}

.p-appeal {
  padding-bottom: 7.8125vw;
  padding-top: 9.375vw;
}
@media screen and (max-width: 768px) {
  .p-appeal {
    padding-bottom: 26.6666666667vw;
    padding-top: 24vw;
  }
}

.p-appeal__txt {
  font-size: 2.5rem;
  letter-spacing: 0.15em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-appeal__txt {
    font-size: 2rem;
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .p-appeal__txt span:nth-of-type(1) {
    padding-left: 14.1333333333vw;
  }
}

@media screen and (max-width: 768px) {
  .p-appeal__txt span:nth-of-type(2) {
    display: block;
    margin-left: 26.6666666667vw;
    margin-top: 2.6666666667vw;
  }
}

.p-appeal__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 0.859375vw;
}
@media screen and (max-width: 768px) {
  .p-appeal__list {
    gap: 1.3333333333vw;
    margin-top: 4.2666666667vw;
  }
}

.p-appeal__item {
  width: 21.25vw;
}
@media screen and (max-width: 768px) {
  .p-appeal__item {
    width: 26.6666666667vw;
  }
}

.p-appeal__item:nth-child(2) {
  margin-left: -1.171875vw;
}
@media screen and (max-width: 768px) {
  .p-appeal__item:nth-child(2) {
    margin-left: 0;
  }
}

.p-appeal__item:nth-child(3) {
  margin-left: -1.5625vw;
}
@media screen and (max-width: 768px) {
  .p-appeal__item:nth-child(3) {
    margin-left: 0;
  }
}

.p-cta {
  background-image: url(../img/main/bg-bottom.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  margin-top: -2.1875vw;
  padding-bottom: 13.4375vw;
  padding-top: 28.90625vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-cta {
    background-image: url(../img/main/bg-bottom-sp.png);
    padding-bottom: 38.6666666667vw;
    padding-top: 31.4666666667vw;
  }
}

.p-cta__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.03125vw;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-cta__wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.p-cta__movie-box {
  margin-left: 7.96875vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-cta__movie-box {
    margin-left: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
    margin-top: 5.3333333333vw;
            order: 2;
  }
}

.p-cta__movie {
  width: 100%;
  width: 26.328125vw;
}
@media screen and (max-width: 768px) {
  .p-cta__movie {
    width: 54.1333333333vw;
  }
}

.p-cta__movie > video {
  aspect-ratio: 337/600;
  height: auto;
  width: 26.328125vw;
}
@media screen and (max-width: 768px) {
  .p-cta__movie > video {
    aspect-ratio: 203/360;
    width: 54.1333333333vw;
  }
}

.p-cta__product {
  aspect-ratio: 158/158;
  bottom: 8%;
  left: -38%;
  position: absolute;
  width: 12.1875vw;
  z-index: -1;
  -webkit-transform: translateX(100%) rotate(35deg);
  opacity: 0;
          transform: translateX(100%) rotate(35deg);
  will-change: transform, opacity;
}
@media screen and (max-width: 768px) {
  .p-cta__product {
    bottom: 6%;
    left: -39%;
    width: 26.6666666667vw;
  }
}

@media screen and (max-width: 768px) {
  .p-cta__txt-area {
    display: contents;
  }
}

.p-cta__ttl {
  color: #6c7cea;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-cta__ttl {
    display: inline-block;
    font-size: 2rem;
    margin-top: 2.6666666667vw;
    padding-bottom: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
    letter-spacing: 0.01em;
            order: 1;
    text-align: center;
  }
}

.p-cta__ttl > span:first-child {
  display: inline-block;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-cta__ttl > span:first-child {
    font-size: 1.6rem;
  }
}

.p-cta__ttl > span:last-child {
  display: inline-block;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .p-cta__ttl > span:last-child {
    font-size: 1.2rem;
  }
}

@media (any-hover: hover) {
  .p-cta__ttl:hover {
    opacity: 0.7;
  }
}
.p-cta__ttl-sub {
  color: #666464;
  display: block;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .p-cta__ttl-sub {
    font-size: 1.2rem;
  }
}

.p-cta__txt-box {
  margin-top: 6.25vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-cta__txt-box {
    margin-top: 17.0666666667vw;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.p-cta__txt {
  display: block;
  width: 26.171875vw;
}
@media screen and (max-width: 768px) {
  .p-cta__txt {
    max-width: 450px;
    width: 100%;
    width: 57.8666666667vw;
  }
}

.p-cta__sub-txt {
  left: 45%;
  position: absolute;
  top: -30%;
  width: 11.09375vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-cta__sub-txt {
    left: 48%;
    right: 50%;
    top: -5.3333333333vw;
    width: 33.6vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.p-feature {
  padding: 21.875vw 0 0;
}
@media screen and (max-width: 768px) {
  .p-feature {
    padding: 40.8vw 0 0;
  }
}

.p-feature__txt-area {
  padding-left: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .p-feature__txt-area {
    padding-left: 13.8666666667vw;
  }
}

.p-feature__txt {
  border-bottom: 2px solid;
  color: #646464;
  display: inline-block;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 2;
  -o-border-image: linear-gradient(to right, #fff, #6e6e6e 71.5835%, #fff) 1;
     border-image: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(71.5835%, #6e6e6e), to(#fff)) 1;
     border-image: linear-gradient(to right, #fff, #6e6e6e 71.5835%, #fff) 1;
}
@media screen and (max-width: 768px) {
  .p-feature__txt {
    font-size: 1.3rem;
    -o-border-image: linear-gradient(to right, #fff, #4c4949 71.5835%, #fff) 1;
       border-image: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(71.5835%, #4c4949), to(#fff)) 1;
       border-image: linear-gradient(to right, #fff, #4c4949 71.5835%, #fff) 1;
  }
}

.p-feature__txt-box:nth-of-type(2) {
  margin-top: 0.859375vw;
}
@media screen and (max-width: 768px) {
  .p-feature__txt-box:nth-of-type(2) {
    margin-top: 0;
  }
}

.p-feature__txt-box:nth-of-type(2) .p-feature__txt {
  letter-spacing: 0.11em;
}
@media screen and (max-width: 768px) {
  .p-feature__txt-box:nth-of-type(2) .p-feature__txt {
    letter-spacing: 0.12em;
  }
}

.p-feature__txtcopy {
  margin-top: 2.1875vw;
  width: 33.515625vw;
}
@media screen and (max-width: 768px) {
  .p-feature__txtcopy {
    margin-top: 2.6666666667vw;
    width: 44.2666666667vw;
  }
}

.p-feature__logo {
  margin-left: auto;
  margin-top: 4.453125vw;
  width: 17.96875vw;
}
@media screen and (max-width: 768px) {
  .p-feature__logo {
    margin-right: 14.9333333333vw;
    margin-top: 5.3333333333vw;
    width: 16.8vw;
  }
}

.p-feature__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.21875vw;
  margin: 22.1875vw auto 0;
  max-width: 78.125vw;
  padding: 0 1.5625vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-feature__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin: 26.6666666667vw auto 0;
    padding: 0;
  }
}

.p-feature__img {
  width: 40.78125vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-feature__img {
    max-width: 400px;
    width: 64vw;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
    margin-top: 5.3333333333vw;
            order: 3;
  }
}

.p-feature__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 6.5625vw;
  width: 27.109375vw;
}
@media screen and (max-width: 768px) {
  .p-feature__body {
    display: contents;
  }
}

@media screen and (max-width: 768px) {
  .p-feature__body-head-box {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
    margin-top: 5.3333333333vw;
            order: 1;
  }
}

.p-feature__body-head {
  color: #6c7cea;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-feature__body-head {
    font-size: 1.5rem;
    text-align: center;
  }
}

.p-feature__body-head > span {
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: -0.015em;
  line-height: 1;
  margin-left: -0.625vw;
}
@media screen and (max-width: 768px) {
  .p-feature__body-head > span {
    font-size: min(1rem, 15px);
    margin-left: 0;
  }
}

.p-feature__body-name {
  color: #6c7cea;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 5rem;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
  margin-top: 0.78125vw;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-feature__body-name {
    font-size: min(2.9rem, 60px);
  }
}

@media screen and (max-width: 768px) {
  .p-feature__body-txt-box {
    display: contents;
  }
}

.p-feature__body-taste {
  margin-top: 1.953125vw;
  width: 25.46875vw;
}
@media screen and (max-width: 768px) {
  .p-feature__body-taste {
    margin-top: 2.6666666667vw;
    max-width: 300px;
    width: 43.4666666667vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.p-feature__list {
  margin-top: 1.953125vw;
}
@media screen and (max-width: 768px) {
  .p-feature__list {
    margin-top: 5.8666666667vw;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            order: 4;
    width: 64vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 2.1333333333vw;
  }
}

.p-feature__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 0.78125vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25vw;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-feature__item {
    gap: 2.6666666667vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-size: 1.3rem;
    line-height: 1.5;
  }
}
.p-feature__item::before {
  background-image: url(../img/main/icon_mark.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 2.03125vw;
  width: 100%;
  width: 2.03125vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-feature__item::before {
    height: 1.6rem;
    width: 1.6rem;
  }
}

.p-feature__item + .p-feature__item {
  margin-top: 1.171875vw;
}
@media screen and (max-width: 768px) {
  .p-feature__item + .p-feature__item {
    margin-top: 3.2vw;
  }
}

.p-feature__point-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.515625vw;
  margin-left: 0.78125vw;
  margin-top: 2.734375vw;
}
@media screen and (max-width: 768px) {
  .p-feature__point-list {
    gap: 5.3333333333vw;
    margin-left: 0;
    margin-top: 8vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
}

.p-feature__point-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-feature__point-icon {
  width: 4.296875vw;
}
@media screen and (max-width: 768px) {
  .p-feature__point-icon {
    width: 10.6666666667vw;
  }
}

.p-feature__point-name {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.015em;
  line-height: 1;
  margin-top: 1.40625vw;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-feature__point-name {
    font-size: 1.3rem;
    margin-top: 2.6666666667vw;
  }
}

.p-feature__point-item:nth-of-type(2) .p-feature__point-name {
  letter-spacing: -0.09em;
}

.p-introduction {
  padding-bottom: 3.90625vw;
  padding-top: 3.90625vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-introduction {
    padding-top: 6.1333333333vw;
  }
}

.p-introduction__inner {
  max-width: 72.65625vw;
}
@media screen and (max-width: 768px) {
  .p-introduction__inner {
    max-width: unset;
  }
}

.p-introduction__ttl {
  font-size: 6rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .p-introduction__ttl {
    font-size: 2.9rem;
    text-align: center;
  }
}

.p-introduction__ttl-top {
  display: block;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-introduction__ttl-top {
    font-size: 1.8rem;
    text-align: center;
  }
}

.p-introduction__heading {
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  margin-top: 0.625vw;
}
@media screen and (max-width: 768px) {
  .p-introduction__heading {
    font-size: 1.8rem;
    position: relative;
    text-align: center;
    z-index: 1;
  }
}

.p-introduction_wrapper {
  margin-top: 4.296875vw;
  position: relative;
  z-index: 10;
}

.p-introduction__list {
  margin-left: 0.5em;
}
@media screen and (max-width: 768px) {
  .p-introduction__list {
    margin: 0 auto;
    width: 68vw;
  }
}

.p-introduction__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-introduction__item {
    font-size: 1.3rem;
    white-space: nowrap;
  }
}

.p-introduction__item::before {
  background-image: url(../img/icon_check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 1.640625vw;
  margin-right: 1.796875vw;
  margin-top: 0.390625vw;
  width: 1.640625vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-introduction__item::before {
    height: 3.2vw;
    margin-right: 3.2vw;
    margin-top: 0.5333333333vw;
    width: 3.7333333333vw;
  }
}

.p-introduction__item + .p-introduction__item {
  margin-top: 1.328125vw;
}
@media screen and (max-width: 768px) {
  .p-introduction__item + .p-introduction__item {
    margin-top: 2.1333333333vw;
  }
}

sup {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  sup {
    font-size: 1rem;
  }
}

.p-introduction__item-box-txt {
  font-size: 1.4rem;
  letter-spacing: 0.07em;
  margin-top: 0.3125vw;
}
@media screen and (max-width: 768px) {
  .p-introduction__item-box-txt {
    font-size: 1rem;
  }
}

.p-introduction__img {
  bottom: 0%;
  position: absolute;
  right: 0.8%;
  width: 47.578125vw;
}

.p-introduction__bg {
  height: 100%;
  position: absolute;
  right: -3.8%;
  top: 11%;
  width: 67.5vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-introduction__bg {
    height: auto;
    position: static;
    width: 100%;
  }
}

.p-introduction__btn-wrapper {
  background-image: url(../img/intro_obi.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 10.859375vw;
  left: -29%;
  margin-top: 6.71875vw;
  padding: 0 2.34375vw;
  position: relative;
  width: 122.96875vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-introduction__btn-wrapper {
    background-image: none;
    left: unset;
    margin-top: 0;
    padding: 0;
    width: 100%;
  }
}

.p-introduction__btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  left: 36%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  gap: 1.71875vw;
          transform: translateY(-50%);
  width: 100%;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .p-introduction__btn-box {
    gap: 2.6666666667vw;
    left: 0%;
    position: static;
    -webkit-transform: unset;
            transform: unset;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 8.5333333333vw;
  }
}

.p-introduction__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  color: #636363;
  min-height: 5.625vw;
  padding-left: 15px;
  width: 100%;
  width: 100%;
  width: 17.8125vw;
}
@media screen and (max-width: 768px) {
  .p-introduction__link {
    gap: 1.3333333333vw;
    padding: 2vw 1.8666666667vw;
    padding-left: 2.6666666667vw;
    width: 34.1333333333vw;
  }
}

@media (any-hover: hover) {
  .p-introduction__link:hover {
    background-color: #636363;
    color: #fff;
  }
  .p-introduction__link:hover .p-introduction__icon svg path {
    fill: #fff;
  }
}
.p-introduction__txt-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.78125vw;
}

.p-introduction__txt-top {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-introduction__txt-top {
    font-size: 1.3rem;
    letter-spacing: -0.03em;
  }
}

.p-introduction__txt-bottom {
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: -0.08em;
  line-height: 1;
  margin-top: -0.78125vw;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-introduction__txt-bottom {
    font-size: 1.8rem;
    letter-spacing: -0.03em;
    margin-top: -0.8vw;
  }
}

.p-introduction__icon {
  width: 2.96875vw;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-introduction__icon {
    width: 4.8vw;
  }
}

.p-introduction__icon svg {
  height: 100%;
  width: 100%;
}

.p-introduction__bg-wrapper {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-introduction__bg-wrapper {
    background-image: url(../img/intro_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vw;
    margin: -5.3333333333vw auto 0;
    position: relative;
    width: 100%;
  }
}

.p-introduction__bg-sp {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-introduction__bg-sp::before {
    background-image: url(../img/intro_obi.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: -10.4%;
    content: "";
    display: block;
    height: 17.0666666667vw;
    left: -9%;
    position: absolute;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .p-introduction__img-sp {
    height: 88.5333333333vw;
    margin: 0 auto;
    position: relative;
    top: 8vw;
    width: 88.5333333333vw;
  }
}

.p-lineup {
  padding-bottom: 7.8125vw;
  position: relative;
  top: -3.90625vw;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .p-lineup {
    top: -8.5333333333vw;
  }
}

.p-lineup__ttl {
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lineup__ttl {
    font-size: 1.5rem;
  }
}

.p-lineup__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4.53125vw;
}
@media screen and (max-width: 768px) {
  .p-lineup__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 17.6vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 16vw;
  }
}

.p-lineup__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 45%;
}
@media screen and (max-width: 768px) {
  .p-lineup__item {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-lineup__product {
  margin: 0 auto;
  margin-left: 7.421875vw;
  width: 19.375vw;
}
@media screen and (max-width: 768px) {
  .p-lineup__product {
    margin-left: auto;
    max-width: 300px;
    width: 37.0666666667vw;
  }
}

.p-lineup__item:nth-of-type(2) .p-lineup__product {
  margin: 0 auto;
  margin-left: 7.8125vw;
  width: 17.5vw;
}
@media screen and (max-width: 768px) {
  .p-lineup__item:nth-of-type(2) .p-lineup__product {
    margin-left: auto;
    max-width: 300px;
    width: 32vw;
  }
}

.p-lineup__txt {
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 1.5625vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lineup__txt {
    font-size: 1.5rem;
    margin-top: 4.2666666667vw;
  }
}

.p-lineup__item:nth-of-type(2) .p-lineup__txt {
  margin-top: 0;
}

.p-lineup__btn {
  margin-top: 3.359375vw;
  min-width: 20.46875vw;
}
@media screen and (max-width: 768px) {
  .p-lineup__btn {
    margin-top: 6.6666666667vw;
    min-width: 52.2666666667vw;
  }
}

.p-mechanism {
  padding-bottom: 6.25vw;
  padding-top: 10.703125vw;
}
@media screen and (max-width: 768px) {
  .p-mechanism {
    background-color: #fff;
    overflow: hidden;
    padding-bottom: 7.4666666667vw;
    padding-top: 0;
  }
}

.p-mechanism__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-mechanism__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    padding-top: 10.6666666667vw;
    width: 81.0666666667vw;
  }
}

.p-mechanism__wrapper::before {
  background-image: url(../img/main/bg-sec01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 32.109375vw;
  position: absolute;
  right: 6.4%;
  top: -22%;
  width: 52.109375vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-mechanism__wrapper::before {
    background-image: url(../img/main/bg-sec01-sp.png);
    height: 202.6666666667vw;
    right: 0;
    width: 100%;
  }
}

.p-mechanism__txt-area {
  margin-left: -1.171875vw;
  width: 23.046875vw;
}
@media screen and (max-width: 768px) {
  .p-mechanism__txt-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-mechanism__ttl {
  border-bottom: solid 2px #6c7cea;
  color: #6c7cea;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  padding-bottom: 1.484375vw;
}
@media screen and (max-width: 768px) {
  .p-mechanism__ttl {
    display: inline-block;
    font-size: 2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 5.3333333333vw;
    padding-bottom: 4vw;
    position: relative;
    text-align: center;
  }
}

.p-mechanism__top-txt {
  border: solid 2px #636363;
  font-size: 2rem;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 1.953125vw;
  padding: 0.78125vw 0.390625vw;
  text-align: center;
  width: 23.046875vw;
}
@media screen and (max-width: 768px) {
  .p-mechanism__top-txt {
    border: solid 1px #636363;
    font-size: min(1.5rem, 28px);
    margin-top: 4vw;
    max-width: 450px;
    padding: 2.1333333333vw 1.3333333333vw;
    width: 64vw;
  }
}

.p-mechanism__txt {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  line-height: 1.8666666667;
  margin-left: 0.9375vw;
  margin-top: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .p-mechanism__txt {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-left: 13.8666666667vw;
    margin-right: auto;
    margin-top: 1.3333333333vw;
  }
}

.p-mechanism__bottom-txt {
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 1.8666666667;
  margin-left: 1.5625vw;
  margin-top: 0.625vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-mechanism__bottom-txt {
    font-size: 1.5rem;
    margin-left: 13.8666666667vw;
    margin-right: auto;
    margin-top: 0vw;
  }
}

.p-mechanism__bottom-txt::after {
  background: #fff362;
  bottom: 16%;
  content: "";
  display: block;
  height: 0.9375vw;
  left: -0.390625vw;
  padding: 0 0.78125vw;
  position: absolute;
  width: 13.4375vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-mechanism__bottom-txt::after {
    height: 2.6666666667vw;
    max-width: 185px;
    width: 34.1333333333vw;
  }
}

.p-mechanism__img {
  margin-left: 6.484375vw;
  margin-top: -0.78125vw;
  width: 28.28125vw;
}
@media screen and (max-width: 768px) {
  .p-mechanism__img {
    margin-left: 7.2vw;
    margin-top: 0;
    max-width: 500px;
    width: 56.8vw;
  }
}

.p-mv {
  background-image: url(../img/main/mv_bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 73.828125vw;
  position: relative;
  width: 100%;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-mv {
    background-image: url(../img/main/mv_bg-sp.png);
    height: 133.3333333333vw;
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  .p-mv::after {
    background-color: rgba(255, 255, 255, .15);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
  }
}

.p-mv__main-txt {
  left: 40.8%;
  position: absolute;
  top: 12.6%;
  width: 48.4375vw;
  -webkit-filter: none !important;
          filter: none !important;
  will-change: opacity, transform;
}
@media screen and (max-width: 768px) {
  .p-mv__main-txt {
    left: 38%;
    top: 20%;
    width: 62.4vw;
  }
}

.p-mv__txt {
  aspect-ratio: 620/417;
  position: relative;
  width: 100%;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media screen and (max-width: 768px) {
  .p-mv__txt {
    aspect-ratio: 234/241;
  }
}

.p-mv__img {
  display: block;
  inset: 0;
  position: absolute;
  z-index: 1;
}

.p-mv__img img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
  display: block;
     object-fit: contain;
}

.p-mv__img--blur img {
  --b: 5px;
  -webkit-filter: blur(var(--b));
          filter: blur(var(--b));
  opacity: 0;
  will-change: filter, opacity;
}

.p-type {
  padding-bottom: 6.25vw;
  padding-top: 14.453125vw;
}
@media screen and (max-width: 768px) {
  .p-type {
    overflow: hidden;
    padding-bottom: 24vw;
    padding-top: 0;
  }
}

.p-type__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-type__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    padding-top: 10.6666666667vw;
    width: 81.0666666667vw;
  }
}

.p-type__wrapper::before {
  aspect-ratio: 667/411;
  background-image: url(../img/main/bg-sec02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 32.109375vw;
  position: absolute;
  right: 6.4%;
  top: -22%;
  width: 52.109375vw;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-type__wrapper::before {
    background-image: url(../img/main/bg-sec02-sp.png);
    height: 180.8vw;
    right: -9.3333333333vw;
    right: 0;
    width: 100%;
  }
}

.p-type__txt-area {
  margin-left: 5.859375vw;
  margin-top: 3.4375vw;
  width: 22.1875vw;
}
@media screen and (max-width: 768px) {
  .p-type__txt-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    margin-top: 5.3333333333vw;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-type__ttl {
  color: #6c7cea;
  font-family: "Shippori Mincho B1", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, serif;
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  padding-bottom: 1.5625vw;
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-type__ttl {
    display: inline-block;
    font-size: 2rem;
    margin-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
    white-space: normal;
  }
}

.p-type__ttl::before {
  background: #6c7cea;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  width: 104%;
}
@media screen and (max-width: 768px) {
  .p-type__ttl::before {
    left: 50%;
    width: 63.4666666667vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.p-type__txt {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  line-height: 1.8666666667;
  margin-left: 0.9375vw;
  margin-top: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-type__txt {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-left: 3.2vw;
    margin-top: 3.2vw;
  }
}

.p-type__img {
  margin-left: 4.609375vw;
  width: 30.15625vw;
}
@media screen and (max-width: 768px) {
  .p-type__img {
    margin-left: 0;
    margin-top: 5.3333333333vw;
    max-width: 500px;
    width: 100%;
    width: 55.4666666667vw;
  }
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp {
    display: block;
  }
}
/*# sourceMappingURL=common.css.map */