@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap");
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

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

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

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

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

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

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

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

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
}
ul,
ol {
  display: block;
  list-style-type: none;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 0;
  unicode-bidi: isolate;
}

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

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 1.6rem;
  }
}

a {
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  list-style: none;
}

button {
  border: none;
  background-color: transparent;
}

.is-pc {
  display: none;
}
@media screen and (min-width: 769px) {
  .is-pc {
    display: block;
  }
}

.is-sp {
  display: block;
}
@media screen and (min-width: 769px) {
  .is-sp {
    display: none;
  }
}

iframe {
  border-width: 0;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 110;
  background-color: rgba(255, 255, 255, 0.7);
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 2rem;
}
@media screen and (min-width: 769px) {
  .l-header__inner {
    height: 80px;
    padding: 0 3rem 0 2rem;
  }
}

.l-header__logo {
  width: 120px;
}

.l-header__logo img {
  width: 100%;
  height: auto;
}

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

.l-header__nav-list {
  display: flex;
  gap: 3rem;
}

.l-header__nav-item a {
  font-weight: 500;
  transition: color 0.3s;
}

.l-inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 3rem;
}

.l-mv {
  position: relative;
  background-color: #fff;
  background-image: linear-gradient(#f4f4f4 1px, transparent 1px), linear-gradient(90deg, #f4f4f4 1px, transparent 1px);
  background-size: 20px 20px;
  padding: 70px 0 40px;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .l-mv {
    margin-top: 80px;
    padding: 22px 0 0;
    max-height: 800px;
  }
}

.l-cta {
  background-image: url(../img/cta-bg-sp.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 15px 0;
  position: relative;
}
.l-cta.fv {
  margin-top: 50px;
}
@media screen and (min-width: 769px) {
  .l-cta {
    background-image: url(../img/cta-bg-pc.png);
    padding: 35px 30px 40px;
  }
  .l-cta.fv {
    margin-top: 10px;
    padding: 25px 30px 21px;
  }
}
@media screen and (min-width: 1400px) {
  .l-cta.fv {
    margin-top: -73px;
  }
}

.l-cta__zipper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  width: 100%;
  height: auto;
  z-index: 1;
}
.l-cta__zipper picture {
  width: 100%;
}
.l-cta__zipper picture img {
  width: 100%;
  display: block;
}
@media screen and (max-width: 576px) {
  .l-cta__zipper {
    bottom: -7px;
  }
}
@media screen and (min-width: 769px) {
  .l-cta__zipper {
    bottom: -5px;
  }
}
@media screen and (min-width: 1201px) {
  .l-cta__zipper {
    bottom: -8px;
  }
}
@media screen and (min-width: 1400px) {
  .l-cta__zipper {
    bottom: -15px;
  }
}

.l-cta.white {
  background-image: none;
  background-color: #fff;
  padding: 80px 0 100px;
}
@media screen and (min-width: 769px) {
  .l-cta.white {
    padding: 120px 0;
  }
}

.l-cta__inner.fv {
  max-width: 1295px;
  width: 100%;
  margin: 0 auto;
}

.l-anime__first {
  padding: 50px 0 0;
}
@media screen and (min-width: 769px) {
  .l-anime__first {
    padding: 150px 0 0;
  }
}

.l-worry {
  background-image: url(../img/worry-bg-sp.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (min-width: 769px) {
  .l-worry {
    background-image: url(../img/worry-bg-pc.png);
  }
}

.l-worry__zipper {
  position: absolute;
  left: 0;
  right: 0;
  top: -5px;
  width: 100%;
  height: auto;
  z-index: 1;
}
.l-worry__zipper img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 769px) {
  .l-worry__zipper {
    top: -7px;
  }
}

.l-info {
  position: relative;
  z-index: 2;
  margin-top: -170px;
}
.l-info .second {
  padding-top: 90px;
  padding-bottom: 100px;
}
@media screen and (min-width: 577px) {
  .l-info {
    margin-top: -250px;
  }
}
@media screen and (min-width: 769px) {
  .l-info {
    margin-top: -220px;
  }
  .l-info .second {
    padding-top: 300px;
    padding-bottom: 245px;
  }
}

.l-info__body {
  background-color: #fdf9e6;
  margin-top: -100px;
}
@media screen and (min-width: 769px) {
  .l-info__body {
    margin-top: -100px;
    padding: 0 20px;
  }
}
@media screen and (min-width: 1201px) {
  .l-info__body {
    padding: 0 40px;
  }
}

.l-features__list {
  padding-top: 80px;
  padding-bottom: 100px;
  position: relative;
}
.l-features__list.point01 {
  padding-bottom: 100px;
  background-color: #e5f7ff;
}
.l-features__list.point03 {
  padding-bottom: 30px;
  background-color: #e5f7ff;
}
.l-features__list.point04 {
  padding: 0 0 125px;
  background-color: #e5f7ff;
}
.l-features__list.point06 {
  padding-top: 20px;
  padding-bottom: 150px;
}
.l-features__list.point07 {
  padding-top: 125px;
  background-color: #e5f7ff;
}
.l-features__list.point08 {
  padding-top: 80px;
  padding-bottom: 50px;
  background-color: #e5f7ff;
}
@media screen and (min-width: 769px) {
  .l-features__list {
    padding-top: 100px;
  }
  .l-features__list.point01 {
    padding-bottom: 240px;
  }
  .l-features__list.point04 {
    padding-bottom: 300px;
  }
  .l-features__list.point06 {
    padding-bottom: 0;
  }
  .l-features__list.point07 {
    padding-top: 130px;
    margin-top: 200px;
  }
  .l-features__list.point08 {
    padding-top: 180px;
    padding-bottom: 90px;
  }
}

.l-features__list-zipper {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  top: -8px;
  width: calc(100% - 40px);
}
@media screen and (min-width: 769px) {
  .l-features__list-zipper {
    max-width: 1293px;
    top: -5px;
  }
}

.l-features__list-zipper02 {
  max-width: calc(100% - 40px);
  width: 100%;
  margin: 60px auto 0;
}
.l-features__list-zipper02 picture {
  display: block;
}
.l-features__list-zipper02 picture img {
  width: 100%;
  display: block;
}
@media screen and (min-width: 769px) {
  .l-features__list-zipper02 {
    max-width: 1300px;
    margin: 135px auto 0;
  }
}

.l-features__list-zipper03 {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -18px;
  width: calc(100% - 40px);
}
@media screen and (min-width: 577px) {
  .l-features__list-zipper03 {
    bottom: -25px;
  }
}
@media screen and (min-width: 769px) {
  .l-features__list-zipper03 {
    max-width: 1293px;
    bottom: -15px;
  }
}
@media screen and (min-width: 1201px) {
  .l-features__list-zipper03 {
    bottom: -18px;
  }
}

.l-features__point05-inner {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .l-features__point05-inner {
    max-width: 905px;
  }
}

.l-features__list-zipper04 {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  top: -48px;
  width: calc(100% - 40px);
}
@media screen and (min-width: 577px) {
  .l-features__list-zipper04 {
    top: -95px;
  }
}
@media screen and (min-width: 769px) {
  .l-features__list-zipper04 {
    max-width: 1293px;
    top: -56px;
  }
}
@media screen and (min-width: 993px) {
  .l-features__list-zipper04 {
    top: -85px;
  }
}
@media screen and (min-width: 1201px) {
  .l-features__list-zipper04 {
    top: -92px;
  }
}

.l-features__list-zipper05 {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: calc(100% - 40px);
}
@media screen and (min-width: 769px) {
  .l-features__list-zipper05 {
    max-width: 1293px;
    top: 0;
  }
}

.l-new {
  padding-top: 108px;
}
@media screen and (min-width: 769px) {
  .l-new {
    padding-top: 280px;
  }
}

.l-new__inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 25px;
}
@media screen and (min-width: 769px) {
  .l-new__inner {
    max-width: 1350px;
  }
}

.l-example {
  margin-top: 160px;
}
@media screen and (min-width: 769px) {
  .l-example {
    margin-top: 310px;
  }
}

.l-example__inner {
  background-color: #fdf9e6;
  margin-top: -50px;
}
@media screen and (min-width: 769px) {
  .l-example__inner {
    margin-top: -100px;
  }
}
@media screen and (min-width: 1201px) {
  .l-example__inner {
    margin-top: -150px;
  }
}

.l-example__title {
  margin-bottom: 102px;
}
@media screen and (min-width: 769px) {
  .l-example__title {
    margin-bottom: 150px;
  }
}

.l-faq__head {
  position: relative;
  text-align: center;
  background-color: #085ca2;
  padding: 13px 0;
}
@media screen and (min-width: 769px) {
  .l-faq__head {
    padding: 25px 0;
  }
}

.l-faq__inner {
  background-color: #e5f7ff;
  padding: 80px 0;
}
@media screen and (min-width: 769px) {
  .l-faq__inner {
    padding: 120px 0;
  }
}

.l-product {
  padding: 80px 0;
}
@media screen and (min-width: 769px) {
  .l-product {
    padding: 120px 0;
  }
}

.l-footer {
  width: 100%;
  border-top: 1px solid #000;
  padding: 70px 0 100px;
}
@media screen and (min-width: 769px) {
  .l-footer {
    padding: 85px 0;
  }
}

.l-footer__inner {
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .l-footer__inner {
    padding: 0 180px;
  }
}

.l-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
}

.l-fixed .l-cta {
  position: relative;
  background-image: none;
  padding-left: 14px;
  padding-right: 14px;
}
.l-fixed .l-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/cta-bg-sp.png);
  background-size: cover;
  background-position: center;
  opacity: 0.9;
  z-index: -1;
}

.l-fixed .c-cta__button,
.l-fixed .c-cta__button--contact,
.l-fixed .c-cta__button--buy {
  border-radius: 0;
  filter: none;
  height: 37px;
  padding: 0;
}

.l-fixed .c-cta__button--contact::after,
.l-fixed .c-cta__button--buy::after {
  display: none;
}

.l-fixed .c-cta__text--contact::before {
  width: 14px;
  height: 10px;
  left: 0;
}

.l-fixed .c-cta__text--buy::before {
  width: 15px;
  height: 16px;
  left: 0;
}

.l-fixed .c-cta__text--contact {
  width: fit-content;
  margin: 0 auto;
  padding-left: 20px;
}

.l-fixed .c-cta__text--buy {
  width: fit-content;
  margin: 0 auto;
  padding-left: 25px;
}

.l-fixed .p-cta {
  gap: 8px;
}

.l-fixed .p-cta__contact,
.l-fixed .p-cta__buy {
  width: 100%;
  max-width: 178px;
}

.l-fixed .c-cta__text {
  font-size: 1.4rem;
}

.l-fixed .c-cta__button::after::after {
  right: 12px;
}
@media screen and (min-width: 769px) {
  .l-fixed .c-cta__button::after::after {
    right: 43px;
  }
}

.c-btn {
  border-radius: 40px;
  max-width: 289px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #0d7cdb;
  height: 50px;
  filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.3));
  position: relative;
  padding-right: 37px;
  transition: 0.3s;
}
.c-btn::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 16px;
  background-image: url(../img/btn-arrow-bottom.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  top: 50%;
  right: 37px;
  transform: translateY(-50%) rotate(-90deg) translateX(0);
  transition: 0.3s;
}
.c-btn:hover {
  opacity: 0.8;
}
.c-btn:hover::before {
  right: 34px;
}
@media screen and (min-width: 769px) {
  .c-btn {
    max-width: 346px;
    border-radius: 48px;
    height: 60px;
    padding-right: 44px;
  }
  .c-btn::before {
    width: 18px;
    height: 19px;
    right: 44px;
  }
}

.c-btn__text {
  font-size: 2rem;
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .c-btn__text {
    font-size: 2.4rem;
    letter-spacing: 1.2px;
  }
}

.c-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .c-nav__list {
    gap: 20px;
  }
}
@media screen and (min-width: 993px) {
  .c-nav__list {
    gap: 40px;
  }
}
@media screen and (min-width: 1201px) {
  .c-nav__list {
    gap: 60px;
  }
}

.c-nav__item a {
  font-size: 1.4rem;
  color: #000;
  text-decoration: none;
  font-weight: 700;
  transition: color 0.3s;
}
.c-nav__item a:hover {
  color: #c4c5c9;
}
@media screen and (min-width: 769px) {
  .c-nav__item a {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1201px) {
  .c-nav__item a {
    font-size: 1.8rem;
  }
}

.c-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 25px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  filter: drop-shadow(3px 3px 4.8px rgba(0, 0, 0, 0.3));
  border-radius: 40px;
  height: 50px;
}
.c-cta__button::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background-image: url(../img/icon-arrow.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .c-cta__button {
    padding: 0 40px;
    border-radius: 48px;
    height: 62px;
    filter: drop-shadow(6px 6px 9.6px rgba(0, 0, 0, 0.3));
  }
  .c-cta__button::after {
    width: 18px;
    height: 19px;
    right: 43px;
  }
}

.c-cta__button--contact {
  background-color: #085ca2;
  color: #fff;
}

.c-cta__button--buy {
  background-color: #0d7cdb;
  color: #fff;
}

.c-cta__text {
  font-size: 2rem;
  font-weight: 500;
  position: relative;
  letter-spacing: 1.2px;
}
@media screen and (min-width: 769px) {
  .c-cta__text {
    font-size: 2.4rem;
  }
}

.c-cta__text--contact::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -29px;
  transform: translateY(-50%);
  width: 20px;
  height: 15px;
  background-image: url(../img/icon-mail.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .c-cta__text--contact::before {
    left: -32px;
    width: 24px;
    height: 20px;
  }
}

.c-cta__text--buy::before {
  position: absolute;
  content: "";
  top: 45%;
  left: -35px;
  transform: translateY(-50%);
  width: 21px;
  height: 25px;
  background-image: url(../img/icon-cart.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .c-cta__text--buy::before {
    left: -42px;
    width: 26px;
    height: 30px;
  }
}

.c-features__title {
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 42px;
}

.c-features__label, .c-features__label04, .c-features__label03, .c-features__label02, .c-features__label01 {
  border-radius: 26px;
  width: 150px;
  height: 37px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 2rem;
}
@media screen and (min-width: 769px) {
  .c-features__label, .c-features__label04, .c-features__label03, .c-features__label02, .c-features__label01 {
    width: 240px;
    height: 60px;
    font-size: 3.5rem;
  }
}

.c-features__label01 {
  background-color: #3fab9b;
}

.c-features__label02 {
  background-color: #45bdcf;
}

.c-features__label03 {
  background-color: #ff4453;
}

.c-features__label04 {
  background-color: #ffab1e;
}

.c-features__point05.first {
  margin-top: 107px;
  margin-bottom: 137px;
}
@media screen and (min-width: 769px) {
  .c-features__point05.first {
    margin-top: 156px;
    margin-bottom: 104px;
  }
}

.c-features__point05.second {
  margin-bottom: 110px;
}
@media screen and (min-width: 769px) {
  .c-features__point05.second {
    margin-bottom: 107px;
  }
}

.c-features__point05.third {
  margin-bottom: 64px;
}
@media screen and (min-width: 769px) {
  .c-features__point05.third {
    margin-bottom: 56px;
  }
}

.c-features__point05-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
}
.c-features__point05-head .c-features__label, .c-features__point05-head .c-features__label01, .c-features__point05-head .c-features__label02, .c-features__point05-head .c-features__label03, .c-features__point05-head .c-features__label04 {
  width: 136px;
}
@media screen and (min-width: 769px) {
  .c-features__point05-head {
    gap: 40px;
    flex-direction: row;
    align-items: flex-start;
  }
  .c-features__point05-head .c-features__label, .c-features__point05-head .c-features__label01, .c-features__point05-head .c-features__label02, .c-features__point05-head .c-features__label03, .c-features__point05-head .c-features__label04 {
    width: 215px;
    margin-top: 8px;
  }
}

.c-features__point05-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 30px;
  text-align: left;
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-features__point05-text {
    font-size: 2.4rem;
    line-height: 42px;
    width: calc(100% - 218px - 40px);
    max-width: 100%;
    margin: 0;
  }
}

.c-features__point05-image01 {
  margin-top: 47px;
  padding: 0 25px;
}
@media screen and (min-width: 769px) {
  .c-features__point05-image01 {
    width: 430px;
    margin-left: 255px;
    margin-top: 25px;
    padding: 0;
  }
}

.c-features__point05-image02 {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 50px;
}
.c-features__point05-image02 img {
  display: block;
}
.c-features__point05-image02 img:first-child {
  max-width: 340px;
  width: 100%;
  margin: 0 auto;
}
.c-features__point05-image02 img:last-child {
  max-width: 340px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-features__point05-image02 {
    margin-top: 40px;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    max-width: 900px;
    width: 100%;
  }
  .c-features__point05-image02 img:first-child {
    max-width: 49%;
    width: 100%;
    margin: 0 auto 0 0;
  }
  .c-features__point05-image02 img:last-child {
    max-width: 49%;
    width: 100%;
    margin: 0 0 0 auto;
  }
}

.c-features__point05-image03 {
  display: flex;
  flex-direction: column-reverse;
  gap: 67px;
  margin-top: 50px;
}
.c-features__point05-image03 img {
  display: block;
}
.c-features__point05-image03 img:first-child {
  max-width: 250px;
  width: 100%;
  margin: 0 auto;
}
.c-features__point05-image03 img:last-child {
  max-width: 340px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-features__point05-image03 {
    margin-top: 40px;
    flex-direction: row;
    justify-content: space-between;
    max-width: 900px;
    width: 100%;
    gap: 0;
  }
  .c-features__point05-image03 img:first-child {
    max-width: 34%;
    width: 100%;
    margin: 0 auto 0 0;
  }
  .c-features__point05-image03 img:last-child {
    max-width: 60%;
    width: 100%;
    margin: 0 0 0 auto;
  }
}

.c-faq__item {
  margin-bottom: 20px;
  /* details要素のアウトラインを削除 */
  /* detailsのデフォルト三角マークを非表示 */
  /* アコーディオンの中身のスタイル */
  /* アコーディオンが開いている時のスタイル */
  /* アコーディオンが開いた時のトグルアイコン */
}
.c-faq__item:focus {
  outline: none;
}
.c-faq__item::-webkit-details-marker {
  display: none;
}
.c-faq__item::details-content {
  transition: height 0.2s, opacity 0.2s, content-visibility 0.2s allow-discrete;
  height: 0;
  opacity: 0;
  overflow: clip;
}
.c-faq__item[open]::details-content {
  opacity: 1;
}
.c-faq__item[open] .c-faq__toggle {
  transform: rotate(180deg);
}

/* summary要素のデフォルト三角マークを非表示 */
.c-faq__question {
  position: relative;
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  list-style: none; /* 標準のマーカーを削除 */
}
.c-faq__question::-webkit-details-marker {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-faq__question {
    align-items: center;
  }
}

/* コンテンツラッパー（新規追加） */
.c-faq__content {
  width: 100%;
  padding: 0;
  /* モバイルとPC共通のトランジション */
  transition: height 0.2s, opacity 0.2s, margin 0.2s;
  will-change: height, opacity;
}

.c-faq__answer {
  display: flex;
  align-items: center;
  padding-top: 0;
  margin-top: 20px;
  /* モバイルとPC共通のトランジション */
  transition: margin 0.2s, opacity 0.2s;
}
@media screen and (min-width: 769px) {
  .c-faq__answer {
    padding-top: 0;
    margin-top: 50px;
    padding-right: 120px;
  }
}

/* height:0→autoへのアニメーションをサポートするブラウザ向け */
@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords; /* height:0（数値型） → auto（文字型） のアニメーションを可能にするための指定 */
  }
  .c-faq__item[open]::details-content {
    height: auto;
  }
}
/* height:0→autoへのアニメーションが対応していない場合は、固定値にアニメーションさせる */
@supports not (interpolate-size: allow-keywords) {
  .c-faq__item[open]::details-content {
    height: 100px;
    overflow-y: scroll;
  }
  @media screen and (min-width: 769px) {
    .c-faq__item[open]::details-content {
      height: 150px;
    }
  }
}
/* 非表示のときはマージンも消す - すべてのデバイスで適用 */
.c-faq__item:not([open]) .c-faq__answer {
  margin-top: 0;
  opacity: 0;
  transition: margin 0.2s, opacity 0.2s;
}

.c-faq__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  margin-right: 10px;
  flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .c-faq__icon {
    width: 100px;
    height: 100px;
    margin-right: 43px;
  }
}

.c-faq__icon span {
  color: #fff;
  font-family: "UD ShinGo Std TC", sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .c-faq__icon span {
    font-size: 5.2rem;
  }
}

.c-faq__icon--q {
  background-color: #085ca2;
}

.c-faq__icon--a {
  background-color: #fac02c;
}

.c-faq__text {
  font-weight: 500;
  font-size: 2rem;
  line-height: 30px;
  flex-grow: 1;
  margin-right: 10px;
}
@media screen and (min-width: 769px) {
  .c-faq__text {
    font-size: 3rem;
    line-height: 42px;
    margin-right: 30px;
  }
}

.c-faq__toggle {
  flex-shrink: 0;
  /* PC・モバイル共通のトランジション */
  width: 44px;
  height: 44px;
  transform-origin: center center;
}
@media screen and (min-width: 769px) {
  .c-faq__toggle {
    width: 100px;
    height: 100px;
  }
}

.c-faq__toggle--open {
  transform: rotate(180deg);
}

.p-cta {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.p-cta.center {
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 769px) {
  .p-cta {
    gap: 30px;
    justify-content: flex-start;
  }
  .p-cta.center {
    flex-direction: row;
    gap: 120px;
  }
}

.p-cta__inner {
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.p-cta__contact,
.p-cta__buy {
  width: 100%;
  max-width: 290px;
}
@media screen and (min-width: 769px) {
  .p-cta__contact,
  .p-cta__buy {
    max-width: 347px;
  }
}

.p-cta__text {
  margin-bottom: 60px;
}
.p-cta__text p {
  color: #579dd6;
  text-align: center;
  font-size: 2.8rem;
  line-height: 43px;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-cta__text {
    margin-bottom: 98px;
  }
  .p-cta__text p {
    font-size: 3.1rem;
    line-height: 60px;
  }
}

.p-header__logo {
  width: 110px;
}
@media screen and (min-width: 769px) {
  .p-header__logo {
    width: 130px;
  }
}
@media screen and (min-width: 993px) {
  .p-header__logo {
    width: 150px;
  }
}

.p-header__logo img {
  width: 100%;
  height: auto;
}

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

.p-burger {
  display: none;
  width: 30px;
  height: 20px;
  position: relative;
  cursor: pointer;
  z-index: 102;
  background: none;
  border: none;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-burger {
    display: block;
  }
}
.p-burger span {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #000;
  transition: all 0.3s;
}
.p-burger span:nth-child(1) {
  top: 0;
}
.p-burger span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.p-burger span:nth-child(3) {
  bottom: 0;
}
.p-burger.is-active {
  position: fixed;
  z-index: 103;
  top: 20px;
  right: 20px;
  transition: all 0.3s;
}
.p-burger.is-active span:nth-child(1) {
  top: 9px;
  opacity: 0;
}
.p-burger.is-active span:nth-child(2) {
  opacity: 0;
}
.p-burger.is-active span:nth-child(3) {
  bottom: 9px;
  transform: rotate(-45deg);
  background-color: #000;
}
.p-burger.is-active span:nth-child(3)::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #000;
  transform: rotate(90deg);
}

.p-burger__menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #fff;
  z-index: 101;
  overflow: hidden;
  transition: all 0.5s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transform: translateY(-100%);
}
.p-burger__menu.is-active {
  height: 100vh;
  opacity: 1;
  transform: translateY(0);
  overflow-y: auto;
}

.p-burger__menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s, transform 0.5s;
  transition-delay: 0.2s;
}
.p-burger__menu.is-active .p-burger__menu-list {
  opacity: 1;
  transform: translateY(0);
}

.p-burger__menu-item {
  margin-bottom: 2.5rem;
}
.p-burger__menu-item:last-child {
  margin-bottom: 0;
}
.p-burger__menu-item a {
  font-size: 1.8rem;
  font-weight: bold;
  color: #000;
  text-decoration: none;
  display: block;
  transition: color 0.3s;
}
.p-burger__menu-item a:hover {
  color: #666;
}

.p-mv__title {
  max-width: 90%;
  width: 100%;
  margin: 0 auto;
}
.p-mv__title img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 769px) {
  .p-mv__title {
    max-width: 70%;
    padding: 0;
  }
}
@media screen and (min-width: 1201px) {
  .p-mv__title {
    max-width: 807px;
  }
}

.p-mv__content {
  margin-top: 30px;
  z-index: 2;
  position: relative;
}
.p-mv__content img {
  width: 100%;
  display: block;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-mv__content {
    margin-top: 0;
  }
}
@media screen and (min-width: 1201px) {
  .p-mv__content {
    margin-top: -5px;
  }
}
@media screen and (min-width: 1400px) {
  .p-mv__content {
    margin-top: -50px;
  }
}

.p-mv__content-sp {
  margin-top: 24px;
}

.p-mv__content-sp-1 {
  max-width: calc(100% - 30px);
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .p-mv__content-sp-1 {
    max-width: 100%;
  }
}

.p-anime__title {
  text-align: left;
  color: #085ca2;
  font-size: 2.8rem;
  line-height: 42px;
  font-weight: 700;
  padding: 0 20px;
  letter-spacing: -1.4px;
}
@media screen and (min-width: 769px) {
  .p-anime__title {
    font-size: 5.2rem;
    line-height: 77px;
    padding: 0;
    text-align: center;
  }
}

.p-anime__iframe, .p-anime__iframe05, .p-anime__iframe04, .p-anime__iframe03, .p-anime__iframe02, .p-anime__iframe01 {
  max-width: 100%;
  margin: 2rem auto 30px;
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 56.25%;
}
@media screen and (min-width: 769px) {
  .p-anime__iframe, .p-anime__iframe05, .p-anime__iframe04, .p-anime__iframe03, .p-anime__iframe02, .p-anime__iframe01 {
    max-width: 90%;
    padding-bottom: 50.625%;
  }
}
@media screen and (min-width: 993px) {
  .p-anime__iframe, .p-anime__iframe05, .p-anime__iframe04, .p-anime__iframe03, .p-anime__iframe02, .p-anime__iframe01 {
    max-width: 80%;
    padding-bottom: 45%;
  }
}
.p-anime__iframe iframe, .p-anime__iframe05 iframe, .p-anime__iframe04 iframe, .p-anime__iframe03 iframe, .p-anime__iframe02 iframe, .p-anime__iframe01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

@media screen and (min-width: 769px) {
  .p-anime__iframe01 {
    max-width: 100%;
    padding-bottom: 56.25%;
  }
}

@media screen and (min-width: 769px) {
  .p-anime__iframe02 {
    max-width: 32%;
    padding-bottom: 32%;
  }
}

@media screen and (min-width: 769px) {
  .p-anime__iframe03 {
    max-width: 59%;
    padding-bottom: 38%;
  }
}

.p-anime__iframe04 {
  padding-bottom: 110%;
}
@media screen and (min-width: 769px) {
  .p-anime__iframe04 {
    max-width: 60%;
    padding-bottom: 74%;
  }
}

.p-anime__iframe05 {
  padding-bottom: 110%;
}
@media screen and (min-width: 769px) {
  .p-anime__iframe05 {
    max-width: 63%;
    padding-bottom: 72%;
  }
}

.p-worry {
  padding-top: 100px;
}
@media screen and (min-width: 769px) {
  .p-worry {
    padding-top: 120px;
  }
}

.p-worry__title {
  text-align: center;
  color: #085ca2;
  font-size: 4.2rem;
  line-height: 50px;
  font-weight: 800;
}
@media screen and (min-width: 769px) {
  .p-worry__title {
    font-size: 6.6rem;
    line-height: 80px;
    margin-bottom: 100px;
  }
}

.p-worry__image {
  width: 100%;
  margin-top: 20px;
  padding-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .p-worry__image {
    max-width: 905px;
    margin: 0 auto;
    padding-bottom: 0;
  }
}

.p-worry__image-1-sp {
  max-width: 222px;
  width: 100%;
  display: block;
  margin: 0 auto;
  height: auto;
}

.p-worry__image-2-sp {
  max-width: 260px;
  width: 100%;
  display: block;
  margin: 20px auto 0;
}

.p-info__title {
  margin: 0 auto;
  position: relative;
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .p-info__title {
    max-width: 1293px;
    width: 100%;
    padding: 0;
  }
}

.p-info__title-inner {
  position: absolute;
  content: "";
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  width: fit-content;
}
.p-info__title-inner h2 {
  text-align: center;
  color: #579dd6;
  font-size: 2.8rem;
  font-weight: 700;
  background-color: #fdf9e6;
  letter-spacing: -1.4px;
}
.p-info__title-inner h2.pattern-1 {
  width: 200px;
}
.p-info__title-inner h2.pattern-2 {
  width: 230px;
}
@media screen and (min-width: 769px) {
  .p-info__title-inner {
    top: -33px;
  }
  .p-info__title-inner h2 {
    font-size: 5.2rem;
    padding: 0 20px;
  }
  .p-info__title-inner h2.pattern-1 {
    width: 400px;
  }
  .p-info__title-inner h2.pattern-2 {
    width: 450px;
  }
}

.p-info__content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 20px;
  margin-top: 64px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-info__content {
    flex-direction: row;
    max-width: 1293px;
    margin: 152px auto 0;
    gap: 55px;
    padding: 0;
  }
}

.p-info__content-item {
  width: 100%;
  margin-bottom: 93px;
}
.p-info__content-item:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .p-info__content-item {
    width: calc(50% - 27.5px);
    margin-bottom: 0;
  }
}

.p-info__content-item-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 20px;
  margin-top: 10px;
}
.p-info__content-item-title.is-pc {
  display: none;
}
.p-info__content-item-title.is-sp {
  display: flex;
}
.p-info__content-item-title img {
  width: 40px;
}
.p-info__content-item-title h3 {
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .p-info__content-item-title {
    margin-bottom: 20px;
    margin-left: 0;
  }
  .p-info__content-item-title.is-pc {
    display: flex;
  }
  .p-info__content-item-title.is-sp {
    display: none;
  }
  .p-info__content-item-title img {
    width: 80px;
  }
  .p-info__content-item-title h3 {
    font-size: 2.8rem;
  }
}

.p-info__content-item-image {
  position: relative;
  padding: 0 25px;
}
@media screen and (min-width: 993px) {
  .p-info__content-item-image {
    padding: 0;
  }
}

.p-info__content-item-image-sub {
  position: absolute;
  content: "";
}
.p-info__content-item-image-sub.pattern-1 {
  right: -15px;
  bottom: -50px;
  width: 144px;
}
.p-info__content-item-image-sub.pattern-2 {
  right: -20px;
  bottom: -40px;
  width: 144px;
}
@media screen and (min-width: 993px) {
  .p-info__content-item-image-sub.pattern-1 {
    width: 258px;
    right: -43px;
    bottom: -75px;
  }
  .p-info__content-item-image-sub.pattern-2 {
    width: 253px;
    right: -30px;
    bottom: 0;
  }
}

.p-info__content-btn {
  padding-top: 17px;
  padding-bottom: 10px;
}
.p-info__content-btn .c-btn {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .p-info__content-btn {
    padding-top: 35px;
    padding-bottom: 15px;
  }
}

.p-info__new-image {
  max-width: 288px;
  width: 100%;
  margin: 56px auto 60px;
}
@media screen and (min-width: 769px) {
  .p-info__new-image {
    max-width: 780px;
    margin: 178px auto 110px;
  }
}

.p-info__new-list {
  display: flex;
  flex-direction: column;
  gap: 120px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-info__new-list {
    flex-direction: row;
    gap: 35px;
    max-width: 1350px;
    margin: 0 auto;
  }
}

.p-info__new-list-item {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-end;
  gap: 20px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-info__new-list-item {
    max-width: calc(33.3333333333% - 20px);
  }
}

.p-info__new-list-item-btn {
  margin-top: 17px;
}

.p-info__new-list-item__image {
  padding: 0 45px;
}
@media screen and (min-width: 769px) {
  .p-info__new-list-item__image {
    padding: 0;
  }
}

.p-info__new-pc-image {
  max-width: 330px;
  width: 100%;
  margin: 60px auto 80px;
}
@media screen and (min-width: 769px) {
  .p-info__new-pc-image {
    max-width: 780px;
    width: 100%;
    margin: 207px auto 225px;
  }
}

.p-info__news-list02 {
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-info__news-list02 {
    flex-direction: row;
    gap: 120px;
    max-width: 1300px;
    margin: 0 auto;
  }
}

.p-info__news-list02-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .p-info__news-list02-item {
    max-width: calc(50% - 50px);
    padding: 0;
  }
}

.p-info__news-list02-item__image {
  width: 100%;
}
.p-info__news-list02-item__image img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-info__news-list02-item__image {
    padding: 0;
  }
}

.p-info__news-list02-item__title {
  width: 100%;
  background-color: #579dd6;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5px 0;
}
.p-info__news-list02-item__title h3 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-info__news-list02-item__title {
    padding: 10px 0;
  }
  .p-info__news-list02-item__title h3 {
    font-size: 5.2rem;
  }
}

.p-features__title {
  background-color: #085ca2;
  width: 100%;
  padding: 20px 0;
}
@media screen and (min-width: 769px) {
  .p-features__title {
    padding: 20px 0;
  }
}

.p-features__subtitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
}
@media screen and (min-width: 769px) {
  .p-features__subtitle {
    flex-direction: row;
    gap: 40px;
  }
}

.p-features__subtitle-image {
  width: 132px;
  height: auto;
}
.p-features__subtitle-image img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-features__subtitle-image {
    width: 183px;
  }
}

.p-features__subtitle-text {
  text-align: center;
}
.p-features__subtitle-text h3 {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 40px;
  color: #579dd6;
  margin-bottom: 23px;
}
.p-features__subtitle-text p {
  font-size: 2rem;
  line-height: 30px;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .p-features__subtitle-text {
    text-align: left;
  }
  .p-features__subtitle-text h3 {
    font-size: 5.2rem;
    line-height: 77px;
    margin-bottom: 0;
  }
  .p-features__subtitle-text p {
    font-size: 3rem;
    line-height: 42px;
  }
}

.p-features__movie {
  width: 100%;
  max-width: calc(100% - 30px);
  margin: 60px auto 0;
  position: relative;
  aspect-ratio: 16/9;
}
.p-features__movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
@media screen and (min-width: 769px) {
  .p-features__movie {
    max-width: 1300px;
    aspect-ratio: 16/9;
    margin-top: 80px;
  }
}

.p-features__point01-image01 {
  max-width: calc(100% - 13px);
  width: 100%;
  margin-left: auto;
  margin-top: 55px;
}
@media screen and (min-width: 769px) {
  .p-features__point01-image01 {
    max-width: calc(100% - (100% - 1300px) / 2);
    margin-top: 95px;
  }
}

.p-features__point01-image02 {
  padding: 0 40px;
  width: 100%;
  margin-top: 57px;
}
@media screen and (min-width: 769px) {
  .p-features__point01-image02 {
    max-width: 1080px;
    margin: 40px auto 70px;
  }
}

.p-features__point01-text {
  padding: 0 18px;
  text-align: left;
  width: 80%;
  margin: 50px auto 0;
}
.p-features__point01-text p {
  font-size: 1.4rem;
  line-height: 22px;
}
@media screen and (min-width: 769px) {
  .p-features__point01-text {
    text-align: center;
    margin-top: 120px;
    padding: 0;
    margin: 0 auto;
  }
  .p-features__point01-text p {
    font-size: 3.7rem;
    line-height: 57px;
  }
}

.p-features__point01-line {
  max-width: calc(100% - 25px);
  width: 100%;
  margin: -8px auto 0;
  position: relative;
  z-index: 2;
}
.p-features__point01-line img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-features__point01-line {
    max-width: 1300px;
    margin: -5px auto 0;
  }
}

.p-features__point02-title {
  text-align: center;
  position: relative;
  margin: 65px auto 40px;
  background-color: #eb6d9a;
  max-width: 260px;
  width: 100%;
}
.p-features__point02-title h3 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.05em;
  text-align: center;
  color: #fff;
}
.p-features__point02-title::before {
  content: "";
  position: absolute;
  top: -5px;
  right: 0;
  width: calc(100% - 10px);
  height: calc(100% - 30px);
  background-color: #eb6d9a;
  opacity: 0.4;
  z-index: -1;
  transform: rotate(3deg);
}
@media screen and (min-width: 769px) {
  .p-features__point02-title {
    margin-top: 120px;
    padding: 10px;
    max-width: 385px;
  }
  .p-features__point02-title::before {
    top: -8px;
  }
  .p-features__point02-title h3 {
    font-size: 4.2rem;
  }
}

.p-features__point02-text {
  text-align: center;
  margin-top: 17px;
}
.p-features__point02-text p {
  font-size: 1.8rem;
  line-height: 30px;
}
@media screen and (min-width: 769px) {
  .p-features__point02-text {
    margin-top: 20px;
  }
  .p-features__point02-text p {
    font-size: 2.8rem;
    line-height: 53px;
  }
}

.p-features__point02-image, .p-features__point02-image04, .p-features__point02-image03, .p-features__point02-image02, .p-features__point02-image01 {
  max-width: 726px;
  width: 100%;
  margin: 0 auto;
}
.p-features__point02-image img, .p-features__point02-image04 img, .p-features__point02-image03 img, .p-features__point02-image02 img, .p-features__point02-image01 img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-features__point02-image, .p-features__point02-image04, .p-features__point02-image03, .p-features__point02-image02, .p-features__point02-image01 {
    margin-top: 68px;
  }
}

.p-features__point02-image01 {
  max-width: 305px;
  padding: 0 10px;
}
@media screen and (min-width: 769px) {
  .p-features__point02-image01 {
    max-width: 726px;
  }
}

.p-features__point02-image02 {
  max-width: 361px;
  padding: 0 10px;
}
@media screen and (min-width: 769px) {
  .p-features__point02-image02 {
    max-width: 812px;
  }
}

.p-features__point02-image03 {
  max-width: 373px;
  padding: 0 10px;
}
@media screen and (min-width: 769px) {
  .p-features__point02-image03 {
    max-width: 958px;
  }
}

.p-features__point02-image04 {
  max-width: 381px;
  padding: 0 10px;
}
@media screen and (min-width: 769px) {
  .p-features__point02-image04 {
    max-width: 1012px;
  }
}

.p-features__box {
  margin: 30px auto 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  gap: 38px;
}
@media screen and (min-width: 769px) {
  .p-features__box {
    margin-top: 95px;
    max-width: 1325px;
    flex-direction: row;
    gap: 60px;
  }
}

.p-features__box-content {
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .p-features__box-content {
    max-width: calc(50% - 30px);
  }
}

.p-features__box-content-image {
  margin-bottom: 27px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.p-features__box-content-image img {
  display: block;
}
@media screen and (min-width: 769px) {
  .p-features__box-content-image {
    margin-bottom: 32px;
    height: 540px;
  }
}

.p-features__box-content-text h3 {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 29px;
  letter-spacing: -0.42px;
  text-align: center;
  margin-bottom: 10px;
}
.p-features__box-content-text p {
  font-size: 1.6rem;
  line-height: 30px;
  letter-spacing: 0.8px;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .p-features__box-content-text h3 {
    font-size: 3.1rem;
    line-height: 42px;
    margin-bottom: 33px;
  }
  .p-features__box-content-text p {
    font-size: 2.4rem;
    line-height: 42px;
  }
}

.p-features__color {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 42px 17px;
  max-width: 290px;
  width: 100%;
  margin: 55px auto 0;
}
@media screen and (min-width: 769px) {
  .p-features__color {
    max-width: 1300px;
    gap: 35px;
    margin: 127px auto 0;
  }
}

.p-features__color-item {
  max-width: 84px;
  width: 100%;
}
.p-features__color-item img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  margin-bottom: 5px;
}
.p-features__color-item p {
  font-size: 1.6rem;
  line-height: 22px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-features__color-item {
    max-width: 230px;
  }
  .p-features__color-item img {
    margin-bottom: 10px;
  }
  .p-features__color-item img.is-yellow {
    height: auto;
  }
  .p-features__color-item p {
    font-size: 2.8rem;
    line-height: 53px;
  }
}

.p-features__point04-image {
  max-width: 100%;
  width: 100%;
  margin: 60px auto 0;
  padding: 0 35px;
}
@media screen and (min-width: 769px) {
  .p-features__point04-image {
    max-width: 752px;
    margin-top: 155px;
  }
}

.p-features__point05-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 20px auto 0;
  max-width: 315px;
  width: 100%;
}
.p-features__point05-menu li {
  width: calc(50% - 10px);
}
@media screen and (min-width: 769px) {
  .p-features__point05-menu {
    margin-top: 40px;
    gap: 43px 24px;
    max-width: 505px;
  }
  .p-features__point05-menu li {
    width: calc(50% - 24px);
  }
}

.p-features__point06-image {
  margin: 0 auto;
  padding: 0 5px;
  width: 100%;
}
.p-features__point06-image img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-features__point06-image {
    max-width: 1164px;
    margin: 30px auto 0;
  }
}

.p-features__point07-image {
  max-width: 100%;
  width: 100%;
  margin: 45px auto 0;
  padding: 0 20px;
}
.p-features__point07-image img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-features__point07-image {
    max-width: 1300px;
    padding: 0;
  }
}

.p-new__title {
  max-width: 260px;
  width: 100%;
  margin: 0 auto 40px;
}
@media screen and (min-width: 769px) {
  .p-new__title {
    margin: 0 auto 150px;
    max-width: 647px;
  }
}

.p-new__box {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 30px;
}
.p-new__box.is-pc {
  display: none;
}
.p-new__box.is-sp {
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-new__box {
    flex-direction: row;
    margin-bottom: 50px;
    gap: 20px;
  }
  .p-new__box.is-pc {
    display: flex;
  }
  .p-new__box.is-sp {
    display: none;
  }
  .p-new__box.last {
    margin-bottom: 0;
    gap: 60px;
  }
}

.p-new__box-content {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-new__box-content {
    width: calc(50% - 20px);
  }
  .p-new__box-content.small {
    width: calc(42% - 20px);
  }
}

.p-new__box-text {
  font-size: 1.6rem;
  line-height: 30px;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .p-new__box-text {
    font-size: 2.4rem;
    line-height: 42px;
  }
}

.p-new__cta {
  margin-top: 108px;
}
@media screen and (min-width: 769px) {
  .p-new__cta {
    margin-top: 258px;
  }
  .p-new__cta .p-cta {
    justify-content: center;
  }
}

.p-new__movie {
  width: 100%;
  max-width: calc(100% - 30px);
  margin: 60px auto 0;
  position: relative;
  aspect-ratio: 16/9;
}
.p-new__movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
@media screen and (min-width: 769px) {
  .p-new__movie {
    max-width: 1300px;
    aspect-ratio: 16/9;
    margin-top: 80px;
  }
}

.p-example__title {
  max-width: 298px;
  width: 100%;
  margin: 0 auto 30px;
}
@media screen and (min-width: 769px) {
  .p-example__title {
    max-width: 798px;
    margin: 0 auto 86px;
  }
}

.p-example__text {
  text-align: center;
  font-size: 2.1rem;
  line-height: 29px;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .p-example__text {
    font-size: 3.8rem;
    line-height: 70px;
  }
}

.p-example {
  max-width: 100%;
  width: 100%;
  padding: 0 20px;
}
.p-example.last {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .p-example {
    max-width: 1320px;
    margin: 0 auto 85px;
    padding: 0;
  }
}

.p-example__subtitle, .p-example__subtitle05, .p-example__subtitle03,
.p-example__subtitle04, .p-example__subtitle02, .p-example__subtitle01 {
  margin: 0 auto 30px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-example__subtitle, .p-example__subtitle05, .p-example__subtitle03,
  .p-example__subtitle04, .p-example__subtitle02, .p-example__subtitle01 {
    margin: 0 auto 72px;
  }
}

.p-example__subtitle01 {
  max-width: 163px;
}
@media screen and (min-width: 769px) {
  .p-example__subtitle01 {
    max-width: 265px;
  }
}

.p-example__subtitle02 {
  max-width: 218px;
}
@media screen and (min-width: 769px) {
  .p-example__subtitle02 {
    max-width: 396px;
  }
}

.p-example__subtitle03,
.p-example__subtitle04 {
  max-width: 146px;
}
@media screen and (min-width: 769px) {
  .p-example__subtitle03,
  .p-example__subtitle04 {
    max-width: 265px;
  }
}

.p-example__subtitle05 {
  max-width: 311px;
}
@media screen and (min-width: 769px) {
  .p-example__subtitle05 {
    max-width: 572px;
    margin-bottom: 20px;
  }
}

.p-example__line {
  width: 100%;
  height: 1px;
  background-color: #000;
  display: none;
}
@media screen and (min-width: 769px) {
  .p-example__line {
    display: block;
  }
}

.p-example__box {
  display: flex;
  flex-direction: column;
  gap: 70px;
  margin-bottom: 100px;
}
.p-example__box.box-four {
  margin-bottom: 70px;
}
.p-example__box.box-last {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .p-example__box {
    flex-direction: row;
    gap: 140px;
    margin-bottom: 0;
  }
}

.p-example__box-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
.p-example__box-content.box-last-content {
  margin-bottom: 85px;
}
.p-example__box-content h4 {
  font-size: 2.8rem;
  line-height: 43px;
  font-weight: 700;
  color: #579dd6;
  text-align: center;
}
.p-example__box-content p {
  font-size: 1.5rem;
  line-height: 25px;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .p-example__box-content {
    max-width: calc(50% - 70px);
    margin-bottom: 107px;
  }
  .p-example__box-content.box-last-content {
    margin-bottom: 20px;
  }
  .p-example__box-content h4 {
    font-size: 4.7rem;
    line-height: 68px;
  }
  .p-example__box-content p {
    font-size: 2.3rem;
    line-height: 33px;
    margin-bottom: 25px;
  }
}

.p-example__image, .p-example__image05-1, .p-example__image04-1, .p-example__image03-2, .p-example__image03-1, .p-example__image02-4, .p-example__image02-3, .p-example__image02-2, .p-example__image02-1, .p-example__image01-2, .p-example__image01-1 {
  width: 100%;
  margin: 0 auto;
}

.p-example__image01-1 {
  max-width: 236px;
  margin-top: 22px;
  margin-bottom: 14px;
}
@media screen and (min-width: 769px) {
  .p-example__image01-1 {
    max-width: 372px;
  }
}

.p-example__image01-2 {
  max-width: 230px;
}
@media screen and (min-width: 769px) {
  .p-example__image01-2 {
    max-width: 604px;
  }
}

.p-example__image02-1 {
  max-width: 305px;
}
@media screen and (min-width: 769px) {
  .p-example__image02-1 {
    max-width: 519px;
    margin-top: 58px;
  }
}

.p-example__image02-2 {
  max-width: 334px;
}
@media screen and (min-width: 769px) {
  .p-example__image02-2 {
    max-width: 529px;
    margin-top: 125px;
  }
}

.p-example__image02-3 {
  max-width: 321px;
}
@media screen and (min-width: 769px) {
  .p-example__image02-3 {
    max-width: 494px;
    margin-top: 58px;
  }
}

.p-example__image02-4 {
  max-width: 341px;
}
@media screen and (min-width: 769px) {
  .p-example__image02-4 {
    max-width: 553px;
    margin-top: 44px;
  }
}

.p-example__image03-1 {
  max-width: 335px;
}
@media screen and (min-width: 769px) {
  .p-example__image03-1 {
    max-width: 456px;
    margin-top: 37px;
  }
}

.p-example__image03-2 {
  max-width: 338px;
}
@media screen and (min-width: 769px) {
  .p-example__image03-2 {
    max-width: 477px;
    margin-top: 125px;
  }
}

.p-example__image04-1 {
  max-width: 280px;
  margin-top: 0;
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .p-example__image04-1 {
    max-width: 360px;
    margin-top: 15px;
    margin-bottom: 0;
  }
}

.p-example__image05-1 {
  max-width: 305px;
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .p-example__image05-1 {
    max-width: 595px;
    margin-top: 48px;
  }
}

.p-faq__title {
  color: #fff;
  font-size: 3.5rem;
  line-height: 46px;
}
@media screen and (min-width: 769px) {
  .p-faq__title {
    font-size: 5.2rem;
    line-height: 77px;
  }
}

.p-faq__container {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  gap: 50px;
}
@media screen and (min-width: 769px) {
  .p-faq__container {
    max-width: 1030px;
    gap: 100px;
  }
}

.p-product__title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  list-style: 48px;
  color: #085ca2;
}
@media screen and (min-width: 769px) {
  .p-product__title {
    font-size: 4.7rem;
  }
}

.p-product__subtitle {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  list-style: 48px;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .p-product__subtitle {
    font-size: 3rem;
    margin-bottom: 15x;
    text-align: left;
  }
}

.p-product {
  margin-top: 40px;
  margin-bottom: 147px;
}
@media screen and (min-width: 769px) {
  .p-product {
    margin-top: 67px;
    margin-bottom: 175px;
  }
}

.p-product__tabs {
  justify-content: center;
  gap: 5px;
}
.p-product__tabs.is-sp {
  display: flex;
}
.p-product__tabs.is-pc {
  display: none;
}
@media screen and (min-width: 769px) {
  .p-product__tabs {
    gap: 7px;
    justify-content: flex-start;
  }
  .p-product__tabs.is-sp {
    display: none;
  }
  .p-product__tabs.is-pc {
    display: flex;
  }
}

.p-product__tab {
  border-radius: 6px;
  border: 1px solid #000;
  background: #fff;
  box-shadow: 2.4px 2.4px 4.8px 0px rgba(0, 0, 0, 0.2);
  color: #000;
  font-size: 1.6rem;
  height: 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  appearance: none;
}
.p-product__tab.is-active {
  background: #579dd6;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-product__tab {
    font-size: 2rem;
    height: 45px;
    padding: 0 18px;
    border-radius: 7.2px;
  }
}

.p-product__box {
  width: 100%;
  margin: 0 auto 20px;
}
@media screen and (min-width: 769px) {
  .p-product__box {
    display: flex;
    align-items: flex-end;
    max-width: 1095px;
    gap: 100px;
  }
  .p-product__box.last {
    align-items: center;
  }
}

.p-product__image {
  padding: 0 20px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  min-height: 300px;
  max-width: 295px;
  margin: 20px auto 0;
}
.p-product__image.last {
  min-height: auto;
}
.p-product__image.p-product__image03 {
  min-height: 250px;
}
@media screen and (min-width: 769px) {
  .p-product__image {
    padding: 0;
    min-height: 600px;
    max-width: calc(100% - 440px - 100px);
    margin: 0 auto;
  }
  .p-product__image.p-product__image03 {
    min-height: 600px;
  }
}

.p-product__content {
  margin-top: 20px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-product__content {
    margin-top: 30px;
    max-width: 440px;
  }
}

.p-product__content-text01 {
  font-size: 2rem;
  font-weight: 700;
  margin: 15px 0 5px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-product__content-text01 {
    font-size: 2.4rem;
    text-align: left;
  }
}

.p-product__content-text02 {
  font-size: 1.4rem;
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-product__content-text02 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    text-align: left;
  }
}

.p-product__content-color {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 20px auto 20px;
  max-width: 190px;
  width: 100%;
}
.p-product__content-color li {
  width: 50px;
}
.p-product__content-color li img {
  width: 42px;
  margin: 0 auto 5px;
}
.p-product__content-color li p {
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-product__content-color {
    gap: 13px;
    margin: 30px 0 20px;
    max-width: 100%;
  }
  .p-product__content-color li {
    width: 65px;
  }
  .p-product__content-color p {
    font-size: 1.5rem;
  }
}

.p-product__content-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 15px 0 20px;
}
@media screen and (min-width: 769px) {
  .p-product__content-button {
    padding: 20px 0 26px;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.p-product__bottom {
  width: 100%;
  padding: 0 20px;
}
.p-product__bottom a {
  transition: opacity 0.3s;
}
.p-product__bottom a:hover {
  opacity: 0.7;
}
@media screen and (min-width: 769px) {
  .p-product__bottom {
    max-width: 1300px;
    margin: 0 auto;
  }
}

.p-footer {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 17px;
}
@media screen and (min-width: 769px) {
  .p-footer {
    gap: 70px;
    justify-content: flex-start;
  }
}

.p-footer__award {
  max-width: 90px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-footer__award {
    max-width: 143px;
  }
}

.p-footer__award-image {
  width: 100%;
  height: auto;
}

.p-footer__info {
  display: flex;
  flex-direction: column;
  text-align: left;
  align-items: flex-start;
}

.p-footer__contact {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .p-footer__contact {
    font-size: 2.16rem;
    margin-bottom: 15px;
  }
}

.p-footer__company {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  width: 100%;
  gap: 19px;
}
@media screen and (min-width: 769px) {
  .p-footer__company {
    flex-direction: row;
    align-items: center;
    gap: 26px;
  }
}

.p-footer__logo {
  max-width: 154px;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 769px) {
  .p-footer__logo {
    max-width: 205px;
  }
}

.p-footer__company-label {
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .p-footer__company-label {
    font-size: 1.92rem;
  }
}

.p-footer__address {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .p-footer__address {
    font-size: 1.7rem;
    line-height: 27px;
  }
}

.p-footer__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 20px;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .p-footer__title {
    font-size: 2.4rem;
    margin-bottom: 15px;
    margin-top: 5px;
  }
}

.u-margin__rest {
  margin-top: 0;
}

.u-example__box-title {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .u-example__box-title {
    margin-top: 48px;
  }
}

/*# sourceMappingURL=style.css.map */
