@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  position: relative;
}

html {
  overscroll-behavior: none;
  background-color: white;
  font-size: calc(100vw / 375 * 100);
  scroll-behavior: smooth !important;
  scroll-padding-top: 120px !important;
}
@media screen and (min-width: 768px) {
  html {
    font-size: min(calc(100vw / 1456 * 100), 100px);
    scroll-padding-top: 50px;
  }
}

strong {
  font-weight: 700;
}

a {
  transition: 0.3s;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  opacity: 0.8;
}

img {
  display: inline-block;
}

ul {
  list-style: none;
}

body {
  font-weight: 500;
  color: #1F223B;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 150%;
  letter-spacing: 0;
  position: relative;
  will-change: top;
  -webkit-text-size-adjust: none;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 0.16rem;
  }
}
body * {
  box-sizing: border-box;
  -o-object-fit: cover;
     object-fit: cover;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  max-width: 100%;
  font-weight: inherit;
  color: inherit;
}

section {
  position: relative;
}

::-moz-selection {
  background: rgba(50, 41, 218, 0.7);
  color: #ffffff;
}

::selection {
  background: rgba(50, 41, 218, 0.7);
  color: #ffffff;
}

::-moz-selection {
  background: rgba(50, 41, 218, 0.7);
  color: #ffffff;
}

picture {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
picture img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

[data-template="index.php"] .p-header__space {
  display: none;
}

#fv {
  width: 100%;
  height: 7.2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #fv {
    height: 7.68rem;
  }
}
#fv .l-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#fv .l-news {
  position: absolute;
  z-index: 2;
  bottom: 0.19rem;
  width: 3.35rem;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.6);
  padding: 0.14rem 0.16rem;
  border-radius: 0.04rem;
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #fv .l-news {
    padding: 0.2rem;
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: row;
    align-items: center;
    gap: 0.12rem;
    transform: unset;
    bottom: 0.3rem;
    left: 0.4rem;
  }
}
#fv .l-news__info {
  display: flex;
  align-items: center;
  gap: 0.12rem;
}
#fv .l-news__date {
  font-family: "Inter", serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#fv .l-news__category {
  color: #3229DA;
  font-family: "Syne", serif;
  font-size: 0.1rem;
  line-height: 0.1rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.51rem;
  height: 0.18rem;
  border-radius: 1rem;
  background-color: #E2ECFF;
  font-style: normal;
}
#fv .l-news__title {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 500;
}
#fv .l-scroll {
  display: none;
}
@media screen and (min-width: 768px) {
  #fv .l-scroll {
    position: absolute;
    bottom: -0.22rem;
    left: 0.39rem;
    transform: translateY(100%);
    display: flex;
    align-items: center;
    font-family: "Unbounded", serif;
    font-size: 0.12rem;
    line-height: 0.12rem;
    letter-spacing: 0em;
    font-weight: 500;
    gap: 0.16rem;
  }
}
#fv .l-scroll i {
  width: 0.26rem;
  height: 0.26rem;
  background-color: #3229DA;
  border-radius: 0.02rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#fv .l-scroll i::after {
  content: "";
  width: 0.12rem;
  height: 0.06rem;
  display: block;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}

#top-company {
  padding-top: 0.4rem;
  padding-bottom: 0.94rem;
}
@media screen and (min-width: 768px) {
  #top-company {
    padding-top: 0.8rem;
    padding-bottom: 2.93rem;
  }
}
#top-company .c-heading--vert {
  padding-top: 0.2rem;
  width: 100%;
  border-top: 0.01rem solid rgba(31, 34, 59, 0.3);
  margin-bottom: 0.48rem;
}
@media screen and (min-width: 768px) {
  #top-company .c-heading--vert {
    margin-bottom: 1rem;
  }
}
#top-company .c-heading--vert strong {
  color: #3229DA;
}
#top-company .l-container {
  position: relative;
}
#top-company .l-container .l-catch {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.24rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.24rem;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-catch {
    font-size: 0.48rem;
    line-height: 0.72rem;
    margin-bottom: 0.48rem;
  }
}
#top-company .l-container .l-catch b {
  color: #3229DA;
}
#top-company .l-container .l-gallery {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-gallery {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5.6rem;
    gap: 0.16rem;
  }
}
#top-company .l-container .l-gallery picture {
  display: block;
}
#top-company .l-container .l-gallery picture:nth-of-type(1) {
  width: 3rem;
  height: 1.52rem;
  position: relative;
  left: -0.2rem;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-gallery picture:nth-of-type(1) {
    width: 4.6rem;
    height: 2.4rem;
    position: initial;
    left: unset;
  }
}
#top-company .l-container .l-gallery picture:nth-of-type(1) img {
  border-radius: 0 0.1rem 0.1rem 0;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-gallery picture:nth-of-type(1) img {
    border-radius: 0.1rem;
  }
}
#top-company .l-container .l-gallery picture:nth-of-type(2) {
  width: 2.96rem;
  height: 2rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-gallery picture:nth-of-type(2) {
    width: 4.6rem;
    height: 3.11rem;
  }
}
#top-company .l-container .l-gallery picture:nth-of-type(2) img {
  border-radius: 0.1rem;
}
#top-company .l-container .l-gallery picture:nth-of-type(3) {
  width: 3rem;
  height: 1.52rem;
  position: relative;
  left: -0.2rem;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-gallery picture:nth-of-type(3) {
    width: 4.6rem;
    height: 2.4rem;
    position: initial;
    left: unset;
  }
}
#top-company .l-container .l-gallery picture:nth-of-type(3) img {
  border-radius: 0 0.1rem 0.1rem 0;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-gallery picture:nth-of-type(3) img {
    border-radius: 0.1rem;
  }
}
#top-company .l-container .l-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-top: 0.24rem;
  margin-bottom: 0.49rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #top-company .l-container .l-desc {
    font-size: 0.18rem;
    line-height: 0.42rem;
    margin-top: unset;
    margin-bottom: 0.48rem;
    width: 6.24rem;
  }
}

#top-service {
  padding-bottom: 1.37rem;
}
@media screen and (min-width: 768px) {
  #top-service {
    padding-bottom: 1.4rem;
  }
}
#top-service .c-heading--vert {
  padding-top: 0.2rem;
  width: 100%;
  border-top: 0.01rem solid rgba(31, 34, 59, 0.3);
  margin-bottom: 0.48rem;
}
@media screen and (min-width: 768px) {
  #top-service .c-heading--vert {
    margin-bottom: 1rem;
  }
}
#top-service .c-heading--vert strong {
  color: #3229DA;
}
#top-service .l-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-service .l-container {
    gap: 1rem;
  }
}
#top-service .l-container .l-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-wrapper {
    flex-direction: row;
    gap: 0.56rem;
  }
}
#top-service .l-container .l-image {
  width: 3.35rem;
  height: 2.39rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-image {
    width: 5.6rem;
    height: 4rem;
    flex: none;
  }
}
#top-service .l-container .l-image img {
  border-radius: 0.1rem;
}
#top-service .l-container .l-text {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-text {
    flex-grow: 1;
    gap: 0.32rem;
  }
}
#top-service .l-container .l-text .l-heading {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-text .l-heading {
    gap: 0.16rem;
  }
}
#top-service .l-container .l-text .l-heading span {
  color: #3229DA;
  font-family: "Syne", serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-text .l-heading span {
    font-size: 0.16rem;
    line-height: 0.16rem;
  }
}
#top-service .l-container .l-text .l-heading strong {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.24rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-text .l-heading strong {
    font-size: 0.4rem;
    line-height: 0.6rem;
  }
}
#top-service .l-container .l-text .l-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #top-service .l-container .l-text .l-desc {
    font-size: 0.18rem;
    line-height: 0.36rem;
  }
}

#products-bg {
  width: 100%;
  background-color: #3229DA;
  border-radius: 0.3rem 0.3rem 0 0;
  overflow: hidden;
  padding-top: 0.8rem;
  padding-bottom: 2.26rem;
  margin-bottom: -0.3rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #products-bg {
    border-radius: 0.5rem 0.5rem 0 0;
    padding-top: 1.6rem;
    padding-bottom: 4.5rem;
    width: 14.4rem;
    margin: auto;
    margin-bottom: -0.5rem;
  }
}
#products-bg::before {
  content: "";
  width: 2.5rem;
  height: 2.46rem;
  background-image: url("../img/top/logo.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0.39rem;
  right: -0.5rem;
  opacity: 0.05;
  filter: brightness(0) invert(1);
}
@media screen and (min-width: 768px) {
  #products-bg::before {
    width: 7.22rem;
    height: 7.22rem;
    top: 0.66rem;
    right: -1.63rem;
  }
}
#products-bg > * {
  position: relative;
  z-index: 2;
}
#products-bg .l-marquee {
  width: 100%;
  height: 1rem;
  position: absolute;
  bottom: 0.96rem;
  left: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #products-bg .l-marquee {
    height: 2.2rem;
    bottom: 1.5rem;
  }
}
#products-bg .l-marquee__wrapper {
  width: 17.36rem;
  max-width: unset;
  height: 100%;
  background-image: url("../img/top/marquee.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  animation-name: marquee;
  animation-timing-function: linear;
  animation-duration: 20s;
  animation-iteration-count: infinite;
}
@media screen and (min-width: 768px) {
  #products-bg .l-marquee__wrapper {
    width: 38.18rem;
    height: 100%;
  }
}

@keyframes marquee {
  0% {
    left: 100%;
    transform: translate(0);
  }
  100% {
    left: 0;
    transform: translate(-100%);
  }
}
#top-products {
  color: white;
  position: relative;
}
#top-products .c-heading--vert {
  padding-top: 0.2rem;
  width: 100%;
  border-top: 0.01rem solid rgba(255, 255, 255, 0.3);
  margin-bottom: 0.48rem;
}
@media screen and (min-width: 768px) {
  #top-products .c-heading--vert {
    margin-bottom: 0.6rem;
  }
}
#top-products .l-top {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-start;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #top-products .l-top {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 1rem;
  }
}
#top-products .l-top .l-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #top-products .l-top .l-desc {
    font-size: 0.18rem;
    line-height: 0.36rem;
    width: 6.2rem;
  }
}
#top-products .l-products {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-products .l-products {
    flex-direction: row;
    gap: 0.6rem 0.35rem;
    flex-wrap: wrap;
  }
}
#top-products .l-products__wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-products .l-products__wrapper {
    width: 3.9rem;
    gap: 0.32rem;
  }
}
#top-products .l-products__image {
  width: 3.35rem;
  height: 2rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #top-products .l-products__image {
    width: 3.9rem;
    height: 3rem;
  }
}
#top-products .l-products__image img {
  border-radius: 0.04rem;
}
#top-products .l-products__content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-products .l-products__content {
    gap: 0.28rem;
  }
}
#top-products .l-products__name {
  display: flex;
  flex-direction: column;
  gap: 0.06rem;
  align-items: flex-start;
  padding-left: 0.16rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top-products .l-products__name {
    padding-left: 0.2rem;
  }
}
#top-products .l-products__name::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.02rem;
  width: 0.015rem;
  height: calc(100% - 0.1rem);
  background-color: #BDBDF9;
}
#top-products .l-products__name strong {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.28rem;
  line-height: 0.42rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top-products .l-products__name strong {
    font-size: 0.32rem;
    line-height: 0.48rem;
  }
}
#top-products .l-products__name span {
  color: #72EBDA;
  font-family: "Syne", serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #top-products .l-products__name span {
    font-size: 0.16rem;
    line-height: 0.16rem;
  }
}
#top-products .l-products__desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
}
@media screen and (min-width: 768px) {
  #top-products .l-products__desc {
    font-size: 0.16rem;
    line-height: 0.32rem;
  }
}
#top-products .l-order {
  width: 100%;
  height: 5.2rem;
  border-radius: 0.1rem;
  background-image: url("../img/top/bg_order_sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0.4rem 0.3rem;
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  #top-products .l-order {
    height: 3.56rem;
    background-image: url("../img/top/bg_order_pc.webp");
    padding: 0.6rem 0.8rem;
    margin-top: 1.2rem;
  }
}
#top-products .l-order__heading {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #top-products .l-order__heading {
    gap: 0.05rem;
  }
}
#top-products .l-order__heading span {
  font-family: "Syne", serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #A6C4FF;
}
@media screen and (min-width: 768px) {
  #top-products .l-order__heading span {
    font-size: 0.16rem;
    line-height: 0.16rem;
  }
}
#top-products .l-order__heading strong {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.24rem;
  line-height: 0.48rem;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #top-products .l-order__heading strong {
    font-size: 0.36rem;
    line-height: 0.72rem;
  }
}
#top-products .l-order__desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
  display: block;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 0.12rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #top-products .l-order__desc {
    font-size: 0.16rem;
    line-height: 0.32rem;
    margin-top: 0.12rem;
    margin-bottom: 0.4rem;
  }
}

#company-top {
  padding-top: 0.6rem;
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #company-top {
    padding-top: 1.12rem;
    padding-bottom: 1.6rem;
  }
}
#company-top .c-heading--page {
  margin-bottom: 0.44rem;
}
@media screen and (min-width: 768px) {
  #company-top .c-heading--page {
    margin-bottom: 0.8rem;
  }
}
#company-top .l-image {
  max-width: unset;
  display: block;
  width: 3.55rem;
  border-radius: 0.1rem 0 0 0.1rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  #company-top .l-image {
    width: 93.0555555556vw;
    height: 4.2rem;
  }
}

#company-philosophy {
  padding-top: 0.2rem;
  padding-bottom: 0.72rem;
  border-top: 0.01rem solid rgba(31, 34, 59, 0.3);
}
@media screen and (min-width: 768px) {
  #company-philosophy {
    padding-bottom: 1.6rem;
  }
}
#company-philosophy .c-heading--vert {
  margin-bottom: 0.48rem;
}
@media screen and (min-width: 768px) {
  #company-philosophy .c-heading--vert {
    margin-bottom: unset;
  }
}
#company-philosophy .c-heading--vert strong {
  color: #3229DA;
}
#company-philosophy .l-container {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-container {
    gap: 0.41rem;
    position: relative;
    width: 100%;
  }
}
#company-philosophy .l-container .l-catch {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.24rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-container .l-catch {
    padding-top: 1rem;
    font-size: 0.4rem;
    line-height: 0.6rem;
    width: 6.82rem;
  }
}
#company-philosophy .l-container .l-catch b {
  color: #3229DA;
}
#company-philosophy .l-container .l-image {
  width: 100%;
  margin: 0.32rem auto 0.21rem;
  width: 3rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-container .l-image {
    width: 4.6rem;
    position: absolute;
    bottom: 0;
    right: 0;
    margin-top: unset;
    margin-bottom: 0.08rem;
  }
}
#company-philosophy .l-container .l-image img {
  border-radius: 0.1rem;
}
#company-philosophy .l-message {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-message {
    width: 6.7rem;
  }
}
#company-philosophy .l-message h3 {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.2rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-message h3 {
    font-size: 0.26rem;
    line-height: 0.4rem;
  }
}
#company-philosophy .l-message span {
  font-family: "Syne", serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 400;
  font-family: "Barlow Condensed", sans-serif;
  color: #14578B;
  padding-left: 0.02rem;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-message span {
    font-size: 0.18rem;
    line-height: 0.3rem;
  }
}
#company-philosophy .l-message div {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.11rem;
  margin-top: 0.16rem;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-message div {
    margin-top: 0.15rem;
    gap: 0.24rem;
  }
}
#company-philosophy .l-message div i {
  font-style: normal;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.12rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-message div i {
    font-size: 0.16rem;
    line-height: 0.25rem;
  }
}
#company-philosophy .l-message div strong {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.19rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #company-philosophy .l-message div strong {
    font-size: 0.24rem;
    line-height: 0.38rem;
  }
}

#history-bg {
  width: 100%;
  background-color: #3229DA;
  border-radius: 0.3rem 0.3rem 0 0;
  overflow: hidden;
  padding-top: 0.8rem;
  padding-bottom: 1.12rem;
  margin-bottom: -0.3rem;
  background-image: url("../img/company/bg_history_sp.webp");
  background-size: 3.75rem 5.74rem;
  background-repeat: no-repeat;
  background-position: top;
}
@media screen and (min-width: 768px) {
  #history-bg {
    width: 14.4rem;
    margin: auto;
    border-radius: 0.5rem 0.5rem 0 0;
    padding-bottom: 2.1rem;
    background-image: url("../img/company/bg_history_pc.webp");
    background-size: 14.4rem 10.35rem;
  }
}

#company-history {
  color: white;
  padding-top: 0.2rem;
  border-top: 0.01rem solid rgba(255, 255, 255, 0.3);
}
#company-history .c-heading--vert {
  margin-bottom: 0.48rem;
}
@media screen and (min-width: 768px) {
  #company-history .c-heading--vert {
    margin-bottom: 0.6rem;
  }
}
#company-history .l-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #company-history .l-desc {
    margin-bottom: 0.8rem;
  }
}
@media screen and (min-width: 768px) {
  #company-history .c-overflow {
    padding-bottom: 0.9rem;
    width: 14.4rem;
    max-width: unset;
    padding-left: 1rem;
    position: relative;
    left: -1rem;
  }
}
#company-history .c-overflow .simplebar-horizontal {
  width: 3.15rem;
  left: 0.3rem !important;
  background-color: rgba(255, 255, 255, 0.3);
}
@media screen and (min-width: 768px) {
  #company-history .c-overflow .simplebar-horizontal {
    width: 8rem;
    left: 50% !important;
    transform: translateX(-50%);
  }
}

#overview-bg {
  background-color: white;
  padding-top: 0.8rem;
  padding-bottom: 0.5rem;
  border-radius: 0.3rem 0.3rem 0 0;
  margin-top: -0.3rem;
}
@media screen and (min-width: 768px) {
  #overview-bg {
    width: 14.4rem;
    margin: auto;
    border-radius: 0.5rem 0.5rem 0 0;
    margin-top: -0.5rem;
  }
}

#company-overview {
  padding-top: 0.2rem;
  border-top: 0.01rem solid rgba(31, 34, 59, 0.3);
}
#company-overview .c-heading--vert {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #company-overview .c-heading--vert {
    margin-bottom: 1.04rem;
  }
}
#company-overview .c-heading--vert strong {
  color: #3229DA;
}
#company-overview .l-table {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  width: 100%;
  margin-bottom: 0.44rem;
}
@media screen and (min-width: 768px) {
  #company-overview .l-table {
    margin-bottom: 0.6rem;
  }
}
#company-overview .l-table dl {
  width: 100%;
  padding-bottom: 0.24rem;
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.3);
  display: flex;
}
#company-overview .l-table dl:nth-last-of-type(1) {
  border-bottom: unset;
  padding-bottom: unset;
}
#company-overview .l-table dl dt {
  color: #3229DA;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 500;
  flex: none;
  width: 1.4rem;
}
@media screen and (min-width: 768px) {
  #company-overview .l-table dl dt {
    width: 2.4rem;
    font-size: 0.18rem;
    line-height: 0.29rem;
  }
}
#company-overview .l-table dl dd {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 500;
  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  #company-overview .l-table dl dd {
    font-size: 0.18rem;
    line-height: 0.29rem;
  }
}
#company-overview .l-map {
  width: 100%;
  height: 2rem;
  border-radius: 0.1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #company-overview .l-map {
    height: 3.69rem;
  }
}
#company-overview .l-map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

#products-top {
  padding-top: 0.6rem;
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #products-top {
    padding-top: 1.12rem;
    padding-bottom: 1.6rem;
  }
}
#products-top .c-heading--page {
  margin-bottom: 0.44rem;
}
@media screen and (min-width: 768px) {
  #products-top .c-heading--page {
    margin-bottom: 0.8rem;
  }
}
#products-top .l-image {
  max-width: unset;
  display: block;
  width: 3.55rem;
  border-radius: 0.1rem 0 0 0.1rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  #products-top .l-image {
    width: 93.0555555556vw;
    height: 4.2rem;
  }
}
#products-top .l-menu {
  position: absolute;
  z-index: 2;
  top: 3.45rem;
  left: 0.2rem;
  background-color: #3229DA;
  border-radius: 0.1rem;
  width: 3.35rem;
  padding: 0.15rem 0.2rem;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu {
    width: 5.3rem;
    padding: 0.23rem 0.2rem 0.23rem 0.4rem;
    left: calc(50% + 1rem);
    top: unset;
    bottom: 1rem;
  }
}
#products-top .l-menu--active .l-menu__display::after {
  height: 0;
}
#products-top .l-menu--active .l-menu__content {
  height: auto;
  padding-top: 0.18rem;
  opacity: 1;
}
#products-top .l-menu__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: white;
  cursor: pointer;
}
#products-top .l-menu__label .c-heading--vert span {
  font-size: 0.18rem;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__label .c-heading--vert span {
    font-size: 0.24rem;
  }
}
#products-top .l-menu__display {
  border-radius: 100%;
  background-color: #72EBDA;
  position: relative;
  width: 0.32rem;
  height: 0.32rem;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__display {
    width: 0.4rem;
    height: 0.4rem;
  }
}
#products-top .l-menu__display::before {
  content: "";
  display: block;
  position: absolute;
  width: 0.12rem;
  height: 0.015rem;
  background-color: #3229DA;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__display::before {
    width: 0.2rem;
  }
}
#products-top .l-menu__display::after {
  content: "";
  display: block;
  position: absolute;
  width: 0.015rem;
  height: 0.12rem;
  background-color: #3229DA;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__display::after {
    height: 0.2rem;
  }
}
#products-top .l-menu__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  align-items: center;
  height: 0rem;
  overflow-y: hidden;
  transition: 0.3s;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__content {
    padding-right: 0.2rem;
    gap: 0.16rem;
  }
}
#products-top .l-menu__wrapper {
  width: 100%;
  height: 0.53rem;
  display: flex;
  align-items: center;
  padding-left: 1.06rem;
  position: relative;
  background-color: white;
  border-radius: 0.05rem;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__wrapper {
    width: 4.5rem;
    height: 0.8rem;
    padding-left: 1.92rem;
  }
}
#products-top .l-menu__image {
  width: 0.8rem;
  height: 0.42rem;
  position: absolute;
  top: 50%;
  left: 0.16rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__image {
    width: 1.44rem;
    height: 0.76rem;
  }
}
#products-top .l-menu__name {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__name {
    font-size: 0.18rem;
  }
}
#products-top .l-menu__arrow {
  position: absolute;
  top: 50%;
  right: 0.16rem;
  transform: translateY(-50%);
  background-color: #3229DA;
  border-radius: 0.02rem;
  width: 0.2rem;
  height: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  #products-top .l-menu__arrow {
    width: 0.26rem;
    height: 0.26rem;
    right: 0.24rem;
  }
}
#products-top .l-menu__arrow::after {
  content: "";
  width: 0.12rem;
  height: 0.06rem;
  display: block;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}

#products-main #panel-meter {
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #products-main #panel-meter {
    padding-bottom: 1.6rem;
  }
}
#products-main #edgewise-meter {
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #products-main #edgewise-meter {
    padding-bottom: 1.6rem;
  }
}
#products-main #meter-relay {
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #products-main #meter-relay {
    padding-bottom: 1.6rem;
  }
}
#products-main #inclinometer {
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #products-main #inclinometer {
    padding-bottom: 1.6rem;
  }
}
#products-main #accessory {
  padding-bottom: 1rem;
}

#order-top {
  padding-top: 0.6rem;
  padding-bottom: 0.49rem;
}
@media screen and (min-width: 768px) {
  #order-top {
    padding-top: 1.25rem;
    padding-bottom: 1.2rem;
  }
}
#order-top .c-heading--page span {
  font-size: 0.18rem;
  line-height: 0.27rem;
}
@media screen and (min-width: 768px) {
  #order-top .c-heading--page span {
    font-size: 0.24rem;
    line-height: 0.36rem;
  }
}
#order-top .c-heading--page strong {
  font-size: 0.48rem;
  line-height: 0.48rem;
}
@media screen and (min-width: 768px) {
  #order-top .c-heading--page strong {
    font-size: 0.78rem;
    line-height: 0.78rem;
  }
}
#order-top .l-desc {
  display: block;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-top: 0.38rem;
}
@media screen and (min-width: 768px) {
  #order-top .l-desc {
    margin-top: 0.28rem;
  }
}
#order-top .l-desc b {
  color: #3229DA;
  font-weight: 600;
}

#order-info {
  padding-bottom: 0.69rem;
}
@media screen and (min-width: 768px) {
  #order-info {
    padding-bottom: 1.66rem;
  }
}
#order-info .c-heading--middle {
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  #order-info .c-heading--middle {
    margin-bottom: 0.4rem;
  }
}
#order-info .l-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
}
#order-info .l-container .l-wrapper {
  width: 100%;
  padding-top: 0.18rem;
  padding-bottom: 0.18rem;
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.1);
  display: flex;
  flex-direction: column;
  gap: 0.06rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #order-info .l-container .l-wrapper {
    flex-direction: row;
    gap: unset;
    padding-top: 0.24rem;
    padding-bottom: 0.24rem;
    padding-right: 0.85rem;
  }
}
#order-info .l-container .l-wrapper:nth-of-type(1) {
  border-top: 0.01rem solid rgba(31, 34, 59, 0.1);
}
#order-info .l-container .l-wrapper dt {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #order-info .l-container .l-wrapper dt {
    width: 2.47rem;
    flex: none;
  }
}
#order-info .l-container .l-wrapper dd {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0.08em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #order-info .l-container .l-wrapper dd {
    flex-grow: 1;
  }
}
#order-info .l-container .l-wrapper dd ul {
  font-weight: 500;
  letter-spacing: 0;
}
#order-info .l-container .l-wrapper dd ul li {
  display: flex;
}
#order-info .l-container .l-wrapper dd ul li::before {
  content: "・";
  flex: none;
}
#order-info .l-caution {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 600;
  margin-top: 0.11rem;
  display: flex;
}
@media screen and (min-width: 768px) {
  #order-info .l-caution {
    margin-top: 0.2rem;
  }
}
#order-info .l-caution::before {
  content: "※";
}
#order-info .l-caution a {
  color: #3229DA;
}

#order-main {
  padding-bottom: 1.24rem;
}
@media screen and (min-width: 768px) {
  #order-main {
    padding-bottom: 2rem;
  }
}
#order-main .c-heading--middle {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #order-main .c-heading--middle {
    margin-bottom: 0.4rem;
  }
}
#order-main .l-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-start;
}
#order-main .l-heading {
  display: flex;
  align-items: center;
  max-width: unset;
  width: 9.6rem;
  height: 0.4rem;
  background-color: #3229DA;
  color: white;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.22rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding-left: 0.11rem;
  padding-right: 0.11rem;
  padding-bottom: unset;
  margin-bottom: 0.16rem;
}
@media screen and (min-width: 768px) {
  #order-main .l-heading {
    justify-content: center;
  }
}
#order-main .l-table {
  width: 9.6rem;
  max-width: unset;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 500;
}
#order-main .l-table--order {
  font-weight: 400 !important;
}
#order-main .l-table--order td {
  width: 16.6666666667% !important;
}
#order-main .l-table--order td a {
  text-decoration: underline;
}
#order-main .l-table--order th {
  width: 16.6666666667% !important;
}
#order-main .l-table a {
  text-decoration: underline;
}
#order-main .l-table th {
  background-color: rgba(166, 196, 255, 0.2);
  color: #21439A;
  padding: 0.1rem;
  text-align: left;
}
#order-main .l-table td {
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.1);
  padding: 0.1rem;
  vertical-align: middle;
}
#order-main .l-table td[data-noborder] {
  border-bottom: unset;
}
#order-main .l-table tr:nth-last-of-type(1) td {
  border-bottom: unset;
}
#order-main .l-table--center {
  text-align: center;
}
#order-main .p-accordion {
  margin-top: 0.16rem;
}

#contact .l-container {
  background-color: white;
  padding: 0.3rem 0.2rem 0.4rem;
  border-radius: 0.3rem 0.3rem 0 0;
}
@media screen and (min-width: 768px) {
  #contact .l-container {
    border-radius: 0.5rem 0.5rem 0 0;
    padding: 0.6rem 0.5rem;
  }
}
#contact .l-wrapper {
  border-radius: 0.2rem;
  background-color: #1F223B;
  color: white;
  padding: 0.6rem 0.24rem;
}
@media screen and (min-width: 768px) {
  #contact .l-wrapper {
    padding: 0.8rem 1.2rem;
    display: flex;
  }
}
#contact .l-left {
  padding-bottom: 0.4rem;
  border-bottom: 0.01rem solid rgba(255, 255, 255, 0.3);
}
@media screen and (min-width: 768px) {
  #contact .l-left {
    width: 50%;
    padding-top: 0.4rem;
    padding-bottom: unset;
    border-bottom: unset;
    border-right: 0.01rem solid rgba(255, 255, 255, 0.3);
  }
}
#contact .l-left__desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  #contact .l-left__desc {
    margin-top: 0.48rem;
    font-size: 0.16rem;
    line-height: 0.38rem;
  }
}
#contact .l-right {
  padding-top: 0.4rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #contact .l-right {
    width: 50%;
    padding-left: 1.2rem;
    padding-bottom: 0.22rem;
  }
}
#contact .l-right__phone {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: center;
}
#contact .l-right__phone strong {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  font-family: "Unbounded", serif;
  font-size: 0.29rem;
  line-height: 0.29rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #contact .l-right__phone strong {
    font-size: 0.44rem;
    line-height: 0.44rem;
    gap: 0.1rem;
  }
}
#contact .l-right__phone strong::before {
  content: "";
  width: 0.22rem;
  height: 0.44rem;
  background-image: url("../img/common/icon_phone.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex: none;
}
@media screen and (min-width: 768px) {
  #contact .l-right__phone strong::before {
    width: 0.32rem;
    height: 0.64rem;
  }
}
#contact .l-right__phone span {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
}
@media screen and (min-width: 768px) {
  #contact .l-right__phone span {
    font-size: 0.16rem;
    line-height: 0.32rem;
  }
}
#contact .l-right__desc {
  text-align: center;
  margin-top: 0.2rem;
  margin-bottom: 0.16rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #contact .l-right__desc {
    margin-top: 0.3rem;
    margin-bottom: 0.2rem;
    font-size: 0.2rem;
    line-height: 0.4rem;
  }
}
@media screen and (min-width: 768px) {
  #contact .l-right .c-btn--arrow {
    width: 4.2rem;
    height: 0.84rem;
    margin: auto;
    padding-left: 0.28rem;
    font-size: 0.24rem;
    line-height: 0.36rem;
  }
  #contact .l-right .c-btn--arrow i {
    right: 0.28rem;
  }
}

#contact-top {
  padding-top: 0.6rem;
  padding-bottom: 0.97rem;
}
@media screen and (min-width: 768px) {
  #contact-top {
    padding-top: 1.25rem;
    padding-bottom: 1.06rem;
  }
}
#contact-top .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.54rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #contact-top .l-container {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  #contact-top .l-right {
    width: 4.7rem;
  }
}
#contact-top .l-right .l-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  #contact-top .l-right .l-desc {
    margin-bottom: 0.03rem;
  }
}
#contact-top .l-right .l-link {
  display: flex;
  gap: 0.04rem;
  align-items: center;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  width: -moz-fit-content;
  width: fit-content;
}
#contact-top .l-right .l-link::after {
  content: "";
  display: block;
  width: 0.14rem;
  height: 0.07rem;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) saturate(100%) invert(16%) sepia(86%) saturate(3318%) hue-rotate(236deg) brightness(97%) contrast(95%);
}

#contact-main {
  padding-bottom: 0.97rem;
}
#contact-main .l-desc {
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 1.06rem;
  display: block;
}

#news-archive {
  padding-top: 0.6rem;
  padding-bottom: 0.71rem;
}
@media screen and (min-width: 768px) {
  #news-archive {
    padding-top: 1.25rem;
    padding-bottom: 1rem;
  }
}
#news-archive .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.33rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #news-archive .l-container {
    flex-direction: row;
    gap: 0.88rem;
  }
}
#news-archive .l-left {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #news-archive .l-left {
    gap: 0.4rem;
  }
}
@media screen and (min-width: 768px) {
  #news-archive .l-right {
    flex-grow: 1;
  }
}

#news-article {
  padding-top: 0.6rem;
  padding-bottom: 0.71rem;
}
@media screen and (min-width: 768px) {
  #news-article {
    padding-top: 1.25rem;
    padding-bottom: 1rem;
  }
}
#news-article .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.39rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #news-article .l-container {
    flex-direction: row;
    gap: 0.88rem;
  }
}
#news-article .l-left {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #news-article .l-left {
    gap: 0.4rem;
  }
}
@media screen and (min-width: 768px) {
  #news-article .l-right {
    flex-grow: 1;
    padding-top: 0.51rem;
  }
}

#privacy-top {
  padding-top: 0.6rem;
  padding-bottom: 0.48rem;
}
@media screen and (min-width: 768px) {
  #privacy-top {
    padding-top: 1.42rem;
    padding-bottom: 1.31rem;
  }
}
#privacy-top .c-heading--page span {
  align-items: flex-start;
}
#privacy-top .c-heading--page span i {
  position: relative;
  top: 0.07rem;
}
@media screen and (min-width: 768px) {
  #privacy-top .c-heading--page span i {
    top: 0.13rem;
  }
}

#privacy-main {
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #privacy-main {
    padding-bottom: 1.6rem;
  }
}
#privacy-main .l-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.64rem;
  align-items: flex-start;
}
#privacy-main .l-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #privacy-main .l-wrapper {
    gap: 0.17rem;
  }
}
#privacy-main .l-heading {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding-bottom: 0.08rem;
  width: 100%;
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.1);
}
@media screen and (min-width: 768px) {
  #privacy-main .l-heading {
    padding-bottom: 0.16rem;
  }
}
#privacy-main .l-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#privacy-main .l-table {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#privacy-main .l-table td:nth-of-type(1) {
  white-space: nowrap;
}
#privacy-main .l-date {
  margin-top: 0.24rem;
  margin-left: auto;
  text-align: right;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #privacy-main .l-date {
    margin-top: 0.47rem;
  }
}

#wpadminbar {
  display: none;
}
@media screen and (min-width: 768px) {
  #wpadminbar {
    display: flex;
  }
}

.p-header {
  z-index: 100000;
  width: 100%;
  height: 0rem;
  position: fixed;
  top: 0.12rem;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.6s;
  opacity: 1;
  animation: 1s header-in forwards;
  width: calc(100vw - 0.3rem);
  height: 0.45rem;
}
@media screen and (min-width: 768px) {
  .p-header {
    width: 13.6rem;
    height: 0.6rem;
    color: #1F223B;
  }
}
.p-header--trans {
  background-color: transparent;
  color: white;
}
.p-header__space {
  height: 0.6rem;
}
@media screen and (min-width: 768px) {
  .p-header__space {
    height: 0.85rem;
  }
}
.p-header__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 1.89rem;
  height: 0.31rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    width: 2.86rem;
    height: 0.53rem;
    margin-right: auto;
  }
}
.p-header__logo div {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-header__logo div {
    transform: unset;
    bottom: -0.34rem;
    left: unset;
    right: calc(50% + 4.63rem);
  }
}
.p-header__logo div span {
  display: none;
}
.p-header__logo div img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.p-header__container {
  position: relative;
  z-index: 50;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-header__container--menu {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header__container--menu {
    display: flex;
    gap: 0.4rem;
    font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-size: 0.18rem;
    line-height: 0.27rem;
    letter-spacing: 0em;
    font-weight: 500;
    white-space: nowrap;
    align-items: center;
  }
}
.p-header__nav {
  position: fixed;
  z-index: 99999;
  top: 0;
  right: 0;
  width: 100%;
  height: 100dvh;
  overflow-y: scroll;
  background-color: #f2f2f2;
  transform: translateY(-100%);
  transition: 0.3s;
  padding-top: 0.95rem;
  padding-left: 0.3rem;
  padding-right: 0.3rem;
  padding-bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.51rem;
  color: #1F223B;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    display: none;
  }
}
.p-header__nav > * {
  position: relative;
  z-index: 2;
}
.p-header__nav--close {
  position: fixed;
  z-index: 3;
  top: 0.15rem;
  right: 0.15rem;
  cursor: pointer;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  align-items: center;
  background-color: white;
  border-radius: 100%;
  border: 0.01rem solid #AFAFAF;
  width: 0.45rem;
  height: 0.45rem;
}
.p-header__nav--close::before {
  content: "";
  position: absolute;
  width: 0.15rem;
  height: 0.01rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(25deg);
  background-color: #3229DA;
}
.p-header__nav--close::after {
  content: "";
  position: absolute;
  width: 0.15rem;
  height: 0.01rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
  background-color: #3229DA;
}
.p-header__nav--close:hover {
  opacity: 0.7;
}
.p-header__nav--logo {
  width: 1.89rem;
  height: 0.31rem;
  position: absolute;
  top: 0.18rem;
  left: 0.15rem;
}
.p-header__nav--check {
  display: none;
}
.p-header__nav--check:checked ~ .p-header {
  opacity: 0 !important;
  pointer-events: none;
}
.p-header__nav--check:checked ~ .p-header__nav {
  transform: translateY(0%);
}
.p-header__nav--menu {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu {
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 0.46rem;
  }
}
.p-header__nav--menu--item {
  padding-bottom: 0.2rem;
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.3);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  align-items: flex-start;
}
.p-header__nav--menu--home {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--home {
    font-size: 0.22rem;
    line-height: 0.3rem;
  }
}
.p-header__nav--menu--container {
  display: flex;
  flex-direction: column;
  gap: 0.39rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--container {
    flex-direction: row;
    gap: 1.2rem;
    display: flex;
  }
}
.p-header__nav--menu--wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
}
.p-header__nav--menu--major {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 500;
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.p-header__nav--menu--major i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 0.02rem;
  background-color: #3229DA;
}
.p-header__nav--menu--major i::after {
  content: "";
  width: 0.12rem;
  height: 0.06rem;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}
.p-header__nav--menu--minor {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  align-items: flex-start;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(31, 34, 59, 0.7);
}
.p-header__nav--menu--minor li {
  display: flex;
  gap: 0.08rem;
}
.p-header__nav--menu--minor li::before {
  content: "";
  width: 0.04rem;
  height: 0.04rem;
  background-color: #3229DA;
  position: relative;
  top: 0.08rem;
}
.p-header__nav--box {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 100%;
  background-color: white;
  border: 0.015rem solid #E9E9E9;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-header__nav--box {
    display: none;
  }
}
.p-header__nav--box--wrapper {
  width: 0.15rem;
  height: 0.11rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.p-header__nav--box--line {
  width: 100%;
  height: 0.015rem;
  background-color: #3229DA;
}

@keyframes header-in {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    pointer-events: all;
  }
}
@keyframes header-out {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    pointer-events: none;
  }
}
.p-footer {
  padding-left: 0.2rem;
  padding-right: 0.2rem;
  padding-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  .p-footer {
    width: 14.4rem;
    margin: auto;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.8rem;
  }
}
.p-footer__container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-footer__container {
    flex-direction: row;
    justify-content: space-between;
  }
}
.p-footer__left .c-btn--arrow--purple {
  margin-top: 0.4rem;
}
.p-footer__left .c-btn--arrow--purple i::after {
  transform: rotate(-45deg);
  transform-origin: center;
}
@media screen and (min-width: 768px) {
  .p-footer__left .c-btn--arrow--purple i::after {
    transform: unset;
  }
}
.p-footer__logo {
  display: block;
  width: 2.89rem;
  height: 0.64rem;
  background-image: url("../img/common/logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 0.29rem;
}
@media screen and (min-width: 768px) {
  .p-footer__logo {
    width: 3.99rem;
    height: 0.88rem;
    margin-bottom: 0.4rem;
  }
}
.p-footer__info--name {
  display: block;
  margin-bottom: 0.08rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p-footer__info--name {
    font-size: 0.18rem;
    line-height: 0.27rem;
  }
}
.p-footer__info--address {
  font-style: normal;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  display: block;
  margin-bottom: 0.12rem;
}
@media screen and (min-width: 768px) {
  .p-footer__info--address {
    font-size: 0.16rem;
    line-height: 0.24rem;
    margin-bottom: 0.24rem;
  }
}
.p-footer__info--link {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 500;
  opacity: 0.7;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-footer__info--link {
    font-size: 0.16rem;
    line-height: 0.25rem;
  }
}
.p-footer__info--link::after {
  content: "";
  width: 0.17rem;
  height: 0.17rem;
  display: inline-block;
  background-image: url("../img/common/icon_external.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.07rem;
}
.p-footer__right {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-footer__right {
    padding-top: 0.36rem;
    align-items: flex-end;
    gap: 0.9rem;
  }
}
.p-footer__menu {
  display: flex;
  gap: 0.25rem 0;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-footer__menu {
    gap: 0.6rem;
  }
}
.p-footer__menu--wrapper {
  min-width: 50%;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-footer__menu--wrapper {
    min-width: unset;
    width: -moz-fit-content;
    width: fit-content;
    gap: 0.24rem;
  }
}
.p-footer__menu--major {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-footer__menu--major {
    font-size: 0.18rem;
    line-height: 0.27rem;
  }
}
.p-footer__menu--minor {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  align-items: flex-start;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-footer__menu--minor li {
  display: flex;
  gap: 0.08rem;
  align-items: center;
}
.p-footer__menu--minor li::before {
  content: "";
  width: 0.04rem;
  height: 0.04rem;
  flex: none;
  display: block;
  background-color: #3229DA;
}
.p-footer__menu--minor li a {
  opacity: 0.7;
}
.p-footer__copyright {
  font-family: "Syne", serif;
  font-size: 0.12rem;
  line-height: 0.12rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.p-form {
  width: 100%;
}
.p-form input[type=text], .p-form input[type=email], .p-form input[type=tel], .p-form input[type=date] {
  display: block;
  border: none;
  background-color: #F4F7F8;
  padding-left: 0.16rem;
  padding-right: 0.16rem;
  border-radius: 0;
  width: 100%;
  height: 0.44rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
  border-radius: 0.03rem;
}
.p-form input[type=text]::-moz-placeholder, .p-form input[type=email]::-moz-placeholder, .p-form input[type=tel]::-moz-placeholder, .p-form input[type=date]::-moz-placeholder {
  color: #AFAFAF;
}
.p-form input[type=text]::placeholder, .p-form input[type=email]::placeholder, .p-form input[type=tel]::placeholder, .p-form input[type=date]::placeholder {
  color: #AFAFAF;
}
.p-form input[type=text]:focus-visible, .p-form input[type=email]:focus-visible, .p-form input[type=tel]:focus-visible, .p-form input[type=date]:focus-visible {
  outline: unset;
}
.p-form textarea {
  display: block;
  border: none;
  background-color: #F4F7F8;
  padding: 0.11rem 0.16rem;
  border-radius: 0;
  width: 100%;
  height: 4.14rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-form textarea {
    height: 2.8rem;
  }
}
.p-form textarea::-moz-placeholder {
  color: #AFAFAF;
}
.p-form textarea::placeholder {
  color: #AFAFAF;
}
.p-form textarea:focus-visible {
  outline: unset;
}
.p-form input[type=checkbox] {
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 0;
  margin: 0;
}
.p-form input[type=file] {
  display: none;
}
.p-form .wpcf7-response-output {
  border-radius: 0.03rem;
  background-color: white;
}
.p-form .wpcf7-spinner {
  display: none;
}
.p-form .wpcf7-not-valid {
  background-color: #fff0f0 !important;
}
.p-form__main {
  width: 100%;
}
.p-form__main--container {
  display: flex;
  flex-direction: column;
  gap: 0.33rem;
}
@media screen and (min-width: 768px) {
  .p-form__main--container {
    gap: 0.37rem;
  }
}
.p-form__item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: flex-start;
  width: 100%;
}
.p-form__item dt {
  display: flex;
  align-items: center;
  gap: 0.02rem;
  width: 100%;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-form__item dt {
    gap: 0.12rem;
  }
}
.p-form__item dt span {
  display: flex;
  align-items: center;
  gap: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-form__item dt span {
    gap: 0.1rem;
  }
}
.p-form__item dt small {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.12rem;
  line-height: 0.16rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-form__item dd {
  width: 100%;
}
.p-form__item dd div {
  width: 100%;
  margin-top: 0.12rem;
  display: flex;
  flex-direction: column;
  gap: 0.11rem;
  align-items: flex-start;
}
.p-form__item dd div small {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-form__item dd .wpcf7-form-control-wrap {
  width: 100%;
}
.p-form__item dd .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-form__item dd .wpcf7-checkbox li {
  display: flex;
  gap: 0.08rem;
}
.p-form__item dd .wpcf7-checkbox .wpcf7-list-item {
  margin-left: unset;
}
.p-form__item--required dt span::after {
  content: "必須";
  width: 0.4rem;
  height: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #3229DA;
  color: white;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.12rem;
  line-height: 0.16rem;
  letter-spacing: 0em;
  font-weight: 700;
}
.p-form__file {
  background-color: white;
  width: 100%;
  height: 0.44rem;
  border: 0.01rem solid #00ADCD;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
  display: flex;
  gap: 0.1rem;
  align-items: center;
}
.p-form__file .wpcf7-form-control-wrap {
  display: none;
}
.p-form__file--button {
  width: 1.26rem;
  height: 0.26rem;
  border-radius: 0.06rem;
  background-color: #729CEB;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.1rem;
  line-height: 0.14rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.p-form__file--name:empty {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.1rem;
  line-height: 0.14rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.p-form__file--name:empty::before {
  content: "選択されていません";
  color: #AFAFAF;
}
.p-form__button {
  display: flex;
  gap: 0.24rem;
  justify-content: center;
  margin-top: 1.07rem;
}
@media screen and (min-width: 768px) {
  .p-form__button {
    margin-top: 1.89rem;
  }
}

.p-archive-years {
  font-family: "Syne", serif;
  font-size: 0.24rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #707070;
  display: flex;
  flex-direction: column;
  gap: 0.07rem;
  align-items: flex-start;
}
.p-archive-years a[aria-current] {
  color: rgba(50, 41, 218, 0.7);
}
.p-archive-years:not(:has(a[aria-current])) li:first-child a {
  color: rgba(50, 41, 218, 0.7);
}

.p-archive {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: center;
  width: 100%;
}
.p-archive__wrapper {
  padding-top: 0.1rem;
  padding-bottom: 0.17rem;
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.1);
  width: 100%;
}
.p-archive__wrapper:nth-of-type(1) {
  border-top: 0.01rem solid rgba(31, 34, 59, 0.1);
}
@media screen and (min-width: 768px) {
  .p-archive__wrapper {
    padding-left: 0.32rem;
    display: flex;
    flex-direction: row;
    align-items: baseline;
    padding-top: 0.24rem;
    padding-bottom: 0.24rem;
  }
}
.p-archive__date {
  font-family: "Syne", serif;
  font-size: 0.22rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(50, 41, 218, 0.7);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-archive__date {
    font-size: 0.24rem;
    line-height: 0.32rem;
    width: 1.44rem;
    flex: none;
  }
}
.p-archive__title {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: -0.06em;
  font-weight: 500;
  display: block;
  margin-top: -0.05rem;
}
@media screen and (min-width: 768px) {
  .p-archive__title {
    font-size: 0.18rem;
    line-height: 0.32rem;
  }
}

.p-article {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-article {
    line-height: 0.3rem;
  }
}
.p-article > *:last-child {
  margin-bottom: unset !important;
}
.p-article__info {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-article__info {
    gap: 0.08rem;
  }
}
.p-article__date {
  font-family: "Syne", serif;
  font-size: 0.24rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(50, 41, 218, 0.7);
}
.p-article__title {
  width: 100%;
  display: block;
  padding-left: 0.14rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.24rem;
  line-height: 0.35rem;
  letter-spacing: 0em;
  font-weight: 600;
  position: relative;
  margin-bottom: 0.2rem;
}
.p-article__title::before {
  content: "";
  width: 0.02rem;
  height: calc(100% - 0.1rem);
  position: absolute;
  top: 0.09rem;
  left: 0;
  background-color: #3229DA;
}
@media screen and (min-width: 768px) {
  .p-article__title::before {
    top: 0.07rem;
  }
}
.p-article__content {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-article__content h2 {
  width: 100%;
  min-height: 0.4rem;
  padding-top: 0.05rem;
  padding-bottom: 0.04rem;
  padding-left: 0.1rem;
  border-left: 0.06rem solid #3229DA;
  background-color: #729CEB;
  color: #00ADCD;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.22rem;
  line-height: 0.3rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-article__content h2 {
    font-size: 0.24rem;
    line-height: 0.36rem;
    margin-bottom: 0.3rem;
  }
}
.p-article__content h3 {
  width: 100%;
  height: 0.26rem;
  padding-left: 0.1rem;
  border-left: 0.06rem solid #3229DA;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.2rem;
  line-height: 0.27rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  .p-article__content h3 {
    font-size: 0.2rem;
    line-height: 0.27rem;
    margin-bottom: 0.28rem;
  }
}
.p-article__content p {
  display: block;
  width: 100%;
  margin-bottom: 0.27rem;
}
@media screen and (min-width: 768px) {
  .p-article__content p {
    margin-bottom: 0.55rem;
  }
}
.p-article__content table {
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-article__content table {
    margin-bottom: 0.6rem;
  }
}
.p-article__content table td {
  background-color: #E9E9E9;
  vertical-align: middle;
  padding: 0.14rem;
  border: 0.05rem solid transparent;
  background-clip: padding-box;
}
.p-article__content .wp-block-quote p:empty {
  display: none;
}
.p-article__content .wp-block-quote p {
  display: block;
  border: 0.1rem solid #729CEB;
  background-color: white;
  padding: 0.22rem;
}
@media screen and (min-width: 768px) {
  .p-article__content .wp-block-quote p {
    padding: 0.34rem 0.66rem;
  }
}
.p-article__content ul {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-article__content ul {
    gap: 0.11rem;
  }
}
.p-article__content ul li {
  display: flex;
  gap: 0.12rem;
}
.p-article__content ul li::before {
  content: "";
  width: 0.08rem;
  height: 0.08rem;
  background-color: #3229DA;
  position: relative;
  top: 0.08rem;
  flex: none;
}
.p-article__content ol {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
  counter-reset: count 0;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-article__content ol {
    gap: 0.12rem;
  }
}
.p-article__content ol li {
  counter-increment: count 1;
  display: flex;
  gap: 0.12rem;
}
.p-article__content ol li::before {
  content: counter(count) ".";
}
.p-article__content .wp-block-image {
  border-radius: 0.1rem;
  overflow: hidden;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-article__content .wp-block-image {
    border-radius: 0.2rem;
    margin-bottom: 0.35rem;
  }
}

.p-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.69rem;
}
@media screen and (min-width: 768px) {
  .p-navigation {
    margin-top: 1.2rem;
    justify-content: flex-start;
    gap: 0.8rem;
  }
}
.p-navigation__prev {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  display: flex;
  gap: 0.5em;
}
.p-navigation__prev::before {
  content: "＜";
  color: #3229DA;
}
.p-navigation__next {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  display: flex;
  gap: 0.5em;
}
.p-navigation__next::after {
  content: "＞";
  color: #3229DA;
}
.p-navigation__back {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 500;
}

.p-accordion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  align-items: flex-start;
}
.p-accordion__wrapper {
  width: 100%;
  height: 0.4rem;
  overflow: hidden;
}
.p-accordion__wrapper--active {
  height: auto;
}
.p-accordion__wrapper--active .p-accordion__label::after {
  transform: translateY(-50%) rotate(180deg);
}
.p-accordion__label {
  width: 100%;
  height: 0.4rem;
  display: flex;
  align-items: center;
  color: #21439A;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 500;
  background-color: rgba(166, 196, 255, 0.1);
  cursor: pointer;
  position: relative;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
  width: 3.35rem;
}
@media screen and (min-width: 768px) {
  .p-accordion__label {
    justify-content: center;
    width: 100%;
  }
}
.p-accordion__label::after {
  content: "";
  width: 0.15rem;
  height: 0.08rem;
  background-image: url("../img/common/chevron_bottom.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 0.22rem;
  transform: translateY(-50%);
  transition: 0.3s;
  transform-origin: center;
}

.p-product {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-start;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-product__top {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.p-product__top--name {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  align-items: flex-start;
  margin-bottom: 0.32rem;
}
@media screen and (min-width: 768px) {
  .p-product__top--name {
    margin-bottom: unset;
  }
}
.p-product__top--name span {
  font-family: "Syne", serif;
  font-size: 0.18rem;
  line-height: 0.18rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.08rem;
}
@media screen and (min-width: 768px) {
  .p-product__top--name span {
    font-size: 0.22rem;
    line-height: 0.22rem;
  }
}
.p-product__top--name span i {
  display: inline-flex;
  width: 0.04rem;
  height: 0.15rem;
  flex-direction: column;
  justify-content: space-between;
  flex: none;
}
.p-product__top--name span i::before {
  content: "";
  background-color: #3229DA;
  width: 100%;
  height: 0.04rem;
  display: block;
}
.p-product__top--name span i::after {
  content: "";
  background-color: #009A84;
  width: 100%;
  height: 0.04rem;
  display: block;
}
.p-product__top--name strong {
  color: #3229DA;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.32rem;
  line-height: 0.4rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-product__top--name strong {
    font-size: 0.64rem;
    line-height: 0.8rem;
  }
}
.p-product__top--image {
  width: 100%;
  display: block;
  margin-bottom: 0.32rem;
}
@media screen and (min-width: 768px) {
  .p-product__top--image {
    width: 5.8rem;
    height: 3.2rem;
    position: absolute;
    bottom: 0;
    right: 0;
    margin-bottom: unset;
  }
}
.p-product__top--desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.36rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-product__top--desc {
    width: 6.2rem;
  }
}
.p-product__top--desc b {
  color: #009A84;
}
.p-product__main {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  align-items: flex-start;
}
.p-product__detail {
  border-radius: 0.1rem;
  padding: 0.3rem 0.2rem;
  background-color: rgba(31, 34, 59, 0.06);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-product__detail {
    padding: 0.6rem;
  }
}
.p-product__detail--top {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-product__detail--top {
    flex-direction: row;
    gap: 0.6rem;
    align-items: flex-end;
  }
}
.p-product__detail--image {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-product__detail--image {
    width: 3.8rem;
    height: 2.4rem;
    flex: none;
  }
}
.p-product__detail--image img {
  border-radius: 0.1rem;
}
.p-product__detail--info .c-btn--arrow--purple i::after {
  transform: rotate(-45deg);
}
.p-product__detail--name {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.28rem;
  line-height: 0.42rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: block;
  margin-bottom: 0.12rem;
}
@media screen and (min-width: 768px) {
  .p-product__detail--name {
    font-size: 0.4rem;
    line-height: 0.6rem;
  }
}
.p-product__detail--series {
  color: #3229DA;
  font-family: "Inter", serif;
  font-size: 0.16rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.16rem;
}
@media screen and (min-width: 768px) {
  .p-product__detail--series {
    margin-bottom: 0.18rem;
  }
}
.p-product__detail--principle {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  align-items: flex-start;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 600;
  padding-bottom: 0.24rem;
}
@media screen and (min-width: 768px) {
  .p-product__detail--principle {
    flex-direction: row;
    align-items: center;
    gap: 0.16rem;
    font-size: 0.18rem;
    line-height: 0.36rem;
  }
}
.p-product__detail--principle::before {
  content: "動作原理";
  width: 1.12rem;
  height: 0.3rem;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p-product__detail--principle::before {
    font-size: 0.18rem;
    line-height: 0.27rem;
    width: 1.2rem;
    height: 0.33rem;
  }
}
.p-product__detail--text {
  margin-top: 0.4rem;
}
.p-product__detail--text--heading {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 600;
  padding-left: 0.13rem;
  position: relative;
  margin-bottom: 0.16rem;
}
@media screen and (min-width: 768px) {
  .p-product__detail--text--heading {
    font-size: 0.24rem;
    line-height: 0.29rem;
    margin-bottom: 0.24rem;
  }
}
.p-product__detail--text--heading::before {
  content: "";
  width: 0.015rem;
  height: calc(100% - 0.1rem);
  position: absolute;
  top: 0.05rem;
  left: 0;
  background-color: #3229DA;
}
@media screen and (min-width: 768px) {
  .p-product__detail--text--heading::before {
    height: calc(100% - 0.05rem);
  }
}
.p-product__detail--text--desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(31, 34, 59, 0.7);
}
@media screen and (min-width: 768px) {
  .p-product__detail--text--desc {
    font-size: 0.16rem;
    line-height: 0.32rem;
  }
}
.p-product__detail--text--list {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(31, 34, 59, 0.7);
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  align-items: flex-start;
}
.p-product__detail--text--list li {
  display: flex;
  gap: 0.08rem;
}
.p-product__detail--text--list li::before {
  content: "";
  width: 0.04rem;
  height: 0.04rem;
  background-color: #3229DA;
  flex: none;
  position: relative;
  top: 0.13rem;
}
.p-product__merit {
  margin-top: 0.32rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-product__merit {
    margin-top: 0.56rem;
  }
}
.p-product__merit--wrapper {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-product__merit--wrapper {
    display: flex;
    padding-top: 0.48rem;
    padding-bottom: 0.48rem;
    border-bottom: 0.01rem solid rgba(31, 34, 59, 0.3);
  }
}
.p-product__merit--wrapper:nth-of-type(1) {
  border-top: 0.01rem solid rgba(31, 34, 59, 0.3);
}
@media screen and (min-width: 768px) {
  .p-product__merit--wrapper:nth-last-of-type(1) {
    padding-bottom: unset;
    border-bottom: unset;
  }
}
.p-product__merit--wrapper:nth-last-of-type(1) .p-product__merit--item:nth-last-of-type(1) {
  padding-bottom: unset;
  border-bottom: unset;
}
.p-product__merit--item {
  width: 100%;
  padding-top: 0.24rem;
  padding-bottom: 0.24rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  border-bottom: 0.01rem solid rgba(31, 34, 59, 0.3);
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-product__merit--item {
    width: 50%;
    border-bottom: unset;
    gap: 0.24rem;
    padding-top: unset;
    padding-bottom: unset;
  }
  .p-product__merit--item:nth-of-type(1) {
    padding-right: 0.6rem;
    border-right: 0.01rem solid rgba(31, 34, 59, 0.3);
  }
  .p-product__merit--item:nth-of-type(2) {
    padding-left: 0.6rem;
  }
}
.p-product__merit--heading {
  display: flex;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.25rem;
  letter-spacing: -0.03em;
  font-weight: 600;
  gap: 0.08rem;
}
@media screen and (min-width: 768px) {
  .p-product__merit--heading {
    font-size: 0.24rem;
    line-height: 0.29rem;
    gap: 0.12rem;
  }
}
.p-product__merit--heading::before {
  content: "";
  display: block;
  width: 0.04rem;
  height: 0.04rem;
  flex: none;
  background-color: #3229DA;
  position: relative;
  top: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-product__merit--heading::before {
    top: 0.14rem;
  }
}
.p-product__merit--desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: rgba(31, 34, 59, 0.7);
}
@media screen and (min-width: 768px) {
  .p-product__merit--desc {
    font-size: 0.16rem;
    line-height: 0.32rem;
  }
}

.p-history {
  display: flex;
  align-items: stretch;
}
.p-history__wrapper {
  flex: none;
  width: 2.24rem;
}
@media screen and (min-width: 768px) {
  .p-history__wrapper {
    width: 2.8rem;
  }
}
.p-history__year {
  font-family: "Unbounded", serif;
  font-size: 0.48rem;
  line-height: 0.48rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #72EBDA;
  padding-bottom: 0.29rem;
  border-bottom: 0.01rem solid rgba(255, 255, 255, 0.3);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-history__year {
    font-size: 0.6rem;
    line-height: 0.6rem;
    padding-bottom: 0.35rem;
  }
}
.p-history__year::after {
  content: "";
  width: 0.12rem;
  height: 0.12rem;
  background-color: #72EBDA;
  position: absolute;
  bottom: -0.005rem;
  left: 0;
  transform: translateY(50%);
}
.p-history__content {
  padding-top: 0.3rem;
  padding-right: 0.24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  align-items: flex-start;
  color: rgba(255, 255, 255, 0.7);
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.14rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-history__content {
    padding-top: 0.36rem;
    padding-right: 0.4rem;
    font-size: 0.16rem;
    line-height: 0.24rem;
    gap: 0.3rem;
  }
}
.p-history__image {
  width: 2rem;
  height: 1.25rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-history__image {
    width: 2.4rem;
    height: 1.5rem;
  }
}
.p-history__image img {
  border-radius: 0.05rem;
}
.p-history__list {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
}
.p-history__list li {
  display: flex;
}
.p-history__list li::before {
  content: "・";
}

.c-bg--white {
  background-color: #ffffff;
  width: 100%;
}

.c-desc {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 40000;
}
@media screen and (min-width: 768px) {
  .c-desc {
    font-size: 0.16rem;
    line-height: 0.28rem;
    letter-spacing: 0.05em;
  }
}

.c-full {
  max-width: unset;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .c-full {
    transform: unset;
    left: unset;
    position: initial;
    width: auto;
    max-width: 100%;
  }
}

.c-hidden-x {
  overflow-x: hidden;
  overflow-y: initial;
}

.c-link--external {
  opacity: 0.7;
  text-decoration: underline;
}
.c-link--external::after {
  content: "";
  width: 0.17rem;
  height: 0.17rem;
  display: inline-block;
  background-image: url("../img/common/icon_external.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.07rem;
  position: relative;
  top: 0.02rem;
}

.c-overflow {
  width: 100%;
  overflow-x: scroll;
  overflow-y: hidden;
  position: relative;
  padding-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  .c-overflow {
    overflow-x: initial;
    padding-bottom: unset;
  }
}
.c-overflow__wrapper {
  max-width: unset;
  width: -moz-fit-content;
  width: fit-content;
  height: unset;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: flex-start;
  padding-bottom: 0.1rem;
  display: flex;
  gap: 0.2rem;
}
.c-overflow__wrapper::before {
  content: "";
}
@media screen and (min-width: 768px) {
  .c-overflow__wrapper::before {
    content: unset;
  }
}
.c-overflow__wrapper::after {
  content: "";
}
@media screen and (min-width: 768px) {
  .c-overflow__wrapper::after {
    content: unset;
  }
}
@media screen and (min-width: 768px) {
  .c-overflow__wrapper {
    padding-bottom: unset;
  }
}
.c-overflow .simplebar-vertical {
  display: none;
}
.c-overflow .simplebar-horizontal {
  position: absolute;
  bottom: 0 !important;
  left: 0.2rem !important;
  width: 3.35rem;
  background-color: rgba(229, 238, 255, 0.6);
  border-radius: 1rem;
  height: 0.3rem !important;
}
.c-overflow .simplebar-horizontal .simplebar-scrollbar {
  background-color: #3229DA;
  opacity: 1;
  border-radius: 1rem;
  height: 100%;
  border: 0.06rem solid transparent;
  background-clip: padding-box;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}
.c-overflow .simplebar-horizontal .simplebar-scrollbar::before {
  content: "";
  width: 0.115rem;
  height: 0.06rem;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
  position: initial;
  display: block;
  opacity: 1 !important;
  background-color: unset !important;
  transform: scaleX(-1);
}
.c-overflow .simplebar-horizontal .simplebar-scrollbar::after {
  content: "";
  width: 0.115rem;
  height: 0.06rem;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
  position: initial;
  display: block;
}

.c-color--purple {
  color: #3229DA;
}

.c-btn, .c-btn--arrow, .c-btn--arrow--purple, .c-btn--arrow--white, .c-btn--purple, .c-btn--submit, .c-btn--reset {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.c-btn--purple, .c-btn--submit, .c-btn--reset {
  width: 1.52rem;
  height: 0.44rem;
  background-color: #3229DA;
  color: white;
  border-radius: 0.04rem;
  color: white;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 600;
}
.c-btn--arrow, .c-btn--arrow--purple, .c-btn--arrow--white {
  justify-content: flex-start;
  padding-left: 0.19rem;
  border: 0.015rem solid white;
  width: 2.87rem;
  height: 0.59rem;
  border-radius: 0.04rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.18rem;
  line-height: 0.27rem;
  letter-spacing: 0em;
  font-weight: 600;
}
.c-btn--arrow i, .c-btn--arrow--purple i, .c-btn--arrow--white i {
  position: absolute;
  width: 0.26rem;
  height: 0.26rem;
  background-color: white;
  border-radius: 0.02rem;
  top: 50%;
  right: 0.19rem;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-btn--arrow i::after, .c-btn--arrow--purple i::after, .c-btn--arrow--white i::after {
  content: "";
  width: 0.115rem;
  height: 0.05rem;
  background-image: url("../img/common/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-btn--arrow--purple, .c-btn--arrow--white {
  border: unset;
  background-color: #3229DA;
  color: white;
  width: 2.8rem;
  height: 0.54rem;
  font-size: 0.16rem;
}
@media screen and (min-width: 768px) {
  .c-btn--arrow--purple, .c-btn--arrow--white {
    width: 3.2rem;
    height: 0.59rem;
    padding-left: 0.24rem;
    font-size: 0.18rem;
  }
}
@media screen and (min-width: 768px) {
  .c-btn--arrow--purple i, .c-btn--arrow--white i {
    right: 0.24rem;
  }
}
.c-btn--arrow--purple i::after, .c-btn--arrow--white i::after {
  content: "";
  filter: brightness(0) saturate(100%) invert(16%) sepia(86%) saturate(3318%) hue-rotate(236deg) brightness(97%) contrast(95%);
}
.c-btn--arrow--white {
  background-color: white;
  color: #3229DA;
}
.c-btn--arrow--white i {
  background-color: #3229DA;
}
.c-btn--arrow--white i::after {
  filter: brightness(0) invert(1);
}
.c-btn--submit, .c-btn--reset {
  width: 1.39rem;
  height: 0.6rem;
  border: none;
  cursor: pointer;
  transition: 0.3s;
}
.c-btn--submit:hover, .c-btn--reset:hover {
  opacity: 0.7;
}
.c-btn--reset {
  background-color: #707070;
}

.c-heading i, .c-heading--vert i, .c-heading--page i {
  display: inline-flex;
  width: 0.04rem;
  height: 0.15rem;
  flex-direction: column;
  justify-content: space-between;
  flex: none;
}
.c-heading i::before, .c-heading--vert i::before, .c-heading--page i::before {
  content: "";
  background-color: #729CEB;
  width: 100%;
  height: 0.04rem;
  display: block;
}
.c-heading i::after, .c-heading--vert i::after, .c-heading--page i::after {
  content: "";
  background-color: #72EBDA;
  width: 100%;
  height: 0.04rem;
  display: block;
}
.c-heading--vert, .c-heading--page {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
.c-heading--vert span, .c-heading--page span {
  display: flex;
  align-items: center;
  gap: 0.08rem;
}
@media screen and (min-width: 768px) {
  .c-heading--vert span, .c-heading--page span {
    font-size: 0.18rem;
    line-height: 0.27rem;
    letter-spacing: 0.03em;
  }
}
.c-heading--vert strong, .c-heading--page strong {
  font-family: "Syne", serif;
  font-size: 0.4rem;
  line-height: 0.4rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading--vert strong, .c-heading--page strong {
    font-size: 0.72rem;
    line-height: 0.72rem;
  }
}
@media screen and (min-width: 768px) {
  .c-heading--page {
    gap: 0.08rem;
  }
}
.c-heading--page span {
  font-size: 0.18rem;
  line-height: 0.27rem;
}
@media screen and (min-width: 768px) {
  .c-heading--page span {
    font-size: 0.24rem;
    line-height: 0.36rem;
  }
}
@media screen and (min-width: 768px) {
  .c-heading--page span i {
    position: relative;
    top: 0.02rem;
  }
}
.c-heading--page span i::before {
  content: "";
  background-color: #3229DA;
}
.c-heading--page span i::after {
  content: "";
  background-color: #009A84;
}
.c-heading--page strong {
  color: #3229DA;
  font-size: 0.48rem;
  line-height: 0.48rem;
}
@media screen and (min-width: 768px) {
  .c-heading--page strong {
    font-size: 0.96rem;
    line-height: 0.96rem;
  }
}
.c-heading--middle {
  display: flex;
  flex-direction: column;
  gap: 0.13rem;
  align-items: flex-start;
}
.c-heading--middle span {
  color: #3229DA;
  font-family: "Syne", serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading--middle span {
    font-size: 0.18rem;
    line-height: 0.18rem;
  }
}
.c-heading--middle strong {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 0.24rem;
  line-height: 0.3rem;
  letter-spacing: -0.07em;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-heading--middle strong {
    font-size: 0.32rem;
    line-height: 0.38rem;
    letter-spacing: 0;
  }
}

.u-width, .u-width--375-1440, .u-width--335-960, .u-width--335-800, .u-width--335-1240 {
  box-sizing: border-box;
  width: 100%;
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
@media screen and (min-width: 768px) {
  .u-width, .u-width--375-1440, .u-width--335-960, .u-width--335-800, .u-width--335-1240 {
    padding: 0;
    width: 12.4rem;
    padding-left: unset;
    padding-right: unset;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .u-width--335-800 {
    width: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--335-960 {
    width: 9.6rem;
  }
}
.u-width--375-1440 {
  padding-left: unset;
  padding-right: unset;
}
@media screen and (min-width: 768px) {
  .u-width--375-1440 {
    width: 14.4rem;
  }
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
.swiper {
  opacity: 0;
  transition: 0.3s opacity ease;
  transition-delay: 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.swiper.swiper-initialized {
  opacity: 1;
}

.swiper-warpper {
  transition-timing-function: linear;
}

[class^=simplebar] {
  max-width: unset;
}

.js-fade {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  pointer-events: none;
  opacity: 0;
}
.js-fade--active {
  animation: fade-appear 1.5s forwards;
}

@keyframes fade-appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    pointer-events: all;
  }
}
.js-hover--zoomin {
  overflow: hidden;
}
.js-hover--zoomin img {
  transition: 1s;
}
.js-hover--zoomin:hover img {
  transform: scale(1.1);
}

.js-fv #fv-animation1 {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  animation: 3s 0.2s forwards fv-width;
}
.js-fv #fv-animation2 {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  animation: 3s 1s forwards fv-width;
}
.js-fv #fv-animation3 {
  opacity: 0;
  transform: translateY(0.5rem);
  animation: 1s 1.5s forwards fv-fade-up;
}
.js-fv #fv-animation4 {
  opacity: 0;
  transform: translateY(0.5rem);
  animation: 1s 2s forwards fv-fade-up;
}

@keyframes fv-width {
  0% {
    max-width: 0;
    opacity: 1;
  }
  100% {
    max-width: 100%;
    opacity: 1;
  }
}
@keyframes fv-fade-up {
  0% {
    opacity: 0;
    transform: translateY(0.5rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-load {
  position: fixed;
  z-index: 1000000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 2s;
}
.js-load--hidden {
  opacity: 0;
  pointer-events: none;
  transition-delay: 3s;
}
.js-load__logo {
  width: 1.45rem;
  height: 1.87rem;
  opacity: 0;
  background-image: url("../img/common/logo_v.svg");
  background-size: contain;
  background-repeat: no-repeat;
  animation: 2s 1s forwards js-load-logo;
}

@keyframes js-load-logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}/*# sourceMappingURL=style.css.map */