@charset "UTF-8";
/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

html {
  color: #000;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: break-word;
}

body {
  background: #fff;
  margin: 0;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
textarea,
button {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

#wrapper {
  position: relative;
}

.inner-block {
  margin: 0 auto;
  position: relative;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* --------------------------------
c-header
----------------------------------- */
.c-header {
  z-index: 10;
  position: fixed;
  top: 0;
  width: 100vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100px;
  background: #fff;
}
.c-header .logo-wrap {
  display: block;
  margin-left: 20px;
  max-width: 489px;
}
.c-header .link-wrap {
  z-index: 9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 46px;
  height: 100%;
}
.c-header .link-list {
  z-index: 5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  font-weight: bold;
}
.c-header .link-list-item {
  position: relative;
  display: block;
  padding-right: 28px;
}
.c-header .link-list-item::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 0;
  margin: auto 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 9px 0 9px;
  border-color: #005D8C transparent transparent transparent;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-header .link-list-item:focus-visible::after {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.c-header .link-btn {
  width: 111px;
  min-width: 111px;
  height: 100%;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #22262C;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
}
.c-header .link-btn::focus-visible {
  background: #005D8C;
}
.c-header .menu-btn {
  z-index: 10;
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  padding: 18px 11px;
  width: 80px;
  height: 80px;
  top: calc(100% + 30px);
  right: 20px;
  background: #fff;
  -webkit-box-shadow: 0px 0px 8px 0px #2BC4F0;
          box-shadow: 0px 0px 8px 0px #2BC4F0;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
}
.c-header .menu-btn > span {
  display: block;
  width: 100%;
  height: 4px;
  background: #2099D6;
  -webkit-transform: translateY(0) rotate(0deg);
          transform: translateY(0) rotate(0deg);
  opacity: 1;
  -webkit-transition: background 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: background 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: background 0.3s ease-in-out, transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: background 0.3s ease-in-out, transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-header .menu-btn.is-open > span:nth-child(1) {
  -webkit-transform: translateY(19px) rotate(-36deg);
          transform: translateY(19px) rotate(-36deg);
}
.c-header .menu-btn.is-open > span:nth-child(2) {
  opacity: 0;
}
.c-header .menu-btn.is-open > span:nth-child(3) {
  -webkit-transform: translateY(-19px) rotate(36deg);
          transform: translateY(-19px) rotate(36deg);
}

.menu-bg {
  z-index: 8;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0s 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, visibility 0s 0.3s ease-in-out;
}
.menu-bg.is-open {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  pointer-events: all;
  cursor: pointer;
}

.c-footer {
  position: relative;
  padding-block: 25px 36px;
  color: #fff;
  text-align: center;
  font-size: 12px;
  line-height: 1.3;
  background: #035EAD;
}
.c-footer #pagetop {
  z-index: 5;
  position: absolute;
  position: fixed;
  right: 40px;
  bottom: 80px;
  -webkit-box-shadow: 0 0 8px 0 #2BC4F0;
          box-shadow: 0 0 8px 0 #2BC4F0;
}
.c-footer .pagetop-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  padding: 3px 2px;
  width: 50px;
  height: 50px;
  font-size: 10px;
  font-weight: bold;
  color: #2099D6;
  background: #fff;
}
.c-footer .pagetop-btn::before {
  content: "";
  position: static;
  width: 25px;
  height: 13px;
  background: #2099D6;
  -webkit-mask: url("../images/home/ico-pagetop.svg") no-repeat center/contain;
          mask: url("../images/home/ico-pagetop.svg") no-repeat center/contain;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
body.no-scroll {
  overflow: hidden;
}

#satori__creative_container {
  display: none;
}

.home {
  padding-top: 100px;
}
.home .anim {
  opacity: 0;
}
.home .anim.is-animated {
  -webkit-animation: slideIn 2s cubic-bezier(0.25, 1, 0.5, 1) 0.2s forwards;
          animation: slideIn 2s cubic-bezier(0.25, 1, 0.5, 1) 0.2s forwards;
}
@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
@keyframes slideIn {
  0% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
.home .inner-block.max-980 {
  max-width: 980px;
}
.home .c-sec {
  padding-block: 80px;
}
.home .c-sec.black {
  color: #fff;
  background: #2C3344;
}
.home .c-note-num {
  counter-reset: note-num 0;
}
.home .c-note-num.only-child li::before {
  content: "（注）";
}
.home .c-note-num li {
  padding-left: 57px;
  position: relative;
  color: #fff;
  font-size: 14px;
}
.home .c-note-num li::before {
  counter-increment: note-num 1;
  content: "（注" counter(note-num) "）";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.home .c-note-txt {
  padding-left: 57px;
  position: relative;
  color: #fff;
  font-size: 14px;
}
.home .c-note-txt::before {
  content: "（出所）";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.home .c-note-list li {
  padding-left: 18px;
  position: relative;
  color: #F31518;
  font-size: 14px;
}
.home .c-note-list li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.home .c-square-list li {
  font-size: 20px;
  font-weight: bold;
  padding-left: 1.2rem;
  position: relative;
}
.home .c-square-list li::before {
  content: "■";
  color: #005D8C;
  position: absolute;
  left: 0;
}
.home .c-flow-list + * {
  margin-top: 54px !important;
}
.home .c-flow-list > li {
  border: 1px solid #666;
  padding: 16px 32px 16px 24px;
}
.home .c-flow-list > li .ttl {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 3px;
}
.home .c-flow-list > li .ttl.red {
  color: #EE0808;
}
.home .c-flow-list > li .ttl.orange {
  color: #F97645;
}
.home .c-flow-list > li .ttl.green {
  color: #6DC430;
}
.home .c-flow-list > li .ttl.l-blue {
  color: #2BC4F0;
}
.home .c-flow-list > li .ttl.purple {
  color: #6B84E5;
}
.home .c-flow-list > li .txt {
  font-size: 16px;
  line-height: 1.8em;
}
.home .c-flow-list > li + li {
  margin-top: 34px;
  position: relative;
}
.home .c-flow-list > li + li::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 26px 27.5px 0 27.5px;
  border-color: #005D8C transparent transparent transparent;
}
.home .c-flow-list > li.w-modal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.home .c-flow-list > li.w-modal .c-btn01 {
  margin-right: 0;
}
.home .c-dots-list li {
  position: relative;
  padding-left: 1em;
}
.home .c-dots-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.home .red {
  color: #EE0808;
  font-size: 14px;
}
.home .c-ttl01 {
  position: relative;
  font-size: 36px;
}
.home .c-ttl01 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
  padding-bottom: 48px;
}
.home .c-ttl01::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 80px;
  aspect-ratio: 10/1;
  background: -webkit-gradient(linear, left top, right top, from(#6B84E5), color-stop(21.15%, #2BC4F0), color-stop(41.35%, #8FE255), color-stop(59.62%, #E8DD06), color-stop(77.88%, #F97645), to(#F31518));
  background: linear-gradient(to right, #6B84E5 0%, #2BC4F0 21.15%, #8FE255 41.35%, #E8DD06 59.62%, #F97645 77.88%, #F31518 100%);
}
.home .c-ttl02 {
  position: relative;
  padding-inline: 40px;
  font-size: 36px;
  text-align: center;
  font-weight: bold;
}
.home .c-ttl02 .blue {
  font-size: 48px;
  color: #005D8C;
}
.home .c-ttl02 .txt {
  margin-inline: auto;
  padding-block: 14px 21px;
  padding-inline: 20px;
  display: block;
  width: 100%;
  max-width: 1100px;
  position: relative;
  z-index: 2;
}
.home .c-ttl02 .txt::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(10%, rgb(255, 255, 255)), color-stop(90%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 10%, rgb(255, 255, 255) 90%, rgba(255, 255, 255, 0) 100%);
}
.home .c-ttl02::before {
  z-index: 1;
  content: "";
  position: absolute;
  top: 58%;
  -webkit-transform: translateY(-58%);
          transform: translateY(-58%);
  left: 0;
  background: url(../images/home/point-rainbow-line.png.webp) no-repeat center/cover;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/373;
}
.home .c-ttl03 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 12px;
}
.home .graph-ttl {
  font-size: 24px;
  font-weight: bold;
  color: #666;
  text-align: center;
  margin-bottom: 13px;
}
.home .c-btn01 {
  background-color: #2099D6;
  color: #fff;
  font-size: 18px;
  padding: 8px 13px 8px 22px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.home .c-btn01 .ico {
  background-color: #fff;
  width: 27px;
  height: 27px;
  aspect-ratio: 1/1;
  display: block;
}
.home .c-btn01.arrow .ico {
  position: relative;
}
.home .c-btn01.arrow .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 8px;
  height: 14px;
  margin: auto;
  -webkit-mask: url(../images/home/arrow-ico.svg) no-repeat center/contain;
          mask: url(../images/home/arrow-ico.svg) no-repeat center/contain;
  background-color: #2099D6;
}
.home .c-btn01.plus .ico {
  position: relative;
  margin-block: auto;
}
.home .c-btn01.plus .ico::before, .home .c-btn01.plus .ico::after {
  content: "";
  display: block;
  width: 17px;
  height: 3px;
  position: absolute;
  inset: 0;
  margin: auto;
  background-color: #2099D6;
}
.home .c-btn01.plus .ico::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.home .c-btn01 + .c-btn01 {
  margin-top: 40px;
}
.home .c-white-btn-wrap {
  padding-inline: 40px;
}
.home .c-white-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 14px 30px 16px 18px;
  font-weight: bold;
  color: #000;
  -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
  background: #fff;
}
.home .c-white-btn .ico {
  display: block;
  width: 20px;
  height: 24px;
  background: url("../images/home/ico-pdf.svg") no-repeat center/contain;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.home .c-white-btn .ico.window {
  background-image: url("../images/home/ico-window.svg");
}
.home .c-white-btn + .c-white-btn {
  margin-top: 20px;
}
.home .mv-section {
  position: relative;
  padding-top: 7.1527777778vw;
  padding-bottom: 15.8333333333vw;
  background: url("../images/home/mv-img.jpg.webp") no-repeat center/cover;
  overflow: hidden;
}
.home .mv-section .txt-wrap {
  position: relative;
  z-index: 5;
}
.home .mv-section .txt-wrap .inner-block {
  max-width: 1195px;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8.1944444444vw;
}
.home .mv-section .txt-wrap .shadow {
  line-height: 1.3;
  font-size: clamp(28px, 2.9166666667vw, 42px);
  font-weight: bold;
  text-align: center;
  color: #fff;
  text-shadow: 3px 3px 3px #000, -3px 3px 3px #000, 3px -3px 3px #000, -3px -3px 3px #000, 3px 0px 3px #000, 0px 3px 3px #000, -3px 0px 3px #000, 0px -3px 3px #000;
}
.home .mv-section .txt-wrap .shadow .small {
  font-size: clamp(24px, 2.6388888889vw, 38px);
}
.home .mv-section .txt-wrap .shadow.mv-ttl {
  font-size: clamp(38px, 4.3055555556vw, 62px);
  line-height: 1.5;
}
.home .mv-section .txt-wrap .top {
  position: relative;
}
.home .mv-section .txt-wrap .top .ribbon {
  position: absolute;
  left: -9.7222222222vw;
  top: -2.9861111111vw;
  width: clamp(60px, 8.1944444444vw, 118px);
}
.home .mv-section .circle {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  bottom: 0;
  z-index: 3;
  border-radius: 50%;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  opacity: 0;
}
.home .mv-section .circle.red {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(238, 8, 8, 0.6), 0 0 35px 22.5px #EE0808;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(238, 8, 8, 0.6), 0 0 35px 22.5px #EE0808;
  left: 7.6388888889vw;
  rotate: 41deg;
}
.home .mv-section .circle.orange {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(249, 118, 69, 0.6), 0 0 35px 22.5px #F97645;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(249, 118, 69, 0.6), 0 0 35px 22.5px #F97645;
  left: 20.4861111111vw;
  rotate: 31deg;
}
.home .mv-section .circle.yellow {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(232, 221, 6, 0.6), 0 0 35px 22.5px #E8DD06;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(232, 221, 6, 0.6), 0 0 35px 22.5px #E8DD06;
  left: 33.6805555556vw;
  rotate: 19deg;
}
.home .mv-section .circle.green {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(109, 196, 48, 0.6), 0 0 35px 22.5px #6DC430;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(109, 196, 48, 0.6), 0 0 35px 22.5px #6DC430;
  right: 34.7222222222vw;
  rotate: -17deg;
}
.home .mv-section .circle.blue {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(32, 153, 214, 0.6), 0 0 35px 22.5px #2099D6;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(32, 153, 214, 0.6), 0 0 35px 22.5px #2099D6;
  right: 21.5277777778vw;
  rotate: -30deg;
}
.home .mv-section .circle.purple {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(107, 132, 229, 0.6), 0 0 35px 22.5px #6B84E5;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(107, 132, 229, 0.6), 0 0 35px 22.5px #6B84E5;
  right: 8.3333333333vw;
  rotate: -41deg;
}
.home .mv-section .circle.pink {
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(199, 115, 168, 0.6), 0 0 35px 22.5px #c773a8;
          box-shadow: 0 0 10px 5px #fff, 0 0 25px 15px rgba(199, 115, 168, 0.6), 0 0 35px 22.5px #c773a8;
  right: -13.1944444444vw;
  rotate: -70deg;
  bottom: 25.6944444444vw;
}
@-webkit-keyframes circle {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  25% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-600px);
            transform: translateY(-600px);
  }
}
@keyframes circle {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  25% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-600px);
            transform: translateY(-600px);
  }
}
@-webkit-keyframes circle_1500 {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-600px);
            transform: translateY(-600px);
  }
}
@keyframes circle_1500 {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-600px);
            transform: translateY(-600px);
  }
}
@-webkit-keyframes circle_sp {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-300px);
            transform: translateY(-300px);
  }
}
@keyframes circle_sp {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-300px);
            transform: translateY(-300px);
  }
}
@-webkit-keyframes circle_sp_pink {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-300px);
            transform: translateY(-300px);
  }
}
@keyframes circle_sp_pink {
  0% {
    opacity: 0;
    width: 15px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 5px;
    -webkit-transform: translateY(-300px);
            transform: translateY(-300px);
  }
}
.home .intro-section {
  margin-top: -15.2777777778vw;
  padding-bottom: 224px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, transparent), color-stop(20%, #000));
  background: linear-gradient(to bottom, transparent 20%, #000 20%);
  position: relative;
}
.home .intro-section::before {
  content: "";
  position: absolute;
  background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#fff));
  background: linear-gradient(to bottom, #000 0%, #fff 100%);
  display: block;
  width: 100%;
  height: 245px;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.home .intro-section .grad-ttl {
  background: -webkit-gradient(linear, left top, right top, from(#FFF544), to(#A0FF65));
  background: linear-gradient(to right, #FFF544 0%, #A0FF65 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(28px, 2.9166666667vw, 42px);
  font-weight: bold;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  -webkit-filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.7));
          filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.7));
  line-height: 1.28;
}
.home .intro-section .inn {
  position: relative;
  z-index: 2;
  padding-top: 15.7638888889vw;
  padding-bottom: 12.2916666667vw;
  background: url("../images/home/intro-bg.png.webp") no-repeat center/cover;
}
.home .intro-section .inn .inner-block {
  max-width: 1117px;
}
.home .intro-section .inn .box {
  background: rgba(34, 34, 34, 0.5);
  -webkit-box-shadow: 0 0 30px 0 #2BC4F0;
          box-shadow: 0 0 30px 0 #2BC4F0;
  padding: 51px 84px 67px 96px;
}
.home .intro-section .intro-list {
  margin-top: 22px;
}
.home .intro-section .intro-list li {
  position: relative;
  padding-left: 77px;
  font-size: clamp(18px, 1.8055555556vw, 26px);
  color: #fff;
  font-weight: bold;
  line-height: 2.38;
}
.home .intro-section .intro-list li::before {
  content: "";
  position: absolute;
  background: url("../images/home/ico-check.svg") no-repeat center/contain;
  display: block;
  width: 54px;
  height: 56px;
  top: 0;
  left: 0;
}
.home .intro-section .inner-block.bottom {
  margin-top: -3.9583333333vw;
  max-width: 1060px;
}
.home .intro-section .movie-wrap {
  position: relative;
  z-index: 3;
  max-width: 510px;
  width: 100%;
  margin: auto;
}
.home .intro-section .movie-wrap img {
  width: 100%;
}
.home .intro-section .graph-wrap {
  margin-top: 118px;
}
.home .intro-section .graph-wrap .grad-ttl {
  margin-bottom: 50px;
}
.home .intro-section .graph-wrap .graph-txt {
  font-size: 20px;
  line-height: 2.7;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.home .intro-section .graph-wrap .date {
  margin-top: 4px;
  line-height: 1.6;
  color: #fff;
  text-align: center;
}
.home .intro-section .graph-wrap .graph {
  margin-top: 31px;
  padding: 30px;
  background: #fff;
}
.home .intro-section .graph-wrap .note-wrap {
  margin-top: 16px;
}
.home .point-section {
  z-index: 2;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(20%, #E2E6E9));
  background: linear-gradient(180deg, #fff 0%, #E2E6E9 20%);
}
.home .point-section .inner-block {
  padding-block: 27px 0;
}
.home .point-section .anchor-wrap {
  margin-top: 156px;
  margin-bottom: 16px;
}
.home .point-section .anchor-wrap ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(auto, 1fr));
  gap: 40px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.home .point-section .anchor-wrap ol a {
  display: block;
  text-align: center;
  border-radius: 16px;
  position: relative;
  min-height: 154px;
  font-weight: bold;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#CCC));
  background: linear-gradient(180deg, #FFF 0%, #CCC 100%);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home .point-section .anchor-wrap ol a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: -webkit-gradient(linear, left top, left bottom, from(#CCC), to(#FFF));
  background: linear-gradient(180deg, #CCC 0%, #FFF 100%);
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home .point-section .anchor-wrap ol a .inner-bg::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 16px;
  background: -webkit-gradient(linear, left bottom, left top, from(#FFF), to(#DCDCDC));
  background: linear-gradient(0deg, #FFF 0%, #DCDCDC 100%);
  z-index: 1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home .point-section .anchor-wrap ol a::after {
  content: "";
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  width: 20px;
  height: 30.5px;
  background: -webkit-gradient(linear, left top, left bottom, from(#1C1C1C), to(#828282));
  background: linear-gradient(#1C1C1C, #828282);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  mask: -webkit-gradient(linear, right top, left bottom, color-stop(50%, transparent), color-stop(51%, #000)) top/100% 50% no-repeat, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(51%, #000)) bottom/100% 50% no-repeat;
  mask: linear-gradient(to bottom left, transparent 50%, #000 51%) top/100% 50% no-repeat, linear-gradient(to top left, transparent 50%, #000 51%) bottom/100% 50% no-repeat;
  -webkit-mask: -webkit-gradient(linear, right top, left bottom, color-stop(50%, transparent), color-stop(51%, #000)) top/100% 50% no-repeat, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(51%, #000)) bottom/100% 50% no-repeat;
  -webkit-mask: linear-gradient(to bottom left, transparent 50%, #000 51%) top/100% 50% no-repeat, linear-gradient(to top left, transparent 50%, #000 51%) bottom/100% 50% no-repeat;
  transform: rotate(90deg);
  z-index: 2;
}
.home .point-section .anchor-wrap ol a .ribbon-txt {
  position: absolute;
  top: 21px;
  left: -10px;
  z-index: 2;
  display: block;
}
.home .point-section .anchor-wrap ol a .txt {
  position: relative;
  z-index: 2;
  font-size: 24px;
  margin-top: 68px;
  display: block;
  line-height: 1.2em;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding-inline: 10px;
}
.home .point-section .anchor-wrap + .c-note-list {
  margin-bottom: 63px;
}
.home .point-section .ribbon-txt {
  background: -webkit-gradient(linear, left top, right top, color-stop(75%, #005D8C), to(#4EBDF5));
  background: linear-gradient(90deg, #005D8C 75%, #4EBDF5 100%);
  color: #fff;
  padding: 3px 38px;
  font-size: 18px;
  position: relative;
  font-weight: bold;
}
.home .point-section .ribbon-txt::before {
  content: "";
  position: absolute;
  right: -26px;
  top: 6px;
  width: 32px;
  height: 20px;
  display: block;
  background-color: #4EBDF5;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
.home .point-section .ribbon-txt.white {
  background: #fff;
  color: #005D8C;
}
.home .point-section .ribbon-txt.white::before {
  background-color: #fff;
}
.home .point-section .point-block {
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
.home .point-section .point-block.mb {
  margin-bottom: 60px;
}
.home .point-section .point-block .point-ttl {
  background: -webkit-gradient(linear, left top, right top, color-stop(75%, #005D8C), to(#4EBDF5));
  background: linear-gradient(90deg, #005D8C 75%, #4EBDF5 100%);
  padding: 10px 20px 12px 0;
}
.home .point-section .point-block .point-ttl .ttl {
  font-size: 30px;
  color: #fff;
  font-weight: bold;
}
.home .point-section .point-block .point-ttl .ribbon-txt {
  margin-right: 40px;
}
.home .point-section .point-block .point-data {
  font-size: 20px;
  background-color: #fff;
  padding: 42px 48px 60px;
}
.home .point-section .point-block .point-data img {
  margin: auto;
  display: block;
}
.home .point-section .point-block .point-data p + img {
  margin-top: 32px;
}
.home .point-section .point-block .graph-ttl {
  margin-top: 35px;
  margin-bottom: 20px;
}
.home .point-section .point-block .img-wrap.scrollable {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 5px;
}
.home .point-section .point-block .img-wrap.scrollable img {
  width: 100%;
}
.home .point-section .point-block .c-note-num {
  margin-top: 10px;
}
.home .point-section .point-block .c-note-txt, .home .point-section .point-block .c-note-num li {
  color: #222;
}
.home .point-section .point-block .c-note-txt + .c-note-list, .home .point-section .point-block .c-note-num li + .c-note-list {
  margin-top: 8px;
}
.home .folio-section {
  background-color: #FFF1F1;
  position: relative;
  padding-block: 22.7083333333vw 75px;
}
.home .folio-section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: url("../images/home/folio-about.png.webp") no-repeat center/contain;
  aspect-ratio: 1440/245;
}
.home .folio-section .c-ttl01 {
  margin-bottom: 86px;
}
.home .folio-section .cont-wrap {
  display: grid;
  grid-template-columns: 1fr 390px;
  gap: 43px;
}
.home .folio-section .cont-wrap .c-dots-list {
  margin-top: 20px;
}
.home .folio-section .c-note-num li, .home .folio-section .c-note-txt {
  color: #222;
}
.home .folio-section .graph-wrap {
  margin-top: 32px;
}
.home .folio-section .graph-wrap .graph-img {
  max-width: 980px;
  display: block;
  width: 100%;
  margin: auto;
  margin-bottom: 16px;
}
.home .qa-section {
  background-color: #F5FCFE;
}
.home .qa-section .qa {
  max-width: 1000px;
  width: 100%;
  padding: 50px;
  background-color: #fff;
}
.home .qa-section .qa-item {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.home .qa-section .qa-item + .qa-item {
  border-top: none;
}
.home .qa-section .qa-item.active .qa-q::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.home .qa-section .qa-q {
  cursor: pointer;
  font-weight: bold;
  position: relative;
  color: #000;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
.home .qa-section .qa-q::before, .home .qa-section .qa-q::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  display: block;
  width: 18px;
  height: 2px;
  background-color: #005D8C;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home .qa-section .qa-q::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.home .qa-section .qa-q .inn {
  padding-block: 24px;
  position: relative;
  padding-inline: 59px 20px;
  font-size: 18px;
}
.home .qa-section .qa-q .inn::before {
  content: "Q";
  position: absolute;
  left: 20px;
  color: #005D8C;
  font-size: 20px;
}
.home .qa-section .qa-a {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.35s ease;
  transition: max-height 0.35s ease;
}
.home .qa-section .qa-a .inn {
  padding-inline: 59px 20px;
  padding-bottom: 24px;
  position: relative;
}
.home .qa-section .qa-a .inn::before {
  content: "A";
  position: absolute;
  left: 20px;
  color: #F31518;
  font-size: 20px;
  font-weight: bold;
}
.home .qa-section .qa-a-inner {
  padding: 0 0 16px;
  line-height: 1.6;
}
.home .basic-section {
  background: #2C3344;
}
.home .basic-section .img-wrap {
  position: relative;
  display: block;
  margin-inline: auto;
  max-width: 820px;
}
.home .basic-section .img-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  pointer-events: none;
}
.home .start-section .ttl-area {
  padding-bottom: 133px;
  background: #F5FCFE;
}
.home .start-section .how-area {
  position: relative;
  padding-top: 184px;
}
.home .start-section .how-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: -webkit-gradient(linear, left top, right top, from(#6B84E5), color-stop(21%, #2BC4F0), color-stop(41%, #6DC430), color-stop(60%, #E8DD06), color-stop(78%, #F97645), to(#F31518));
  background: linear-gradient(to right, #6B84E5 0%, #2BC4F0 21%, #6DC430 41%, #E8DD06 60%, #F97645 78%, #F31518 100%);
  opacity: 0.4;
}
.home .start-section .how-area::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  width: 100%;
  height: 127px;
  background: #F5FCFE;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.home .start-section .how-ttl {
  z-index: 1;
  position: relative;
}
.home .start-section .how-ttl .deco {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 30px);
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 189px;
  height: 189px;
  text-align: center;
  font-size: 36px;
}
.home .start-section .how-ttl .deco {
  font-weight: bold;
  color: #fff;
  background: url("../images/home/bg-how-ttl.png.webp") no-repeat center/contain;
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
}
.home .start-section .how-ttl .deco .inn {
  padding-bottom: 8px;
  line-height: 1.3;
  -webkit-filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.5));
}
.home .start-section .how-ttl .ttl {
  display: block;
  padding-block: 10px;
  overflow-x: clip;
  overflow-y: visible;
}
.home .start-section .how-ttl .ttl .inn {
  display: block;
  padding-block: 27px;
  text-align: center;
  font-size: 36px;
}
.home .start-section .how-ttl .ttl .inn {
  font-weight: bold;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(20%, #fff), color-stop(80%, #fff), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 20%, #fff 80%, rgba(255, 255, 255, 0) 100%);
  -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
}
.home .start-section .content-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px 62px;
  margin-top: 115px;
}
.home .start-section .step-block {
  position: relative;
  padding: 50px 35px 44px 35px;
  font-size: 20px;
  color: #fff;
  background: rgba(74, 162, 207, 0.8);
}
.home .start-section .step-tag {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  top: -23px;
  left: 0;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
          filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}
.home .start-section .step-tag .inn {
  padding: 5px 57px 6px 52px;
  display: block;
  font-size: 24px;
  font-weight: bold;
  background: #005D8C;
}
.home .start-section .step-tag .deco {
  display: block;
  width: 33px;
  background: -webkit-gradient(linear, left top, right top, from(#005D8C), to(#288EC2));
  background: linear-gradient(to right, #005D8C 0%, #288EC2 100%);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
  margin-left: -0.3px;
}
.home .start-section .step-ttl {
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: bold;
  color: #E8DD06;
}
.home .start-section .type-block {
  padding: 36px 30px 30px;
  text-align: center;
  background: #fff;
}
.home .start-section .type-ttl {
  z-index: 1;
  position: relative;
  display: inline-block;
  margin-inline: auto;
  color: #555;
  font-size: 30px;
  font-weight: bold;
}
.home .start-section .type-ttl::before {
  z-index: -1;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 16px;
  background: #E8DD06;
}
.home .start-section .wrap {
  margin-top: 38px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 62px;
}
.home .start-section .txt {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
}
.home .support-section .support-ttl {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 20px;
}
.home .support-section .c-white-btn-wrap {
  margin-top: 35px;
}
.home .more-section {
  background: #F5FCFE;
}
.home .more-section .c-white-btn-wrap {
  margin-block: 40px 50px;
}
.home .risk-section {
  padding-block: 110px 96px;
  background: #dfdfdf;
}
.home .risk-section .risk-sec-ttl {
  margin-bottom: 20px;
  font-weight: bold;
}
.home .risk-section .risk-block {
  font-size: 14px;
  font-weight: 400;
}
.home .risk-section .risk-block + .risk-block {
  margin-top: 32px;
}
.home .risk-section .risk-block-ttl {
  font-weight: bold;
}
.home .risk-section .risk-block-ttl:not(:first-child) {
  margin-top: 12px;
}
.home .risk-section .c-note-list li {
  color: #000;
}
.home .risk-section .c-note-list.square > li::before {
  content: "■";
}
.home .risk-section .c-note-list.num-rome {
  counter-reset: item;
}
.home .risk-section .c-note-list.num-rome > li {
  counter-increment: item;
  padding-left: 35px;
}
.home .risk-section .c-note-list.num-rome > li::before {
  content: "（" counter(item, lower-roman) "）";
}
.home .risk-section .marker {
  color: #F31518;
  text-decoration: underline;
}
.home .risk-section .date-txt {
  margin-top: 24px;
  font-size: 14px;
  text-align: right;
}
.home .modal {
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 9999;
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0s 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, visibility 0s 0.3s ease-in-out;
}
.home .modal.is-modal-open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.home .modal-content {
  overflow-y: auto;
  background: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 80%;
  height: 80%;
  max-height: 730px;
  font-size: 14px;
}
.home .modal-content .inn {
  position: relative;
  padding: 45px 66px 88px;
}
.home .modal-content .modal-close {
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 48px;
  height: 48px;
  background-color: #2099D6;
  font-size: 32px;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}
.home .modal-content .modal-ttl {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.home .modal-content img {
  margin: 0 auto 20px;
  display: block;
  width: 100%;
  height: auto;
}
.home .modal-content .c-note-list {
  margin-top: 8px;
}
.home .modal-content .c-note-txt {
  color: #000;
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 14px;
  }
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  #wrapper {
    min-width: 320px;
  }
  .inner-block {
    padding-left: 16px;
    padding-right: 16px;
  }
  .pc {
    display: none !important;
  }
  .c-header {
    height: 60px;
  }
  .c-header .logo-wrap {
    max-width: 295px;
    margin-left: 10px;
  }
  .c-header .link-btn {
    width: 66px;
    min-width: 66px;
    font-size: 12px;
  }
  .c-footer {
    padding-top: clamp(17px, 4.5333333333vw, 34px);
    padding-bottom: clamp(100px, 21.3333333333vw, 160px);
  }
  .c-footer #pagetop {
    bottom: 40px;
    right: 16px;
  }
  .c-footer .pagetop-btn {
    gap: 7px;
  }
  .home {
    padding-top: 60px;
  }
  .home .c-sec {
    padding-block: clamp(40px, 10.6666666667vw, 80px);
  }
  .home .c-note-num li {
    font-size: clamp(10px, 2.6666666667vw, 20px);
    padding-left: clamp(38px, 10.1333333333vw, 76px);
    padding-right: 1px;
  }
  .home .c-note-txt {
    font-size: clamp(10px, 2.6666666667vw, 20px);
    padding-left: clamp(38px, 10.1333333333vw, 76px);
  }
  .home .c-note-list li {
    font-size: clamp(10px, 2.6666666667vw, 20px);
    padding-left: clamp(13px, 3.6vw, 27px);
    padding-right: 2px;
  }
  .home .c-square-list li {
    font-size: clamp(14px, 3.7333333333vw, 28px);
    padding-left: 5.3333333333vw;
  }
  .home .c-flow-list + * {
    margin-top: 10vw !important;
  }
  .home .c-flow-list > li {
    padding: 1.8666666667vw 2.1333333333vw;
  }
  .home .c-flow-list > li .ttl {
    font-size: clamp(16px, 4.2666666667vw, 32px);
    margin-bottom: 0vw;
  }
  .home .c-flow-list > li .txt {
    font-size: clamp(14px, 3.7333333333vw, 28px);
    line-height: 1.5em;
  }
  .home .c-flow-list > li.w-modal {
    display: block;
  }
  .home .c-flow-list > li.w-modal .c-btn01 {
    margin-top: 2.1333333333vw;
    margin-right: auto;
  }
  .home .c-ttl01 {
    font-size: clamp(19px, 5.0666666667vw, 38px);
  }
  .home .c-ttl01::after {
    width: 40px;
  }
  .home .c-ttl01 {
    margin-bottom: clamp(25px, 6.6666666667vw, 50px);
    padding: 0 20px 28px;
    line-height: 1.3;
  }
  .home .c-ttl02 {
    padding-inline: 0;
  }
  .home .c-ttl02 .blue {
    font-size: clamp(24px, 6.4vw, 48px);
  }
  .home .c-ttl02 .txt {
    font-size: clamp(18px, 4.8vw, 36px);
    padding: 10px;
  }
  .home .c-ttl02::before {
    background-image: url(../images/home/point-rainbow-line-sp.png.webp);
    aspect-ratio: 750/279;
  }
  .home .c-ttl03 {
    font-size: clamp(16px, 4.2666666667vw, 32px);
    margin-bottom: 4.2666666667vw;
  }
  .home .graph-ttl {
    font-size: clamp(16px, 4.2666666667vw, 32px);
    margin-bottom: 2.1333333333vw;
  }
  .home .c-btn01 {
    font-size: clamp(14px, 3.7333333333vw, 28px);
    padding: 1.6vw 2.6666666667vw 1.6vw 4vw;
  }
  .home .c-btn01 .ico {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
  .home .c-btn01.plus .ico::before, .home .c-btn01.plus .ico::after {
    width: 3.3333333333vw;
    height: 0.5333333333vw;
  }
  .home .c-btn01 + .c-btn01 {
    margin-top: 4vw;
  }
  .home .c-white-btn-wrap {
    padding-inline: 0;
  }
  .home .c-white-btn {
    gap: 30px;
    padding: 6px 15px;
    min-height: 55px;
  }
  .home .c-white-btn .ico {
    width: 21px;
    height: 25px;
    min-width: 21px;
    min-height: 25px;
  }
  .home .c-white-btn + .c-white-btn {
    margin-top: 10px;
  }
  .home .mv-section {
    padding-top: 13.8666666667vw;
    padding-bottom: 35.2vw;
  }
  .home .mv-section .txt-wrap .inner-block {
    padding-inline: 10px;
  }
  .home .mv-section .txt-wrap .shadow {
    font-size: clamp(16px, 4.5333333333vw, 34px);
  }
  .home .mv-section .txt-wrap .shadow .small {
    font-size: clamp(14px, 4vw, 30px);
  }
  .home .mv-section .txt-wrap .shadow.mv-ttl {
    font-size: clamp(24px, 7.2vw, 54px);
  }
  .home .mv-section .circle {
    bottom: 20px;
  }
  .home .mv-section .circle.is-animated {
    -webkit-animation: circle_sp 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
            animation: circle_sp 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
  }
  .home .intro-section {
    margin-top: -27.6vw;
    padding-bottom: 28vw;
  }
  .home .intro-section::before {
    height: 16.8vw;
  }
  .home .intro-section .grad-ttl {
    font-size: clamp(16px, 5.6vw, 42px);
  }
  .home .intro-section .inn {
    padding-top: 25.8666666667vw;
    padding-bottom: 22.2666666667vw;
  }
  .home .intro-section .inn .box {
    padding-block: clamp(10px, 6.6666666667vw, 50px);
    padding-right: clamp(10px, 6.6666666667vw, 50px);
    padding-left: clamp(10px, 7.3333333333vw, 55px);
  }
  .home .intro-section .intro-list li {
    padding-left: clamp(20px, 8.5333333333vw, 64px);
    font-size: clamp(12px, 3.4666666667vw, 26px);
    line-height: 1.5;
  }
  .home .intro-section .intro-list li + li {
    margin-top: 5px;
  }
  .home .intro-section .intro-list li::before {
    top: -0.8vw;
    width: clamp(20px, 5.8666666667vw, 44px);
    height: clamp(22px, 6.1333333333vw, 46px);
  }
  .home .intro-section .inner-block.bottom {
    margin-top: -11.6vw;
  }
  .home .intro-section .movie-wrap {
    max-width: 530px;
  }
  .home .intro-section .graph-wrap {
    margin-top: clamp(40px, 10.6666666667vw, 80px);
  }
  .home .intro-section .graph-wrap .grad-ttl {
    font-size: clamp(18px, 5.0666666667vw, 38px);
    margin-bottom: clamp(22px, 5.8666666667vw, 44px);
  }
  .home .intro-section .graph-wrap .graph-txt {
    font-size: clamp(14px, 4vw, 30px);
    line-height: 1.5;
  }
  .home .intro-section .graph-wrap .date {
    margin-top: clamp(7px, 1.8666666667vw, 14px);
    font-size: clamp(12px, 3.2vw, 24px);
  }
  .home .intro-section .graph-wrap .graph {
    margin-top: clamp(7px, 1.8666666667vw, 14px);
    padding: 15px 10.5px;
  }
  .home .intro-section .graph-wrap .note-wrap {
    margin-top: clamp(8px, 2.1333333333vw, 16px);
  }
  .home .point-section .anchor-wrap {
    margin-top: 13.3333333333vw;
    margin-bottom: 1.0666666667vw;
  }
  .home .point-section .anchor-wrap ol {
    grid-template-columns: repeat(1, minmax(auto, 1fr));
    gap: 2.6666666667vw;
  }
  .home .point-section .anchor-wrap ol a {
    border-radius: 8px;
    min-height: 51px;
  }
  .home .point-section .anchor-wrap ol a .inner-bg {
    padding-block: 3.3333333333vw;
    padding-left: 26.6666666667vw;
    padding-right: 13.3333333333vw;
  }
  .home .point-section .anchor-wrap ol a .inner-bg::before {
    inset: 1.3333333333vw;
    border-radius: 8px;
  }
  .home .point-section .anchor-wrap ol a::after {
    width: 3.7333333333vw;
    height: 4.3333333333vw;
    left: auto;
    right: 7.2vw;
    bottom: 0;
    top: 0;
    margin: auto;
  }
  .home .point-section .anchor-wrap ol a .ribbon-txt {
    height: 5.3333333333vw;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 2.9333333333vw;
  }
  .home .point-section .anchor-wrap ol a .txt {
    margin-top: 0;
    padding-inline: 0;
    font-size: clamp(16px, 4.2666666667vw, 32px);
  }
  .home .point-section .anchor-wrap + .c-note-list {
    margin-bottom: 9.3333333333vw;
  }
  .home .point-section .ribbon-txt {
    font-size: clamp(12px, 3.2vw, 24px);
    padding: 0.1333333333vw 2vw 0.2666666667vw 8vw;
    height: 5.3333333333vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .home .point-section .ribbon-txt::before {
    height: 5.3333333333vw;
    right: -5.3333333333vw;
    width: 5.4vw;
    top: 0vw;
  }
  .home .point-section .point-block.mb {
    margin-bottom: 9.3333333333vw;
  }
  .home .point-section .point-block .point-ttl {
    padding: 1.3333333333vw 2vw 1.3333333333vw 0;
  }
  .home .point-section .point-block .point-ttl .ttl {
    font-size: clamp(17px, 4.6666666667vw, 35px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .home .point-section .point-block .point-ttl .ribbon-txt {
    padding-left: 4vw;
    margin-right: 5.6vw;
  }
  .home .point-section .point-block .point-data {
    padding: 6.4vw 3.4666666667vw;
    font-size: clamp(14px, 3.7333333333vw, 28px);
  }
  .home .point-section .point-block .point-data p + img {
    margin-top: 4.9333333333vw;
  }
  .home .point-section .point-block .graph-ttl {
    margin-top: 5.6vw;
  }
  .home .point-section .point-block .img-wrap.scrollable img {
    width: auto;
    max-width: none;
    height: auto;
    max-height: 170px;
  }
  .home .point-section .point-block .c-note-num {
    margin-top: 6px;
  }
  .home .point-section .point-block .c-note-txt + .c-note-list, .home .point-section .point-block .c-note-num li + .c-note-list {
    margin-top: 4px;
  }
  .home .point-section .point-block .point-img {
    display: block;
    max-width: 519px;
    width: 100%;
    padding-inline: 6.6666666667vw;
  }
  .home .folio-section {
    padding-block: 25.3333333333vw 10.6666666667vw;
  }
  .home .folio-section .c-ttl01 {
    margin-bottom: 6.6666666667vw;
  }
  .home .qa-section .qa {
    padding: 5.3333333333vw 2.9333333333vw;
  }
  .home .qa-section .qa-q::before, .home .qa-section .qa-q::after {
    width: 4.2666666667vw;
    right: 1.3333333333vw;
  }
  .home .qa-section .qa-q .inn {
    font-size: clamp(14px, 3.7333333333vw, 28px);
    padding-block: 3.0666666667vw 2.6666666667vw;
    padding-inline: 6.1333333333vw;
  }
  .home .qa-section .qa-q .inn::before {
    left: 1.3333333333vw;
    font-size: clamp(14px, 3.7333333333vw, 28px);
  }
  .home .qa-section .qa-a .inn {
    font-size: clamp(14px, 3.7333333333vw, 28px);
    padding-block: 0 2.6666666667vw;
    padding-inline: 6.1333333333vw;
  }
  .home .qa-section .qa-a .inn::before {
    left: 1.3333333333vw;
    font-size: clamp(14px, 3.7333333333vw, 28px);
  }
  .home .start-section .ttl-area {
    padding-bottom: 70px;
  }
  .home .start-section .how-area {
    padding-top: clamp(53px, 16.8vw, 126px);
  }
  .home .start-section .how-area::after {
    top: 0;
    height: clamp(32px, 8.6666666667vw, 65px);
  }
  .home .start-section .how-ttl .deco {
    font-size: clamp(19px, 5.0666666667vw, 38px);
  }
  .home .start-section .how-ttl .deco {
    bottom: calc(100% - 20px);
    width: clamp(95px, 25.2vw, 189px);
    height: clamp(95px, 25.2vw, 189px);
  }
  .home .start-section .how-ttl .ttl .inn {
    font-size: clamp(19px, 5.0666666667vw, 38px);
  }
  .home .start-section .how-ttl .ttl .inn {
    padding-block: 15px 11px;
    line-height: 1.3;
  }
  .home .start-section .step-block {
    padding: 15px;
    padding-top: clamp(30px, 8vw, 60px);
    font-size: clamp(14px, 3.7333333333vw, 28px);
  }
  .home .start-section .step-tag {
    top: -17px;
  }
  .home .start-section .step-tag .inn {
    padding: 5px 40px 6px 40px;
    font-size: clamp(16.7px, 4.4533333333vw, 33.4px);
  }
  .home .start-section .step-ttl {
    margin-bottom: 12px;
    font-size: clamp(17px, 4.5333333333vw, 34px);
  }
  .home .start-section .type-block {
    padding: 18px clamp(61px, 16.2666666667vw, 122px) 26px;
  }
  .home .start-section .type-ttl {
    font-size: clamp(17px, 4.5333333333vw, 34px);
  }
  .home .start-section .type-ttl::before {
    height: clamp(8px, 2.1333333333vw, 16px);
  }
  .home .start-section .wrap {
    margin-top: 36px;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .home .start-section .txt {
    margin-bottom: 0;
    font-size: clamp(14px, 3.7333333333vw, 28px);
  }
  .home .support-section .support-ttl {
    margin-bottom: 6px;
    font-size: clamp(16px, 4.2666666667vw, 32px);
  }
  .home .support-section .c-white-btn-wrap {
    margin-top: 20px;
  }
  .home .more-section .c-white-btn-wrap {
    margin-block: 50px 25px;
  }
  .home .risk-section {
    padding-block: clamp(55px, 14.6666666667vw, 110px) clamp(35px, 9.3333333333vw, 70px);
  }
  .home .risk-section .risk-sec-ttl {
    margin-bottom: 10px;
    font-size: clamp(11px, 2.6666666667vw, 20px);
  }
  .home .risk-section .risk-block {
    font-size: clamp(11px, 2.6666666667vw, 20px);
  }
  .home .risk-section .risk-block + .risk-block {
    margin-top: 24px;
  }
  .home .risk-section .risk-block-ttl {
    font-size: clamp(11px, 2.6666666667vw, 20px);
  }
  .home .risk-section .risk-block-ttl:not(:first-child) {
    margin-top: 26px;
  }
  .home .risk-section .c-note-list li {
    font-size: clamp(11px, 2.6666666667vw, 20px);
  }
  .home .risk-section .c-note-list.num-rome > li {
    padding-left: clamp(26px, 7.0666666667vw, 53px);
  }
  .home .risk-section .date-txt {
    font-size: clamp(10px, 2.6666666667vw, 20px);
  }
  .home .modal {
    padding-bottom: 20px;
  }
  .home .modal-content {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .home .modal-content .inn {
    padding: 20px;
    padding-bottom: 16vw;
  }
  .home .modal-content .modal-close {
    right: 5.3333333333vw;
    bottom: 5.3333333333vw;
    width: 8vw;
    height: 8vw;
    font-size: clamp(18px, 4.8vw, 36px);
  }
  .home .modal-content .modal-ttl {
    font-size: 15px;
  }
  .home .scroll-hint-icon {
    top: 25%;
  }
}
@media only screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  .inner-block {
    padding-left: 40px;
    padding-right: 40px;
    max-width: 1080px;
  }
  a,
  a::before,
  a::after,
  button,
  button::before,
  button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp {
    display: none !important;
  }
  .c-header .link-btn {
    padding-inline: 10px 20px;
  }
}
@media only screen and (max-width: 880px) {
  .c-header .link-wrap {
    display: contents;
  }
  .c-header .menu-btn {
    width: 40px;
    height: 40px;
    padding: 9px 8px;
    gap: 7px;
    right: 16px;
    top: calc(100% + 15px);
  }
  .c-header .menu-btn > span {
    height: 2px;
  }
  .c-header .menu-btn.is-open > span:nth-child(1) {
    -webkit-transform: translateY(9px) rotate(-36deg);
            transform: translateY(9px) rotate(-36deg);
  }
  .c-header .menu-btn.is-open > span:nth-child(2) {
    opacity: 0;
  }
  .c-header .menu-btn.is-open > span:nth-child(3) {
    -webkit-transform: translateY(-9px) rotate(36deg);
            transform: translateY(-9px) rotate(36deg);
  }
}
@media only screen and (max-width: 1330px) {
  .c-header .link-list {
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    width: 100%;
    padding-block: 94px 111px;
    background: #005D8C;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease-in-out, visibility 0s 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, visibility 0s 0.3s ease-in-out;
  }
  .c-header .link-list > li + li {
    margin-top: 26px;
  }
  .c-header .link-list.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .c-header .link-list-item {
    max-width: 180px;
    margin-inline: auto;
    color: #fff;
    font-size: 15px;
  }
  .c-header .link-list-item::after {
    border-color: #fff transparent transparent transparent;
    border-width: 10px 6px 0 6px;
    right: 20px;
  }
}
@media only screen and (any-hover: hover) and (min-width: 1331px) {
  .c-header .link-list-item:hover {
    color: #005D8C;
  }
}
@media (any-hover: hover) {
  .c-header .link-list-item:hover::after {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
  .c-header .link-btn:hover {
    background: #005D8C;
  }
  .c-header .menu-btn:hover {
    background: #2099D6;
  }
  .c-header .menu-btn:hover > span {
    background: #fff;
  }
  .c-footer .pagetop-btn:hover {
    color: #fff;
    background: #2099D6;
  }
  .c-footer .pagetop-btn:hover::before {
    background: #fff;
  }
  .home .c-btn01:hover {
    background-color: #005D8C;
  }
  .home .c-btn01:hover .ico::before, .home .c-btn01:hover .ico::after {
    background-color: #005D8C;
  }
  .home .c-white-btn:hover {
    color: #005D8C;
    -webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2);
  }
  .home .c-white-btn:hover .ico {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
  .home .point-section .anchor-wrap ol a:hover::before {
    opacity: 1;
  }
  .home .point-section .anchor-wrap ol a:hover .inner-bg {
    opacity: 0.9;
  }
  .home .point-section .anchor-wrap ol a:hover::after {
    -webkit-transform: rotate(90deg) translateX(5px);
            transform: rotate(90deg) translateX(5px);
  }
  .home .qa-section .qa-q:hover {
    color: #005D8C;
  }
  .home .basic-section .img-wrap:hover::before {
    opacity: 0.3;
  }
  .home .modal-content .modal-close:hover {
    background-color: #005D8C;
  }
}
@media only screen and (min-width: 1331px) {
  .c-header .link-list-item:focus-visible {
    color: #005D8C;
  }
}
@media only screen and (min-width: 1330px) {
  .c-header .menu-btn {
    display: none;
  }
}
@media only screen and (max-width: 900px) {
  .home .mv-section .txt-wrap .top .ribbon {
    left: -8.3333333333vw;
  }
  .home .mv-section .circle.orange {
    left: 20vw;
  }
  .home .mv-section .circle.blue {
    right: 20.8888888889vw;
  }
  .home .mv-section .circle.purple {
    right: 7.7777777778vw;
  }
}
@media only screen and (max-width: 900px) and (max-width: 767px) {
  .home .mv-section .txt-wrap .top .ribbon {
    left: -16.8vw;
    top: -11.0666666667vw;
    width: clamp(40px, 13.0666666667vw, 98px);
  }
}
@media only screen and (max-width: 1499px) and (min-width: 768px) {
  .home .mv-section .circle.is-animated {
    -webkit-animation: circle 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
            animation: circle 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
  }
}
@media only screen and (min-width: 1500px) {
  .home .mv-section .circle.is-animated {
    -webkit-animation: circle_1500 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
            animation: circle_1500 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
  }
  .home .mv-section .circle.red {
    left: 9.0277777778vw;
  }
  .home .mv-section .circle.orange {
    left: 21.6666666667vw;
  }
  .home .mv-section .circle.yellow {
    left: 34.6666666667vw;
  }
  .home .mv-section .circle.green {
    right: 36vw;
  }
  .home .mv-section .circle.blue {
    right: 23vw;
  }
  .home .mv-section .circle.purple {
    right: 10vw;
  }
  .home .mv-section .circle.pink {
    right: -9.3333333333vw;
    bottom: 26.6666666667vw;
  }
}
@media only screen and (max-width: 1100px) {
  .home .mv-section .circle.red {
    left: 7.2727272727vw;
  }
  .home .mv-section .circle.yellow {
    left: 33.1818181818vw;
  }
  .home .mv-section .circle.green {
    right: 34.3636363636vw;
  }
}
@media only screen and (max-width: 1100px) and (max-width: 900px) {
  .home .mv-section .circle.red {
    left: 6.6666666667vw;
  }
  .home .mv-section .circle.yellow {
    left: 32.7777777778vw;
  }
  .home .mv-section .circle.green {
    right: 33.8888888889vw;
  }
}
@media only screen and (max-width: 1100px) and (max-width: 900px) and (max-width: 840px) {
  .home .mv-section .circle.red {
    left: 5.3571428571vw;
  }
  .home .mv-section .circle.yellow {
    left: 32.1428571429vw;
  }
  .home .mv-section .circle.green {
    right: 33.3333333333vw;
  }
}
@media only screen and (max-width: 1100px) and (max-width: 900px) and (max-width: 840px) and (max-width: 777px) {
  .home .mv-section .circle.red {
    left: -1.9305019305vw;
  }
  .home .mv-section .circle.yellow {
    left: 29.601029601vw;
  }
  .home .mv-section .circle.green {
    right: 30.888030888vw;
  }
}
@media only screen and (max-width: 1100px) and (max-width: 900px) and (max-width: 840px) and (max-width: 777px) and (max-width: 767px) {
  .home .mv-section .circle.red {
    left: -35.2020860495vw;
  }
  .home .mv-section .circle.yellow {
    left: 16.9491525424vw;
  }
  .home .mv-section .circle.green {
    right: 18.5136897001vw;
  }
}
@media only screen and (max-width: 900px) and (max-width: 840px) {
  .home .mv-section .circle.orange {
    left: 18.4523809524vw;
  }
  .home .mv-section .circle.blue {
    right: 19.6428571429vw;
  }
  .home .mv-section .circle.purple {
    right: 7.1428571429vw;
  }
  .home .mv-section .circle.pink {
    right: -16.6666666667vw;
  }
}
@media only screen and (max-width: 900px) and (max-width: 840px) and (max-width: 777px) {
  .home .mv-section .circle.orange {
    left: 13.5135135135vw;
  }
  .home .mv-section .circle.blue {
    right: 14.8005148005vw;
  }
  .home .mv-section .circle.purple {
    right: -0.6435006435vw;
  }
  .home .mv-section .circle.pink {
    right: -18.018018018vw;
    bottom: 33.462033462vw;
  }
}
@media only screen and (max-width: 900px) and (max-width: 840px) and (max-width: 777px) and (max-width: 767px) {
  .home .mv-section .circle.orange {
    left: -11.7340286832vw;
    rotate: 35deg;
  }
  .home .mv-section .circle.blue {
    right: -7.1707953064vw;
  }
  .home .mv-section .circle.purple {
    right: -32.5945241199vw;
  }
  .home .mv-section .circle.pink {
    right: -13.037809648vw;
    bottom: 76.2711864407vw;
  }
}
@media only screen and (min-width: 1500px) and (min-width: 1560px) {
  .home .mv-section .circle.pink {
    rotate: -72deg;
  }
}
@media only screen and (min-width: 1500px) and (min-width: 1560px) and (min-width: 1700px) {
  .home .mv-section .circle.pink {
    right: -130px;
    bottom: 27.0588235294vw;
  }
}
@media only screen and (min-width: 1500px) and (min-width: 1560px) and (min-width: 1700px) and (min-width: 1800px) {
  .home .mv-section .circle.pink {
    right: -5vw;
  }
}
@media only screen and (min-width: 1500px) and (min-width: 1560px) and (min-width: 1700px) and (min-width: 1800px) and (min-width: 1900px) {
  .home .mv-section .circle.pink {
    right: -3.6842105263vw;
  }
}
@media only screen and (max-width: 900px) and (max-width: 840px) and (max-width: 777px) and (max-width: 767px) and (max-width: 550px) {
  .home .mv-section .circle.pink.is-animated {
    -webkit-animation: circle_sp_pink 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
            animation: circle_sp_pink 1s cubic-bezier(0.64, 0, 0.78, 0) infinite;
  }
}
@media only screen and (max-width: 767px) and (max-width: 380px) {
  .home .point-section .anchor-wrap ol a .inner-bg {
    padding-block: 4.2666666667vw 2.4vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 960px) {
  .home .point-section .anchor-wrap ol a .txt {
    margin-top: 60px;
    font-size: 20px;
  }
}
@media only screen and (max-width: 1000px) {
  .home .folio-section .cont-wrap {
    grid-template-columns: 1fr;
    gap: 0.5333333333vw;
  }
  .home .folio-section .cont-wrap > *:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .home .folio-section .cont-wrap > *:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .home .folio-section .cont-wrap img {
    display: block;
    width: 100%;
    padding-inline: 5.3333333333vw;
  }
  .home .folio-section .cont-wrap .desc {
    margin-bottom: 2.6666666667vw;
  }
}
@media only screen and (max-width: 1020px) {
  .home .start-section .content-wrap {
    gap: 30px;
  }
}
@media only screen and (max-width: 1020px) and (max-width: 860px) {
  .home .start-section .content-wrap {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 1020px) and (max-width: 860px) and (max-width: 767px) {
  .home .start-section .content-wrap {
    margin-top: 46px;
    gap: 27px;
  }
}
@media only screen and (max-width: 860px) {
  .home .start-section .step-block + .step-block {
    margin-top: 16px;
  }
}
@media only screen and (min-width: 861px) {
  .home .start-section .type-block {
    grid-column: 1/3;
  }
}
@media only screen and (max-width: 767px) and (max-width: 370px) {
  .home .start-section .type-block {
    padding-inline: 20px;
  }
  .home .start-section .wrap {
    max-width: 220px;
    margin-inline: auto;
  }
}