/* ============================================================= *

home

* ============================================================= */
:root {
  --home-slider-overflow: 139px;
}

@media screen and (max-width: 767px) {
  :root {
    --home-slider-overflow: 15px;
  }
}

/* p-home-header
============================== */
.p-home-header {
  position: relative;
  width: 92%;
  max-width: var(--inner-width-px);
  margin: 0 auto;
  padding: 6.2rem 0 calc(8.2rem + var(--home-slider-overflow));
}

@media screen and (max-width: 767px) {
  .p-home-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 6.66667% 0 calc(10% + var(--home-slider-overflow));
  }
}

.p-home-header__lead {
  margin-top: calc(-1em * var(--line-space));
  margin-bottom: calc(-1em * var(--line-space));
  font-weight: 900;
  font-size: clamp(30px, 8.95408px + 5.61224vw, 52px);
  line-height: var(--line-height);

  --line-height: 1.5;
  --line-space: (var(--line-height) - 1)/2;
}

.p-home-header__text {
  margin-top: calc(-1em * var(--line-space) + 1.66667em);
  margin-bottom: clamp(25px, 2.99745px + 5.86735vw, 48px);
  font-size: clamp(14px, 4.43367px + 2.55102vw, 24px);
  line-height: var(--line-height);

  --line-height: 1.79167;
  --line-space: (var(--line-height) - 1)/2;
}

@media screen and (min-width: 768px) {
  .p-home-header__text {
    max-width: 55%;
  }
  .p-home-header__text span {
    display: inline-block;
  }
}

.p-home-header__image {
  position: absolute;
  top: calc(50% - var(--home-slider-overflow)/2 - 20px);
  right: 0;
  width: 44.66667%;
  margin-right: 1%;
  padding-bottom: 4.5%;
  background: url(../img/home-shadow.svg) bottom center/81.71642% auto no-repeat;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .p-home-header__image {
    position: static;
    order: -1;
    width: 84.05797%;
    margin: 0 auto 10px;
    transform: none;
  }
}

.p-home-header__image img {
  animation: 3s puka ease-in-out infinite;
}

@keyframes puka {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* p-home-slider
============================== */
.p-home-slider {
  position: relative;
  z-index: 1;
  width: 100vw;
  margin-top: calc(var(--home-slider-overflow) * -1);
  padding: var(--inner-space) 0 0 var(--inner-space);
  border-radius: 3rem 0 0 0;
  background: var(--bg-color);
}

@media screen and (max-width: 767px) {
  .p-home-slider {
    position: relative;
    left: 50%;
    width: 100vw;
    padding: var(--outer-space) 0 0 var(--outer-space);
    border-radius: 15px 0 0 0;
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 767px) and (max-width: 1024px) {
  .p-home-slider {
    width: 1024px;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-home-slider {
    width: 108.69565%;
  }
}

.p-home-slider .slick-prev {
  display: none !important;
}

.p-home-slider .slick-next {
  transform: translateX(13px);
}

.p-home-slider .slick-list,
.p-home-slider .slick-track {
  overflow: visible;
}

.p-home-slider__inner {
  overflow: hidden;
  margin-top: -15px;
  margin-left: -15px;
  padding-top: 15px;
  padding-bottom: calc(15px + 2rem);
  padding-left: 15px;
}

.p-home-slider__list {
  width: 710px;
}

@media screen and (max-width: 767px) {
  .p-home-slider__list {
    width: 88vw;
  }
}

.p-home-slider__item {
  flex-shrink: 0;
  width: 710px;
  padding-right: 40px;
}

@media screen and (max-width: 767px) {
  .p-home-slider__item {
    width: 88vw;
    padding-right: 4vw;
  }
}

.p-home-slider__item a {
  display: block;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0px 0px 13px 3px rgba(64, 64, 65, .2);
  transition: opacity .2s;
}

.p-home-slider__item a:hover {
  opacity: .8;
}

/* p-home-news
============================== */
.p-home-news {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: clamp(74px, 41.47449px + 8.67347vw, 108px);
  margin-bottom: clamp(50px, -5.48469px + 14.79592vw, 108px);
  padding: 0 var(--inner-space);
}

.p-home-news__head {
  order: -1;
}

.p-home-news__title {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
  font-size: clamp(16px, 10.2602px + 1.53061vw, 22px);
  line-height: 1;
}

.p-home-news__title span {
  position: relative;
  z-index: 1;
}

.p-home-news__title:before {
  content: attr(data-en);
  position: absolute;
  top: 50%;
  left: 50%;
  color: var(--key-color);
  font-size: clamp(119px, 74.03827px + 11.9898vw, 166px);
  font-family: var(--en-font-family);
  opacity: .14;
  transform: translate3d(-50%, -50%, 0px);
}

@media screen and (max-width: 767px) {
  .p-home-news__title:before {
    left: -15px;
    transform: translate3d(0, -50%, 0px);
  }
}

.p-home-news__body {
  z-index: 1;
  width: 100%;
  margin-top: 22px;
}

.p-home-news__foot {
  order: -1;
}

@media screen and (max-width: 767px) {
  .p-home-news__foot {
    order: 0;
    margin-top: 15px;
    margin-left: auto;
  }
}

/* p-home-point-container
============================== */
.p-home-point-container {
  position: relative;
  padding: clamp(52px, -62.79592px + 30.61224vw, 172px) 0 clamp(89px, 23.94898px + 17.34694vw, 157px);
  color: #fff;
}

.p-home-point-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background: linear-gradient(to top, #f08200 25%, #f36f21 90%);
  transform: translateX(-50%);
}

@media screen and (max-width: 1024px) {
  .p-home-point-container:before {
    width: 1024px;
  }
}

@media screen and (max-width: 767px) {
  .p-home-point-container:before {
    width: 108.69565%;
  }
}

.p-home-point-container > :where(*) {
  position: relative;
  z-index: 1;
}

.p-home-point-container__bg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
}

@media screen and (max-width: 1024px) {
  .p-home-point-container__bg {
    width: 1024px;
  }
}

@media screen and (max-width: 767px) {
  .p-home-point-container__bg {
    width: 108.69565%;
  }
}

/* p-home-point-header
============================== */
.p-home-point-header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, -40.26786px + 16.07143vw, 83px);
  padding: clamp(50px, 6.95153px + 11.47959vw, 95px) 0 clamp(33px, -29.18112px + 16.58163vw, 98px);
}

.p-home-point-header:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: calc(100% - var(--inner-space) * 2);
  height: 100%;
  margin: 0 auto;
  border: 20px solid rgba(255, 255, 255, .5);
  border-radius: 10px;
}

.p-home-point-header__title {
  width: 100%;
}

.p-home-point-header__title img {
  position: relative;
  z-index: 1;
  width: 54.66667%;
  aspect-ratio: 328 / 93;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-home-point-header__title img {
    aspect-ratio: 278 / 185;
  }
}

.p-home-point-header__title:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 27.83333%;
  aspect-ratio: 334 / 381;
  background: url(../img/home-enquete-img1.png) 50% 50%/contain no-repeat;
  opacity: 0;
  transition: opacity 1s, transform .8s;
  transition-delay: .4s;
  transform: translateY(-18.3727%);
}

*[data-intersection][data-intersecting=true] .p-home-point-header__title:before {
  opacity: 1;
}

.p-home-point-header__title:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 20.16667%;
  aspect-ratio: 242 / 334;
  background: url(../img/home-enquete-img2.png) 50% 50%/contain no-repeat;
  opacity: 0;
  transition: opacity 1s, transform .8s;
  transition-delay: .8s;
  transform: translateY(-20.95808%);
}

*[data-intersection][data-intersecting=true] .p-home-point-header__title:after {
  opacity: 1;
}

.p-home-point-header__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px 50px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-home-point-header__list {
    grid-template-columns: 100%;
    width: 76%;
  }
}

.p-home-point-header__list > li {
  aspect-ratio: 361 / 321;
}

@media screen and (max-width: 767px) {
  .p-home-point-header__list > li {
    aspect-ratio: 285 / 107;
  }
}

@media screen and (min-width: 768px) {
  .p-home-point-header__list > li:nth-child(2) {
    transition-delay: .2s;
  }
  .p-home-point-header__list > li:nth-child(3) {
    transition-delay: .4s;
  }
}

/* p-home-point-system
============================== */
.p-home-point-system {
  margin-top: clamp(72px, 6.94898px + 17.34694vw, 140px);
  padding: 0 var(--inner-space);
}

.p-home-point-system__head {
  margin-bottom: clamp(20px, -2.00255px + 5.86735vw, 43px);
}

.p-home-point-system-block {
  padding: 3.63636% 6% 4.18182% 5.09091%;
  border-radius: clamp(15px, .65051px + 3.82653vw, 30px);
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-home-point-system-block {
    padding: 26px 4.34783% 40px;
  }
}

.p-home-point-system-block__body {
  width: 100%;
  aspect-ratio: 326 / 147;
}

@media screen and (max-width: 767px) {
  .p-home-point-system-block__body {
    aspect-ratio: 630 / 1027;
  }
}

.p-home-point-system-block__foot {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-home-point-system-block__foot {
    margin-top: 3.80952%;
  }
}

/* p-home-point-achievement
============================== */
.p-home-point-achievement {
  margin-top: clamp(72px, -12.18367px + 22.44898vw, 160px);
  padding: 0 var(--inner-space);
}

.p-home-point-achievement__head {
  margin-bottom: clamp(20px, -2.00255px + 5.86735vw, 43px);
}

.p-home-point-achievement__foot {
  display: flex;
  justify-content: center;
  margin-top: clamp(30px, 5.12755px + 6.63265vw, 56px);
}

.p-home-point-achievement-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

@media screen and (max-width: 767px) {
  .p-home-point-achievement-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 16px;
  }
}

.p-home-point-achievement-list > li {
  aspect-ratio: 510 / 672;
}

@media screen and (min-width: 768px) {
  .p-home-point-achievement-list > li:nth-child(2) {
    transition-delay: .2s;
  }
  .p-home-point-achievement-list > li:nth-child(3) {
    transition-delay: .4s;
  }
  .p-home-point-achievement-list > li:nth-child(4) {
    transition-delay: .6s;
  }
}

/* p-home-report
============================== */
.p-home-report {
  position: relative;
  padding: clamp(76px, -33.05612px + 29.08163vw, 190px) var(--inner-space) clamp(60px, 2.60204px + 15.30612vw, 120px);
}

.p-home-report:before {
  content: "";
  position: absolute;
  top: clamp(47px, 18.30102px + 7.65306vw, 77px);
  right: -10px;
  z-index: -1;
  display: block;
  width: 60.54545%;
  aspect-ratio: 666 / 367;
  background: url(../img/home-report.png) right top/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .p-home-report:before {
    right: -5.33333vw;
    width: 60.28986%;
  }
}

.p-home-report__head {
  margin-bottom: clamp(20px, -1.04592px + 5.61224vw, 42px);
}

.p-home-report__foot {
  display: flex;
  justify-content: center;
  margin-top: clamp(30px, 1.30102px + 7.65306vw, 60px);
}

.p-home-report__bg {
  position: absolute;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 50%;
  z-index: 1;
  width: 100vw;
  transform: translateX(-50%);
}

@media screen and (max-width: 1024px) {
  .p-home-report__bg {
    width: 1024px;
  }
}

@media screen and (max-width: 767px) {
  .p-home-report__bg {
    width: 108.69565%;
  }
}

.p-home-report-list {
  overflow: hidden;
  width: 100vw;
  margin-left: -15px;
  padding-bottom: calc(15px + 2rem);
  padding-left: 15px;
}

.p-home-report-list .slick-prev {
  grid-area: prev;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-home-report-list .slick-prev {
    display: none !important;
  }
}

.p-home-report-list .slick-next {
  grid-area: next;
}

@media screen and (min-width: 768px) {
  .p-home-report-list .slick-next {
    transform: translateX(13px);
  }
}

@media screen and (max-width: 767px) {
  .p-home-report-list .slick-dots,
  .p-home-report-list .slick-prev,
  .p-home-report-list .slick-next {
    position: static;
  }
}

.p-home-report-list .slick-list,
.p-home-report-list .slick-track {
  overflow: visible;
}

.p-home-report-list .slick-list {
  grid-area: list;
}

.p-home-report-list .slick-dots {
  grid-area: dots;
}

.p-home-report-list__inner {
  display: flex;
  width: 736px;
}

@media screen and (max-width: 767px) {
  .p-home-report-list__inner {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "list list list" "prev dots next";
    gap: 24px 12px;
    width: 100%;
  }
}

.p-home-report-list__item {
  flex-shrink: 0;
}

.p-home-report-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 18px;
  overflow: hidden;
  width: 696px;
  height: 100%;
  margin-right: 40px;
  border: 10px solid #fff;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 0px 8px 0px rgba(64, 64, 65, .16);
}

@media screen and (max-width: 767px) {
  .p-home-report-card {
    grid-template-columns: 100%;
    width: 92vw;
  }
}

.p-home-report-card__contents {
  display: flex;
  flex-direction: column;
  padding-top: 2em;
  padding-bottom: .66667em;
  font-size: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-home-report-card__contents {
    padding-right: 8px;
  }
}

.p-home-report-card__date {
  margin-bottom: .85em;
  color: var(--key-color);
  font-size: 1.33333em;
  font-family: var(--point-en-font-family);
  line-height: 1;
}

.p-home-report-card__title {
  margin-top: calc(-1em * var(--line-space));
  margin-bottom: calc(-1em * var(--line-space));
  line-height: var(--line-height);

  --line-height: 1.86667;
  --line-space: (var(--line-height) - 1)/2;
}

.p-home-report-card__foot {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .p-home-report-card__foot {
    margin-top: 1.5em;
  }
}

.p-home-report-card__button {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 1em;
  margin-left: auto;
  color: var(--card-color);
  text-decoration: none;
  font-weight: 900;
  font-size: 16px;
  transition: all .3s ease-out;

  --card-color: var(--point-color);
}

.p-home-report-card__button:hover {
  opacity: .7;
}

.p-home-report-card__button[href=""] {
  display: none;
}

.p-home-report-card__button:last-child {
  --card-color: var(--key-color);
}

.p-home-report-card__button > i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.61111em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--card-color);
}

.p-home-report-card__button > i img, .p-home-report-card__button > i svg {
  width: 10px;
}

/* ============================================================= *

report

* ============================================================= */
/* p-report-tab
============================== */
.p-report-tab {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  width: 100%;
  margin-bottom: clamp(19px, -6.82908px + 6.88776vw, 46px);
  border-radius: clamp(5px, .21684px + 1.27551vw, 10px);
  background: #fff;
  box-shadow: 0px 0px 8px 0px rgba(64, 64, 65, .16);
  transform: translateY(-40%);
}

@media screen and (max-width: 767px) {
  .p-report-tab {
    transform: translateY(-50%);
  }
}

.p-report-tab__item {
  position: relative;
}

.p-report-tab__item:not(:first-child):before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 56.47059%;
  margin: auto 0;
  background: currentColor;
}

.p-report-tab__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: clamp(62px, 39.99745px + 5.86735vw, 85px);
  text-decoration: none;
  font-weight: bold;
  font-size: clamp(14px, 9.21684px + 1.27551vw, 19px);
}

.p-report-tab__button:before {
  content: "";
  position: absolute;
  top: .5em;
  right: 0;
  left: 0;
  display: block;
  width: .31579em;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 100%;
  background: var(--point-color);
  opacity: 0;
}

.p-report-tab__button:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 2.89474em;
  height: 3px;
  margin: 0 auto;
  background: var(--point-color);
  opacity: 0;
}

.p-report-tab__button.is-current:before, .p-report-tab__button.is-current:after {
  opacity: 1;
}

/* p-report-section
============================== */
.p-report-section {
  margin-bottom: clamp(70px, 41.30102px + 7.65306vw, 100px);
}

.p-report-section__head {
  margin-bottom: clamp(26px, -6.52551px + 8.67347vw, 60px);
}

/* p-report-list
============================== */
.p-report-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px 25px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-report-list {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}

@media screen and (min-width: 768px) {
  .p-report-list__item:nth-child(3n+2) {
    transition-delay: .2s;
  }
  .p-report-list__item:nth-child(3n) {
    transition-delay: .4s;
  }
}

/* p-report-card
============================== */
.p-report-card {
  display: flex;
  flex-direction: column;
  gap: 0 18px;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border: 10px solid #fff;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 0px 8px 0px rgba(64, 64, 65, .16);
}

.p-report-card__contents {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 1.46667em 5px .66667em;
  font-size: 1.5rem;
}

.p-report-card__date {
  margin-bottom: .85em;
  color: var(--key-color);
  font-size: 1.26667em;
  font-family: var(--point-en-font-family);
  line-height: 1;
}

.p-report-card__title {
  margin-top: calc(-1em * var(--line-space));
  margin-bottom: calc(-1em * var(--line-space));
  line-height: var(--line-height);

  --line-height: 1.86667;
  --line-space: (var(--line-height) - 1)/2;
}

.p-report-card__foot {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  margin-top: auto;
  margin-left: auto;
}

.p-report-card__button {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 1em;
  margin-left: auto;
  color: var(--card-color);
  text-decoration: none;
  font-weight: 900;
  font-size: 15px;
  transition: all .3s ease-out;

  --card-color: var(--point-color);
}

.p-report-card__button:hover {
  opacity: .7;
}

.p-report-card__button[href=""] {
  display: none;
}

.p-report-card__button:last-child {
  --card-color: var(--key-color);
}

.p-report-card__button > i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.61111em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--card-color);
}

.p-report-card__button > i img, .p-report-card__button > i svg {
  width: 10px;
}

/* p-report-article
============================== */
.p-report-article {
  margin-bottom: clamp(40px, -17.39796px + 15.30612vw, 100px);
  padding: clamp(32px, -33.05102px + 17.34694vw, 100px) 4.34783% clamp(42px, -18.26786px + 16.07143vw, 105px);
  border-radius: clamp(5px, -18.91582px + 6.37755vw, 30px);
  background: #fff;
}

.p-report-article__inner {
  max-width: 700px;
  margin: 0 auto;
}

.p-report-article__head {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: clamp(20px, -18.26531px + 10.20408vw, 60px);
  padding-bottom: clamp(20px, 8.52041px + 3.06122vw, 32px);
  border-bottom: 1px dashed;
}

.p-report-article__title {
  margin-top: calc(-1em * var(--line-space));
  margin-bottom: calc(-1em * var(--line-space));
  font-weight: bold;
  font-size: clamp(20px, 7.56378px + 3.31633vw, 33px);
}

.p-report-article__date {
  margin-bottom: 1em;
  color: var(--key-color);
  font-size: clamp(14px, 9.21684px + 1.27551vw, 19px);
  font-family: var(--point-en-font-family);
  line-height: 1;
}

.p-report-article__body {
  font-size: clamp(14px, 13.04337px + .2551vw, 15px);
  line-height: 1.86667;
}

.p-report-article__foot {
  display: flex;
  justify-content: center;
  margin-top: clamp(60px, 2.60204px + 15.30612vw, 120px);
  padding-top: clamp(30px, 1.30102px + 7.65306vw, 60px);
  padding-right: 9.52381%;
  padding-left: 9.52381%;
  border-top: 1px dashed;
}

/* ============================================================= *

guide

* ============================================================= */
/* p-guide-wrapper
============================== */
.p-guide-wrapper {
  max-width: 1100px;
  margin: 0 auto clamp(75px, 51.08418px + 6.37755vw, 100px);
}

/* p-guide-anchor
============================== */
.p-guide-anchor {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  overflow: hidden;
  width: 100%;
  margin-bottom: clamp(19px, -6.82908px + 6.88776vw, 46px);
  border-radius: clamp(5px, .21684px + 1.27551vw, 10px);
  background: #fff;
  box-shadow: 0px 0px 8px 0px rgba(64, 64, 65, .16);
  transform: translateY(-40%);
}

@media screen and (max-width: 767px) {
  .p-guide-anchor {
    transform: translateY(-50%);
  }
}

.p-guide-anchor__item {
  position: relative;
}

.p-guide-anchor__item:not(:first-child):before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 56.47059%;
  margin: auto 0;
  background: currentColor;
}

.p-guide-anchor__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  width: 100%;
  height: clamp(62px, 39.99745px + 5.86735vw, 85px);
  text-decoration: none;
  font-weight: bold;
  font-size: clamp(14px, 9.21684px + 1.27551vw, 19px);
  transition: opacity .1s;
}

@media screen and (max-width: 767px) {
  .p-guide-anchor__button {
    gap: .3em;
  }
}

.p-guide-anchor__button:hover {
  opacity: .8;
}

.p-guide-anchor__button:after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: .73684em;
  aspect-ratio: 14 / 12;
  background: url(../img/down.svg) 50% bottom/contain no-repeat;
}

/* p-guide-section
============================== */
.p-guide-section {
  margin-top: calc(-1 * var(--scroll-margin));
  padding-top: var(--scroll-margin);

  --scroll-margin: calc(72px + 2em);
}

.p-guide-section + .p-guide-section {
  margin-top: calc(clamp(70px, -16.09694px + 22.95918vw, 160px) - var(--scroll-margin));
}

.p-guide-section__head {
  margin-bottom: clamp(24px, 8.69388px + 4.08163vw, 40px);
}

/* p-guide-frame
============================== */
.p-guide-frame {
  display: grid;
  grid-template-columns: 35.63636% 1fr;
  gap: 1em 7.27273%;
  padding: 4.54545% 7.27273% 4.54545% 3.63636%;
  border-radius: clamp(15px, .65051px + 3.82653vw, 30px);
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-guide-frame {
    grid-template-columns: 100%;
    padding: 32px 4.63768%;
  }
}

.p-guide-frame:not(:first-child) {
  margin-top: 27px;
}

@media screen and (max-width: 767px) {
  .p-guide-frame:not(:first-child) {
    margin-top: 25px;
  }
}

.p-guide-frame__head {
  display: flex;
  flex-wrap: wrap;
  gap: .16667em;
  font-weight: bold;
  font-size: clamp(30px, 18.52041px + 3.06122vw, 42px);
}

.p-guide-frame__head span {
  display: flex;
  align-items: center;
  gap: .16667em;
  line-height: 1.59524;
}

.p-guide-frame__head em {
  display: inline-block;
  padding: 0 .25em;
  color: #fff;
  font-size: 1.09524em;
}

.p-guide-frame__head em._c01 {
  background: var(--key-color);
}

.p-guide-frame__head em._c02 {
  background: var(--point-color);
}

.p-guide-frame__body {
  margin-top: 1.35em;
  font-size: clamp(14px, 13.04337px + .2551vw, 15px);
}

@media screen and (min-width: 768px) {
  .p-guide-frame__image {
    grid-row: 1 / 2;
  }
}

.p-guide-frame__image img {
  margin: 0 auto;
}

/* p-guide-requirements
============================== */
.p-guide-requirements {
  margin-top: clamp(30px, 1.30102px + 7.65306vw, 60px);
  padding: clamp(35px, 1.51786px + 8.92857vw, 70px) clamp(16px, -32.78827px + 13.0102vw, 67px);
  border-radius: clamp(15px, .65051px + 3.82653vw, 30px);
  background: #fff;
}

.p-guide-requirements__head {
  margin-top: calc(-1em * var(--line-space));
  margin-bottom: 1em;
  margin-bottom: calc(-1em * var(--line-space) + 1em);
  font-weight: bold;
  font-size: clamp(15px, 8.30357px + 1.78571vw, 22px);
}

.p-guide-requirements__body {
  font-size: clamp(13px, 11.08673px + .5102vw, 15px);
}

.p-guide-requirements__list > li {
  display: flex;
  line-height: 1.38462;
}

.p-guide-requirements__list > li + li {
  margin-top: .75em;
}

.p-guide-requirements__list > li:before {
  content: "\25cf";
  margin-right: .5em;
  color: var(--key-color);
  transform: scale(.6);
}

/* ============================================================= *

agreement

* ============================================================= */
/* p-agreement-wrapper
============================== */
.p-agreement-wrapper {
  max-width: 1100px;
  margin: clamp(40px, 1.73469px + 10.20408vw, 80px) auto clamp(70px, 41.30102px + 7.65306vw, 100px);
  font-size: clamp(14px, 13.04337px + .2551vw, 15px);
  line-height: 2;
}

.p-agreement-wrapper a {
  color: var(--point-color);
}

/* p-agreement-update
============================== */
.p-agreement-update {
  margin-bottom: 1em;
  text-align: right;
  font-size: clamp(13px, 12.04337px + .2551vw, 14px);
}

/* p-agreement-section
============================== */
.p-agreement-section + .p-agreement-section {
  margin-top: clamp(45px, 25.86735px + 5.10204vw, 65px);
}

.p-agreement-section__head {
  display: flex;
  gap: .5em;
  margin-bottom: 1.09091em;
  padding-bottom: .81818em;
  border-bottom: 1px dashed;
  font-weight: bold;
  font-size: 1.46667em;
  line-height: 1.09091;
}

.p-agreement-section__head:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 4px;
  height: 1.09091em;
  background: var(--point-color);
}

/* p-agreement-list
============================== */
.p-agreement-list {
  padding-left: 1.5em;
  list-style-type: decimal;
}

.p-agreement-list > li {
  list-style-position: outside;
  list-style-type: decimal;
}

.p-agreement-list > li + li {
  margin-top: .25em;
}

/* p-agreement-brackets-list
============================== */
.p-agreement-brackets-list {
  counter-reset: brackets;
}

.p-agreement-brackets-list > li {
  counter-increment: brackets;
  padding-left: 1.75em;
  list-style-position: inside;
  list-style-type: none;
  text-indent: -1.75em;
}

.p-agreement-brackets-list > li:before {
  content: "(" counter(brackets) ")";
  margin-right: .25em;
}

/* p-agreement-circle-list
============================== */
.p-agreement-circle-list {
  padding-left: 1.5em;
}

/* ============================================================= *

Point

* ============================================================= */
/* p-point-wrapper
============================== */
.p-point-wrapper {
  max-width: 1100px;
  margin: clamp(40px, 9.38776px + 8.16327vw, 72px) auto clamp(75px, 51.08418px + 6.37755vw, 100px);
}

/* p-point-introduction
============================== */
.p-point-introduction {
  margin-bottom: clamp(62px, 16.08163px + 12.2449vw, 110px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-point-introduction {
    text-align: left;
  }
}

/* p-point-process
============================== */
.p-point-process {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 29px 5%;
}

@media screen and (max-width: 767px) {
  .p-point-process {
    grid-template-columns: 100%;
  }
}

.p-point-process__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 4.77778em;
  padding: 1em;
  border: 1px solid #bdc0c2;
  border-radius: 5px;
  background: #fff;
  text-align: center;
  font-weight: bold;
  font-size: clamp(16px, 14.08673px + .5102vw, 18px);
  line-height: 1.44444;
}

.p-point-process__item:not(:last-child):after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  display: block;
  width: 1.11111em;
  aspect-ratio: 20 / 17;
  background: url(../img/arrow-blue.svg) 50% 50%/contain no-repeat;
  transform: translate3d(85%, -50%, 0px);
}

@media screen and (max-width: 767px) {
  .p-point-process__item:not(:last-child):after {
    top: 100%;
    left: 50%;
    width: 15px;
    transform: translate3d(-50%, 9px, 0px) rotate(90deg);
  }
}

/* p-point-section
============================== */
.p-point-section {
  margin-top: calc(-1 * var(--scroll-margin));
  padding-top: var(--scroll-margin);

  --scroll-margin: calc(72px + 2em);
}

.p-point-section + .p-point-section {
  margin-top: calc(clamp(70px, -16.09694px + 22.95918vw, 160px) - var(--scroll-margin));
}

.p-point-section__head {
  margin-bottom: clamp(24px, 8.69388px + 4.08163vw, 40px);
}

.p-point-section__title {
  display: flex;
  flex-direction: column;
  gap: 1em;
  font-weight: bold;
  font-size: clamp(22px, 12.43367px + 2.55102vw, 32px);
}

.p-point-section__title > i {
  display: block;
  height: 3em;
}

.p-point-section__title > i img {
  height: 100%;
}

/* p-point-notes
============================== */
.p-point-notes {
  margin-top: 1.6em;
  font-size: clamp(13px, 11.08673px + .5102vw, 15px);
}

.p-point-notes a {
  color: var(--point-color);
}

.p-point-notes em {
  color: var(--point-color);
  font-weight: bold;
}

.p-point-notes > li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.38462;
}

.p-point-notes > li + li {
  margin-top: .75em;
}

.p-point-notes > li:before {
  content: "\25cf";
  position: absolute;
  top: 0;
  left: 0;
  margin-right: .5em;
  color: var(--key-color);
  transform: scale(.6);
}

/* p-point-detail
============================== */
.p-point-detail {
  width: -moz-fit-content;
  width: fit-content;
  padding: 1em 1.36842em;
  border-radius: clamp(5px, .21684px + 1.27551vw, 10px);
  background: #e9e9e9;
  font-weight: bold;
  font-size: clamp(15px, 11.17347px + 1.02041vw, 19px);
  line-height: 1.46667;
}

.p-point-detail em {
  color: var(--point-color);
}

/* p-point-step
============================== */
.p-point-step {
  border-top: 1px dashed;
}

.p-point-step:not(:last-child) {
  margin-bottom: clamp(28px, 6.95408px + 5.61224vw, 50px);
}

.p-point-step__item {
  display: grid;
  align-items: center;
  grid-template-columns: 160px 1fr;
  gap: 22px 32px;
  padding: clamp(32px, 22.43367px + 2.55102vw, 42px) 0 clamp(30px, 20.43367px + 2.55102vw, 40px);
  border-bottom: 1px dashed;
}

@media screen and (max-width: 767px) {
  .p-point-step__item {
    grid-template-columns: 100%;
  }
}

.p-point-step__item > p {
  font-size: clamp(14px, 13.04337px + .2551vw, 15px);
  line-height: 1.42857;
}

.p-point-step__item a {
  color: var(--point-color);
}

/* ============================================================= *

Renewal

* ============================================================= */
/* p-renewal-title
============================== */
.p-renewal-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4.5rem 1em clamp(67px, 12.47194px + 14.54082vw, 124px);
  text-align: center;
  text-align: center;
  font-weight: bold;
  font-size: clamp(24px, 16.34694px + 2.04082vw, 32px);
  line-height: 1.4;
}

.p-renewal-title span {
  display: block;
  margin-top: .4em;
  font-size: .6875em;
}

/* p-renewal-wrapper
============================== */
.p-renewal-wrapper {
  max-width: 1100px;
  margin: clamp(40px, 9.38776px + 8.16327vw, 72px) auto clamp(75px, 51.08418px + 6.37755vw, 100px);
}

/* p-renewal-section
============================== */
.p-renewal-section {
  margin-top: calc(-1 * var(--scroll-margin));
  padding-top: var(--scroll-margin);

  --scroll-margin: calc(72px + 2em);
}

.p-renewal-section + .p-renewal-section {
  margin-top: calc(clamp(70px, -16.09694px + 22.95918vw, 160px) - var(--scroll-margin));
}

.p-renewal-section__head {
  margin-bottom: clamp(24px, 8.69388px + 4.08163vw, 40px);
}

/* ============================================================= *

requirement

* ============================================================= */
/* p-requirement-wrapper
============================== */
.p-requirement-wrapper {
  max-width: 1100px;
  margin: clamp(50px, 21.30102px + 7.65306vw, 80px) auto clamp(75px, 51.08418px + 6.37755vw, 100px);
}

/* p-requirement-section
============================== */
.p-requirement-section {
  margin-top: calc(-1 * var(--scroll-margin));
  padding-top: var(--scroll-margin);

  --scroll-margin: calc(72px + 2em);
}

.p-requirement-section + .p-requirement-section {
  margin-top: calc(clamp(70px, -16.09694px + 22.95918vw, 160px) - var(--scroll-margin));
}

.p-requirement-section__head {
  margin-bottom: clamp(24px, 8.69388px + 4.08163vw, 40px);
}

/* p-requirement-block
============================== */
.p-requirement-block {
  margin-top: clamp(40px, 20.86735px + 5.10204vw, 60px);
  font-size: clamp(14px, 10.17347px + 1.02041vw, 18px);
  line-height: 1.77778;
}

.p-requirement-block__body {
  margin-top: 1.44444em;
}

/* p-requirement-text
============================== */
.p-requirement-text small {
  display: block;
  margin-top: 1.5em;
  font-size: clamp(13px, 11.08673px + .5102vw, 15px);
}

.p-requirement-text a {
  color: var(--point-color);
}

/* p-requirement-list
============================== */
.p-requirement-list {
  margin-top: 1.5em;
  font-size: clamp(13px, 11.08673px + .5102vw, 15px);
}

.p-requirement-list > li {
  display: flex;
  line-height: 1.38462;
}

.p-requirement-list > li + li {
  margin-top: .75em;
}

.p-requirement-list > li:before {
  content: "\25cf";
  margin-right: .5em;
  color: var(--key-color);
  transform: scale(.6);
}

/* p-requirement-date
============================== */
.p-requirement-date {
  margin-top: 3.5em;
  text-align: right;
  font-size: clamp(13px, 11.08673px + .5102vw, 15px);
}

/* ============================================================= *

pagenotfound

* ============================================================= */
/* p-pagenotfound
============================== */
.p-pagenotfound {
  margin-top: clamp(40px, 20.86735px + 5.10204vw, 60px);
  margin-bottom: clamp(70px, 41.30102px + 7.65306vw, 100px);
  text-align: center;
  line-height: 2;
}

.p-pagenotfound__text {
  font-weight: bold;
}

.p-pagenotfound__foot {
  display: flex;
  justify-content: center;
  margin-top: 2em;
}

/* ============================================================= *

campaign

* ============================================================= */
/* p-campaign-wrapper
============================== */
.p-campaign-wrapper {
  max-width: 1100px;
  margin: clamp(40px, 1.73469px + 10.20408vw, 80px) auto clamp(70px, 41.30102px + 7.65306vw, 100px);
  font-size: clamp(14px, 13.04337px + .2551vw, 15px);
  line-height: 2;
}

.p-campaign-wrapper a {
  color: var(--point-color);
}

/* p-campaign-section
============================== */
.p-campaign-section + .p-campaign-section {
  margin-top: clamp(45px, 25.86735px + 5.10204vw, 65px);
}

.p-campaign-section__body{
  margin-top: 1.44444em;
}

.p-campaign-section__body > p{
  padding-bottom: 1em;
}