@charset "UTF-8";
html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

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

a {
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

*,
*::before,
*::after {
  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]) {
  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;
}

html {
  font-size: 1.3333333333vw;
}

body {
  color: #243968;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
}

.fv {
  position: relative;
  width: 100%;
}

.fv__inner {
  width: 100%;
}

.fv__img {
  aspect-ratio: 750/1400;
  height: min(140rem, 1400px);
}

.fv__movie {
  aspect-ratio: 16/9;
  height: auto;
  position: absolute;
  top: min(68.7rem, 687px);
  left: 50%;
  transform: translateX(-50%);
  width: min(66.7rem, 667px);
}

.fv__movie iframe {
  border: 1px solid #344C82;
  height: 100%;
  width: 100%;
}

.fv__wrapper {
  position: absolute;
  top: min(111.6rem, 1116px);
  left: 50%;
  transform: translateX(-50%);
}

.main {
  border: 1px solid #E4E4E4;
  margin-left: auto;
  margin-right: auto;
  max-width: 752px;
  width: 100%;
}
@media screen and (max-width: 752px) {
  .main {
    border: none;
    max-width: 750px;
  }
}

.sec01 {
  width: 100%;
}

.sec01__inner {
  width: 100%;
}

.sec01__img {
  width: 100%;
}

.sec01__img img {
  aspect-ratio: 750/782;
  height: auto;
}

.sec-presents {
  background-image: url(../images/sec-presents-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: min(2.4rem, 24px);
  padding-bottom: min(11.5rem, 115px);
  width: 100%;
}

.sec-presents__subtitle {
  width: 100%;
}

.sec-presents-subtitle__img {
  aspect-ratio: 750/133;
  height: auto;
  width: 100%;
}

.sec-presents__header {
  margin-top: max(-3.8rem, -38px);
  width: 100%;
}

.sec-presents-header__title {
  margin-left: max(-0.4rem, -4px);
  width: min(73.6rem, 736px);
}

.sec-presents-header__img {
  height: auto;
  width: 100%;
}

.sec-presents__contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: min(3rem, 30px);
       column-gap: min(3rem, 30px);
  row-gap: min(3rem, 30px);
  margin-top: min(1.6rem, 16px);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.sec-img {
  margin-top: max(-5.6rem, -56px);
  width: 100%;
}

.sec-img__inner {
  width: 100%;
}

.sec-img__img {
  height: auto;
  width: 100%;
}

.sec-btn {
  padding-top: min(4.6rem, 46px);
  padding-bottom: min(7.3rem, 73px);
  width: 100%;
}

.sec-btn__body {
  text-align: center;
  width: 100%;
}

.sec-btn__img {
  height: auto;
  margin-left: auto;
  margin-right: auto;
  width: min(65rem, 650px);
}

.sec-btn__btn {
  margin-top: min(4.4rem, 44px);
}

.sec05 {
  background-color: #122756;
  padding-top: min(6.2rem, 62px);
  padding-bottom: min(1rem, 10px);
  position: relative;
}

.sec05::before {
  content: "";
  width: 100%;
  height: min(5.1rem, 51px);
  background-color: #122756;
  position: absolute;
  bottom: max(-5rem, -50px);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.sec05__background {
  background-color: #246FC2;
  position: absolute;
  bottom: max(-2rem, -20px);
  left: 0;
  right: 0;
  height: 100px;
  width: 100%;
  z-index: -1;
}

.sec05::after {
  content: "";
  width: 100%;
  height: min(5.1rem, 51px);
  background-color: #246FC2;
  position: absolute;
  bottom: max(-7rem, -70px);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
  z-index: -1;
}

.sec05__header {
  width: 100%;
}

.sec05__title {
  width: 100%;
}

.sec05-title__img {
  height: auto;
  margin-left: auto;
  margin-right: auto;
  width: min(64.4rem, 644px);
}

.sec05__items {
  background-color: #EDEDED;
  margin-top: min(4.8rem, 48px);
  outline: min(0.1rem, 1px) solid #122756;
  outline-offset: max(-1.1rem, -11px);
  padding-top: min(2.1rem, 21px);
  padding-bottom: min(1.2rem, 12px);
  padding-left: min(4rem, 40px);
  padding-right: min(4rem, 40px);
  width: 100%;
}

.sec05__item {
  display: flex;
  align-items: center;
  padding-top: min(2.5rem, 25px);
  padding-bottom: min(2.5rem, 25px);
  width: 100%;
}

.sec05__item + .sec05__item {
  border-top: min(0.1rem, 1px) dashed #9C9C9C;
}

.sec05__item:last-of-type .sec05-item__img {
  margin-top: max(-4.6rem, -46px);
}

.sec05-item__img {
  aspect-ratio: 40/40;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(4rem, 40px);
}

.sec05-item__text {
  font-size: min(2.9rem, 29px);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.65;
  margin-left: min(1.6rem, 16px);
}

.sec05__img {
  margin-top: min(7.1rem, 71px);
  margin-left: auto;
  margin-right: auto;
  width: min(62.8rem, 628px);
}

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

.sec05__text {
  color: #fff;
  font-size: min(3.4rem, 34px);
  font-weight: 300;
  line-height: 1.5;
  margin-top: min(4rem, 40px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
}

.sec05__text .text--bold {
  font-size: min(4.4rem, 44px);
  font-weight: 500;
}

.sec05__text .text--large {
  border-bottom: min(0.2rem, 2px) solid #F3E4AC;
  font-size: min(6.4rem, 64px);
  font-weight: 500;
}

.sec06 {
  background-image: url(../images/sec06-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: min(14rem, 140px);
  padding-bottom: min(8.4rem, 84px);
  position: relative;
  width: 100%;
  z-index: -2;
}

.sec06__header {
  width: 100%;
}

.sec06__title {
  margin-left: min(4.5rem, 45px);
  width: min(68.1rem, 681px);
}

.sec06__title img {
  height: auto;
}

.sec06__contents {
  margin-top: min(3.7rem, 37px);
  width: 100%;
}

.sec06__info {
  font-size: min(2.3rem, 23px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: min(3.3rem, 33px);
  text-align: center;
}

.sec07 {
  background-color: #ECEFFF;
  padding-top: min(16.5rem, 165px);
  padding-bottom: min(7rem, 70px);
  width: 100%;
}

.sec07__header {
  background-color: #122756;
  padding-top: min(1.5rem, 15px);
  padding-bottom: min(1.5rem, 15px);
  padding-left: min(1.7rem, 17px);
  padding-right: min(1.7rem, 17px);
  position: absolute;
  top: min(0.5rem, 5px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(56rem, 560px);
}

.sec07__title {
  border-top: min(0.1rem, 1px) solid #fff;
  border-bottom: min(0.1rem, 1px) solid #fff;
  color: #fff;
  font-size: min(4.2rem, 42px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.42;
  padding-top: min(1.5rem, 15px);
  padding-bottom: min(1.5rem, 15px);
  text-align: center;
  width: 100%;
  z-index: 2;
}

.sec07__contents {
  background-color: #fff;
  box-shadow: min(0.4rem, 4px) min(0.4rem, 4px) min(0.4rem, 4px) rgba(51, 51, 51, 0.2);
  padding-top: min(17.3rem, 173px);
  padding-bottom: min(5rem, 50px);
  padding-left: min(3.5rem, 35px);
  padding-right: min(3.5rem, 35px);
  position: relative;
}

.sec07__contents::after {
  background: linear-gradient(to bottom, #4771CE, #243968);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  height: min(4.3rem, 43px);
  position: absolute;
  bottom: max(-8.8rem, -88px);
  left: 50%;
  transform: translateX(-50%);
  width: min(21.5rem, 215px);
}

.sec07__items {
  width: 100%;
}

.sec07__item {
  border: min(0.1rem, 1px) solid #122756;
  width: 100%;
}

.sec07__item + .sec07__item {
  margin-top: min(4.3rem, 43px);
}

.sec07-item__header {
  display: flex;
  width: 100%;
}

.sec07-item__info {
  background-color: #122756;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 16%;
}

.sec07-item__comment {
  color: #fff;
  font-size: min(2.4rem, 24px);
  font-weight: 300;
  letter-spacing: 0.15em;
}

.sec07-item__number {
  margin-top: min(1.2rem, 12px);
}

.sec07-item:nth-child(1) .sec07-item__number {
  width: min(6.7rem, 67px);
}

.sec07-item:nth-child(2) .sec07-item__number {
  width: min(7.2rem, 72px);
}

.sec07-item:nth-child(3) .sec07-item__number {
  width: min(7rem, 70px);
}

.sec07-item__number img {
  height: auto;
}

.sec07-item__title {
  background-color: #EEEEEE;
  padding-top: min(1.6rem, 16px);
  padding-bottom: min(1.6rem, 16px);
  padding-left: min(2rem, 20px);
  padding-right: min(2rem, 20px);
  width: 84%;
}

.sec07-item:nth-child(1) .sec07-item__title img {
  height: auto;
  width: min(39.8rem, 398px);
}

.sec07-item:nth-child(2) .sec07-item__title img {
  height: auto;
  width: min(37.5rem, 375px);
}

.sec07-item:nth-child(3) .sec07-item__title img {
  height: auto;
  width: min(46.6rem, 466px);
}

.sec07-item__body {
  border-top: min(0.1rem, 1px) solid #122756;
  padding: min(2rem, 20px);
}

.sec07-item__text {
  font-size: min(2.5rem, 25px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}

.sec07-item__text .text--red {
  background: linear-gradient(transparent 45%, #FAE6E7 55%);
  font-weight: 700;
}

.sec07__footer {
  margin-top: min(11.9rem, 119px);
  width: 100%;
}

.sec07__text {
  margin-left: min(3.5rem, 35px);
  width: min(69.9rem, 699px);
}

.sec07__text img {
  height: auto;
}

.sec07__img {
  margin-top: min(4.9rem, 49px);
  margin-left: auto;
  margin-right: auto;
  width: min(60rem, 600px);
}

.sec07__img img {
  aspect-ratio: 600/420;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.sec08 {
  background-image: url(../images/sec08-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: min(5rem, 50px);
  padding-bottom: min(6.8rem, 68px);
}

.sec08__header {
  width: 100%;
}

.sec08__title {
  margin-left: auto;
  margin-right: auto;
  width: min(31.3rem, 313px);
}

.sec08__title img {
  height: auto;
}

.sec08__items {
  margin-top: min(16.4rem, 164px);
  width: 100%;
}

.sec08__item {
  background-color: #246FC2;
  padding-top: min(15.7rem, 157px);
  padding-bottom: min(5rem, 50px);
  padding-left: min(3.7rem, 37px);
  padding-right: min(3.7rem, 37px);
  position: relative;
  width: 100%;
}

.sec08__item + .sec08__item {
  margin-top: min(16.7rem, 167px);
}

.sec08__item::before {
  background-color: #246FC2;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: min(28.9rem, 289px);
  position: absolute;
  top: 1%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(28.9rem, 289px);
}

.sec08__img {
  aspect-ratio: 247/247;
  border-radius: 50%;
  height: auto;
  position: absolute;
  top: 1%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(24.7rem, 247px);
}

.sec08__name {
  color: #fff;
  font-size: min(3rem, 30px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  width: 100%;
}

.sec08__body {
  margin-top: min(5.4rem, 54px);
  width: 100%;
}

.sec08-body__img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.sec08__wrapper {
  margin-top: min(6.8rem, 68px);
  text-align: center;
  width: 100%;
}

.sec09 {
  background-image: url(../images/sec09-bg.webp);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: min(6.7rem, 67px);
  padding-bottom: min(7.8rem, 78px);
  width: 100%;
}

.sec09__header {
  width: 100%;
}

.sec09__title {
  margin-left: auto;
  margin-right: auto;
  width: min(30.1rem, 301px);
}

.sec09__title img {
  height: auto;
}

.sec09__img {
  margin-top: min(4.9rem, 49px);
  margin-left: auto;
  margin-right: auto;
  width: min(45.5rem, 455px);
}

.sec09__img img {
  aspect-ratio: 690/690;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.sec09__body {
  background-color: #fff;
  border: min(0.1rem, 1px) solid #344C82;
  margin-top: min(5rem, 50px);
  outline: min(0.1rem, 1px) solid #344C82;
  outline-offset: max(-1.1rem, -11px);
  padding-top: min(6rem, 60px);
  padding-bottom: min(6rem, 60px);
  padding-left: min(2rem, 20px);
  padding-right: min(2rem, 20px);
  width: 100%;
}

.sec09__text {
  font-size: min(2.8rem, 28px);
  font-weight: 400;
  line-height: 2.14;
  letter-spacing: 0.05em;
  margin-left: auto;
  margin-right: auto;
  max-width: min(59.2rem, 592px);
  text-align: justify;
  width: 100%;
}

.sec09__text + .sec09__text {
  margin-top: min(5rem, 50px);
}

.sec09__text .text--red {
  background: linear-gradient(transparent 60%, #FAE6E7 40%);
  font-weight: 500;
}

.sec09__wrapper {
  margin-top: min(6.3rem, 63px);
  text-align: center;
  width: 100%;
}

.sec12.sec-btn {
  padding-bottom: min(3.1rem, 31px);
}

.footer {
  background-color: #122756;
  margin-left: auto;
  margin-right: auto;
  max-width: min(75.2rem, 752px);
  padding-top: min(1.5rem, 15px);
  padding-bottom: min(1.5rem, 15px);
  width: 100%;
}

.footer__body {
  width: 100%;
}

.footer__link {
  text-align: center;
  width: 100%;
}

.footer__specified-commercial-Transactions-Act,
.footer__link span,
.footer__privacy-policy {
  color: #fff;
  font-size: min(1.8rem, 18px);
  font-weight: 300;
  letter-spacing: 0.05em;
}

.footer__link span {
  margin-left: min(1.4rem, 14px);
  margin-right: min(1.4rem, 14px);
}

.footer__copyright {
  color: #fff;
  display: block;
  font-size: min(1.4rem, 14px);
  font-weight: 300;
  letter-spacing: 0.05em;
  margin-top: min(1.8rem, 18px);
  text-align: center;
  width: 100%;
}

.btn {
  display: inline-block;
  overflow: hidden;
  position: relative;
  width: min(64rem, 640px);
}

.btn::after {
  content: "";
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
  -webkit-animation-name: shiny;
          animation-name: shiny;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes shiny {
  0% {
    left: -20%;
  }
  10% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}

@keyframes shiny {
  0% {
    left: -20%;
  }
  10% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
.btn__img {
  aspect-ratio: 640/232;
  height: auto;
  width: 100%;
}

.card {
  box-shadow: min(0.2rem, 2px) min(0.2rem, 2px) min(0.4rem, 4px) rgba(0, 0, 0, 0.2);
  position: relative;
  width: 100%;
}

.card__number {
  position: absolute;
  top: 0;
  left: 0;
  width: min(10rem, 100px);
}

.card__number img {
  aspect-ratio: 100/100;
  height: auto;
}

.card__img {
  height: auto;
  width: 100%;
}

.card__img img {
  aspect-ratio: 330/200;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.card__body {
  background-color: #122756;
  padding-top: min(1.8rem, 18px);
  padding-bottom: min(1.8rem, 18px);
  text-align: center;
}

.card__text {
  color: #fff;
  font-size: min(2.4rem, 24px);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.58;
}

.card__text .text--yellow {
  font-weight: 700;
}

.card2 {
  width: 100%;
}

.card2 + .card2 {
  margin-top: min(5rem, 50px);
}

.card2__img {
  width: 100%;
}

.card2__img img {
  aspect-ratio: 690/400;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.card2__body {
  background-color: #122756;
  padding-top: min(2.7rem, 27px);
  padding-bottom: min(2.7rem, 27px);
}

.card2__text {
  color: #fff;
  font-size: min(4rem, 40px);
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.card2__text .text--yellow {
  color: #F3E4AC;
  font-weight: 700;
}

.card2__text .text--large {
  font-size: min(4.4rem, 44px);
}

.card2__text .text--small {
  font-size: min(3.4rem, 34px);
}

.inner {
  padding-left: min(3rem, 30px);
  padding-right: min(3rem, 30px);
  width: 100%;
}

.text--red {
  color: #CA000B;
}

.text--yellow {
  color: #F3E4AC;
}

@media screen and (max-width: 550px) {
  .sp-md-none {
    display: none;
  }
}

.sp-md-show {
  display: none;
}
@media screen and (max-width: 550px) {
  .sp-md-show {
    display: block;
  }
}

.kerning--1 {
  letter-spacing: 0.01em;
}

.kerning--2 {
  letter-spacing: 0.02em;
}

.kerning--3 {
  letter-spacing: 0.03em;
}

.kerning--4 {
  letter-spacing: 0.04em;
}

.kerning--5 {
  letter-spacing: 0.05em;
}

.kerning--6 {
  letter-spacing: 0.06em;
}

.kerning--7 {
  letter-spacing: 0.07em;
}

.kerning--8 {
  letter-spacing: 0.08em;
}

.kerning--9 {
  letter-spacing: 0.09em;
}

.kerning--10 {
  letter-spacing: 0.1em;
}

.kerning--11 {
  letter-spacing: 0.11em;
}

.kerning--12 {
  letter-spacing: 0.12em;
}

.kerning--13 {
  letter-spacing: 0.13em;
}

.kerning--14 {
  letter-spacing: 0.14em;
}

.kerning--15 {
  letter-spacing: 0.15em;
}

.kerning--16 {
  letter-spacing: 0.16em;
}

.kerning---1 {
  letter-spacing: -0.01em;
}

.kerning---2 {
  letter-spacing: -0.02em;
}

.kerning---3 {
  letter-spacing: -0.03em;
}

.kerning---4 {
  letter-spacing: -0.04em;
}

.kerning---5 {
  letter-spacing: -0.05em;
}

.kerning---6 {
  letter-spacing: -0.06em;
}

.kerning---7 {
  letter-spacing: -0.07em;
}

.kerning---8 {
  letter-spacing: -0.08em;
}

.kerning---9 {
  letter-spacing: -0.09em;
}

.kerning---10 {
  letter-spacing: -0.1em;
}

.kerning---11 {
  letter-spacing: -0.11em;
}

.kerning---12 {
  letter-spacing: -0.12em;
}

.kerning---15 {
  letter-spacing: -0.15em;
}

.kerning---16 {
  letter-spacing: -0.16em;
}

.kerning---17 {
  letter-spacing: -0.17em;
}

.kerning---18 {
  letter-spacing: -0.18em;
}

.kerning---19 {
  letter-spacing: -0.19em;
}

.kerning---20 {
  letter-spacing: -0.2em;
}

.kerning---25 {
  letter-spacing: -0.25em;
}

.kerning---36 {
  letter-spacing: -0.36em;
}

.lineheight--2 {
  line-height: 2;
}

.lineheight--1_45 {
  line-height: 1.45;
}