@charset "UTF-8";

@font-face {
  font-family: "font";
  src: url("../fonts/SourceHanCodeJP-Medium.otf");
  font-weight: medium;
  font-style: normal;
}

@font-face {
  font-family: "font";
  src: url("../fonts/SourceHanCodeJP-Bold.otf");
  font-weight: bold;
  font-style: normal;
}

body {
  font-family: "source-han-serif-japanese", serif;
}

a[href^="tel:"] {
  pointer-events: none;
}

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.7;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
  padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */

html {
  scroll-behavior: smooth;
}

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */

img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.button__box {
  position: absolute;
  top: 48%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  margin-inline: auto;
  width: 57.2vw;
  height: 15.8vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: clamp(5px, 1.5vw, 30px);
}

.button {
  display: inline-block;
  position: relative;
  width: 25.65vw;
  height: 8.95vw;
  padding: 1em 1.5em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  -webkit-transition: 300ms;
  transition: 300ms;
}

.button::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #b5e7ff;
  -webkit-transition: 300ms;
  transition: 300ms;
  -webkit-animation: shinyshiny 3.5s ease-in-out infinite;
          animation: shinyshiny 3.5s ease-in-out infinite;
}

.button.button-01 {
  background-image: linear-gradient(18deg, rgb(184, 25, 27), rgb(216, 48, 47) 62%, rgb(219, 72, 71) 69%, rgb(209, 42, 42) 76%, rgb(184, 25, 27));
}

.button.button-02 {
  background-image: linear-gradient(36deg, rgb(184, 25, 27), rgb(216, 48, 47) 27%, rgb(219, 72, 71) 30%, rgb(209, 42, 42) 37%, rgb(184, 25, 27));
  margin-left: 1.25vw;
}

.button__text {
  width: clamp(100px, 22vw, 440px);
  height: auto;
  aspect-ratio: 440/123;
}

.button__text img {
  height: 100%;
}

.button01:hover {
  text-decoration: none;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}

@-webkit-keyframes shinyshiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.button02 {
  width: 62.5rem;
  height: 8.75rem;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#b31417), to(#d33));
  background-image: linear-gradient(to top, #b31417, #d33);
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #fcfcfd;
  letter-spacing: 7.6px;
  -webkit-animation: fuwafuwa 1s ease 0s infinite alternate;
          animation: fuwafuwa 1s ease 0s infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
  cursor: pointer;
}

@-webkit-keyframes fuwafuwa {
  from {
    -webkit-transform: scale(0.95, 0.95);
            transform: scale(0.95, 0.95);
  }

  to {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@keyframes fuwafuwa {
  from {
    -webkit-transform: scale(0.95, 0.95);
            transform: scale(0.95, 0.95);
  }

  to {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

/* 共通パーツ */

.inner {
  width: clamp(400px, 58.7vw, 1174px);
  padding-inline: 0.9375rem;
  margin-inline: auto;
}

.tab-show {
  display: none;
}

.sp-show {
  display: none;
}

.footer {
  width: 100%;
}

.footer__container {
  padding: 1.5vw;
}

.footer__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-list {
  font-size: clamp(10px, 0.8vw, 16px);
  font-weight: 400;
  color: #090909;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 400;
}

.footer-list:not(:first-child) {
  margin-left: 10px;
  padding-left: 10px;
  border-left: solid #090909 1px;
  margin-right: 20px;
}

.fv01__img {
  width: 100%;
  height: auto;
  aspect-ratio: 2000/1076;
}

.fv01__img img {
  aspect-ratio: 2000/1076;
}

.fv02__img {
  width: 100%;
  height: auto;
  aspect-ratio: 2000/804;
}

.fv02__img img {
  aspect-ratio: 2000/804;
}

.fv02 {
  position: relative;
}

.webp .section01 {
  background: url(../img/section01-bg.webp) no-repeat top/cover;
}

.no-webp .section01 {
  background: url(../img/section01-bg.jpg) no-repeat top/cover;
}

.section01 {
  width: 100%;
  height: 100%;
  padding-top: clamp(35px, 4.25vw, 85px);
  padding-bottom: clamp(41px, 4.75vw, 95px);
  padding-bottom: clamp(35px, 10.6666666667vw, 80px);
}

.section01__container {
  text-align: center;
}

.section01__title01 {
  font-size: clamp(26.3px, 2.9vw, 58px);
  font-family: "source-han-serif-japanese", serif;
  font-weight: bold;
  color: #0c47a1;
  line-height: 1.2;
  letter-spacing: 0.02em;
  white-space: nowrap;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.section01__title02 {
  font-size: clamp(26.3px, 2.9vw, 58px);
  font-family: "source-han-serif-japanese", serif;
  font-weight: bold;
  color: #0c47a1;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-top: clamp(3px, 0.4vw, 8px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.section__border {
  width: 100%;
  height: clamp(6.5px, 0.65vw, 13px);
  background-color: #0c47a1;
  margin-top: clamp(10px, 3vw, 60px);
}

.section01__text {
  -moz-text-align-last: left;
       text-align-last: left;
  font-size: clamp(16px, 1.35vw, 27px);
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #090909;
  line-height: 1.93;
  letter-spacing: -0.01em;
  width: clamp(301px, 57.6vw, 1152px);
  padding-right: 0.9375rem;
  margin-inline: auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: left;
}

.section01__text01 {
  margin-top: clamp(33px, 4.1vw, 82px);
}

.text--nowrap {
  white-space: nowrap;
}

.section02__img {
  display: block;
  width: 100%;
  height: 100%;
}

.section02__img img,
.section02__img source {
  width: 100%;
  height: 100%;
}

.webp .section03 {
  background: url(../img/section03-bg.webp) no-repeat top/cover;
}

.no-webp .section03 {
  background: url(../img/section03-bg.jpg) no-repeat top/cover;
}

.section03 {
  width: 100%;
  height: 100%;
  margin-top: -0.1875rem;
  padding-top: clamp(68px, 6.8vw, 136px);
  padding-bottom: clamp(62px, 6.65vw, 133px);
  position: relative;
}

.section03__border {
  position: absolute;
  width: auto;
  height: 27.6vw;
  aspect-ratio: 13/207;
  left: 50%;
  top: -19.6vw;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 5;
}

.section03__border img,
.section03__border source {
  width: 100%;
  height: 100%;
}

.section03__container {
  text-align: center;
}

.section03__title {
  text-align: center;
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(14px, 2.15vw, 43px);
  font-weight: bold;
  font-variation-settings: "wght" bold;
  color: #fcfcfd;
  letter-spacing: 0.04em;
  line-height: 1.42;
  background-color: #0f308d;
  padding: clamp(5px, 1.25vw, 30px) 0 clamp(5px, 1.5vw, 30px) clamp(5px, 1vw, 20px);
}

.section03__texts {
  background-color: #fff;
  text-align: left;
  padding: clamp(5px, 2.65vw, 53px) 0;
}

.section03__text {
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(19px, 1.9vw, 38px);
  font-weight: bold;
  font-variation-settings: "wght" bold;
  color: #090909;
  letter-spacing: 0.1em;
  line-height: 1.3;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-inline: clamp(20px, 5vw, 100px);
}

.section03__lists {
  margin-top: clamp(-19px, -0.4vw, -1px);
  padding-left: clamp(40px, 5.75vw, 115px);
  padding-right: clamp(10px, 1.5vw, 30px);
}

.section03__list {
  font-family: "font", "source-han-sans-jp-variable", sans-serif;
  font-size: clamp(10px, 1.25vw, 25px);
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #090909;
  letter-spacing: 0.07em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-top: clamp(10px, 2.4vw, 48px);
  position: relative;
}

.show-1000 {
  display: none;
}

.section03__list::before {
  position: absolute;
  content: "";
  width: clamp(10px, 1.65vw, 33px);
  height: auto;
  aspect-ratio: 33/36;
  background: url(../img/checkbox.png) top/contain;
  top: 53%;
  left: -4%;
}

.section03__list--1 {
  line-height: 1.5;
}

.no-wrap {
  white-space: nowrap;
}

.section03__list--2 {
  padding-top: 6px;
}

.section03__list.section03__list03::before {
  top: 38%;
}

.section03__blue {
  font-weight: bold;
  font-variation-settings: "wght" bold;
  padding-right: clamp(3px, 0.35vw, 7px);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, rgba(12, 71, 161, 0.5)));
  background: linear-gradient(transparent 60%, rgba(12, 71, 161, 0.5) 60%);
}

.section03__blue.section03__blue--2 {
  line-height: 1.2;
}

.section03__list--02 {
  margin-top: 0.3125rem;
}

.section04 {
  padding-top: clamp(10px, 4.55vw, 91px);
  padding-bottom: clamp(80px, 9.25vw, 185px);
}

.section04__title {
  text-align: center;
  width: clamp(400px, 58.7vw, 1174px);
  padding-left: clamp(5px, 2vw, 40px);
  padding-right: clamp(5px, 0.75vw, 15px);
  margin-inline: auto;
}

.section04__title01 {
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(16px, 2.9vw, 58px);
  font-weight: bold;
  color: #0c47a1;
  letter-spacing: 0.008em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
}

.section04__title02 {
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(24px, 2.9vw, 58px);
  font-weight: bold;
  color: #0c47a1;
  letter-spacing: 0.01em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
  padding-top: clamp(3px, 0.5vw, 10px);
  padding-bottom: clamp(3px, 0.35vw, 7px);
}

.section04__reason {
  padding-top: clamp(20px, 2.1vw, 42px);
}

.reason__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: clamp(30px, 4.5vw, 90px);
}

.reason__container.reason__container--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.reason__img {
  display: block;
  width: 47.45vw;
  height: auto;
  aspect-ratio: 949/514;
}

.reason__img.reason__img--last {
  margin-top: -2vw;
}

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

.reason__texts {
  position: relative;
  -webkit-box-shadow: 3px 4px 4.7px 0.3px rgba(10, 2, 5, 0.25);
          box-shadow: 3px 4px 4.7px 0.3px rgba(10, 2, 5, 0.25);
  width: 33.5vw;
  height: 13.6vw;
  margin-left: -2.5vw;
  background-color: #fcfcfd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: -10px;
}

.reason__texts.reason__texts--reverse {
  -webkit-box-shadow: -2.2px 4.5px 4.7px 0.3px rgba(10, 2, 5, 0.25);
          box-shadow: -2.2px 4.5px 4.7px 0.3px rgba(10, 2, 5, 0.25);
  margin-left: 3.7333333333vw;
  margin-right: -2.2vw;
}

.reason__texts.reason__texts--03 {
  margin-top: -1.6vw;
}

.reason__text01 {
  position: absolute;
  width: 19.5vw;
  height: auto;
  aspect-ratio: 380/84;
  top: -22%;
  left: 8%;
}

.reason__text01.reason__text01--reverse {
  top: -26%;
  left: 10%;
}

.reason__text01.reason__text01--03 {
  top: -24%;
  left: 8%;
}

.reason__text01 img {
  width: 100%;
  height: 100%;
}

.reason__text02 {
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(17.5px, 1.75vw, 35px);
  font-weight: bold;
  color: #090909;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.94;
  -moz-text-align-last: left;
       text-align-last: left;
  padding-left: clamp(25px, 2.5vw, 50px);
  margin-top: -10px;
}

.section04__blue {
  color: #0c47a1;
}

.webp .section05 {
  background: url(../img/section05-bg.webp) no-repeat top/cover;
}

.no-webp.section05 {
  background: url(../img/section05-bg.jpg) no-repeat top/cover;
}

.section05 {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: -1;
}

.section05__container {
  background-color: #fcfcfd;
  padding: clamp(10px, 3.65vw, 73px) clamp(5px, 1.3vw, 26px) clamp(30px, 6.5vw, 130px);
  width: clamp(300px, 57.1vw, 1142px);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.section05__img {
  width: clamp(100px, 52.2vw, 1044px);
  height: auto;
  aspect-ratio: 1044/340;
  display: block;
}

.section05__img img {
  width: inherit;
  height: 100%;
}

.section05__items {
  padding-left: clamp(5px, 1.7vw, 34px);
  padding-right: clamp(5px, 2vw, 40px);
}

.section05__item01 {
  margin-top: clamp(5px, 2.85vw, 57px);
}

.section05__text {
  font-family: "font", "source-han-sans-jp-variable", sans-serif;
  font-size: clamp(15px, 1.25vw, 25px);
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #090909;
  line-height: 1.56;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-left: 1em;
}

.section05__text.section05__title01,
.section05__text.section05__title02 {
  color: #fcfcfd;
  position: relative;
}

.section05__title01 {
  padding-inline: clamp(5px, 1vw, 20px);
  display: inline-block;
  background-image: -webkit-gradient(linear, left top, right top, from(#6093e2), color-stop(#3072d7), to(#0c47a1)), -webkit-gradient(linear, left top, right top, from(#d7d7d7), to(#fff));
  background-image: linear-gradient(to right, #6093e2, #3072d7, #0c47a1), linear-gradient(to right, #d7d7d7, #fff);
  -webkit-clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
          clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
}

.section05__item02 {
  margin-top: clamp(5px, 1.8vw, 36px);
}

.section05__title02 {
  padding-inline: clamp(5px, 1vw, 20px);
  display: inline-block;
  background-image: -webkit-gradient(linear, left top, right top, from(#78d7ba), color-stop(#76d7ba), to(#15adcf)), -webkit-gradient(linear, left top, right top, from(#0f308d), to(#b3d5f9));
  background-image: linear-gradient(to right, #78d7ba, #76d7ba, #15adcf), linear-gradient(to right, #0f308d, #b3d5f9);
  -webkit-clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
          clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
}

.section05__item03 {
  margin-top: clamp(5px, 2.25vw, 45px);
}

.section05__item04 {
  margin-top: clamp(5px, 1.9vw, 38px);
}

.section05__text.section05__text--small {
  line-height: 1.3;
}

.campaign {
  position: relative;
  height: clamp(150px, 13.85vw, 277px);
  width: 100%;
}

.campaign img,
.campaign source {
  height: 100%;
}

.campaign__img02 {
  position: absolute;
  width: clamp(50px, 10.8vw, 216px);
  height: auto;
  aspect-ratio: 108/122;
  top: -0.85vw;
  left: 25%;
}

.section06 {
  padding-top: clamp(30px, 2.4vw, 48px);
  padding-bottom: clamp(30px, 13.5vw, 270px);
}

.section06-title {
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(29px, 2.9vw, 58px);
  font-weight: bold;
  color: #0c47a1;
  letter-spacing: 0.25em;
  text-align: center;
}

.section06_wrapper {
  margin-top: clamp(10px, 6.85vw, 137px);
  padding-left: clamp(5px, 3vw, 60px);
  width: clamp(200px, 57.2vw, 1144px);
  margin-inline: auto;
  border-bottom: solid clamp(6px, 0.65vw, 13px) #0c47a1;
  border-right: solid clamp(6px, 0.65vw, 13px) #0c47a1;
}

.section6__container {
  width: clamp(340px, 50vw, 1000px);
  padding: clamp(5px, 2.2vw, 44px) clamp(10px, 0.75vw, 15px) clamp(10px, 6.95vw, 139px);
  position: relative;
}

.section06__img {
  display: block;
  position: absolute;
  width: clamp(30px, 14.9vw, 298px);
  height: auto;
  aspect-ratio: 298/355;
  right: clamp(-13px, -0.65vw, -1px);
  top: clamp(5px, 2.25vw, 45px);
}

.section06__img img,
.section06__img source {
  width: 100%;
  height: 100%;
  aspect-ratio: 152/182;
}

.section06__text01 {
  font-family: "font", "source-han-sans-jp-variable", sans-serif;
  font-size: clamp(15.5px, 1.55vw, 31px);
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #000;
  letter-spacing: 0.07em;
  line-height: 1.2;
}

.section06__text02 {
  font-family: "source-han-serif-japanese", serif;
  font-size: clamp(28px, 2.8vw, 56px);
  font-weight: 900;
  font-variation-settings: "wght" 900;
  color: #000;
  letter-spacing: 0.27em;
  margin-top: clamp(5px, 0.7vw, 14px);
}

.section06__text03 {
  font-family: "font", "source-han-sans-jp-variable", sans-serif;
  font-size: clamp(15px, 1.5vw, 30px);
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #000;
  letter-spacing: 0.04em;
}

.section06__text04 {
  max-width: clamp(200px, 44.5vw, 890px);
  font-family: "font", "source-han-sans-jp-variable", sans-serif;
  font-size: clamp(15px, 1.25vw, 25px);
  font-weight: 500;
  font-variation-settings: "wght" 500;
  color: #000;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.55;
  margin-top: clamp(5px, 2.15vw, 43px);
}

.low {
  padding-top: 3.75rem;
  padding-bottom: 6.25rem;
  position: relative;
}

.low__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.low__heading {
  font-size: 1.5rem;
}

.section__title.low__title {
  margin-left: 52.5%;
}

.low__inner {
  width: 100%;
  max-width: 55.875rem;
  padding: 0 0.9375rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.low__box {
  width: 100%;
  margin-top: 3.125rem;
  border: solid 1px #090909;
  border-collapse: collapse;
}

.low__items {
  width: 100%;
}

.low__item {
  padding: 0.625rem;
  width: 24.1%;
  font-size: 1rem;
  font-weight: 700;
  color: #090909;
  line-height: 1.75rem;
  position: relative;
  background-color: lightgray;
  border: solid 1px #090909;
  border-collapse: collapse;
}

.low__body {
  padding: 0.625rem;
  width: 75.8%;
  font-weight: 400;
  position: relative;
  border: solid 1px #090909;
  border-collapse: collapse;
}

.low__text {
  font-weight: 400;
}

.low__item,
.low__body,
.low__text {
  font-size: 1rem;
  color: #090909;
  line-height: 1.75rem;
}

.law__button {
  margin-top: 3.125rem;
  text-align: center;
}

.law__button-text {
  padding: 0.9375rem 1.875rem;
  background-color: #0c47a1;
  color: #fcfcfd;
  font-family: "font", "source-han-sans-jp-variable", sans-serif;
}

.fv__text--27 {
  font-size: clamp(12px, 1.35vw, 27px);
}

.fv__text--28 {
  font-size: clamp(12px, 1.4vw, 28px);
}

.text__28 {
  font-size: clamp(12px, 1.4vw, 28px);
}

.fv__text--38 {
  font-size: clamp(15.5px, 1.9vw, 38px);
}

.fv__text--40 {
  font-size: clamp(16.3px, 2vw, 40px);
}

.fv__text--43 {
  font-size: clamp(1px, 2.175vw, 43.5px);
}

.fv__text--46 {
  font-size: clamp(14px, 2.3vw, 46px);
  letter-spacing: -0.03em;
}

.fv__text--48 {
  font-size: clamp(28px, 2.4vw, 48px);
}

.fv__text--50 {
  font-size: clamp(16px, 2.5vw, 50px);
}

.fv__text--52 {
  font-size: clamp(16px, 2.6vw, 52px);
}

.fv__text--53 {
  font-size: clamp(21.8px, 2.65vw, 53px);
}

.fv__text--56 {
  font-size: clamp(16px, 2.825vw, 56.5px);
}

.fv__text--60 {
  font-size: clamp(16px, 3vw, 60px);
}

.fv__text--63 {
  font-size: clamp(16px, 3.15vw, 63px);
}

.fv__text--64 {
  font-size: clamp(16px, 3.2vw, 64px);
}

.fv__text--65 {
  font-size: clamp(16px, 3.25vw, 65px);
}

.fv__text--75 {
  font-size: clamp(16px, 3.75vw, 75px);
}

.fv__text--77 {
  font-size: clamp(16px, 3.85vw, 77px);
  letter-spacing: 0.001em;
  color: #b30102;
}

.fv__text--80 {
  font-size: clamp(16px, 4vw, 80px);
}

.fv__text--83 {
  font-size: clamp(16px, 4.15vw, 83px);
}

.fv__text--85 {
  font-size: clamp(16px, 4.25vw, 85px);
}

.fv__text--90 {
  font-size: clamp(16px, 4.5vw, 90px);
}

.fv__text--ls01 {
  letter-spacing: -0.11em;
}

.fv__text--ls02 {
  letter-spacing: -0.0266666667em;
}

.fv__text--blue01 {
  color: #fcfcfd;
  background-color: #0f308d;
  padding: 0 0.625rem;
}

.fv__text--blue {
  color: #0f308d;
}

.text__blue3 {
  color: #0c47a1;
  font-weight: bold;
}

.fv__text--top {
  vertical-align: top;
}

.fv__text--baseline {
  vertical-align: 10%;
}

.text-shippori {
  font-family: "shippori-mincho", sans-serif;
}

.text-bold {
  font-weight: bold;
}

@media screen and (max-width: 1130px) {
  .section05 {
    height: 120%;
  }
}

@media screen and (max-width: 1130px) and (max-width: 768px) {
  .section05 {
    height: 100%;
  }
}

@media screen and (max-width: 1100px) {
  .section06__text04 {
    max-width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .tab-none {
    display: none;
  }

  .tab-show {
    display: block;
  }
}

@media screen and (max-width: 1000px) {
  .show-1000 {
    display: block;
  }

  .section03__list::before {
    top: 2.5vw;
  }

  .reason__text02 {
    font-size: clamp(10px, 1.2vw, 24px);
    padding-left: clamp(5px, 1vw, 20px);
  }
}

@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }

  .button__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: clamp(200px, 93.3333333333vw, 700px);
    height: clamp(50px, 77.0666666667vw, 578px);
    left: 50%;
    top: 62%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }

  .button {
    width: clamp(200px, 81.3333333333vw, 610px);
    height: clamp(50px, 23.6vw, 177px);
  }

  .button.button-01 {
    background-image: linear-gradient(18deg, rgb(184, 25, 27), rgb(216, 48, 47) 62%, rgb(219, 72, 71) 67%, rgb(209, 42, 42) 72%);
  }

  .button.button-02 {
    background-image: linear-gradient(36deg, rgb(184, 25, 27), rgb(216, 48, 47) 23% 29%, rgb(219, 72, 71) 33%, rgb(209, 42, 42) 39%, rgb(184, 25, 27) 98%);
    margin-left: 0;
    margin-top: 18.4vw;
  }

  .button__text {
    width: clamp(100px, 59.4666666667vw, 446px);
    aspect-ratio: 446/125;
  }

  .inner {
    padding: 0 1.125rem;
  }

  .sp-none {
    display: none;
  }

  .sp-show {
    display: block;
  }

  .footer__lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .footer-list:not(:first-child) {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
    margin-right: 0;
    margin-top: 10px;
  }

  .fv01__img {
    aspect-ratio: 750/890;
  }

  .fv01__img img {
    aspect-ratio: 750/890;
  }

  .fv02__img {
    aspect-ratio: 750/975;
  }

  .fv02__img img {
    aspect-ratio: 750/975;
  }

  .button__box.fv__button {
    margin-bottom: 0;
  }

  .webp .section01 {
    background: url(../img/section01-bg-sp.webp) no-repeat top/cover;
  }

  .no-webp .section01 {
    background: url(../img/section01-bg-sp.png) no-repeat top/cover;
  }

  .section01 {
    padding-top: clamp(35px, 9.4666666667vw, 71px);
  }

  .section01__title01 {
    font-size: clamp(10px, 7vw, 52.5px);
    width: 100%;
    padding-inline: clamp(3px, 0.6666666667vw, 5px);
    line-height: 1.3;
    letter-spacing: 0.0002em;
    margin: 0;
    margin-inline: auto;
  }

  .section01__title02 {
    font-size: clamp(10px, 7vw, 52.5px);
    width: 100%;
    letter-spacing: 0.0002em;
    margin-top: clamp(5px, 1.3333333333vw, 10px);
    padding-inline: clamp(1px, 2vw, 15px);
    white-space: nowrap;
  }

  .section__border {
    height: clamp(6.5px, 1.7333333333vw, 13px);
  }

  .section__border.section01__border {
    margin-top: clamp(20px, 9.6vw, 72px);
  }

  .section01__text {
    font-size: clamp(10px, 4.2666666667vw, 32px);
    width: 100%;
    padding-inline: clamp(40px, 9.8666666667vw, 74px);
    line-height: 1.78;
  }

  .section01__text01 {
    margin-top: clamp(30px, 8.6666666667vw, 65px);
  }

  .section01__text02 {
    width: 100%;
    padding-right: clamp(30px, 8.1333333333vw, 61px);
    margin-top: 3.4666666667vw;
    line-height: 1.65;
  }

  .webp .section03 {
    background: url(../img/section03-bg-sp.webp) no-repeat top/cover;
  }

  .no-webp .section03 {
    background: url(../img/section03-bg-sp.jpg) no-repeat top/cover;
  }

  .section03 {
    padding-top: clamp(50px, 18vw, 135px);
    padding-bottom: clamp(50px, 15.8666666667vw, 119px);
  }

  .section03__container {
    padding-inline: 4.5333333333vw;
    width: 98.5%;
  }

  .section03__title {
    font-size: clamp(10px, 4.6666666667vw, 35px);
    padding: 5.3333333333vw 2vw 7.4666666667vw;
    line-height: 1.6;
  }

  .section03__texts {
    padding-top: 4vw;
    padding-bottom: 8.9333333333vw;
  }

  .section03__text {
    font-size: clamp(10px, 4.4vw, 33px);
    padding-inline: clamp(10px, 9.3333333333vw, 70px);
    letter-spacing: 0.07em;
    line-height: 1.7;
    text-align: center;
  }

  .section03__lists {
    margin-top: clamp(1px, 0.6666666667vw, 5px);
    padding-left: clamp(40px, 9.3333333333vw, 70px);
    padding-right: clamp(10px, 1.0666666667vw, 8px);
  }

  .section03__list {
    font-size: clamp(10px, 4vw, 30px);
    padding-top: clamp(10px, 6vw, 45px);
    white-space: nowrap;
    letter-spacing: 0.04em;
    line-height: 1.7;
  }

  .section03__list::before {
    width: clamp(15px, 5.8666666667vw, 44px);
    top: clamp(10px, 6vw, 45px);
    left: -5.8666666667vw;
  }

  .section03__list.section03__list02 {
    line-height: 1.5;
    letter-spacing: 0.01em;
    padding-top: 4.2666666667vw;
  }

  .section03__list.section03__list02::before {
    top: 4vw;
  }

  .section03__list.section03__list03 {
    margin-top: 15px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding-top: 4.2666666667vw;
  }

  .section03__list.section03__list03::before {
    top: 4vw;
  }

  .section03__blue {
    color: #fcfcfd;
    background-color: #0c47a1;
    font-weight: 500;
    font-variation-settings: "wght" 500;
    padding-inline: 0.5333333333vw;
  }

  .section04 {
    padding-top: clamp(30px, 6.6666666667vw, 50px);
    padding-bottom: clamp(80px, 19.0476190476vw, 140px);
  }

  .section04__title {
    width: clamp(400px, 93.3333333333vw, 700px);
    padding-inline: clamp(5px, 0.6666666667vw, 5px);
    padding-bottom: clamp(10px, 3.2vw, 24px);
  }

  .section04__title01 {
    font-size: clamp(10px, 6.8666666667vw, 51.5px);
    line-height: 1.45;
    width: 100%;
  }

  .section04__title02 {
    width: 100%;
    font-size: clamp(10px, 6.3333333333vw, 47.5px);
    line-height: 1.5;
  }

  .section04__reason {
    padding-top: clamp(5px, 2.6666666667vw, 20px);
  }

  .reason__container {
    display: initial;
    display: block;
    position: relative;
  }

  .reason__img {
    width: 73.0666666667vw;
    aspect-ratio: 548/401;
    position: absolute;
    top: 14.6666666667vw;
    left: 0;
  }

  .reason__img.reason__img--reverse {
    top: 12vw;
    left: initial;
    right: 0;
  }

  .reason__img.reason__img--last {
    margin-top: -1.7333333333vw;
  }

  .reason__texts {
    margin-top: 56vw;
    width: 89.3333333333vw;
    height: 36.2666666667vw;
    margin-left: 7.4666666667vw;
    -webkit-box-shadow: 5px 7px 4.7px 0.3px rgba(10, 2, 5, 0.25);
            box-shadow: 5px 7px 4.7px 0.3px rgba(10, 2, 5, 0.25);
    background-color: #fcfcfd;
  }

  .reason__texts.reason__texts--reverse {
    -webkit-box-shadow: -3.2px 6.5px 4.7px 0.3px rgba(10, 2, 5, 0.25);
            box-shadow: -3.2px 6.5px 4.7px 0.3px rgba(10, 2, 5, 0.25);
    margin-top: 54.6666666667vw;
  }

  .reason__texts.reason__texts--03 {
    margin-top: 53.8666666667vw;
  }

  .reason__text01 {
    width: 53.3333333333vw;
    left: initial;
    right: 1.8666666667vw;
  }

  .reason__text01.reason__text01--reverse {
    top: -7.4666666667vw;
    left: 0;
  }

  .reason__text01.reason__text01--03 {
    left: initial;
    right: 2vw;
  }

  .reason__text02 {
    font-size: clamp(10px, 4.6666666667vw, 35px);
    padding-left: clamp(25px, 6.6666666667vw, 50px);
  }

  .webp .section05 {
    background: url(../img/section05-bg-sp.webp) no-repeat top/cover;
  }

  .no-webp.section05 {
    background: url(../img/section05-bg-sp.jpg) no-repeat top/cover;
  }

  .section05__container {
    padding-top: clamp(30px, 9.0666666667vw, 68px);
    padding-bottom: clamp(30px, 20vw, 150px);
    width: 90%;
  }

  .section05__img {
    width: 85.3333333333vw;
    aspect-ratio: 640/684;
    margin-left: 1.0666666667vw;
  }

  .section05__items {
    padding-left: clamp(5px, 6.4vw, 15px);
    padding-right: clamp(5px, 2.6666666667vw, 20px);
  }

  .section05__item01 {
    margin-top: clamp(15px, 4.8vw, 36px);
  }

  .section05__text {
    font-size: clamp(10px, 4vw, 30px);
    letter-spacing: 0.05em;
    padding-left: 0.5em;
    line-height: 1.5;
  }

  .section05__title01 {
    padding-inline: clamp(5px, 2.6666666667vw, 20px);
  }

  .section05__item02 {
    margin-top: clamp(5px, 4.6666666667vw, 35px);
    line-height: 0.9;
  }

  .section05__title02 {
    padding-inline: clamp(5px, 2.6666666667vw, 20px);
  }

  .section05__item03 {
    margin-top: clamp(5px, 7.0666666667vw, 53px);
  }

  .section05__item04 {
    margin-top: clamp(10px, 5.3333333333vw, 40px);
  }

  .campaign {
    height: 40.5333333333vw;
  }

  .campaign__img02 {
    width: 22.4vw;
    aspect-ratio: 84/93.5;
    top: -1.8666666667vw;
    left: 4.2666666667vw;
  }

  .section06 {
    padding-top: clamp(30px, 9.3333333333vw, 70px);
  }

  .section06-title {
    margin-bottom: 10.1333333333vw;
    font-size: clamp(10px, 7.7333333333vw, 58px);
  }

  .section06_wrapper {
    width: 93%;
    text-align: center;
    margin-top: clamp(20px, 5.0666666667vw, 38px);
    border-bottom: solid clamp(6px, 1.7333333333vw, 13px) #0c47a1;
    border-right: solid clamp(6px, 1.7333333333vw, 13px) #0c47a1;
    margin-inline: clamp(5px, 4vw, 30px);
    padding-left: 0;
  }

  .section6__container {
    margin-inline: auto;
    padding-inline: 2vw;
    padding-bottom: clamp(30px, 12.5333333333vw, 94px);
    width: clamp(340px, 89.3333333333vw, 670px);
  }

  .section06__img {
    position: static;
    width: 40.5333333333vw;
    top: 0;
    right: 0;
    margin: 5.2vw auto 6.1333333333vw;
  }

  .section06__text01 {
    font-size: clamp(10px, 4.1333333333vw, 31px);
  }

  .section06__text02 {
    margin-left: clamp(5px, 2.2666666667vw, 17px);
    font-size: clamp(20px, 7.4666666667vw, 56px);
  }

  .section06__text03 {
    font-size: clamp(10px, 4vw, 30px);
  }

  .section06__text04 {
    max-width: 100%;
    text-align: left;
    font-size: clamp(10px, 4vw, 30px);
    margin-top: 0;
    padding-left: clamp(5px, 3.2vw, 24px);
    line-height: 1.33;
  }

  .low {
    padding-top: 4.875rem;
    padding-bottom: 18.4375rem;
  }

  .low__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }

  .section__title.low__title {
    margin-top: 1.25rem;
    margin-left: 1.25rem;
  }

  .low__inner {
    padding: 0 1rem;
  }

  .low__box {
    margin-top: 1.25rem;
  }

  .low__item {
    padding: 1.25rem 0;
    font-size: 0.8125rem;
    line-height: 1.106875rem;
  }

  .low__body {
    padding: 1.25rem 0 1.25rem 0.9375rem;
    font-size: 0.8125rem;
    line-height: 1.106875rem;
  }

  .low__text {
    font-size: 0.8125rem;
  }

  .low__item,
  .low__body,
  .low__text {
    line-height: 1.106875rem;
  }

  .fv__text--27 {
    font-size: clamp(12px, 4vw, 30px);
  }

  .fv__text--28 {
    font-size: clamp(12px, 4vw, 30px);
  }

  .text__28 {
    font-size: clamp(12px, 4vw, 30px);
  }

  .fv__text--30 {
    font-size: 8vw;
  }

  .fv__text--38 {
    font-size: clamp(10px, 4.1333333333vw, 31px);
  }

  .fv__text--40 {
    font-size: clamp(10px, 4.3333333333vw, 32.5px);
  }

  .fv__text--52 {
    font-size: clamp(10px, 6.2666666667vw, 47px);
  }

  .fv__text--53 {
    font-size: clamp(10px, 5.8vw, 43.5px);
  }

  .fv__text--63 {
    font-size: clamp(10px, 7.0666666667vw, 53px);
  }

  .text__thin {
    letter-spacing: -0.1em;
  }
}

@media screen and (max-width: 400px) {
  .section03__lists {
    padding-left: 9.3333333333vw;
    padding-right: clamp(10px, 0.5333333333vw, 4px);
  }

  .section03__list {
    white-space: initial;
  }

  .section04__title {
    width: 100%;
  }

  .section6__container {
    width: 96%;
  }
}
/*# sourceMappingURL=style.css.map */