@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wdth,wght@0,75..100,100..900;1,75..100,100..900&display=swap");
@media screen and (min-width: 768px) {
  .adlp-outer {
    overflow-x: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .l-contents {
    width: 100% !important;
  }

  .adlp-outer {
    overflow: hidden;
  }
}

.adlp-wrapper {
  color: #333;
}

.adlp-wrapper * {
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .adlp-wrapper {
    min-width: min(calc(1920 / 1080 * 100vw), 1920px);
    max-width: 1920px;
    margin: 0 auto;
  }
}

.adlp-wrapper .relative {
  position: relative;
}

.adlp-wrapper .w100 {
  width: 100% !important;
  display: block;
}

.adlp-wrapper .center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .adlp-wrapper .sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pc {
    display: none !important;
  }
}

.adlp-wrapper .text__txt {
  color: #333 !important;
}

.adlp-wrapper .text__white {
  color: #fff !important;
}

.adlp-wrapper .text__silver {
  color: #f1f1f1 !important;
}

.adlp-wrapper .text__accent {
  color: #E75B18 !important;
}

.adlp-wrapper .bg__txt {
  background: #333 !important;
}

.adlp-wrapper .bg__white {
  background: #fff !important;
}

.adlp-wrapper .bg__silver {
  background: #f1f1f1 !important;
}

.adlp-wrapper .bg__accent {
  background: #E75B18 !important;
}

.adlp-wrapper .line__top__txt {
  border-top: 1px solid #333;
}

.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top__white {
  border-top: 1px solid #fff;
}

.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top__silver {
  border-top: 1px solid #f1f1f1;
}

.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top__accent {
  border-top: 1px solid #E75B18;
}

.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .marker__txt {
  background: linear-gradient(transparent 60%, #333 60%);
}

.adlp-wrapper .marker__white {
  background: linear-gradient(transparent 60%, #fff 60%);
}

.adlp-wrapper .marker__silver {
  background: linear-gradient(transparent 60%, #f1f1f1 60%);
}

.adlp-wrapper .marker__accent {
  background: linear-gradient(transparent 60%, #E75B18 60%);
}

.adlp-wrapper .line__txt {
  border-bottom: 1px solid #333;
}

.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .line__white {
  border-bottom: 1px solid #fff;
}

.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .line__silver {
  border-bottom: 1px solid #f1f1f1;
}

.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .line__accent {
  border-bottom: 1px solid #E75B18;
}

.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}

.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-wrapper .pad10 {
  padding: min(calc(10 / 1080 * 100vw), 10px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pad10 {
    padding-top: calc(10 / 750 * 100vw) !important;
    padding-bottom: calc(10 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .pad20 {
  padding: min(calc(20 / 1080 * 100vw), 20px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pad20 {
    padding-top: calc(20 / 750 * 100vw) !important;
    padding-bottom: calc(20 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .pad30 {
  padding: min(calc(30 / 1080 * 100vw), 30px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pad30 {
    padding-top: calc(30 / 750 * 100vw) !important;
    padding-bottom: calc(30 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .pad40 {
  padding: min(calc(40 / 1080 * 100vw), 40px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pad40 {
    padding-top: calc(40 / 750 * 100vw) !important;
    padding-bottom: calc(40 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .pad50 {
  padding: min(calc(50 / 1080 * 100vw), 50px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pad50 {
    padding-top: calc(50 / 750 * 100vw) !important;
    padding-bottom: calc(50 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .pad60 {
  padding: min(calc(60 / 1080 * 100vw), 60px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .pad60 {
    padding-top: calc(60 / 750 * 100vw) !important;
    padding-bottom: calc(60 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .mt10 {
  margin-top: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .mt10 {
    margin-top: calc(10 / 750 * 100vw);
  }
}

.adlp-wrapper .mt20 {
  margin-top: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .mt20 {
    margin-top: calc(20 / 750 * 100vw);
  }
}

.adlp-wrapper .mt30 {
  margin-top: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .mt30 {
    margin-top: calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .mt40 {
  margin-top: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .mt40 {
    margin-top: calc(40 / 750 * 100vw);
  }
}

.adlp-wrapper .mt50 {
  margin-top: min(calc(50 / 1080 * 100vw), 50px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .mt50 {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.adlp-wrapper .mt60 {
  margin-top: min(calc(60 / 1080 * 100vw), 60px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .mt60 {
    margin-top: calc(60 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt10 {
    margin-top: calc(10 / 750 * 100vw) !important;
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt20 {
    margin-top: calc(20 / 750 * 100vw) !important;
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt30 {
    margin-top: calc(30 / 750 * 100vw) !important;
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt40 {
    margin-top: calc(40 / 750 * 100vw) !important;
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt50 {
    margin-top: calc(50 / 750 * 100vw) !important;
  }
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt60 {
    margin-top: calc(60 / 750 * 100vw) !important;
  }
}

.adlp-wrapper .wrap500 {
  margin: auto;
  width: min(calc(500 / 1080 * 100vw), 500px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap500 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap600 {
  margin: auto;
  width: min(calc(600 / 1080 * 100vw), 600px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap600 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap700 {
  margin: auto;
  width: min(calc(700 / 1080 * 100vw), 700px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap700 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap800 {
  margin: auto;
  width: min(calc(800 / 1080 * 100vw), 800px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap800 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap900 {
  margin: auto;
  width: min(calc(900 / 1080 * 100vw), 900px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap900 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap920 {
  margin: auto;
  width: min(calc(920 / 1080 * 100vw), 920px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap920 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap1000 {
  margin: auto;
  width: min(calc(1000 / 1080 * 100vw), 1000px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap1000 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.adlp-wrapper .wrap1080 {
  margin: auto;
  width: min(calc(1080 / 1080 * 100vw), 1080px);
}

@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap1080 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

#footer {
  margin-bottom: min(calc(111 / 1080 * 100vw), 111px);
}

@media screen and (max-width: 767px) {
  #footer {
    margin-bottom: calc(172 / 750 * 100vw);
  }
}

.adlp-floating {
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: min(calc(8 / 1080 * 100vw), 8px) 0;
}

@media screen and (max-width: 767px) {
  .adlp-floating {
    padding: calc(16 / 750 * 100vw) 0;
  }
}

.adlp-floating__btn {
  background-color: #ff5f6b;
  width: min(calc(470 / 1080 * 100vw), 470px);
  padding: 0 min(calc(27 / 1080 * 100vw), 27px) 0 min(calc(38 / 1080 * 100vw), 38px);
}

@media screen and (max-width: 767px) {
  .adlp-floating__btn {
    padding: 0 calc(40 / 750 * 100vw) 0 calc(56 / 750 * 100vw);
  }
}

.adlp-accordion {
  background: #fff;
}

.adlp-accordion__wrapper {
  display: flex;
  flex-direction: column;
  gap: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .adlp-accordion__wrapper {
    gap: calc(30 / 750 * 100vw);
  }
}

.adlp-accordion__header {
  position: relative;
  cursor: pointer;
}

.adlp-accordion__header__inner {
  display: flex;
  align-items: center;
  padding: min(calc(20 / 1080 * 100vw), 20px) min(calc(80 / 1080 * 100vw), 80px) min(calc(20 / 1080 * 100vw), 20px) min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .adlp-accordion__header__inner {
    padding: calc(40 / 750 * 100vw) calc(112 / 750 * 100vw) calc(40 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.adlp-accordion__header__inner .lead {
  line-height: 1;
  font-size: min(calc(40 / 1080 * 100vw), 40px);
  margin-right: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .adlp-accordion__header__inner .lead {
    font-size: calc(48 / 750 * 100vw);
    margin-right: calc(20 / 750 * 100vw);
  }
}

.adlp-accordion__header::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(calc(20 / 1080 * 100vw), 20px);
  height: min(calc(12 / 1080 * 100vw), 12px);
  right: min(calc(45 / 1080 * 100vw), 45px);
  transition: all 0.3s;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='12' viewBox='0 0 20 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 11.5L0.47372 0.25L19.5263 0.250002L10 11.5Z' fill='%23012F83'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
}

@media screen and (max-width: 767px) {
  .adlp-accordion__header::after {
    width: calc(28 / 750 * 100vw);
    height: calc(17 / 750 * 100vw);
    right: calc(35 / 750 * 100vw);
  }
}

.adlp-accordion__header.--open::after {
  transform: translateY(-50%) rotate(180deg);
}

.adlp-accordion__header.--open::before {
  opacity: 0;
}

.adlp-accordion__header.--img::after {
  display: none;
}

.adlp-accordion__header.--img>span:last-child {
  display: none;
}

.adlp-accordion__header.--img.--open>span:first-child {
  display: none;
}

.adlp-accordion__header.--img.--open>span:last-child {
  display: block;
}

.adlp-accordion__header.--plus::before {
  content: "";
  display: block;
  background-image: none;
  background: #012F83;
  position: absolute;
  height: min(calc(20 / 1080 * 100vw), 20px);
  width: min(calc(2 / 1080 * 100vw), 2px);
  right: min(calc(49 / 1080 * 100vw), 49px);
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .adlp-accordion__header.--plus::before {
    height: calc(20 / 750 * 100vw);
    width: calc(2 / 750 * 100vw);
    right: calc(49 / 750 * 100vw);
  }
}

.adlp-accordion__header.--plus::after {
  width: min(calc(20 / 1080 * 100vw), 20px);
  height: min(calc(2 / 1080 * 100vw), 2px);
  right: min(calc(40 / 1080 * 100vw), 40px);
  background-image: none;
  background: #012F83;
  transform: translate(0, -50%);
}

@media screen and (max-width: 767px) {
  .adlp-accordion__header.--plus::after {
    width: calc(20 / 750 * 100vw);
    height: calc(2 / 750 * 100vw);
    right: calc(40 / 750 * 100vw);
  }
}

.adlp-accordion__body {
  display: none;
}

.adlp-accordion__body__inner {
  display: flex;
  align-items: flex-start;
  padding: min(calc(20 / 1080 * 100vw), 20px) min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .adlp-accordion__body__inner {
    padding: 0 calc(40 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.adlp-accordion__body__inner .lead {
  font-size: min(calc(40 / 1080 * 100vw), 40px);
  margin-right: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .adlp-accordion__body__inner .lead {
    margin-right: calc(20 / 750 * 100vw);
  }
}

.js-toggle {
  cursor: pointer;
}

.js-toggle+* {
  display: none;
}

.adlp-btn {
  border-radius: 200px;
  height: min(calc(80 / 1080 * 100vw), 80px);
  width: min(calc(420 / 1080 * 100vw), 420px);
  transition: all 0.3s;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.adlp-btn__wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .adlp-btn__wrapper {
    flex-direction: column;
    align-items: center;
    gap: calc(30 / 750 * 100vw);
  }
}

.adlp-btn__text {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .adlp-btn {
    height: calc(98 / 750 * 100vw);
    width: calc(630 / 750 * 100vw);
  }
}

.adlp-btn p {
  text-align: center;
  z-index: 1;
  line-height: 120%;
}

.adlp-btn p span {
  line-height: 120%;
}

.adlp-btn p span.text01 {
  font-size: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .adlp-btn p span.text01 {
    font-size: calc(20 / 750 * 100vw);
  }
}

.adlp-btn p span.text02 {
  font-size: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .adlp-btn p span.text02 {
    font-size: calc(28 / 750 * 100vw);
  }
}

.adlp-btn.--free {
  padding-left: min(calc(9 / 1080 * 100vw), 9px);
}

.adlp-btn.--free::before {
  content: "無料";
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background: #fff;
  color: #1883EC;
  font-size: min(calc(18 / 1080 * 100vw), 18px);
  font-weight: 700;
  width: min(calc(70 / 1080 * 100vw), 70px);
  height: min(calc(70 / 1080 * 100vw), 70px);
  top: min(calc(5 / 1080 * 100vw), 5px);
  left: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--free::before {
    width: calc(82 / 750 * 100vw);
    height: calc(82 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
    top: calc(8 / 750 * 100vw);
    left: calc(8 / 750 * 100vw);
  }
}

.adlp-btn.--btn01 {
  background: #1883EC;
  color: #fff;
}

.adlp-btn.--btn01::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  background-image: url("data:image/svg+xml,%3Csvg width='13' height='18' viewBox='0 0 13 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 12.5L6.5 16.5L1.5 12.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.5 9.5L6.5 1.5' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  width: min(calc(13 / 1080 * 100vw), 13px);
  height: min(calc(18 / 1080 * 100vw), 18px);
  right: min(calc(33 / 1080 * 100vw), 33px);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn01::after {
    width: calc(13 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    right: calc(33 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .adlp-btn.--btn01:hover {
    background: #5AB0FF;
  }
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn01:active {
    background: #5AB0FF;
  }
}

.adlp-btn.--btn02-a {
  background: #fff;
  border: min(calc(4 / 1080 * 100vw), 4px) solid #f69809;
  color: #f69809;
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn02-a {
    border-width: calc(4 / 750 * 100vw);
  }
}

.adlp-btn.--btn02-a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='18' viewBox='0 0 10 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L1 17' stroke='%23F79809' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  width: min(calc(13 / 1080 * 100vw), 13px);
  height: min(calc(18 / 1080 * 100vw), 18px);
  right: min(calc(33 / 1080 * 100vw), 33px);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn02-a::after {
    width: calc(13 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    right: calc(33 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .adlp-btn.--btn02-a:hover {
    background: #f69809;
    color: #fff;
  }

  .adlp-btn.--btn02-a:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='18' viewBox='0 0 10 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L1 17' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  }
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn02-a:active {
    background: #f69809;
    color: #fff;
  }

  .adlp-btn.--btn02-a:active::after {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='18' viewBox='0 0 10 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L1 17' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  }
}

.adlp-btn.--btn02-b {
  color: #fff;
  overflow: hidden;
  border: 1px solid transparent;
}

.adlp-btn.--btn02-b::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #FF98AC 0%, #FF6683 100%);
  opacity: 1;
  transition: all 0.3s;
}

.adlp-btn.--btn02-b::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='16' viewBox='0 0 8 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16L-6.99382e-07 0L8 7.99999L0 16Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  width: min(calc(8 / 1080 * 100vw), 8px);
  height: min(calc(16 / 1080 * 100vw), 16px);
  right: min(calc(33 / 1080 * 100vw), 33px);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn02-b::after {
    width: calc(8 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
    right: calc(33 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .adlp-btn.--btn02-b:hover {
    color: #ff6683;
    border-color: #ff6683;
    background-color: #fff;
  }

  .adlp-btn.--btn02-b:hover::before {
    opacity: 0;
  }

  .adlp-btn.--btn02-b:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='16' viewBox='0 0 8 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16L-6.99382e-07 0L8 7.99999L0 16Z' fill='%23FF6683'/%3E%3C/svg%3E%0A");
  }
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn02-b:active {
    color: #ff6683;
    border-color: #ff6683;
    background-color: #fff;
  }

  .adlp-btn.--btn02-b:active::before {
    opacity: 0;
  }

  .adlp-btn.--btn02-b:active::after {
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='16' viewBox='0 0 8 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16L-6.99382e-07 0L8 7.99999L0 16Z' fill='%23FF6683'/%3E%3C/svg%3E%0A");
  }
}

.adlp-btn.--btn03 {
  color: #C80012;
  background: #fff;
  box-shadow: min(calc(4 / 1080 * 100vw), 4px) min(calc(6 / 1080 * 100vw), 6px) 0 0 rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn03 {
    box-shadow: calc(4 / 750 * 100vw) calc(6 / 750 * 100vw) 0 0 rgba(0, 0, 0, 0.3);
  }
}

.adlp-btn.--btn03::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='15' viewBox='0 0 9 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 1.07324e-07L9 7.50412L1.78873e-07 15L2.47836 7.44633L0 1.07324e-07Z' fill='%23C80012'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  width: min(calc(8 / 1080 * 100vw), 8px);
  height: min(calc(16 / 1080 * 100vw), 16px);
  right: min(calc(33 / 1080 * 100vw), 33px);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn03::after {
    width: calc(8 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
    right: calc(33 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .adlp-btn.--btn03:hover {
    transform: translateY(min(calc(4 / 1080 * 100vw), 4px));
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.3);
  }
}

@media screen and (min-width: 768px) and (max-width: 767px) {
  .adlp-btn.--btn03:hover {
    transform: translateY(calc(4 / 750 * 100vw));
  }
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn03:active {
    transform: translateY(min(calc(4 / 1080 * 100vw), 4px));
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.3);
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .adlp-btn.--btn03:active {
    transform: translateY(calc(4 / 750 * 100vw));
  }
}

.adlp-btn.--btn04 {
  color: #fff;
  background: #FFA800;
  box-shadow: 0 min(calc(14 / 1080 * 100vw), 14px) min(calc(24 / 1080 * 100vw), 24px) 0 rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn04 {
    box-shadow: 0 calc(14 / 750 * 100vw) calc(24 / 750 * 100vw) 0 rgba(0, 0, 0, 0.4);
  }
}

.adlp-btn.--btn04::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='15' viewBox='0 0 9 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.16602L7 7.16602L1 13.166' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  width: min(calc(8 / 1080 * 100vw), 8px);
  height: min(calc(16 / 1080 * 100vw), 16px);
  right: min(calc(33 / 1080 * 100vw), 33px);
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn04::after {
    width: calc(8 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
    right: calc(33 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .adlp-btn.--btn04:hover {
    background: #F48400;
  }

  .adlp-btn.--btn04:hover::after {
    transform: translate(min(calc(10 / 1080 * 100vw), 10px), -50%);
  }
}

@media screen and (max-width: 767px) {
  .adlp-btn.--btn04:active {
    background: #F48400;
  }

  .adlp-btn.--btn04:active::after {
    transform: translate(min(calc(10 / 1080 * 100vw), 10px), -50%);
  }
}

.c-banner {
  position: relative;
  width: fit-content;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .c-banner {
    width: 100%;
  }
}

.c-banner-inner {
  position: relative;
  width: min(calc(498 / 1080 * 100vw), 498px);
  background-color: #fff;
  border: min(calc(4.5 / 1080 * 100vw), 4.5px) solid #f90;
  border-radius: min(calc(15 / 1080 * 100vw), 15px);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .c-banner-inner {
    width: 100%;
    margin: 0 auto;
    border-width: calc(6 / 750 * 100vw);
    border-radius: calc(20 / 750 * 100vw);
  }
}

.c-banner-label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.c-banner-label-text {
  display: block;
  background-color: #232f3e;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  transform: rotate(-35deg);
  transform-origin: left top;
  padding: min(calc(4 / 1080 * 100vw), 4px) min(calc(50 / 1080 * 100vw), 50px);
  position: relative;
  left: max(calc(-44 / 1080 * 100vw), -44px);
  top: min(calc(60 / 1080 * 100vw), 60px);
}

.c-banner-label-text .--lg {
  font-size: min(calc(26 / 1080 * 100vw), 26px);
}

@media screen and (max-width: 767px) {
  .c-banner-label-text .--lg {
    font-size: calc(34 / 750 * 100vw);
  }
}

.c-banner-label-text .--sm {
  font-size: min(calc(21 / 1080 * 100vw), 21px);
}

@media screen and (max-width: 767px) {
  .c-banner-label-text .--sm {
    font-size: calc(28 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .c-banner-label-text {
    padding: calc(8 / 750 * 100vw) calc(65 / 750 * 100vw);
    left: calc(-55 / 750 * 100vw);
    top: calc(70 / 750 * 100vw);
  }
}

.c-banner-head {
  background-color: #f90;
  padding: min(calc(10 / 1080 * 100vw), 10px) min(calc(18 / 1080 * 100vw), 18px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-banner-head {
    padding: calc(10 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.c-banner-head-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #232f3e;
  line-height: 1;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .c-banner-head-text {
    font-size: calc(32 / 750 * 100vw);
  }
}

.c-banner-body {
  padding: min(calc(8 / 1080 * 100vw), 8px) min(calc(20 / 1080 * 100vw), 20px) min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .c-banner-body {
    padding: calc(14 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.c-banner-price {
  position: relative;
  display: flex;
  align-items: flex-end;
}

.c-banner-amazon {
  display: flex;
  flex-direction: column;
  margin-bottom: min(calc(10 / 1080 * 100vw), 10px);
}

.c-banner-amazon-name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(27 / 1080 * 100vw), 27px);
  color: #232f3e;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 767px) {
  .c-banner-amazon-name {
    font-size: calc(36 / 750 * 100vw);
  }
}

.c-banner-amazon-card {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #232f3e;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 767px) {
  .c-banner-amazon-card {
    font-size: calc(30 / 750 * 100vw);
  }
}

.c-banner-amount {
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-banner-amount-num {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: min(calc(85 / 1080 * 100vw), 85px);
  background: linear-gradient(180deg, #f90 52.63%, #ec7a00 52.63%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  letter-spacing: -0.04em;
}

@media screen and (max-width: 767px) {
  .c-banner-amount-num {
    font-size: calc(114 / 750 * 100vw);
  }
}

.c-banner-amount-num span {
  font-size: min(calc(42 / 1080 * 100vw), 42px);
}

.c-banner-amount-unit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .c-banner-amount-unit {
    margin-left: calc(8 / 750 * 100vw);
  }
}

.c-banner-amount-yen {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(27 / 1080 * 100vw), 27px);
  color: #f90;
  line-height: 1.2;
  position: relative;
}

@media screen and (max-width: 767px) {
  .c-banner-amount-yen {
    font-size: calc(36 / 750 * 100vw);
  }
}

.c-banner-amount-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  line-height: 1.5;
  position: absolute;
  right: 0;
  top: min(calc(10 / 1080 * 100vw), 10px);
  transform: translateX(150%);
}

@media screen and (max-width: 767px) {
  .c-banner-amount-note {
    font-size: calc(20 / 750 * 100vw);
    right: calc(15 / 750 * 100vw);
    top: calc(15 / 750 * 100vw);
  }
}

.c-banner-amount-present {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(27 / 1080 * 100vw), 27px);
  color: #f90;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .c-banner-amount-present {
    font-size: calc(36 / 750 * 100vw);
  }
}

.c-banner-rect {
  position: absolute;
  right: min(calc(5 / 1080 * 100vw), 5px);
  top: 0;
  width: min(calc(40 / 1080 * 100vw), 40px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .c-banner-rect {
    right: calc(10 / 750 * 100vw);
    top: calc(0 / 750 * 100vw);
    width: calc(56 / 750 * 100vw);
  }
}

.c-banner-note {
  margin-top: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .c-banner-note {
    margin-top: calc(20 / 750 * 100vw);
  }
}

.c-banner-note p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  line-height: 1.2;
  letter-spacing: 0.04em;
  word-break: break-all;
}

@media screen and (max-width: 767px) {
  .c-banner-note p {
    font-size: calc(20 / 750 * 100vw);
  }
}

.c-banner-note p+p {
  margin-top: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .c-banner-note p+p {
    margin-top: calc(4 / 750 * 100vw);
  }
}

.c-banner-note-link {
  color: #666;
  text-decoration: underline;
}

.c-banner-note-link:hover {
  color: #666;
  text-decoration: none;
}

.cv-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(calc(500 / 1080 * 100vw), 500px);
  height: min(calc(100 / 1080 * 100vw), 100px);
  background: linear-gradient(180deg, #e84b3c 0%, #c80012 100%);
  border-radius: min(calc(100 / 1080 * 100vw), 100px);
  box-shadow: 0 min(calc(6 / 1080 * 100vw), 6px) 0 0 #8b0000;
  position: relative;
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .cv-btn {
    width: calc(630 / 750 * 100vw);
    height: calc(120 / 750 * 100vw);
    border-radius: calc(120 / 750 * 100vw);
    box-shadow: 0 calc(6 / 750 * 100vw) 0 0 #8b0000;
  }
}

.cv-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: min(calc(30 / 1080 * 100vw), 30px);
  width: min(calc(10 / 1080 * 100vw), 10px);
  height: min(calc(18 / 1080 * 100vw), 18px);
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='18' viewBox='0 0 10 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L1 17' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .cv-btn::after {
    right: calc(30 / 750 * 100vw);
    width: calc(10 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .cv-btn:hover {
    transform: translateY(min(calc(4 / 1080 * 100vw), 4px));
    box-shadow: 0 min(calc(2 / 1080 * 100vw), 2px) 0 0 #8b0000;
  }
}

@media screen and (max-width: 767px) {
  .cv-btn:active {
    transform: translateY(calc(4 / 750 * 100vw));
    box-shadow: 0 calc(2 / 750 * 100vw) 0 0 #8b0000;
  }
}

.cv-btn__text {
  display: flex;
  align-items: center;
  gap: min(calc(12 / 1080 * 100vw), 12px);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .cv-btn__text {
    gap: calc(12 / 750 * 100vw);
  }
}

.cv-btn__free {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(calc(60 / 1080 * 100vw), 60px);
  height: min(calc(60 / 1080 * 100vw), 60px);
  background: #fff;
  color: #c80012;
  font-size: min(calc(18 / 1080 * 100vw), 18px);
  font-weight: 700;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .cv-btn__free {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
    font-size: calc(22 / 750 * 100vw);
  }
}

.cv-btn__main {
  font-size: min(calc(26 / 1080 * 100vw), 26px);
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .cv-btn__main {
    font-size: calc(32 / 750 * 100vw);
  }
}

.subsidy__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  width: min(calc(400 / 1080 * 100vw), 400px);
  height: min(calc(60 / 1080 * 100vw), 60px);
  margin: 0 auto;
  background: #fff;
  border: min(calc(2 / 1080 * 100vw), 2px) solid #333;
  border-radius: min(calc(60 / 1080 * 100vw), 60px);
  cursor: pointer;
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .subsidy__btn {
    width: calc(500 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    gap: calc(10 / 750 * 100vw);
    border-width: calc(2 / 750 * 100vw);
    border-radius: calc(80 / 750 * 100vw);
  }
}

.subsidy__btn-text {
  font-size: min(calc(18 / 1080 * 100vw), 18px);
  font-weight: 500;
  color: #333;
}

@media screen and (max-width: 767px) {
  .subsidy__btn-text {
    font-size: calc(24 / 750 * 100vw);
  }
}

.subsidy__btn-icon {
  display: block;
  width: min(calc(12 / 1080 * 100vw), 12px);
  height: min(calc(8 / 1080 * 100vw), 8px);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: 100% 100%;
  transition: transform 0.3s;
}

@media screen and (max-width: 767px) {
  .subsidy__btn-icon {
    width: calc(16 / 750 * 100vw);
    height: calc(10 / 750 * 100vw);
  }
}

.subsidy__btn.--open .subsidy__btn-icon {
  transform: rotate(180deg);
}

@media screen and (min-width: 768px) {
  .subsidy__btn:hover {
    background: #f5f5f5;
  }
}

@media screen and (max-width: 767px) {
  .subsidy__btn:active {
    background: #f5f5f5;
  }
}

.cv__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .cv__block {
    width: 100%;
    margin-bottom: calc(48 / 750 * 100vw);
  }
}

.cv__block-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: min(calc(10 / 1080 * 100vw), 10px);
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .cv__block-sub {
    font-size: calc(34 / 750 * 100vw);
    margin-bottom: calc(14 / 750 * 100vw);
  }
}

.cv__block-sub-text {
  vertical-align: middle;
}

.cv__block-sub-num {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 900;
  font-size: min(calc(56 / 1080 * 100vw), 56px);
  letter-spacing: 0.04em;
  line-height: 1;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .cv__block-sub-num {
    font-size: calc(64 / 750 * 100vw);
  }
}

.cv__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(24 / 1080 * 100vw), 24px);
  width: min(calc(500 / 1080 * 100vw), 500px);
  height: min(calc(100 / 1080 * 100vw), 100px);
  background-color: #e6002d;
  border: min(calc(4 / 1080 * 100vw), 4px) solid #fff;
  border-radius: min(calc(48 / 1080 * 100vw), 48px);
  box-shadow: min(calc(3 / 1080 * 100vw), 3px) min(calc(3 / 1080 * 100vw), 3px) 0 0 rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
  padding: 0 min(calc(28 / 1080 * 100vw), 28px) 0 min(calc(40 / 1080 * 100vw), 40px);
}

.cv__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -60%);
  width: min(calc(564 / 1080 * 100vw), 564px);
  height: min(calc(110 / 1080 * 100vw), 110px);
  background: rgba(217, 217, 217, 0.4);
  pointer-events: none;
  border-radius: 100%;
}

@media screen and (max-width: 767px) {
  .cv__btn::before {
    width: calc(864 / 750 * 100vw);
    height: calc(200 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .cv__btn {
    width: calc(690 / 750 * 100vw);
    height: calc(140 / 750 * 100vw);
    gap: calc(36 / 750 * 100vw);
    border-width: calc(6 / 750 * 100vw);
    border-radius: calc(70 / 750 * 100vw);
    box-shadow: calc(4 / 750 * 100vw) calc(4 / 750 * 100vw) 0 0 rgba(0, 0, 0, 0.3);
    padding: 0 calc(40 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .cv__btn:hover {
    transform: translateY(3%);
    box-shadow: min(calc(1 / 1080 * 100vw), 1px) min(calc(1 / 1080 * 100vw), 1px) 0 0 rgba(0, 0, 0, 0.3);
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .cv__btn:active {
    transform: translateY(calc(2 / 750 * 100vw));
    box-shadow: calc(2 / 750 * 100vw) calc(2 / 750 * 100vw) 0 0 rgba(0, 0, 0, 0.3);
  }
}

.cv__btn-text {
  display: flex;
  align-items: baseline;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  letter-spacing: 0.03em;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}

.cv__btn-main {
  font-size: min(calc(34 / 1080 * 100vw), 34px);
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv__btn-main {
    font-size: calc(48 / 750 * 100vw);
  }
}

.cv__btn-sub {
  font-size: min(calc(26 / 1080 * 100vw), 26px);
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv__btn-sub {
    font-size: calc(38 / 750 * 100vw);
  }
}

.cv__btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.cv__btn-icon img {
  width: min(calc(10 / 1080 * 100vw), 10px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .cv__btn-icon img {
    width: calc(16 / 750 * 100vw);
  }
}

.cv {
  position: relative;
  background-color: #004098;
  overflow: hidden;
}

.cv__bg picture,
.cv__bg img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .cv__bg {
    padding-bottom: calc(375 / 750 * 100vw);
  }
}

.cv__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  max-width: min(calc(1080 / 1080 * 100vw), 1080px);
  margin: 0 auto;
  padding: min(calc(64 / 1080 * 100vw), 64px) 0 min(calc(32 / 1080 * 100vw), 32px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .cv__inner {
    padding: calc(42 / 750 * 100vw) calc(30 / 750 * 100vw) calc(60 / 750 * 100vw);
  }
}

.cv__title {
  display: flex;
  align-items: flex-end;
  background-color: #fff;
  padding: min(calc(18 / 1080 * 100vw), 18px) min(calc(117 / 1080 * 100vw), 117px);
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
  gap: min(calc(12 / 1080 * 100vw), 12px);
  clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%);
}

@media screen and (max-width: 767px) {
  .cv__title {
    flex-direction: column;
    align-items: center;
    padding: calc(0 / 750 * 100vw) 0 calc(20 / 750 * 100vw);
    margin-bottom: calc(50 / 750 * 100vw);
    width: calc(675 / 750 * 100vw);
    gap: calc(20 / 750 * 100vw);
  }
}

.cv__title-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(27 / 1080 * 100vw), 27px);
  color: #004098;
  letter-spacing: 0.04em;
  position: relative;
  padding-bottom: min(calc(8 / 1080 * 100vw), 8px);
}

.cv__title-label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(calc(2 / 1080 * 100vw), 2px);
  background-color: #004098;
}

@media screen and (max-width: 767px) {
  .cv__title-label {
    font-size: calc(36 / 750 * 100vw);
    padding-bottom: calc(0 / 750 * 100vw);
  }

  .cv__title-label::after {
    height: calc(2 / 750 * 100vw);
  }
}

.cv__title-02 {
  display: flex;
  align-items: flex-end;
  color: #e6002d;
}

.cv__title-max {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(30 / 1080 * 100vw), 30px);
  line-height: 1;
  letter-spacing: 0.04em;
  writing-mode: vertical-rl;
  margin-right: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .cv__title-max {
    font-size: calc(40 / 750 * 100vw);
    margin-right: calc(4 / 750 * 100vw);
  }
}

.cv__title-num {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: min(calc(90 / 1080 * 100vw), 90px);
  line-height: 0.8;
}

@media screen and (max-width: 767px) {
  .cv__title-num {
    font-size: calc(120 / 750 * 100vw);
  }
}

.cv__title-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(30 / 1080 * 100vw), 30px);
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .cv__title-unit {
    font-size: calc(40 / 750 * 100vw);
  }
}

.cv__title-suffix {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(30 / 1080 * 100vw), 30px);
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .cv__title-suffix {
    font-size: calc(40 / 750 * 100vw);
  }
}

.cv__title-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  line-height: 1.2;
  letter-spacing: 0.04em;
  margin-left: min(calc(2 / 1080 * 100vw), 2px);
  align-self: flex-start;
  margin-top: min(calc(14 / 1080 * 100vw), 14px);
}

@media screen and (max-width: 767px) {
  .cv__title-note {
    font-size: calc(20 / 750 * 100vw);
    margin-top: calc(20 / 750 * 100vw);
  }
}

.cv__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .cv__note {
    font-size: calc(20 / 750 * 100vw);
    text-align: left;
    margin-bottom: calc(50 / 750 * 100vw);
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.cv__subsidy-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  width: min(calc(518 / 1080 * 100vw), 518px);
  height: min(calc(60 / 1080 * 100vw), 60px);
  background-color: #fff;
  border: none;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
  cursor: pointer;
  transition: all 0.3s;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .cv__subsidy-btn {
    width: calc(690 / 750 * 100vw);
    height: calc(86 / 750 * 100vw);
    gap: calc(10 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .cv__subsidy-btn:hover {
    background-color: #f5f5f5;
  }
}

@media screen and (max-width: 767px) {
  .cv__subsidy-btn:active {
    background-color: #f5f5f5;
  }
}

.cv__subsidy-btn.--open .cv__subsidy-btn-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.cv__subsidy-btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  color: #333;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv__subsidy-btn-text {
    font-size: calc(28 / 750 * 100vw);
  }
}

.cv__subsidy-btn-icon {
  display: block;
  width: min(calc(18 / 1080 * 100vw), 18px);
  height: min(calc(18 / 1080 * 100vw), 18px);
  position: relative;
}

.cv__subsidy-btn-icon::before,
.cv__subsidy-btn-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #333;
  transition: transform 0.3s;
}

.cv__subsidy-btn-icon::before {
  width: min(calc(14 / 1080 * 100vw), 14px);
  height: min(calc(2 / 1080 * 100vw), 2px);
}

.cv__subsidy-btn-icon::after {
  width: min(calc(2 / 1080 * 100vw), 2px);
  height: min(calc(14 / 1080 * 100vw), 14px);
}

@media screen and (max-width: 767px) {
  .cv__subsidy-btn-icon {
    width: calc(26 / 750 * 100vw);
    height: calc(26 / 750 * 100vw);
  }

  .cv__subsidy-btn-icon::before {
    width: calc(18 / 750 * 100vw);
    height: calc(2 / 750 * 100vw);
  }

  .cv__subsidy-btn-icon::after {
    width: calc(2 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
  }
}

.cv.--cv01 {
  background: #004098 url(../img/pc/cv01_bg.webp) no-repeat left top/contain;
}

@media screen and (max-width: 767px) {
  .cv.--cv01 {
    background: #004098 url(../img/sp/cv_bg.webp) no-repeat center bottom / 100% auto;
  }
}

.cv.--cv01 .cv__inner {
  position: static;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(32 / 1080 * 100vw), 32px);
  padding: min(calc(60 / 1080 * 100vw), 60px) min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .cv__inner {
    gap: calc(60 / 750 * 100vw);
    padding: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw) calc(80 / 750 * 100vw);
  }
}

.cv.--cv01 .cv__block {
  margin-bottom: 0;
  gap: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .cv__block {
    margin-bottom: 0;
    gap: calc(16 / 750 * 100vw);
  }
}

.cv.--cv01 .cv__block-sub {
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .cv__block-sub {
    font-size: calc(34 / 750 * 100vw);
  }
}

.cv01__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv01__lead {
    margin: 0 -0.7em;
  }
}

.cv01__lead-line1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv01__lead-line1 {
    font-size: calc(38 / 750 * 100vw);
  }
}

.cv01__lead-line2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.cv01__lead-em {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #ffe94a;
}

@media screen and (max-width: 767px) {
  .cv01__lead-em {
    font-size: calc(48 / 750 * 100vw);
  }
}

.cv01__lead-text {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .cv01__lead-text {
    font-size: calc(48 / 750 * 100vw);
  }
}

.cv01__lead-small {
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .cv01__lead-small {
    font-size: calc(38 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner {
  width: min(calc(690 / 1080 * 100vw), 690px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner {
    width: calc(690 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-inner {
  width: 100%;
  border-width: min(calc(6 / 1080 * 100vw), 6px);
  border-radius: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-inner {
    border-width: calc(6 / 750 * 100vw);
    border-radius: calc(20 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-head {
  padding: min(calc(12 / 1080 * 100vw), 12px) min(calc(20 / 1080 * 100vw), 20px);
  border-radius: min(calc(14 / 1080 * 100vw), 14px) min(calc(14 / 1080 * 100vw), 14px) 0 0;
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-head {
    padding: calc(14 / 750 * 100vw) calc(20 / 750 * 100vw);
    border-radius: calc(14 / 750 * 100vw) calc(14 / 750 * 100vw) 0 0;
  }
}

.cv.--cv01 .c-banner-head-text {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
}

.cv.--cv01 .c-banner-head-text .--em {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-head-text {
    font-size: calc(32 / 750 * 100vw);
  }

  .cv.--cv01 .c-banner-head-text .--em {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-body {
  padding: min(calc(16 / 1080 * 100vw), 16px) min(calc(30 / 1080 * 100vw), 30px) min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-body {
    padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amazon-name {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amazon-name {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amazon-card {
  font-size: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amazon-card {
    font-size: calc(30 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amount-num {
  font-size: min(calc(114 / 1080 * 100vw), 114px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amount-num {
    font-size: calc(104 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amount-num span {
  font-size: min(calc(56 / 1080 * 100vw), 56px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amount-num span {
    font-size: calc(46 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amount-yen {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amount-yen {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amount-present {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amount-present {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-amount-note {
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  top: min(calc(8 / 1080 * 100vw), 8px);
  right: max(calc(-5 / 1080 * 100vw), -5px);
  transform: translateX(100%);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-amount-note {
    font-size: calc(20 / 750 * 100vw);
    top: calc(8 / 750 * 100vw);
    right: calc(-5 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-rect {
  width: min(calc(31 / 1080 * 100vw), 31px);
  right: min(calc(10 / 1080 * 100vw), 10px);
  top: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-rect {
    width: calc(31 / 750 * 100vw);
    right: calc(10 / 750 * 100vw);
    top: calc(5 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-note {
  margin-top: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-note {
    margin-top: calc(16 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-note p {
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-note p {
    font-size: calc(20 / 750 * 100vw);
    text-align: justify;
  }
}

.cv.--cv01 .c-banner-label-text {
  padding: min(calc(6 / 1080 * 100vw), 6px) min(calc(50 / 1080 * 100vw), 50px);
  left: max(calc(-44 / 1080 * 100vw), -44px);
  top: min(calc(70 / 1080 * 100vw), 70px);
}

.cv.--cv01 .c-banner-label-text .--lg {
  font-size: min(calc(34 / 1080 * 100vw), 34px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-label-text .--lg {
    font-size: calc(34 / 750 * 100vw);
  }
}

.cv.--cv01 .c-banner-label-text .--sm {
  font-size: min(calc(28 / 1080 * 100vw), 28px);
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-label-text .--sm {
    font-size: calc(28 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .cv.--cv01 .c-banner-label-text {
    padding: calc(8 / 750 * 100vw) calc(65 / 750 * 100vw);
    left: calc(-55 / 750 * 100vw);
    top: calc(80 / 750 * 100vw);
  }
}

.cv02 {
  position: relative;
  overflow: hidden;
  background: var(--main01, #004098);
}

.cv02 .cv__block {
  margin-bottom: 0;
}

.cv02__bg picture,
.cv02__bg img {
  width: 100%;
  height: auto;
  display: block;
}

.cv02__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .cv02 {
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .cv02__bg {
    width: 100%;
  }

  .cv02__inner {
    padding: calc(40 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.cv02__lead {
  margin-bottom: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .cv02__lead {
    margin-bottom: calc(24 / 750 * 100vw);
  }
}

.cv02__lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-shadow: 0 0 min(calc(10 / 1080 * 100vw), 10px) rgba(0, 64, 152, 0.5);
}

@media screen and (max-width: 767px) {
  .cv02__lead-text {
    font-size: calc(32 / 750 * 100vw);
    text-shadow: 0 0 calc(10 / 750 * 100vw) rgba(0, 64, 152, 0.5);
  }
}

.cv.--cv03 {
  background: #004098 url(../img/pc/cv03_bg_pc_house.png) no-repeat center top/contain;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 {
    background: #004098 url(../img/sp/cv03_bg_sp_house.png) no-repeat center top/contain;
    position: relative;
    overflow: hidden;
  }
}

.cv.--cv03 .cv__inner {
  position: relative;
  z-index: 1;
  padding: min(calc(250 / 1080 * 100vw), 250px) min(calc(20 / 1080 * 100vw), 20px) min(calc(36 / 1080 * 100vw), 36px);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__inner {
    padding: calc(300 / 750 * 100vw) calc(28 / 750 * 100vw) calc(64 / 750 * 100vw);
    position: relative;
    z-index: 1;
  }
}

.cv.--cv03 .cv__title {
  margin: 0 auto min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__title {
    margin-bottom: calc(30 / 750 * 100vw);
  }
}

.cv.--cv03 .cv__lead {
  margin: 0 0 min(calc(20 / 1080 * 100vw), 20px) min(calc(180 / 1080 * 100vw), 180px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__lead {
    margin: 0 auto calc(110 / 750 * 100vw);
    flex-wrap: wrap;
  }
}

.cv.--cv03 .cv__lead-quote {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.04em;
  line-height: 1.4;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__lead-quote {
    font-size: calc(48 / 750 * 100vw);
  }
}

.cv.--cv03 .cv__lead-quote.--left {
  transform: rotate(180deg) translateY(25%);
}

.cv.--cv03 .cv__lead-em {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #fff;
  letter-spacing: -0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__lead-em {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv.--cv03 .cv__lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__lead-text {
    font-size: calc(48 / 750 * 100vw);
  }
}

.cv.--cv03 .cv__text-block {
  display: flex;
  align-items: stretch;
  gap: min(calc(16 / 1080 * 100vw), 16px);
  margin: 0 auto 0;
  width: min(calc(710 / 1080 * 100vw), 710px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__text-block {
    gap: calc(20 / 750 * 100vw);
    margin: 0 0 calc(50 / 750 * 100vw) calc(32 / 750 * 100vw);
    width: 100%;
  }
}

.cv.--cv03 .cv__text-block-content {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
  padding: min(calc(8 / 1080 * 100vw), 8px) 0;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__text-block-content {
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.6;
  }
}

.cv.--cv03 .cv__text-bracket {
  display: block;
  width: min(calc(14 / 1080 * 100vw), 14px);
  border: min(calc(2 / 1080 * 100vw), 2px) solid #fff;
  border-right: none;
  flex-shrink: 0;
}

.cv.--cv03 .cv__text-bracket.--right {
  border-right: min(calc(2 / 1080 * 100vw), 2px) solid #fff;
  border-left: none;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__text-bracket {
    width: calc(15 / 750 * 100vw);
    border-width: calc(2 / 750 * 100vw);
  }

  .cv.--cv03 .cv__text-bracket.--right {
    border-right-width: calc(2 / 750 * 100vw);
  }
}

.cv.--cv03 .cv__main {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column-reverse;
  gap: min(calc(30 / 1080 * 100vw), 30px);
  width: min(calc(690 / 1080 * 100vw), 690px);
  margin: min(calc(45 / 1080 * 100vw), 45px) auto min(calc(20 / 1080 * 100vw), 20px);
}

.cv03__man {
  display: block;
}

.cv03__man.pc {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(1200 / 1080 * 100vw), 1200px);
  z-index: 0;
  pointer-events: none;
}

.cv03__man.pc img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .cv03__man.pc {
    display: none;
  }

  .cv03__man.sp {
    display: block;
    position: absolute;
    bottom: calc(360 / 750 * 100vw);
    left: 0;
    width: 100%;
    z-index: 0;
    pointer-events: none;
  }

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

  .cv03__man.sp img {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__main {
    flex-direction: column-reverse;
    align-items: center;
    gap: calc(50 / 750 * 100vw);
    margin: 0;
    width: 100%;
  }
}

.cv.--cv03 .cv__block {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__block {
    margin-bottom: 0;
  }
}

.cv.--cv03 .cv__block-sub-text {
  vertical-align: baseline;
}

.cv.--cv03 .cv__note {
  margin: min(calc(24 / 1080 * 100vw), 24px) auto 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.1em;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .cv__note {
    margin: calc(24 / 750 * 100vw) auto 0;
    width: 100%;
    padding: 0;
  }
}

.cv.--cv03 .c-banner {
  width: min(calc(690 / 1080 * 100vw), 690px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner {
    width: calc(690 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-inner {
  width: 100%;
  border-width: min(calc(6 / 1080 * 100vw), 6px);
  border-radius: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-inner {
    border-width: calc(6 / 750 * 100vw);
    border-radius: calc(20 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-head {
  padding: min(calc(12 / 1080 * 100vw), 12px) min(calc(20 / 1080 * 100vw), 20px);
  border-radius: min(calc(14 / 1080 * 100vw), 14px) min(calc(14 / 1080 * 100vw), 14px) 0 0;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-head {
    padding: calc(14 / 750 * 100vw) calc(20 / 750 * 100vw);
    border-radius: calc(14 / 750 * 100vw) calc(14 / 750 * 100vw) 0 0;
  }
}

.cv.--cv03 .c-banner-head-text {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  font-weight: 800;
}

.cv.--cv03 .c-banner-head-text .--em {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-head-text {
    font-size: calc(32 / 750 * 100vw);
  }

  .cv.--cv03 .c-banner-head-text .--em {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-body {
  padding: 0 min(calc(20 / 1080 * 100vw), 20px) min(calc(40 / 1080 * 100vw), 40px) min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-body {
    padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-amazon-name {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amazon-name {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-amazon-card {
  font-size: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amazon-card {
    font-size: calc(30 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-amount-num {
  font-size: min(calc(114 / 1080 * 100vw), 114px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amount-num {
    font-size: calc(104 / 750 * 100vw);
    letter-spacing: -0.01em;
  }
}

.cv.--cv03 .c-banner-amount-num span {
  font-size: min(calc(56 / 1080 * 100vw), 56px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amount-num span {
    font-size: calc(46 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-amount-yen {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amount-yen {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-amount-present {
  font-size: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amount-present {
    font-size: calc(36 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-amount-note {
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  top: min(calc(8 / 1080 * 100vw), 8px);
  right: max(calc(-5 / 1080 * 100vw), -5px);
  transform: translateX(100%);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-amount-note {
    font-size: calc(20 / 750 * 100vw);
    top: calc(8 / 750 * 100vw);
    right: calc(-5 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-rect {
  width: min(calc(54 / 1080 * 100vw), 54px);
  right: max(calc(0 / 1080 * 100vw), 0px);
  top: min(calc(15 / 1080 * 100vw), 15px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-rect {
    width: calc(54 / 750 * 100vw);
    right: calc(-10 / 750 * 100vw);
    top: calc(5 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-label-text {
  padding: min(calc(2 / 1080 * 100vw), 2px) min(calc(70 / 1080 * 100vw), 70px) min(calc(4 / 1080 * 100vw), 4px) min(calc(50 / 1080 * 100vw), 50px);
  left: max(calc(-44 / 1080 * 100vw), -44px);
  top: min(calc(70 / 1080 * 100vw), 70px);
}

.cv.--cv03 .c-banner-label-text .--lg {
  font-size: min(calc(34 / 1080 * 100vw), 34px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-label-text .--lg {
    font-size: calc(34 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-label-text .--sm {
  font-size: min(calc(28 / 1080 * 100vw), 28px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-label-text .--sm {
    font-size: calc(28 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-label-text {
    padding: calc(8 / 750 * 100vw) calc(65 / 750 * 100vw);
    left: calc(-55 / 750 * 100vw);
    top: calc(80 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-head-text span {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-head-text span {
    font-size: calc(36 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-price {
    gap: calc(8 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-note {
  margin-top: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-note {
    margin-top: calc(16 / 750 * 100vw);
  }
}

.cv.--cv03 .c-banner-note p {
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv.--cv03 .c-banner-note p {
    font-size: calc(20 / 750 * 100vw);
    text-align: justify;
  }
}

.cv03__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(14 / 1080 * 100vw), 14px);
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv03__lead {
    gap: calc(14 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.cv03__lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv03__lead-text {
    font-size: calc(48 / 750 * 100vw);
    letter-spacing: 0.04em;
  }
}

.cv03__lead-em {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
}

@media screen and (max-width: 767px) {
  .cv03__lead-em {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv03__lead-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  letter-spacing: 0.04em;
  line-height: 1.5;
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .cv03__lead-note {
    font-size: calc(20 / 750 * 100vw);
    width: 100%;
  }
}

.cv03__lead-source {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: right;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .cv03__lead-source {
    font-size: calc(20 / 750 * 100vw);
  }
}

.cv03__labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(calc(690 / 1080 * 100vw), 690px);
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .cv03__labels {
    width: calc(690 / 750 * 100vw);
    margin-bottom: calc(64 / 750 * 100vw);
  }
}

.cv03__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(calc(336 / 1080 * 100vw), 336px);
  padding: min(calc(30 / 1080 * 100vw), 30px);
  background-color: #289be6;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
}

@media screen and (max-width: 767px) {
  .cv03__label {
    width: calc(336 / 750 * 100vw);
    height: calc(155 / 750 * 100vw);
    padding: calc(30 / 750 * 100vw) 0;
    border-radius: calc(6 / 750 * 100vw);
  }
}

.cv03__label-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .cv03__label-text {
    font-size: calc(38 / 750 * 100vw);
    white-space: normal;
  }
}

.cv03__label-em {
  color: #ffe94a;
}

.cv03__label-plus {
  position: relative;
  width: min(calc(40 / 1080 * 100vw), 40px);
  height: min(calc(40 / 1080 * 100vw), 40px);
  background-color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  margin: 0 max(calc(-10 / 1080 * 100vw), -10px);
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .cv03__label-plus {
    width: calc(54 / 750 * 100vw);
    height: calc(54 / 750 * 100vw);
    margin: 0 calc(-20 / 750 * 100vw);
  }
}

.cv03__label-plus::before,
.cv03__label-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #289be6;
}

.cv03__label-plus::before {
  width: min(calc(20 / 1080 * 100vw), 20px);
  height: min(calc(4 / 1080 * 100vw), 4px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .cv03__label-plus::before {
    width: calc(28 / 750 * 100vw);
    height: calc(6 / 750 * 100vw);
  }
}

.cv03__label-plus::after {
  width: min(calc(4 / 1080 * 100vw), 4px);
  height: min(calc(20 / 1080 * 100vw), 20px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .cv03__label-plus::after {
    width: calc(6 / 750 * 100vw);
    height: calc(28 / 750 * 100vw);
  }
}

.cv03__appeal {
  width: min(calc(690 / 1080 * 100vw), 690px);
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .cv03__appeal {
    margin-bottom: calc(64 / 750 * 100vw);
    width: 100%;
    text-align: center;
  }
}

.cv03__appeal-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .cv03__appeal-text {
    font-size: calc(42 / 750 * 100vw);
  }
}

.cv03__appeal-em {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #ffe94a;
}

@media screen and (max-width: 767px) {
  .cv03__appeal-em {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv03__appeal-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .cv03__appeal-note {
    font-size: calc(20 / 750 * 100vw);
  }
}

.cv04 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(40 / 1080 * 100vw), 40px);
  padding: min(calc(60 / 1080 * 100vw), 60px) 0;
  background-color: #bae9ff;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .cv04 {
    gap: calc(50 / 750 * 100vw);
    padding: calc(80 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.cv04__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0.6;
  pointer-events: none;
}

.cv04__bg picture,
.cv04__bg img {
  width: 100%;
  height: auto;
}

.cv04__main {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(16 / 1080 * 100vw), 16px);
  width: min(calc(1000 / 1080 * 100vw), 1000px);
  background-color: #fff;
  border-radius: min(calc(24 / 1080 * 100vw), 24px);
  box-shadow: 0 0 min(calc(16 / 1080 * 100vw), 16px) rgba(0, 0, 0, 0.2);
  padding: min(calc(40 / 1080 * 100vw), 40px) min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .cv04__main {
    gap: calc(40 / 750 * 100vw);
    width: calc(690 / 750 * 100vw);
    border-radius: calc(24 / 750 * 100vw);
    box-shadow: 0 0 calc(16 / 750 * 100vw) rgba(0, 0, 0, 0.2);
    padding: calc(50 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.cv04__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(16 / 1080 * 100vw), 16px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .cv04__head {
    gap: calc(20 / 750 * 100vw);
  }
}

.cv04__head-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  text-align: center;
  line-height: 1.4;
}

.cv04__head-title-em {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #004098;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .cv04__head-title-em {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv04__head-title-text {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  color: #232f3e;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .cv04__head-title-text {
    font-size: calc(42 / 750 * 100vw);
  }
}

.cv04__head-catch {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #232f3e;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv04__head-catch {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv04__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(12 / 1080 * 100vw), 12px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .cv04__label {
    gap: calc(12 / 750 * 100vw);
  }
}

.cv04__label-item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #289be6;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  padding: min(calc(4 / 1080 * 100vw), 4px) min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .cv04__label-item {
    flex: 0 0 auto;
    border-radius: calc(16 / 750 * 100vw);
    padding: calc(4 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}

.cv04__label-item span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #ffe94a;
  letter-spacing: 0.08em;
  line-height: 1.4;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .cv04__label-item span {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv04__img {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cv04__img picture,
.cv04__img img {
  width: min(calc(631 / 1080 * 100vw), 631px);
  height: auto;
}

@media screen and (max-width: 767px) {

  .cv04__img picture,
  .cv04__img img {
    width: calc(631 / 750 * 100vw);
  }
}

.cv04__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(14 / 1080 * 100vw), 14px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .cv04__footer {
    gap: calc(20 / 750 * 100vw);
  }
}

.cv04__footer-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #232f3e;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv04__footer-lead {
    font-size: calc(38 / 750 * 100vw);
  }
}

.cv04__footer-line {
  width: 100%;
  height: 2px;
  background-color: #004098;
}

.cv04__footer-catch {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #004098;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cv04__footer-catch {
    font-size: calc(56 / 750 * 100vw);
  }
}

.cv04 .cv__btn {
  position: relative;
  z-index: 1;
}

.subsidy__accordion {
  width: min(calc(880 / 1080 * 100vw), 880px);
  margin: min(calc(30 / 1080 * 100vw), 30px) auto 0;
}

@media screen and (max-width: 767px) {
  .subsidy__accordion {
    margin: calc(40 / 750 * 100vw) auto 0;
    width: calc(690 / 750 * 100vw);
  }
}

.subsidy__accordion .adlp-accordion {
  background: none;
}

.subsidy__accordion-header {
  width: min(calc(518 / 1080 * 100vw), 518px);
  height: min(calc(60 / 1080 * 100vw), 60px);
  margin: 0 auto;
  background-color: #fff;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-header {
    width: 100%;
    height: calc(86 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw);
  }
}

.subsidy__accordion-header .adlp-accordion__header__inner {
  justify-content: center;
  height: 100%;
  padding: 0 min(calc(60 / 1080 * 100vw), 60px) 0 min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-header .adlp-accordion__header__inner {
    padding: 0 calc(80 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  }
}

.subsidy__accordion-header .adlp-accordion__header__inner .text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  color: #333;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-header .adlp-accordion__header__inner .text {
    font-size: calc(28 / 750 * 100vw);
  }
}

.subsidy__accordion-header::before {
  background: #333 !important;
  right: min(calc(34 / 1080 * 100vw), 34px) !important;
  height: min(calc(18 / 1080 * 100vw), 18px) !important;
  width: min(calc(2 / 1080 * 100vw), 2px) !important;
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-header::before {
    right: calc(44 / 750 * 100vw) !important;
    height: calc(24 / 750 * 100vw) !important;
    width: calc(2 / 750 * 100vw) !important;
  }
}

.subsidy__accordion-header::after {
  background: #333 !important;
  right: min(calc(26 / 1080 * 100vw), 26px) !important;
  width: min(calc(18 / 1080 * 100vw), 18px) !important;
  height: min(calc(2 / 1080 * 100vw), 2px) !important;
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-header::after {
    right: calc(33 / 750 * 100vw) !important;
    width: calc(24 / 750 * 100vw) !important;
    height: calc(2 / 750 * 100vw) !important;
  }
}

.subsidy__accordion-body {
  background-color: #004098;
  padding: 0;
}

.subsidy__accordion-body-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: min(calc(40 / 1080 * 100vw), 40px) min(calc(40 / 1080 * 100vw), 40px) min(calc(50 / 1080 * 100vw), 50px);
  border: 1px solid #fff;
  margin-top: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-body-inner {
    padding: calc(50 / 750 * 100vw) calc(30 / 750 * 100vw) calc(60 / 750 * 100vw);
    margin: calc(40 / 750 * 100vw) 0;
  }
}

.subsidy__accordion-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
  width: min(calc(630 / 1080 * 100vw), 630px);
  margin-bottom: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-title {
    font-size: calc(34 / 750 * 100vw);
    width: calc(630 / 750 * 100vw);
    margin-bottom: calc(16 / 750 * 100vw);
    letter-spacing: -0.02em;
  }
}

.subsidy__accordion-subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-bottom: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-subtitle {
    font-size: calc(20 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.subsidy__chart {
  width: min(calc(790 / 1080 * 100vw), 790px);
  margin-bottom: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .subsidy__chart {
    width: 100%;
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.subsidy__chart-labels {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: min(calc(6 / 1080 * 100vw), 6px);
  margin-bottom: min(calc(6 / 1080 * 100vw), 6px);
}

@media screen and (max-width: 767px) {
  .subsidy__chart-labels {
    gap: calc(8 / 750 * 100vw);
    margin-bottom: calc(8 / 750 * 100vw);
  }
}

.subsidy__chart-label {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
  padding: 0 min(calc(16 / 1080 * 100vw), 16px);
  height: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .subsidy__chart-label {
    border-radius: calc(8 / 750 * 100vw);
    padding: 0 calc(8 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
  }
}

.subsidy__chart-label.--empty {
  visibility: hidden;
}

.subsidy__chart-label span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.8;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-label span {
    font-size: calc(20 / 750 * 100vw);
  }
}

.subsidy__chart-table {
  display: flex;
  flex-direction: column;
  gap: min(calc(6 / 1080 * 100vw), 6px);
}

@media screen and (max-width: 767px) {
  .subsidy__chart-table {
    gap: calc(8 / 750 * 100vw);
  }
}

.subsidy__chart-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  background-color: rgba(255, 255, 255, 0.2);
}

.subsidy__chart-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: min(calc(8 / 1080 * 100vw), 8px) min(calc(10 / 1080 * 100vw), 10px);
  border-right: 2px solid #004098;
  min-height: min(calc(48 / 1080 * 100vw), 48px);
}

@media screen and (max-width: 767px) {
  .subsidy__chart-cell {
    padding: calc(12 / 750 * 100vw) calc(8 / 750 * 100vw);
    min-height: calc(60 / 750 * 100vw);
  }
}

.subsidy__chart-cell:last-child {
  border-right: none;
}

.subsidy__chart-cell.--header span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.8;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-cell.--header span {
    font-size: calc(22 / 750 * 100vw);
    line-height: 1.4;
  }
}

.subsidy__chart-value {
  display: flex;
  align-items: baseline;
  justify-content: center;
}

.subsidy__chart-num {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(34 / 1080 * 100vw), 34px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-num {
    font-size: calc(40 / 750 * 100vw);
  }
}

.subsidy__chart-decimal {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(26 / 1080 * 100vw), 26px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-decimal {
    font-size: calc(32 / 750 * 100vw);
  }
}

.subsidy__chart-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(14 / 1080 * 100vw), 14px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-unit {
    font-size: calc(20 / 750 * 100vw);
  }
}

.subsidy__chart-kw {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(14 / 1080 * 100vw), 14px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-kw {
    font-size: calc(20 / 750 * 100vw);
  }
}

.subsidy__chart-dash {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(14 / 1080 * 100vw), 14px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-dash {
    font-size: calc(24 / 750 * 100vw);
  }
}

.subsidy__chart-note-inline {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .subsidy__chart-note-inline {
    font-size: calc(20 / 750 * 100vw);
  }
}

.subsidy__accordion-notes {
  width: 100%;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-notes {
    width: calc(630 / 750 * 100vw);
  }
}

.subsidy__accordion-notes p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .subsidy__accordion-notes p {
    font-size: calc(20 / 750 * 100vw);
  }
}

.subsidy__accordion-notes p a {
  color: #fff;
  text-decoration: underline;
}

.subsidy__accordion-notes p a:hover {
  text-decoration: none;
}

.fv {
  position: relative;
  overflow: hidden;
  background-color: #ecf6ff;
}

.fv__bg picture,
.fv__bg img {
  width: 100%;
  height: auto;
}

.fv__main {
  position: absolute;
  top: min(calc(36 / 1080 * 100vw), 36px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 100%;
  max-width: min(calc(1080 / 1080 * 100vw), 1080px);
}

@media screen and (max-width: 767px) {
  .fv__main {
    top: calc(48 / 750 * 100vw);
    padding: 0;
  }
}

.fv__banner01 {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: fit-content;
  margin-bottom: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .fv__banner01 {
    margin-bottom: calc(16 / 750 * 100vw);
  }
}

.fv__banner01-baloon {
  width: min(calc(128 / 1080 * 100vw), 128px);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .fv__banner01-baloon {
    left: calc(-140 / 750 * 100vw);
    top: calc(-30 / 750 * 100vw);
    width: calc(167 / 750 * 100vw);
  }
}

.fv__banner01-baloon img {
  width: 100%;
  height: auto;
}

.fv__banner01-inner {
  display: flex;
  align-items: center;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  background-color: #fff;
  padding: min(calc(6 / 1080 * 100vw), 6px) min(calc(36 / 1080 * 100vw), 36px);
  margin-left: min(calc(40 / 1080 * 100vw), 40px);
  clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%);
}

@media screen and (max-width: 767px) {
  .fv__banner01-inner {
    padding: calc(8 / 750 * 100vw) calc(50 / 750 * 100vw) calc(10 / 750 * 100vw) calc(50 / 750 * 100vw);
    margin: 0;
    clip-path: polygon(0% 0%, 100% 0%, 96% 50%, 100% 100%, 0% 100%, 4% 50%);
    gap: calc(10 / 750 * 100vw);
    position: relative;
    margin-left: max(calc(-50 / 1080 * 100vw), -50px);
  }
}

.fv__banner01-text {
  display: flex;
  align-items: baseline;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #004098;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.fv__banner01-tokyo,
.fv__banner01-subsidy {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
}

@media screen and (max-width: 767px) {

  .fv__banner01-tokyo,
  .fv__banner01-subsidy {
    font-size: calc(48 / 750 * 100vw);
  }
}

.fv__banner01-nara {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
}

@media screen and (max-width: 767px) {
  .fv__banner01-nara {
    font-size: calc(42 / 750 * 100vw);
  }
}

.fv__banner01-line {
  width: 100%;
  height: min(calc(2 / 1080 * 100vw), 2px);
  background-color: #004098;
  margin: min(calc(4 / 1080 * 100vw), 4px) 0;
}

@media screen and (max-width: 767px) {
  .fv__banner01-line {
    height: calc(3 / 750 * 100vw);
    margin: calc(4 / 750 * 100vw) 0;
  }
}

.fv__banner01-number {
  display: flex;
  align-items: baseline;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  margin-top: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .fv__banner01-number {
    margin-top: calc(20 / 750 * 100vw);
    gap: 0;
  }
}

.fv__banner01-max {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(36 / 1080 * 100vw), 36px);
  color: #e6002d;
  letter-spacing: 0.04em;
  line-height: 1;
  writing-mode: vertical-rl;
  margin-right: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .fv__banner01-max {
    font-size: calc(50 / 750 * 100vw);
    margin-right: calc(4 / 750 * 100vw);
  }
}

.fv__banner01-amount {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(103 / 1080 * 100vw), 103px);
  color: #e6002d;
  line-height: 0.7;
  letter-spacing: -0.01em;
  margin-right: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .fv__banner01-amount {
    font-size: calc(154 / 750 * 100vw);
    letter-spacing: -0.04em;
    line-height: 0.8;
  }
}

.fv__banner01-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #e6002d;
  letter-spacing: 0.08em;
  line-height: 1.4;
  position: relative;
  top: max(calc(-10 / 1080 * 100vw), -10px);
}

@media screen and (max-width: 767px) {
  .fv__banner01-unit {
    font-size: calc(50 / 750 * 100vw);
    letter-spacing: -0.04em;
  }
}

.fv__banner01-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  align-self: flex-start;
  margin-top: min(calc(8 / 1080 * 100vw), 8px);
  position: absolute;
  top: max(calc(-20 / 1080 * 100vw), -20px);
  right: max(calc(0 / 1080 * 100vw), 0px);
}

@media screen and (max-width: 767px) {
  .fv__banner01-note {
    font-size: calc(20 / 750 * 100vw);
    top: calc(-30 / 750 * 100vw);
    right: calc(0 / 750 * 100vw);
  }
}

.fv__banner02 {
  display: flex;
  flex-direction: column;
  gap: min(calc(8 / 1080 * 100vw), 8px);
  padding: min(calc(18 / 1080 * 100vw), 18px) min(calc(30 / 1080 * 100vw), 30px);
  margin-left: min(calc(40 / 1080 * 100vw), 40px);
  width: fit-content;
  background: linear-gradient(112.78deg, #6ea0de 0%, #296ebd 100%);
}

@media screen and (max-width: 767px) {
  .fv__banner02 {
    gap: calc(12 / 750 * 100vw);
    padding: calc(10 / 750 * 100vw) calc(35 / 750 * 100vw) 0 calc(30 / 750 * 100vw);
    margin: 0;
    border-radius: calc(10 / 750 * 100vw);
    background: transparent;
  }
}

.fv__banner02-row {
  display: flex;
  align-items: center;
  gap: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .fv__banner02-row {
    gap: calc(26 / 750 * 100vw);
  }
}

.fv__banner02-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: min(calc(5 / 1080 * 100vw), 5px);
  padding: min(calc(8 / 1080 * 100vw), 8px) min(calc(20 / 1080 * 100vw), 20px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #004098;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .fv__banner02-item {
    border-radius: calc(7 / 750 * 100vw);
    padding: calc(10 / 750 * 100vw) calc(30 / 750 * 100vw);
    font-size: calc(38 / 750 * 100vw);
  }
}

.fv__banner02-item::after {
  content: "";
  position: absolute;
  right: max(calc(-5 / 1080 * 100vw), -5px);
  top: 50%;
  transform: translateY(-50%);
  width: min(calc(6 / 1080 * 100vw), 6px);
  height: min(calc(26 / 1080 * 100vw), 26px);
  background-color: #fff;
  border-radius: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .fv__banner02-item::after {
    right: calc(-9 / 750 * 100vw);
    width: calc(10 / 750 * 100vw);
    height: calc(36 / 750 * 100vw);
    border-radius: calc(2 / 750 * 100vw);
  }
}

.fv__banner02-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(18 / 1080 * 100vw), 18px);
  color: #fff;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .fv__banner02-text {
    font-size: calc(28 / 750 * 100vw);
  }
}

.fv__banner02-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.fv__banner02-em {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
}

@media screen and (max-width: 767px) {
  .fv__banner02-em {
    font-size: calc(48 / 750 * 100vw);
  }
}

.fv__banner02-normal {
  font-size: min(calc(28 / 1080 * 100vw), 28px);
}

@media screen and (max-width: 767px) {
  .fv__banner02-normal {
    font-size: calc(38 / 750 * 100vw);
  }
}

.fv__footer {
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: min(calc(36 / 1080 * 100vw), 36px);
}

@media screen and (max-width: 767px) {
  .fv__footer {
    margin-top: calc(476 / 750 * 100vw);
  }
}

.fv__footer-catch {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: min(calc(5 / 1080 * 100vw), 5px);
  padding: min(calc(6 / 1080 * 100vw), 6px) min(calc(10 / 1080 * 100vw), 10px);
  margin-bottom: min(calc(20 / 1080 * 100vw), 20px);
  border: 2px solid #004098;
}

@media screen and (max-width: 767px) {
  .fv__footer-catch {
    border-radius: calc(10 / 750 * 100vw);
    padding: calc(12 / 750 * 100vw) calc(20 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
    width: fit-content;
  }
}

.fv__footer-catch::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 100%);
  bottom: max(calc(-2 / 1080 * 100vw), -2px);
  width: min(calc(23 / 1080 * 100vw), 23px);
  height: min(calc(17 / 1080 * 100vw), 17px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #004098;
}

@media screen and (max-width: 767px) {
  .fv__footer-catch::before {
    bottom: calc(-1 / 750 * 100vw);
    width: calc(33 / 750 * 100vw);
    height: calc(25 / 750 * 100vw);
  }
}

.fv__footer-catch::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
  width: min(calc(23 / 1080 * 100vw), 23px);
  height: min(calc(17 / 1080 * 100vw), 17px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .fv__footer-catch::after {
    width: calc(31 / 750 * 100vw);
    height: calc(23 / 750 * 100vw);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #fff;
  }
}

.fv__footer-catch-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #004098;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .fv__footer-catch-text {
    font-size: calc(38 / 750 * 100vw);
  }
}

.fv__footer-copy {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  line-height: 1.4;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .fv__footer-copy {
    font-size: calc(42 / 750 * 100vw);
    letter-spacing: 0.01em;
  }
}

.fv__footer-copy-white {
  color: #fff;
}

.fv__footer-copy-yellow {
  color: #ffe94a;
}

.fv__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  padding: min(calc(32 / 1080 * 100vw), 32px) min(calc(30 / 1080 * 100vw), 30px) min(calc(40 / 1080 * 100vw), 40px);
  gap: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .fv__cta {
    padding: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw) calc(50 / 750 * 100vw);
    gap: calc(30 / 750 * 100vw);
  }
}

.fv__cta.--open {
  background: #004098;
}

@media screen and (min-width: 768px) {
  .fv__cta.--open {
    background: #004098 url(../img/pc/fv_cta-bg.webp) no-repeat center top/contain;
  }
}

.fv__accordion {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .fv__accordion {
    margin: 0;
    width: 100%;
  }
}

.fv__accordion .subsidy__accordion-header {
  border: min(calc(2 / 1080 * 100vw), 2px) solid #004098;
}

@media screen and (max-width: 767px) {
  .fv__accordion .subsidy__accordion-header {
    border-width: calc(3 / 750 * 100vw);
    width: 100%;
  }
}

.fv__cta .cv__block {
  margin-bottom: 0;
}

.fv__cta .cv__block-sub {
  color: #004098;
}

.sec01 {
  position: relative;
  background-color: #ddf0f9;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: min(calc(80 / 1080 * 100vw), 80px) 0 0;
  gap: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec01 {
    padding: calc(100 / 750 * 100vw) 0 0;
    gap: calc(30 / 750 * 100vw);
  }
}

.sec01__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec01__banner {
  position: relative;
  width: min(calc(690 / 1080 * 100vw), 690px);
  background-color: #fff;
  border: min(calc(6 / 1080 * 100vw), 6px) solid #004098;
  border-radius: min(calc(20 / 1080 * 100vw), 20px);
  padding: min(calc(64 / 1080 * 100vw), 64px) 0 min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec01__banner {
    width: calc(690 / 750 * 100vw);
    border-width: calc(6 / 750 * 100vw);
    border-radius: calc(20 / 750 * 100vw);
    padding: calc(80 / 750 * 100vw) calc(30 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.sec01__banner-title {
  position: absolute;
  top: max(calc(-37 / 1080 * 100vw), -37px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #289be6;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  padding: min(calc(8 / 1080 * 100vw), 8px) 0;
  height: min(calc(80 / 1080 * 100vw), 80px);
  width: min(calc(360 / 1080 * 100vw), 360px);
}

@media screen and (max-width: 767px) {
  .sec01__banner-title {
    top: calc(-37 / 750 * 100vw);
    border-radius: calc(16 / 750 * 100vw);
    padding: calc(10 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    width: calc(500 / 750 * 100vw);
  }
}

.sec01__banner-title-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec01__banner-title-text {
    font-size: calc(42 / 750 * 100vw);
  }
}

.sec01__banner-title-arrow {
  position: absolute;
  bottom: max(calc(-18 / 1080 * 100vw), -18px);
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: min(calc(16 / 1080 * 100vw), 16px) solid transparent;
  border-right: min(calc(16 / 1080 * 100vw), 16px) solid transparent;
  border-top: min(calc(22 / 1080 * 100vw), 22px) solid #289be6;
}

@media screen and (max-width: 767px) {
  .sec01__banner-title-arrow {
    bottom: calc(-30 / 750 * 100vw);
    border-left: calc(24 / 750 * 100vw) solid transparent;
    border-right: calc(24 / 750 * 100vw) solid transparent;
    border-top: calc(34 / 750 * 100vw) solid #289be6;
  }
}

.sec01__banner-body {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec01__banner-lead {
  text-align: center;
}

.sec01__banner-lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #004098;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec01__banner-lead-text {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec01__banner-lead-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.5;
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .sec01__banner-lead-note {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec01__banner-date {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: center;
}

.sec01__banner-date>span {
  position: relative;
  z-index: 2;
}

.sec01__banner-date-year,
.sec01__banner-date-month,
.sec01__banner-date-day {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(80 / 1080 * 100vw), 80px);
  color: #e6002d;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {

  .sec01__banner-date-year,
  .sec01__banner-date-month,
  .sec01__banner-date-day {
    font-size: calc(90 / 750 * 100vw);
    font-family: "Roboto Condensed", sans-serif;
  }
}

.sec01__banner-date-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(40 / 1080 * 100vw), 40px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec01__banner-date-label {
    font-size: calc(48 / 750 * 100vw);
  }
}

.sec01__banner-date-end {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec01__banner-date-end {
    font-size: calc(38 / 750 * 100vw);
    letter-spacing: -0.02em;
  }
}

.sec01__banner-date-line {
  position: absolute;
  bottom: min(calc(12 / 1080 * 100vw), 12px);
  left: 0;
  width: 100%;
  height: min(calc(24 / 1080 * 100vw), 24px);
  background-color: #ffe94a;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sec01__banner-date-line {
    bottom: calc(16 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
  }
}

.sec01__banner-caution {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(18 / 1080 * 100vw), 18px);
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.8;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec01__banner-caution {
    font-size: calc(28 / 750 * 100vw);
  }
}

.sec01__banner-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: justify;
  width: min(calc(606 / 1080 * 100vw), 606px);
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec01__banner-note {
    font-size: calc(20 / 750 * 100vw);
    width: calc(537 / 750 * 100vw);
    margin-top: calc(23 / 750 * 100vw);
  }
}

.sec01__banner-note a {
  color: #666;
  text-decoration: underline;
}

.sec01__banner-note a:hover {
  text-decoration: none;
}

.sec01__dot-line {
  display: flex;
  justify-content: center;
  margin-top: min(calc(24 / 1080 * 100vw), 24px);
}

.sec01__dot-line img {
  width: min(calc(8 / 1080 * 100vw), 8px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec01__dot-line img {
    width: calc(12 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .sec01__dot-line {
    margin-top: calc(30 / 750 * 100vw);
  }
}

.sec01__chart {
  width: min(calc(920 / 1080 * 100vw), 920px);
  background-color: #004098;
  padding: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec01__chart {
    width: 100%;
    padding: 0;
  }
}

.sec01__chart .subsidy__accordion-body-inner {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .sec01__chart .subsidy__accordion-body-inner {
    margin: calc(32 / 750 * 100vw) auto;
    width: calc(690 / 750 * 100vw);
  }
}

.sec01__dot {
  display: flex;
  justify-content: center;
}

.sec01__dot img {
  width: min(calc(8 / 1080 * 100vw), 8px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec01__dot img {
    width: calc(12 / 750 * 100vw);
  }
}

.sec01__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(32 / 1080 * 100vw), 32px);
  width: min(calc(920 / 1080 * 100vw), 920px);
  padding: 0 min(calc(60 / 1080 * 100vw), 60px);
}

@media screen and (max-width: 767px) {
  .sec01__body {
    gap: calc(40 / 750 * 100vw);
    width: 100%;
    padding: 0;
    margin: calc(10 / 750 * 100vw);
  }
}

.sec01__body-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #232f3e;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec01__body-title {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec01__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(24 / 1080 * 100vw), 24px);
  width: 100%;
  background-color: #fff;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  padding: min(calc(30 / 1080 * 100vw), 30px) min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .sec01__list {
    justify-content: space-between;
    gap: 0;
    border-radius: calc(16 / 750 * 100vw);
    padding: calc(30 / 750 * 100vw) calc(20 / 750 * 100vw);
    width: calc(690 / 750 * 100vw);
  }
}

.sec01__list-icon {
  width: min(calc(102 / 1080 * 100vw), 102px);
}

.sec01__list-icon img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec01__list-icon {
    width: calc(102 / 750 * 100vw);
  }
}

.sec01__list-items {
  display: flex;
  flex-direction: column;
  gap: min(calc(6 / 1080 * 100vw), 6px);
}

@media screen and (max-width: 767px) {
  .sec01__list-items {
    gap: calc(6 / 750 * 100vw);
  }
}

.sec01__list-item {
  display: flex;
  align-items: center;
  gap: min(calc(14 / 1080 * 100vw), 14px);
}

@media screen and (max-width: 767px) {
  .sec01__list-item {
    gap: calc(14 / 750 * 100vw);
  }
}

.sec01__list-check {
  width: min(calc(35 / 1080 * 100vw), 35px);
  height: min(calc(35 / 1080 * 100vw), 35px);
}

@media screen and (max-width: 767px) {
  .sec01__list-check {
    width: calc(35 / 750 * 100vw);
    height: calc(35 / 750 * 100vw);
  }
}

.sec01__list-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #232f3e;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec01__list-text {
    font-size: calc(34 / 750 * 100vw);
  }
}

.sec01__body-catch {
  text-align: center;
  position: relative;
  z-index: 2;
}

.sec01__body-catch-line1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #232f3e;
  letter-spacing: -0.01em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec01__body-catch-line1 {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec01__body-catch-line2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.sec01__body-catch-em {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #004098;
  letter-spacing: -0.01em;
}

@media screen and (max-width: 767px) {
  .sec01__body-catch-em {
    font-size: calc(48 / 750 * 100vw);
  }
}

.sec01__body-catch-normal {
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #232f3e;
  letter-spacing: -0.01em;
}

@media screen and (max-width: 767px) {
  .sec01__body-catch-normal {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec01__arrow {
  display: flex;
  justify-content: center;
  margin-top: min(calc(18 / 1080 * 100vw), 18px);
}

.sec01__arrow img {
  width: min(calc(56 / 1080 * 100vw), 56px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec01__arrow img {
    width: calc(76 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .sec01__arrow {
    margin-top: calc(20 / 750 * 100vw);
  }
}

.sec01__deco {
  width: min(calc(829 / 1080 * 100vw), 829px);
  margin: max(calc(-120 / 1080 * 100vw), -120px) auto 0;
  position: relative;
  z-index: 1;
}

.sec01__deco picture,
.sec01__deco img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec01__deco {
    margin-top: calc(-24 / 750 * 100vw);
    width: 100%;
  }
}

.sec02 {
  background-color: #eee;
  overflow: hidden;
  padding: min(calc(60 / 1080 * 100vw), 60px) 0;
}

@media screen and (max-width: 767px) {
  .sec02 {
    padding: calc(80 / 750 * 100vw) 0;
  }
}

.sec02__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec02__title {
    font-size: calc(48 / 750 * 100vw);
    margin-bottom: calc(60 / 750 * 100vw);
  }

  .sec02__title span {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec02__body {
  background-color: #eee;
}

.sec02__body-inner {
  max-width: min(calc(1000 / 1080 * 100vw), 1000px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(44 / 1080 * 100vw), 44px);
}

@media screen and (max-width: 767px) {
  .sec02__body-inner {
    max-width: calc(720 / 750 * 100vw);
    gap: calc(64 / 750 * 100vw);
  }
}

.sec02__card {
  width: 100%;
  max-width: min(calc(1000 / 1080 * 100vw), 1000px);
}

@media screen and (max-width: 767px) {
  .sec02__card {
    max-width: calc(690 / 750 * 100vw);
  }
}

.sec02__card-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  width: min(calc(583 / 1080 * 100vw), 583px);
  height: min(calc(110 / 1080 * 100vw), 110px);
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec02__card-title {
    width: calc(590 / 750 * 100vw);
    height: calc(146 / 750 * 100vw);
  }
}

.sec02__card-title:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 0 min(calc(18 / 1080 * 100vw), 18px);
  background: #004098;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec02__card-title:before {
    inset: 0 0 0 calc(28 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw);
  }
}

.sec02__card-title:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: min(calc(20 / 1080 * 100vw), 20px);
  aspect-ratio: 20/75;
  background: #004098;
  border-radius: min(calc(8 / 1080 * 100vw), 8px) 0 0 min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec02__card-title:after {
    width: calc(28 / 750 * 100vw);
    aspect-ratio: 28/100;
    border-radius: calc(8 / 750 * 100vw) 0 0 calc(8 / 750 * 100vw);
  }
}

.sec02__card-title-text {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(34 / 1080 * 100vw), 34px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  margin-left: min(calc(16 / 1080 * 100vw), 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .sec02__card-title-text {
    font-size: calc(45 / 750 * 100vw);
    line-height: 1.2;
    white-space: normal;
  }
}

.sec02__card-title-text span {
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  margin-bottom: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .sec02__card-title-text span {
    font-size: calc(38 / 750 * 100vw);
    margin-bottom: calc(14 / 750 * 100vw);
  }
}

.sec02__card-body {
  background-color: #fff;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  padding: min(calc(24 / 1080 * 100vw), 24px) 0 min(calc(40 / 1080 * 100vw), 40px);
  margin-top: max(calc(-55 / 1080 * 100vw), -55px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec02__card-body {
    border-radius: calc(16 / 750 * 100vw);
    padding: calc(105 / 750 * 100vw) 0 calc(64 / 750 * 100vw);
    margin-top: calc(-73 / 750 * 100vw);
  }
}

.--safety .sec02__card-body {
  padding: min(calc(24 / 1080 * 100vw), 24px) min(calc(40 / 1080 * 100vw), 40px) min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .--safety .sec02__card-body {
    padding: calc(105 / 750 * 100vw) calc(40 / 750 * 100vw) calc(64 / 750 * 100vw);
  }
}

.--decrease .sec02__card-body {
  padding-bottom: 0;
}

.sec02__card-lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(40 / 1080 * 100vw), 40px);
  margin-bottom: min(calc(24 / 1080 * 100vw), 24px);
  padding-top: min(calc(55 / 1080 * 100vw), 55px);
}

@media screen and (max-width: 767px) {
  .sec02__card-lead {
    gap: calc(40 / 750 * 100vw);
    margin-bottom: calc(48 / 750 * 100vw);
  }
}

.sec02__card-lead-bracket {
  width: min(calc(15 / 1080 * 100vw), 15px);
  align-self: stretch;
  border: 2px solid #004098;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .sec02__card-lead-bracket {
    width: calc(15 / 750 * 100vw);
  }
}

.sec02__card-lead-bracket.--left {
  border-right: none;
}

.sec02__card-lead-bracket.--right {
  border-left: none;
}

.sec02__card-lead-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec02__card-lead-inner {
    gap: calc(16 / 750 * 100vw);
  }
}

.sec02__card-lead-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .sec02__card-lead-main {
    font-size: calc(34 / 750 * 100vw);
    white-space: normal;
  }
}

.sec02__card-lead-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(calc(14 / 1080 * 100vw), 14px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.8;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .sec02__card-lead-sub {
    font-size: calc(24 / 750 * 100vw);
    white-space: normal;
  }
}

.sec02__card-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(16 / 1080 * 100vw), 16px);
  margin-bottom: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec02__card-list {
    flex-wrap: wrap;
    gap: calc(30 / 750 * 100vw);
    margin-bottom: calc(32 / 750 * 100vw);
  }
}

.sec02__card-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: min(calc(218 / 1080 * 100vw), 218px);
  height: min(calc(218 / 1080 * 100vw), 218px);
  background-color: #ddf0f9;
  border: min(calc(3 / 1080 * 100vw), 3px) solid #004098;
  border-radius: 50%;
  padding: min(calc(20 / 1080 * 100vw), 20px);
  gap: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec02__card-list-item {
    width: calc(290 / 750 * 100vw);
    height: calc(290 / 750 * 100vw);
    border-width: calc(4 / 750 * 100vw);
    padding: calc(30 / 750 * 100vw);
    gap: calc(10 / 750 * 100vw);
  }
}

.sec02__card-list-item-icon {
  width: auto;
  height: min(calc(45 / 1080 * 100vw), 45px);
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .sec02__card-list-item-icon {
    height: calc(60 / 750 * 100vw);
  }
}

.sec02__card-list-item-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec02__card-list-item-label {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: 0;
    margin: 0 -1em;
  }
}

.sec02__card-list-item-time {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #004098;
}

.sec02__card-list-item-time-num {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(60 / 1080 * 100vw), 60px);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .sec02__card-list-item-time-num {
    font-size: calc(80 / 750 * 100vw);
  }
}

.sec02__card-list-item-time-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec02__card-list-item-time-unit {
    font-size: calc(32 / 750 * 100vw);
  }
}

.sec02__card-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .sec02__card-note {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec02__detail {
  display: flex;
  justify-content: center;
  gap: min(calc(72 / 1080 * 100vw), 72px);
  padding: min(calc(48 / 1080 * 100vw), 48px) 0 min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec02__detail {
    flex-direction: column;
    gap: calc(48 / 750 * 100vw);
    padding: calc(40 / 750 * 100vw) calc(45 / 750 * 100vw);
  }
}

.sec02__detail-col {
  display: flex;
  flex-direction: column;
  gap: min(calc(16 / 1080 * 100vw), 16px);
  width: min(calc(364 / 1080 * 100vw), 364px);
}

@media screen and (max-width: 767px) {
  .sec02__detail-col {
    gap: calc(16 / 750 * 100vw);
    width: 100%;
  }
}

.sec02__detail-label {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec02__detail-label-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #004098;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
  padding: min(calc(14 / 1080 * 100vw), 14px) min(calc(16 / 1080 * 100vw), 16px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .sec02__detail-label-text {
    border-radius: calc(8 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) calc(16 / 750 * 100vw);
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec02__detail-label-arrow {
  width: 0;
  height: 0;
  border-left: min(calc(7 / 1080 * 100vw), 7px) solid transparent;
  border-right: min(calc(7 / 1080 * 100vw), 7px) solid transparent;
  border-top: min(calc(7 / 1080 * 100vw), 7px) solid #004098;
}

@media screen and (max-width: 767px) {
  .sec02__detail-label-arrow {
    border-left-width: calc(15 / 750 * 100vw);
    border-right-width: calc(15 / 750 * 100vw);
    border-top-width: calc(17 / 750 * 100vw);
  }
}

.sec02__detail-body {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  gap: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec02__detail-body {
    flex-direction: row;
    justify-content: space-between;
  }
}

.sec02__detail-img {
  flex-shrink: 0;
  width: min(calc(142 / 1080 * 100vw), 142px);
}

@media screen and (max-width: 767px) {
  .sec02__detail-img {
    width: calc(189 / 750 * 100vw);
  }
}

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

.sec02__detail-desc {
  display: flex;
  flex-direction: column;
  gap: min(calc(19 / 1080 * 100vw), 19px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .sec02__detail-desc {
    flex: 1;
    gap: calc(19 / 750 * 100vw);
  }
}

.sec02__detail-desc-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec02__detail-desc-title {
    font-size: calc(34 / 750 * 100vw);
    text-align: left;
  }
}

.sec02__detail-desc-line {
  width: 100%;
  height: min(calc(2 / 1080 * 100vw), 2px);
  background: #004098;
}

@media screen and (max-width: 767px) {
  .sec02__detail-desc-line {
    height: calc(2 / 750 * 100vw);
  }
}

.sec02__detail-desc-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #004098;
  letter-spacing: -0.02em;
  line-height: 1.8;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec02__detail-desc-text {
    font-size: calc(26 / 750 * 100vw);
    text-align: left;
  }
}

.sec02__detail-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .sec02__detail-note {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec02__chart {
  background-color: #ddf0f9;
  margin: min(calc(55 / 1080 * 100vw), 55px) 0 0;
  padding: min(calc(63 / 1080 * 100vw), 63px) min(calc(40 / 1080 * 100vw), 40px) min(calc(60 / 1080 * 100vw), 60px);
  clip-path: polygon(0 min(calc(94 / 1080 * 100vw), 94px), 50% 0, 100% min(calc(94 / 1080 * 100vw), 94px), 100% 100%, 0 100%);
}

@media screen and (max-width: 767px) {
  .sec02__chart {
    margin-top: 0;
    padding: calc(75 / 750 * 100vw) calc(30 / 750 * 100vw) calc(32 / 750 * 100vw);
    clip-path: polygon(0 calc(87 / 750 * 100vw), 50% 0, 100% calc(87 / 750 * 100vw), 100% 100%, 0 100%);
  }
}

.sec02__chart-head {
  text-align: center;
  margin-bottom: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec02__chart-head {
    margin-bottom: calc(32 / 750 * 100vw);
  }
}

.sec02__chart-head-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec02__chart-head-text {
    font-size: calc(42 / 750 * 100vw);
  }
}

.sec02__chart-head-em {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
}

@media screen and (max-width: 767px) {
  .sec02__chart-head-em {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec02__chart-img {
  width: min(calc(604 / 1080 * 100vw), 604px);
  margin: 0 auto min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec02__chart-img {
    width: calc(604 / 750 * 100vw);
    margin-bottom: calc(32 / 750 * 100vw);
  }
}

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

.sec02__accordion {
  width: 100%;
}

.sec02__accordion .adlp-accordion {
  background: none;
}

.sec02__accordion-header {
  width: min(calc(518 / 1080 * 100vw), 518px);
  height: min(calc(56 / 1080 * 100vw), 56px);
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid #004098;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
}

@media screen and (max-width: 767px) {
  .sec02__accordion-header {
    width: 100%;
    height: calc(81 / 750 * 100vw);
    border: 2px solid #004098;
    border-radius: calc(8 / 750 * 100vw);
  }
}

.sec02__accordion-header .adlp-accordion__header__inner {
  justify-content: center;
  height: 100%;
  padding: 0 min(calc(60 / 1080 * 100vw), 60px) 0 min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec02__accordion-header .adlp-accordion__header__inner {
    padding: 0 calc(80 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  }
}

.sec02__accordion-header .adlp-accordion__header__inner .text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  color: #333;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec02__accordion-header .adlp-accordion__header__inner .text {
    font-size: calc(28 / 750 * 100vw);
  }
}

.sec02__accordion-header::before {
  background: #333 !important;
  right: min(calc(34 / 1080 * 100vw), 34px) !important;
  height: min(calc(18 / 1080 * 100vw), 18px) !important;
  width: min(calc(2 / 1080 * 100vw), 2px) !important;
}

@media screen and (max-width: 767px) {
  .sec02__accordion-header::before {
    right: calc(44 / 750 * 100vw) !important;
    height: calc(24 / 750 * 100vw) !important;
    width: calc(2 / 750 * 100vw) !important;
  }
}

.sec02__accordion-header::after {
  background: #333 !important;
  right: min(calc(26 / 1080 * 100vw), 26px) !important;
  width: min(calc(18 / 1080 * 100vw), 18px) !important;
  height: min(calc(2 / 1080 * 100vw), 2px) !important;
}

@media screen and (max-width: 767px) {
  .sec02__accordion-header::after {
    right: calc(33 / 750 * 100vw) !important;
    width: calc(24 / 750 * 100vw) !important;
    height: calc(2 / 750 * 100vw) !important;
  }
}

.sec02__accordion-body {
  background: none;
  padding: 0;
}

.sec02__accordion-body-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: min(calc(24 / 1080 * 100vw), 24px) 0 0;
}

@media screen and (max-width: 767px) {
  .sec02__accordion-body-inner {
    padding: calc(32 / 750 * 100vw) 0 0;
  }
}

.sec02__accordion-notes {
  width: min(calc(800 / 1080 * 100vw), 800px);
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .sec02__accordion-notes {
    width: calc(630 / 750 * 100vw);
  }
}

.sec02__accordion-notes p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .sec02__accordion-notes p {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec02__accordion-notes p a {
  color: #666;
  text-decoration: underline;
}

.sec02__accordion-notes p a:hover {
  text-decoration: none;
}

.sec02__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: min(calc(60 / 1080 * 100vw), 60px) 0 0;
  max-width: min(calc(690 / 1080 * 100vw), 690px);
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec02__cta {
    padding: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw) 0;
    max-width: calc(690 / 750 * 100vw);
  }
}

.sec02__cta-balloon {
  position: relative;
  background-color: #ddf0f9;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
  padding: min(calc(6 / 1080 * 100vw), 6px) min(calc(8 / 1080 * 100vw), 8px);
  margin-bottom: min(calc(36 / 1080 * 100vw), 36px);
  border: 2px solid #004098;
}

@media screen and (max-width: 767px) {
  .sec02__cta-balloon {
    border-radius: calc(8 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) 0;
    margin-bottom: calc(50 / 750 * 100vw);
    width: 100%;
  }
}

.sec02__cta-balloon::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 100%);
  bottom: max(calc(-2 / 1080 * 100vw), -2px);
  width: min(calc(18 / 1080 * 100vw), 18px);
  height: min(calc(13 / 1080 * 100vw), 13px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #004098;
}

@media screen and (max-width: 767px) {
  .sec02__cta-balloon::before {
    bottom: calc(-3 / 750 * 100vw);
    width: calc(33 / 750 * 100vw);
    height: calc(25 / 750 * 100vw);
  }
}

.sec02__cta-balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: min(calc(1 / 1080 * 100vw), 1px);
  transform: translate(-50%, 100%);
  width: min(calc(18 / 1080 * 100vw), 18px);
  height: min(calc(13 / 1080 * 100vw), 13px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #ddf0f9;
}

@media screen and (max-width: 767px) {
  .sec02__cta-balloon::after {
    width: calc(31 / 750 * 100vw);
    height: calc(23 / 750 * 100vw);
    bottom: calc(1 / 750 * 100vw);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #ddf0f9;
  }
}

.sec02__cta-balloon-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec02__cta-balloon-text {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec02__cta-labels {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec02__cta-labels {
    margin-bottom: calc(20 / 750 * 100vw);
    width: 100%;
  }
}

.sec02__cta-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #004098;
  padding: min(calc(8 / 1080 * 100vw), 8px) min(calc(20 / 1080 * 100vw), 20px);
  border-radius: min(calc(5 / 1080 * 100vw), 5px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
  width: min(calc(305 / 1080 * 100vw), 305px);
}

@media screen and (max-width: 767px) {
  .sec02__cta-label {
    padding: calc(8 / 750 * 100vw) calc(20 / 750 * 100vw);
    border-radius: calc(6 / 750 * 100vw);
    font-size: calc(46 / 750 * 100vw);
    width: calc(50% - calc(10 / 750 * 100vw));
  }
}

.sec02__cta-plus {
  position: relative;
  width: min(calc(60 / 1080 * 100vw), 60px);
  height: min(calc(60 / 1080 * 100vw), 60px);
  margin: 0 max(calc(-10 / 1080 * 100vw), -10px);
  border-radius: 50%;
  background-color: #fff;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sec02__cta-plus {
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    margin: 0 calc(-20 / 750 * 100vw);
  }
}

.sec02__cta-plus::before,
.sec02__cta-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #004098;
}

.sec02__cta-plus::before {
  width: min(calc(32 / 1080 * 100vw), 32px);
  height: min(calc(6 / 1080 * 100vw), 6px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .sec02__cta-plus::before {
    width: calc(32 / 750 * 100vw);
    height: calc(6 / 750 * 100vw);
  }
}

.sec02__cta-plus::after {
  width: min(calc(6 / 1080 * 100vw), 6px);
  height: min(calc(32 / 1080 * 100vw), 32px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .sec02__cta-plus::after {
    width: calc(6 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
  }
}

.sec02__cta-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .sec02__cta-lead {
    font-size: calc(56 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.sec02__cta-lead span {
  font-size: min(calc(38 / 1080 * 100vw), 38px);
}

@media screen and (max-width: 767px) {
  .sec02__cta-lead span {
    font-size: calc(48 / 750 * 100vw);
  }
}

.sec02__cta-img {
  width: min(calc(631 / 1080 * 100vw), 631px);
  margin: 0 auto min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .sec02__cta-img {
    margin-bottom: calc(40 / 750 * 100vw);
    width: 100%;
  }
}

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

.sec03 {
  position: relative;
  overflow: hidden;
  background: #ddf0f9;
}

.sec03__head {
  position: relative;
}

.sec03__head-bg {
  display: block;
  width: 100%;
}

.sec03__head-bg img {
  width: 100%;
  height: auto;
  display: block;
}

.sec03__head-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: min(calc(64 / 1080 * 100vw), 64px);
  width: min(calc(1080 / 1080 * 100vw), 1080px);
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec03__head-content {
    padding-top: calc(135 / 750 * 100vw);
  }
}

.sec03__head-baloon {
  position: absolute;
  left: min(calc(36 / 1080 * 100vw), 36px);
  top: min(calc(79 / 1080 * 100vw), 79px);
  width: min(calc(155 / 1080 * 100vw), 155px);
  height: min(calc(86 / 1080 * 100vw), 86px);
}

@media screen and (max-width: 767px) {
  .sec03__head-baloon {
    left: calc(55 / 750 * 100vw);
    top: calc(24 / 750 * 100vw);
    width: calc(210 / 750 * 100vw);
    height: calc(94 / 750 * 100vw);
  }
}

.sec03__head-baloon-bg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sec03__head-baloon-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -105%) rotate(-12deg);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(34 / 1080 * 100vw), 34px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .sec03__head-baloon-text {
    font-size: calc(34 / 750 * 100vw);
    transform: translate(-50%, -85%) rotate(-12deg);
  }
}

.sec03__head-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(9 / 1080 * 100vw), 9px);
  text-align: center;
  margin-top: min(calc(11 / 1080 * 100vw), 11px);
}

@media screen and (max-width: 767px) {
  .sec03__head-title {
    gap: calc(10 / 750 * 100vw);
    margin: 0 auto;
  }
}

.sec03__head-title-labels {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sec03__head-title-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #004098;
  height: min(calc(80 / 1080 * 100vw), 80px);
  border-radius: min(calc(7 / 1080 * 100vw), 7px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
  width: min(calc(310 / 1080 * 100vw), 310px);
}

@media screen and (max-width: 767px) {
  .sec03__head-title-label {
    height: calc(80 / 750 * 100vw);
    border-radius: calc(7 / 750 * 100vw);
    font-size: calc(48 / 750 * 100vw);
    width: calc(310 / 750 * 100vw);
  }
}

.sec03__head-title-plus {
  position: relative;
  width: min(calc(60 / 1080 * 100vw), 60px);
  height: min(calc(60 / 1080 * 100vw), 60px);
  margin: 0 max(calc(-20 / 1080 * 100vw), -20px);
  border-radius: 50%;
  background-color: #fff;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sec03__head-title-plus {
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    margin: 0 calc(-20 / 750 * 100vw);
  }
}

.sec03__head-title-plus::before,
.sec03__head-title-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #004098;
}

.sec03__head-title-plus::before {
  width: min(calc(32 / 1080 * 100vw), 32px);
  height: min(calc(6 / 1080 * 100vw), 6px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .sec03__head-title-plus::before {
    width: calc(32 / 750 * 100vw);
    height: calc(6 / 750 * 100vw);
  }
}

.sec03__head-title-plus::after {
  width: min(calc(6 / 1080 * 100vw), 6px);
  height: min(calc(32 / 1080 * 100vw), 32px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .sec03__head-title-plus::after {
    width: calc(6 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
  }
}

.sec03__head-title-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #004098;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-shadow: 0 0 10px white;
}

.sec03__head-title-text-sm {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
}

@media screen and (max-width: 767px) {
  .sec03__head-title-text-sm {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec03__head-title-text-lg {
  font-size: min(calc(54 / 1080 * 100vw), 54px);
}

@media screen and (max-width: 767px) {
  .sec03__head-title-text-lg {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec03__head-badge {
  position: absolute;
  left: min(calc(24 / 1080 * 100vw), 24px);
  top: min(calc(230 / 1080 * 100vw), 230px);
  width: min(calc(222 / 1080 * 100vw), 222px);
  height: min(calc(222 / 1080 * 100vw), 222px);
}

@media screen and (max-width: 767px) {
  .sec03__head-badge {
    left: calc(32 / 750 * 100vw);
    top: calc(584 / 750 * 100vw);
    width: calc(296 / 750 * 100vw);
    height: calc(296 / 750 * 100vw);
  }
}

.sec03__head-badge-bg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sec03__head-badge-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}

.sec03__head-badge-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #000;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .sec03__head-badge-text {
    font-size: calc(25 / 750 * 100vw);
    margin-bottom: calc(8 / 750 * 100vw);
  }
}

.sec03__head-badge-num {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #004098;
}

.sec03__head-badge-num-value {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(calc(65 / 1080 * 100vw), 65px);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .sec03__head-badge-num-value {
    font-size: calc(87 / 750 * 100vw);
    letter-spacing: -0.06em;
  }
}

.sec03__head-badge-num-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(35 / 1080 * 100vw), 35px);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec03__head-badge-num-unit {
    font-size: calc(46 / 750 * 100vw);
  }
}

.sec04 {
  position: relative;
  overflow: hidden;
  background: #ddf0f9;
}

.sec04__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(48 / 1080 * 100vw), 48px);
  padding: min(calc(50 / 1080 * 100vw), 50px) 0;
}

@media screen and (max-width: 767px) {
  .sec04__point {
    gap: calc(64 / 750 * 100vw);
    padding: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.sec04__point-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sec04__point-head-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #004098;
  margin-bottom: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec04__point-head-lead {
    margin-bottom: calc(8 / 750 * 100vw);
  }
}

.sec04__point-head-lead-main {
  font-size: min(calc(44 / 1080 * 100vw), 44px);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__point-head-lead-main {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec04__point-head-lead-sub {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__point-head-lead-sub {
    font-size: calc(42 / 750 * 100vw);
  }
}

.sec04__point-head-labels {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec04__point-head-labels {
    margin-bottom: calc(8 / 750 * 100vw);
  }
}

.sec04__point-head-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #004098;
  padding: min(calc(14 / 1080 * 100vw), 14px) 0;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
  width: min(calc(286 / 1080 * 100vw), 286px);
}

@media screen and (max-width: 767px) {
  .sec04__point-head-label {
    padding: calc(8 / 750 * 100vw) 0;
    border-radius: calc(6 / 750 * 100vw);
    font-size: calc(41 / 750 * 100vw);
    width: calc(286 / 750 * 100vw);
  }
}

.sec04__point-head-plus {
  position: relative;
  width: min(calc(54 / 1080 * 100vw), 54px);
  height: min(calc(54 / 1080 * 100vw), 54px);
  margin: 0 max(calc(-20 / 1080 * 100vw), -20px);
  border-radius: 50%;
  background-color: #fff;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sec04__point-head-plus {
    width: calc(55 / 750 * 100vw);
    height: calc(55 / 750 * 100vw);
    margin: 0 calc(-12 / 750 * 100vw);
  }
}

.sec04__point-head-plus::before,
.sec04__point-head-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #004098;
}

.sec04__point-head-plus::before {
  width: min(calc(28 / 1080 * 100vw), 28px);
  height: min(calc(5 / 1080 * 100vw), 5px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .sec04__point-head-plus::before {
    width: calc(30 / 750 * 100vw);
    height: calc(5 / 750 * 100vw);
  }
}

.sec04__point-head-plus::after {
  width: min(calc(5 / 1080 * 100vw), 5px);
  height: min(calc(28 / 1080 * 100vw), 28px);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .sec04__point-head-plus::after {
    width: calc(5 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
  }
}

.sec04__point-head-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.sec04__point-head-title-num {
  font-size: min(calc(60 / 1080 * 100vw), 60px);
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec04__point-head-title-num {
    font-size: calc(114 / 750 * 100vw);
    line-height: 1em;
  }
}

.sec04__point-head-title-text {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
}

@media screen and (max-width: 767px) {
  .sec04__point-head-title-text {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec04__point-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(64 / 1080 * 100vw), 64px);
  width: min(calc(1000 / 1080 * 100vw), 1000px);
}

@media screen and (max-width: 767px) {
  .sec04__point-body {
    gap: calc(64 / 750 * 100vw);
    width: calc(690 / 750 * 100vw);
  }
}

.sec04__card {
  position: relative;
  width: 100%;
  background-color: #fff;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
  overflow: hidden;
  display: flex;
  justify-self: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .sec04__card {
    border-radius: calc(16 / 750 * 100vw);
  }
}

.sec04__card-num {
  position: absolute;
  top: 0;
  left: 0;
  width: min(calc(171 / 1080 * 100vw), 171px);
  height: min(calc(159 / 1080 * 100vw), 159px);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .sec04__card-num {
    width: calc(171 / 750 * 100vw);
    height: calc(159 / 750 * 100vw);
  }
}

.sec04__card-num-bg {
  position: absolute;
  top: max(calc(-60 / 1080 * 100vw), -60px);
  left: max(calc(-60 / 1080 * 100vw), -60px);
  width: min(calc(194 / 1080 * 100vw), 194px);
  aspect-ratio: 1/1;
  background-color: #004098;
  border-radius: 100%;
}

@media screen and (max-width: 767px) {
  .sec04__card-num-bg {
    top: calc(-104 / 750 * 100vw);
    left: calc(-104 / 750 * 100vw);
    width: calc(258 / 750 * 100vw);
  }
}

.sec04__card-num-text {
  position: absolute;
  top: min(calc(40 / 1080 * 100vw), 40px);
  left: min(calc(32 / 1080 * 100vw), 32px);
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: min(calc(60 / 1080 * 100vw), 60px);
  color: #fff;
  line-height: 0.8;
}

@media screen and (max-width: 767px) {
  .sec04__card-num-text {
    top: calc(39 / 750 * 100vw);
    left: calc(8 / 750 * 100vw);
    font-size: calc(80 / 750 * 100vw);
    letter-spacing: -0.05em;
  }
}

.sec04__card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(48 / 1080 * 100vw), 48px);
  padding: min(calc(40 / 1080 * 100vw), 40px) min(calc(35 / 1080 * 100vw), 35px) min(calc(52 / 1080 * 100vw), 52px);
}

@media screen and (max-width: 767px) {
  .sec04__card-inner {
    gap: calc(48 / 750 * 100vw);
    padding: calc(82 / 750 * 100vw) calc(30 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.--c02 .sec04__card-inner {
  gap: min(calc(24 / 1080 * 100vw), 24px);
}

.sec04__card-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec04__card-head {
    gap: calc(10 / 750 * 100vw);
    margin-bottom: calc(36 / 750 * 100vw);
  }
}

.sec04__card-head-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__card-head-sub {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec04__card-head-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__card-head-main {
    font-size: calc(48 / 750 * 100vw);
  }
}

.sec04__card-body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: min(calc(30 / 1080 * 100vw), 30px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .sec04__card-body {
    flex-direction: column;
    align-items: center;
    gap: calc(40 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .sec04__card.--c01 .sec04__card-body {
    flex-direction: column;
  }
}

.sec04__img-block {
  display: flex;
  align-items: center;
  gap: min(calc(20 / 1080 * 100vw), 20px);
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .sec04__img-block {
    gap: calc(20 / 750 * 100vw);
  }
}

.sec04__badge {
  position: relative;
  width: min(calc(220 / 1080 * 100vw), 220px);
  height: min(calc(220 / 1080 * 100vw), 220px);
}

@media screen and (max-width: 767px) {
  .sec04__badge {
    width: calc(300 / 750 * 100vw);
    height: calc(300 / 750 * 100vw);
  }
}

.sec04__badge-bg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sec04__badge-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  padding-top: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .sec04__badge-content {
    padding-top: calc(30 / 750 * 100vw);
  }
}

.sec04__badge-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #000;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .sec04__badge-label {
    font-size: calc(26 / 750 * 100vw);
    margin-bottom: calc(10 / 750 * 100vw);
  }
}

.sec04__badge-num {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #004098;
}

.sec04__badge-num-value {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(48 / 1080 * 100vw), 48px);
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__badge-num-value {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec04__badge-num-decimal {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 800;
  font-size: min(calc(42 / 1080 * 100vw), 42px);
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__badge-num-decimal {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec04__badge-num-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__badge-num-unit {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: -0.04em;
  }
}

.sec04__badge-num-rank {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(60 / 1080 * 100vw), 60px);
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__badge-num-rank {
    font-size: calc(80 / 750 * 100vw);
  }
}

.sec04__badge-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: min(calc(5 / 1080 * 100vw), 5px);
}

@media screen and (max-width: 767px) {
  .sec04__badge-note {
    font-size: calc(20 / 750 * 100vw);
    margin-top: calc(10 / 750 * 100vw);
  }
}

.sec04__desc {
  display: flex;
  flex-direction: column;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .sec04__desc {
    gap: calc(40 / 750 * 100vw);
    width: 100%;
  }
}

.sec04__desc-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .sec04__desc-text {
    font-size: calc(26 / 750 * 100vw);
    letter-spacing: 0.01em;
  }
}

.sec04__desc-em {
  font-weight: 600;
  color: #004098;
}

.sec04__desc-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.01em;
  line-height: 1.5;
  margin-top: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec04__desc-note {
    font-size: calc(20 / 750 * 100vw);
    margin-top: 0;
  }
}

.sec04__desc-note p+p {
  margin-top: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .sec04__desc-note p+p {
    margin-top: calc(4 / 750 * 100vw);
  }
}

.sec04__card.--c02 .sec04__card-body {
  flex-direction: column;
  align-items: center;
  gap: min(calc(24 / 1080 * 100vw), 24px);
}

@media screen and (max-width: 767px) {
  .sec04__card.--c02 .sec04__card-body {
    gap: calc(40 / 750 * 100vw);
  }
}

.sec04__c02-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec04__c02-lead {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec04__c02-lead span {
  color: #004098;
  font-weight: 600;
}

.sec04__callout {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ddf0f9;
  border: min(calc(2 / 1080 * 100vw), 2px) solid #004098;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
  position: relative;
  margin-bottom: max(calc(-80 / 1080 * 100vw), -80px);
}

@media screen and (max-width: 767px) {
  .sec04__callout {
    border-width: calc(2 / 750 * 100vw);
    margin-bottom: calc(-100 / 750 * 100vw);
  }
}

.sec04__callout.--c02 {
  width: min(calc(520 / 1080 * 100vw), 520px);
  padding: min(calc(12 / 1080 * 100vw), 12px) 0;
}

@media screen and (max-width: 767px) {
  .sec04__callout.--c02 {
    width: calc(520 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) 0;
    border-radius: calc(8 / 750 * 100vw);
  }
}

.sec04__callout.--c02::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: max(calc(-16 / 1080 * 100vw), -16px);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-top: min(calc(16 / 1080 * 100vw), 16px) solid #004098;
  border-right: min(calc(12 / 1080 * 100vw), 12px) solid transparent;
  border-left: min(calc(12 / 1080 * 100vw), 12px) solid transparent;
}

@media screen and (max-width: 767px) {
  .sec04__callout.--c02::before {
    bottom: calc(-20 / 750 * 100vw);
    border-top-width: calc(20 / 750 * 100vw);
    border-right-width: calc(14 / 750 * 100vw);
    border-left-width: calc(14 / 750 * 100vw);
  }
}

.sec04__callout.--c02::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: max(calc(-13 / 1080 * 100vw), -13px);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-top: min(calc(16 / 1080 * 100vw), 16px) solid #ddf0f9;
  border-right: min(calc(12 / 1080 * 100vw), 12px) solid transparent;
  border-left: min(calc(12 / 1080 * 100vw), 12px) solid transparent;
}

@media screen and (max-width: 767px) {
  .sec04__callout.--c02::after {
    bottom: calc(-17 / 750 * 100vw);
    border-top-width: calc(20 / 750 * 100vw);
    border-right-width: calc(14 / 750 * 100vw);
    border-left-width: calc(14 / 750 * 100vw);
  }
}

.sec04__callout-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec04__callout-text {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec04__plan-list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: min(calc(30 / 1080 * 100vw), 30px);
  margin-top: min(calc(24 / 1080 * 100vw), 24px);
  padding: min(calc(70 / 1080 * 100vw), 70px) 0 min(calc(40 / 1080 * 100vw), 40px);
  background-color: #fcfaee;
  width: min(calc(920 / 1080 * 100vw), 920px);
}

@media screen and (max-width: 767px) {
  .sec04__plan-list {
    flex-direction: column;
    gap: calc(24 / 750 * 100vw);
    margin: 0;
    padding-top: calc(120 / 750 * 100vw);
  }
}

.sec04__plan-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 50%;
  padding: 0 min(calc(40 / 1080 * 100vw), 40px);
  border-radius: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .sec04__plan-item {
    width: 100%;
    padding: 0 calc(40 / 750 * 100vw);
    border-radius: calc(10 / 750 * 100vw);
  }
}

.sec04__plan-head {
  display: flex;
  align-items: center;
  gap: min(calc(14 / 1080 * 100vw), 14px);
  width: 100%;
  padding-bottom: min(calc(16 / 1080 * 100vw), 16px);
  border-bottom: 2px solid #004098;
  margin-bottom: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .sec04__plan-head {
    gap: calc(14 / 750 * 100vw);
    padding-bottom: calc(16 / 750 * 100vw);
    margin-bottom: calc(20 / 750 * 100vw);
  }
}

.sec04__plan-icon {
  width: min(calc(124 / 1080 * 100vw), 124px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec04__plan-icon {
    width: calc(154 / 750 * 100vw);
  }
}

.sec04__plan-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .sec04__plan-title {
    font-size: calc(34 / 750 * 100vw);
    text-align: left;
    margin-right: -1em;
  }
}

.sec04__plan-text {
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .sec04__plan-text {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec04__plan-arrow {
  display: flex;
  justify-content: center;
  margin: min(calc(16 / 1080 * 100vw), 16px) 0;
}

@media screen and (max-width: 767px) {
  .sec04__plan-arrow {
    margin: 0;
  }
}

.sec04__plan-arrow img {
  width: min(calc(48 / 1080 * 100vw), 48px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec04__plan-arrow img {
    width: calc(80 / 750 * 100vw);
  }
}

.sec04__plan-footer {
  width: min(calc(690 / 1080 * 100vw), 690px);
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec04__plan-footer {
    width: 100%;
  }
}

.sec04__plan-footer-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(20 / 1080 * 100vw), 20px);
  background: var(--main01, #004098);
  border: min(calc(3 / 1080 * 100vw), 3px) solid #004098;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  padding: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec04__plan-footer-inner {
    flex-direction: column-reverse;
    gap: calc(16 / 750 * 100vw);
    border-width: calc(4 / 750 * 100vw);
    border-radius: calc(10 / 750 * 100vw);
    padding: calc(15 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}

.sec04__plan-footer-content {
  flex: 1;
}

.sec04__plan-footer-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec04__plan-footer-text {
    font-size: calc(34 / 750 * 100vw);
  }
}

.sec04__plan-footer-em {
  font-weight: 700;
  color: #004098;
  color: var(--accent02, #ffe94a);
}

@media screen and (max-width: 767px) {
  .--c02 .sec04__plan-footer-inner {
    padding-right: calc(180 / 750 * 100vw);
  }
}

.--c02 .sec04__plan-footer-img {
  flex-shrink: 0;
  position: absolute;
  right: min(calc(20 / 1080 * 100vw), 20px);
  bottom: 0;
}

.--c02 .sec04__plan-footer-img img {
  width: min(calc(150 / 1080 * 100vw), 150px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .--c02 .sec04__plan-footer-img img {
    width: calc(170 / 750 * 100vw);
  }
}

.--c03 .sec04__plan-footer-img {
  margin: 0 auto;
  text-align: center;
}

.--c03 .sec04__plan-footer-img img {
  width: min(calc(293 / 1080 * 100vw), 293px);
  height: auto;
}

@media screen and (max-width: 767px) {
  .--c03 .sec04__plan-footer-img img {
    width: calc(516 / 750 * 100vw);
  }
}

.--c03 .sec04__plan-footer-text {
  text-align: center;
}

.sec04__card.--c03 .sec04__card-body {
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .sec04__card.--c03 .sec04__card-body {
    flex-direction: column;
  }
}

.sec04__service-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: min(calc(30 / 1080 * 100vw), 30px);
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .sec04__service-list {
    gap: calc(30 / 750 * 100vw);
    width: calc(620 / 750 * 100vw);
  }
}

.sec04__service-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec04__service-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(calc(220 / 1080 * 100vw), 220px);
  height: min(calc(220 / 1080 * 100vw), 220px);
  background-color: #ddf0f9;
  border: min(calc(2 / 1080 * 100vw), 2px) solid #004098;
  border-radius: 50%;
  padding: min(calc(30 / 1080 * 100vw), 30px) 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec04__service-circle {
    width: calc(290 / 750 * 100vw);
    height: calc(290 / 750 * 100vw);
    border-width: calc(4 / 750 * 100vw);
    padding: calc(40 / 750 * 100vw) 0 0;
  }
}

.sec04__service-icon {
  width: min(calc(45 / 1080 * 100vw), 45px);
  height: auto;
  margin-bottom: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .sec04__service-icon {
    width: calc(60 / 750 * 100vw);
    margin-bottom: calc(15 / 750 * 100vw);
  }
}

.sec04__service-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec04__service-label {
    font-size: calc(32 / 750 * 100vw);
  }
}

.sec04__service-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(calc(54 / 1080 * 100vw), 54px);
  color: #004098;
  line-height: 1.1;
}

@media screen and (max-width: 767px) {
  .sec04__service-title {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec04__card.--c03 .sec04__service-item:last-child .sec04__service-title {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .sec04__card.--c03 .sec04__service-item:last-child .sec04__service-title {
    font-size: calc(42 / 750 * 100vw);
    letter-spacing: -0.04em;
  }
}

.sec04__appeal {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.sec04__appeal-deco {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: min(calc(95 / 1080 * 100vw), 95px);
  z-index: 1;
  filter: drop-shadow(0 10px 60px rgba(73, 188, 255, 0.6));
}

@media screen and (max-width: 767px) {
  .sec04__appeal-deco {
    height: calc(110 / 750 * 100vw);
  }
}

.sec04__appeal-deco::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #ddf0f9;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.sec04__appeal-bg {
  position: relative;
  width: 100%;
}

.sec04__appeal-bg picture,
.sec04__appeal-bg img {
  width: 100%;
  height: auto;
  display: block;
}

.sec04__appeal-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-content {
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.sec04__appeal-conjunction {
  width: min(calc(122 / 1080 * 100vw), 122px);
  height: min(calc(122 / 1080 * 100vw), 122px);
  background-color: #004098;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
  margin-top: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec04__appeal-conjunction {
    width: calc(162 / 750 * 100vw);
    height: calc(162 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
    margin-top: calc(0 / 750 * 100vw);
  }
}

.sec04__appeal-conjunction-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(28 / 1080 * 100vw), 28px);
  color: #fff;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-conjunction-text {
    font-size: calc(38 / 750 * 100vw);
  }
}

.sec04__appeal-conjunction-text span {
  display: block;
}

.sec04__appeal-lead {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(calc(426 / 1080 * 100vw), 426px);
  height: min(calc(50 / 1080 * 100vw), 50px);
  background-color: #289be6;
  clip-path: polygon(0% 0%, 100% 0%, 95% 50%, 100% 100%, 0% 100%, 5% 50%);
  margin-bottom: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .sec04__appeal-lead {
    width: calc(569 / 750 * 100vw);
    height: calc(58 / 750 * 100vw);
    margin-bottom: calc(24 / 750 * 100vw);
  }
}

.sec04__appeal-lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(38 / 1080 * 100vw), 38px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-lead-text {
    font-size: calc(48 / 750 * 100vw);
  }
}

.sec04__appeal-lead-text span {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
}

@media screen and (max-width: 767px) {
  .sec04__appeal-lead-text span {
    font-size: calc(42 / 750 * 100vw);
  }
}

.sec04__appeal-num {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec04__appeal-num {
    margin-bottom: calc(16 / 750 * 100vw);
  }
}

.sec04__appeal-num-max {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(54 / 1080 * 100vw), 54px);
  color: #e6002d;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-right: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec04__appeal-num-max {
    font-size: calc(64 / 750 * 100vw);
    margin-right: calc(8 / 750 * 100vw);
  }
}

.sec04__appeal-num-value {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(calc(140 / 1080 * 100vw), 140px);
  color: #e6002d;
  line-height: 0.8;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-num-value {
    font-size: calc(140 / 750 * 100vw);
  }
}

.sec04__appeal-num-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(54 / 1080 * 100vw), 54px);
  color: #e6002d;
  letter-spacing: 0.04em;
  line-height: 1.4;
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-num-unit {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec04__appeal-num-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  align-self: flex-start;
  margin-top: min(calc(10 / 1080 * 100vw), 10px);
  position: absolute;
  right: -0.5em;
  top: -1em;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-num-note {
    font-size: calc(20 / 750 * 100vw);
    margin-top: calc(10 / 750 * 100vw);
  }
}

.sec04__appeal-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(36 / 1080 * 100vw), 36px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-text {
    font-size: calc(42 / 750 * 100vw);
  }
}

.sec04__appeal-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #666;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec04__appeal-note {
    font-size: calc(20 / 750 * 100vw);
    text-align: left;
    width: calc(690 / 750 * 100vw);
  }
}

.sec04__system {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background-color: #004098;
  padding: min(calc(18 / 1080 * 100vw), 18px) min(calc(30 / 1080 * 100vw), 30px) min(calc(48 / 1080 * 100vw), 48px);
}

.sec04__system.--open {
  background: #004098 url(../img/pc/fv_cta-bg.webp) no-repeat center top/contain;
}

@media screen and (max-width: 767px) {
  .sec04__system {
    padding: calc(16 / 750 * 100vw) calc(30 / 750 * 100vw) calc(64 / 750 * 100vw);
  }
}

.sec04__system .cv__btn {
  margin-top: min(calc(48 / 1080 * 100vw), 48px);
}

@media screen and (max-width: 767px) {
  .sec04__system .cv__btn {
    margin-top: calc(64 / 750 * 100vw);
  }
}

.sec05 {
  background-color: #fff;
  padding: min(calc(60 / 1080 * 100vw), 60px) 0;
  background: #ddf0f9;
}

@media screen and (max-width: 767px) {
  .sec05 {
    padding: calc(65 / 750 * 100vw) calc(30 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.sec05__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec05__head {
    gap: calc(8 / 750 * 100vw);
  }
}

.sec05__title-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec05__title-sub {
    gap: calc(16 / 750 * 100vw);
  }
}

.sec05__title-sub-text {
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  font-weight: 600;
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.6;
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 767px) {
  .sec05__title-sub-text {
    font-size: calc(32 / 750 * 100vw);
  }
}

.sec05__title-deco {
  width: min(calc(24.5 / 1080 * 100vw), 24.5px);
  height: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec05__title-deco {
    width: calc(24.5 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
  }
}

.sec05__title-deco.--flip {
  transform: scaleX(-1);
}

.sec05__title {
  display: flex;
  align-items: baseline;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  font-weight: 800;
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 767px) {
  .sec05__title {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec05__title-main {
  font-size: inherit;
  font-weight: inherit;
}

.sec05__title-particle {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .sec05__title-particle {
    font-size: calc(40 / 750 * 100vw);
  }
}

.sec05__title-accent {
  font-size: inherit;
  font-weight: inherit;
}

.sec05__body {
  margin-top: min(calc(48 / 1080 * 100vw), 48px);
  display: flex;
  justify-content: center;
  gap: min(calc(24 / 1080 * 100vw), 24px);
  width: min(calc(1080 / 1080 * 100vw), 1080px);
  padding: 0 min(calc(40 / 1080 * 100vw), 40px);
  margin: min(calc(70 / 1080 * 100vw), 70px) auto 0;
}

@media screen and (max-width: 767px) {
  .sec05__body {
    width: 100%;
    margin-top: calc(90 / 750 * 100vw);
    flex-direction: column;
    align-items: center;
    gap: calc(40 / 750 * 100vw);
    padding: 0;
  }
}

.sec05__voice {
  width: min(calc(317 / 1080 * 100vw), 317px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec05__voice {
    width: calc(690 / 750 * 100vw);
  }
}

.sec05__voice-inner {
  background-color: #fff;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  box-shadow: 0 min(calc(4 / 1080 * 100vw), 4px) min(calc(16 / 1080 * 100vw), 16px) rgba(0, 0, 0, 0.08);
  height: 100%;
}

@media screen and (max-width: 767px) {
  .sec05__voice-inner {
    border-radius: calc(16 / 750 * 100vw);
    box-shadow: 0 calc(4 / 750 * 100vw) calc(16 / 750 * 100vw) rgba(0, 0, 0, 0.08);
  }
}

.sec05__voice-head {
  background-color: #004098;
  padding: min(calc(16 / 1080 * 100vw), 16px) min(calc(24 / 1080 * 100vw), 24px) min(calc(8 / 1080 * 100vw), 8px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(calc(12 / 1080 * 100vw), 12px);
  border-radius: min(calc(16 / 1080 * 100vw), 16px) min(calc(16 / 1080 * 100vw), 16px) 0 0;
  min-height: min(calc(138 / 1080 * 100vw), 138px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec05__voice-head {
    flex-direction: row;
    align-items: center;
    gap: calc(40 / 750 * 100vw);
    padding: calc(2 / 750 * 100vw) calc(20 / 750 * 100vw) calc(2 / 750 * 100vw) calc(220 / 750 * 100vw);
    min-height: calc(182 / 750 * 100vw);
    border-radius: calc(16 / 750 * 100vw) calc(16 / 750 * 100vw) 0 0;
  }
}

.sec05__voice-label {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #004098;
  font-weight: 600;
  line-height: 1;
  gap: min(calc(4 / 1080 * 100vw), 4px);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  flex-direction: row;
  padding: min(calc(6 / 1080 * 100vw), 6px) min(calc(16 / 1080 * 100vw), 16px);
  border-radius: min(calc(20 / 1080 * 100vw), 20px);
  border: 1px solid #004098;
}

@media screen and (max-width: 767px) {
  .sec05__voice-label {
    flex-direction: column;
    padding: calc(10 / 750 * 100vw) calc(20 / 750 * 100vw);
    border-radius: calc(20 / 750 * 100vw) calc(125 / 750 * 100vw) calc(125 / 750 * 100vw) 0;
    border: none;
    height: calc(178 / 750 * 100vw);
    gap: calc(4 / 750 * 100vw);
    flex-shrink: 0;
    top: 50%;
    left: calc(2 / 750 * 100vw);
    transform: translate(0, -50%);
    width: calc(172 / 750 * 100vw);
  }
}

.sec05__voice-label-text {
  font-family: "DIN 2014", "Noto Sans JP", sans-serif;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec05__voice-label-text {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec05__voice-label-num {
  font-family: "DIN 2014", "Noto Sans JP", sans-serif;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .sec05__voice-label-num {
    font-size: calc(36 / 750 * 100vw);
  }
}

.sec05__voice-title {
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.4;
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 767px) {
  .sec05__voice-title {
    font-size: calc(34 / 750 * 100vw);
    text-align: left;
    flex: 1;
  }
}

.sec05__voice-title-main {
  color: #fff;
}

.sec05__voice-title-em {
  color: #ffe94a;
}

.sec05__voice-body {
  padding: min(calc(24 / 1080 * 100vw), 24px) min(calc(32 / 1080 * 100vw), 32px) min(calc(32 / 1080 * 100vw), 32px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .sec05__voice-body {
    flex-direction: row;
    align-items: flex-start;
    padding: calc(20 / 750 * 100vw) calc(50 / 750 * 100vw) calc(40 / 750 * 100vw);
    gap: calc(40 / 750 * 100vw);
  }
}

.sec05__voice-avatar {
  width: min(calc(140 / 1080 * 100vw), 140px);
  height: min(calc(140 / 1080 * 100vw), 140px);
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .sec05__voice-avatar {
    order: 2;
    width: calc(140 / 750 * 100vw);
    height: calc(140 / 750 * 100vw);
  }
}

.sec05__voice-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sec05__voice-text {
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec05__voice-text {
    order: 1;
    margin-top: 0;
    flex: 1;
  }
}

.sec05__voice-text-main {
  font-size: min(calc(18 / 1080 * 100vw), 18px);
  font-weight: 400;
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.8;
  text-align: justify;
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 767px) {
  .sec05__voice-text-main {
    font-size: calc(28 / 750 * 100vw);
  }
}

.sec05__voice-text-em {
  color: #004098;
  font-weight: 700;
}

.sec05__voice-note {
  margin-top: min(calc(12 / 1080 * 100vw), 12px);
  font-size: min(calc(11 / 1080 * 100vw), 11px);
  font-weight: 300;
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .sec05__voice-note {
    margin-top: calc(20 / 750 * 100vw);
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec07 {
  background-color: #fff;
  padding: min(calc(80 / 1080 * 100vw), 80px) 0 0;
}

@media screen and (max-width: 767px) {
  .sec07 {
    padding: calc(96 / 750 * 100vw) 0 0;
  }
}

.sec07__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(8 / 1080 * 100vw), 8px);
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec07__head {
    gap: calc(8 / 750 * 100vw);
    margin-bottom: calc(60 / 750 * 100vw);
  }
}

.sec07__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(4 / 1080 * 100vw), 4px);
  width: fit-content;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec07__lead {
    gap: calc(4 / 750 * 100vw);
  }
}

.sec07__lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #004098;
  letter-spacing: -0.01em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec07__lead-text {
    font-size: calc(32 / 750 * 100vw);
  }
}

.sec07__lead-line {
  display: block;
  width: 100%;
  aspect-ratio: 293/13;
  background-image: url(../img/pc/sec07_lead-line.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .sec07__lead-line {
    width: calc(423 / 750 * 100vw);
    height: calc(17 / 750 * 100vw);
  }
}

.sec07__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .sec07__title {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec07__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: min(calc(1010 / 1080 * 100vw), 1010px);
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec07__body {
    max-width: calc(704 / 750 * 100vw);
    padding: 0 calc(16 / 750 * 100vw);
  }
}

.sec07__steps {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

.sec07__step {
  display: block;
  width: 100%;
  position: relative;
  margin-left: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .sec07__step {
    margin-left: calc(14 / 750 * 100vw);
  }
}

.sec07__step-label {
  position: absolute;
  top: min(calc(25 / 1080 * 100vw), 25px);
  left: max(calc(-10 / 1080 * 100vw), -10px);
  width: min(calc(155 / 1080 * 100vw), 155px);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .sec07__step-label {
    top: calc(22 / 750 * 100vw);
    left: calc(-14 / 750 * 100vw);
    width: calc(153 / 750 * 100vw);
  }
}

.sec07__step-label-bg {
  width: 100%;
  height: min(calc(93 / 1080 * 100vw), 93px);
  background-color: #004098;
  border-radius: min(calc(3 / 1080 * 100vw), 3px) min(calc(3 / 1080 * 100vw), 3px) min(calc(3 / 1080 * 100vw), 3px) 0;
}

.sec07__step-label-bg::after {
  content: "";
  position: absolute;
  bottom: max(calc(-8 / 1080 * 100vw), -8px);
  left: 0;
  width: 0;
  height: 0;
  border-top: min(calc(8 / 1080 * 100vw), 8px) solid #00204c;
  border-left: min(calc(10 / 1080 * 100vw), 10px) solid transparent;
}

@media screen and (max-width: 767px) {
  .sec07__step-label-bg {
    height: calc(199 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) 0;
  }

  .sec07__step-label-bg::after {
    bottom: calc(-11 / 750 * 100vw);
    border-top-width: calc(11 / 750 * 100vw);
    border-left-width: calc(14 / 750 * 100vw);
  }
}

.sec07__step-label-content {
  position: absolute;
  top: min(calc(8 / 1080 * 100vw), 8px);
  left: min(calc(24 / 1080 * 100vw), 24px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .sec07__step-label-content {
    top: calc(23 / 750 * 100vw);
    left: calc(35 / 750 * 100vw);
  }
}

.sec07__step-label-step {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-size: min(calc(21 / 1080 * 100vw), 21px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .sec07__step-label-step {
    font-size: calc(28 / 750 * 100vw);
  }
}

.sec07__step-label-num {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: min(calc(54 / 1080 * 100vw), 54px);
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .sec07__step-label-num {
    font-size: calc(72 / 750 * 100vw);
    font-family: "Roboto Condensed", sans-serif;
  }
}

.sec07__step-label-icon {
  position: absolute;
  top: min(calc(34 / 1080 * 100vw), 34px);
  right: min(calc(16 / 1080 * 100vw), 16px);
  width: min(calc(45 / 1080 * 100vw), 45px);
  height: auto;
}

.sec07__step-label-icon img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec07__step-label-icon {
    top: calc(131 / 750 * 100vw);
    right: auto;
    left: calc(47 / 750 * 100vw);
    width: calc(60 / 750 * 100vw);
  }
}

.sec07__step-content {
  background-color: #fff;
  border: min(calc(2 / 1080 * 100vw), 2px) solid #004098;
  border-radius: min(calc(8 / 1080 * 100vw), 8px);
  padding: min(calc(30 / 1080 * 100vw), 30px) min(calc(30 / 1080 * 100vw), 30px) min(calc(20 / 1080 * 100vw), 20px) min(calc(177 / 1080 * 100vw), 177px);
  display: flex;
  flex-direction: column;
  gap: min(calc(8 / 1080 * 100vw), 8px);
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sec07__step-content {
    border-width: calc(2 / 750 * 100vw);
    border-radius: calc(16 / 750 * 100vw);
    padding: calc(32 / 750 * 100vw) calc(30 / 750 * 100vw) calc(32 / 750 * 100vw) calc(155 / 750 * 100vw);
    gap: calc(16 / 750 * 100vw);
  }
}

.sec07__step-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  color: #004098;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-bottom: min(calc(10 / 1080 * 100vw), 10px);
  border-bottom: min(calc(1 / 1080 * 100vw), 1px) solid #004098;
}

@media screen and (max-width: 767px) {
  .sec07__step-title {
    font-size: calc(42 / 750 * 100vw);
    padding-bottom: calc(10 / 750 * 100vw);
    border-bottom-width: calc(2 / 750 * 100vw);
  }
}

.sec07__step-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .sec07__step-text {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec07__step-line {
  width: min(calc(18 / 1080 * 100vw), 18px);
  aspect-ratio: 18/32;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  margin: min(calc(16 / 1080 * 100vw), 16px) auto min(calc(16 / 1080 * 100vw), 16px);
  background: url(../img/common/sec07_step-line.svg) no-repeat center/contain;
}

@media screen and (max-width: 767px) {
  .sec07__step-line {
    width: calc(20 / 750 * 100vw);
    margin: calc(16 / 750 * 100vw) auto calc(16 / 750 * 100vw);
  }
}

.sec07__footer {
  position: relative;
  width: min(calc(1080 / 1080 * 100vw), 1080px);
  margin: min(calc(50 / 1080 * 100vw), 50px) auto 0;
}

@media screen and (max-width: 767px) {
  .sec07__footer {
    margin-top: calc(60 / 750 * 100vw);
  }
}

.sec07__footer-bg {
  position: relative;
  width: 100%;
}

.sec07__footer-bg picture,
.sec07__footer-bg img {
  width: 100%;
  height: auto;
  display: block;
}

.sec07__footer-content {
  position: absolute;
  top: 0;
  left: min(calc(173 / 1080 * 100vw), 173px);
  display: flex;
  flex-direction: column;
  gap: min(calc(20 / 1080 * 100vw), 20px);
}

@media screen and (max-width: 767px) {
  .sec07__footer-content {
    top: calc(40 / 750 * 100vw);
    left: calc(31 / 750 * 100vw);
    gap: calc(36 / 750 * 100vw);
  }
}

.sec07__footer-title {
  display: flex;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec07__footer-title {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(0 / 750 * 100vw);
  }
}

.sec07__footer-title span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(34 / 1080 * 100vw), 34px);
  color: #004098;
  line-height: 1.6;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .sec07__footer-title span {
    font-size: calc(45 / 750 * 100vw);
  }
}

.sec07__footer-title::before,
.sec07__footer-title::after {
  position: absolute;
  left: 0;
  z-index: 1;
  content: "";
  display: inline-flex;
  background: #fff;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
  width: 100%;
  height: min(calc(45 / 1080 * 100vw), 45px);
  box-shadow: 0 min(calc(3 / 1080 * 100vw), 3px) min(calc(15 / 1080 * 100vw), 15px) rgba(0, 0, 0, 0.16);
  padding: 0 min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {

  .sec07__footer-title::before,
  .sec07__footer-title::after {
    border-radius: calc(8 / 750 * 100vw);
    box-shadow: 0 calc(4 / 750 * 100vw) calc(20 / 750 * 100vw) rgba(0, 0, 0, 0.16);
    padding: 0 calc(16 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
  }
}

.sec07__footer-title::before {
  left: max(calc(-8 / 1080 * 100vw), -8px);
}

@media screen and (max-width: 767px) {
  .sec07__footer-title::before {
    left: calc(-16 / 750 * 100vw);
    top: calc(8 / 750 * 100vw);
    width: calc(270 / 750 * 100vw);
  }
}

.sec07__footer-title::after {
  display: none;
}

@media screen and (max-width: 767px) {
  .sec07__footer-title::after {
    display: block;
    left: calc(-16 / 750 * 100vw);
    top: calc(80 / 750 * 100vw);
    width: calc(360 / 750 * 100vw);
  }
}

.sec07__footer-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #232f3e;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .sec07__footer-text {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: 0.01em;
  }
}

.sec07__eyebrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: fit-content;
  margin: 0 0 max(calc(-10 / 1080 * 100vw), -10px);
}

@media screen and (max-width: 767px) {
  .sec07__eyebrow {
    margin-bottom: calc(16 / 750 * 100vw);
    margin-bottom: calc(-30 / 750 * 100vw);
  }
}

.sec07__eyebrow-text {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  background-color: #004098;
  border-radius: min(calc(3 / 1080 * 100vw), 3px);
  padding: min(calc(3 / 1080 * 100vw), 3px) min(calc(26 / 1080 * 100vw), 26px) min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .sec07__eyebrow-text {
    border-radius: calc(4 / 750 * 100vw);
    padding: calc(4 / 750 * 100vw) calc(30 / 750 * 100vw);
    margin-left: calc(-10 / 750 * 100vw);
  }
}

.sec07__eyebrow-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(33 / 1080 * 100vw), 33px);
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec07__eyebrow-main {
    font-size: calc(44 / 750 * 100vw);
  }
}

.sec07__eyebrow-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec07__eyebrow-sub {
    font-size: calc(32 / 750 * 100vw);
  }
}

.sec07__eyebrow-arrow {
  width: 0;
  height: 0;
  border-left: min(calc(8 / 1080 * 100vw), 8px) solid transparent;
  border-right: min(calc(8 / 1080 * 100vw), 8px) solid transparent;
  border-top: min(calc(10 / 1080 * 100vw), 10px) solid #004098;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec07__eyebrow-arrow {
    border-left: calc(10 / 750 * 100vw) solid transparent;
    border-right: calc(10 / 750 * 100vw) solid transparent;
    border-top: calc(16 / 750 * 100vw) solid #004098;
  }
}

.sec08 {
  position: relative;
  background-color: #ecf6ff;
  padding-bottom: min(calc(55 / 1080 * 100vw), 55px);
}

@media screen and (max-width: 767px) {
  .sec08 {
    padding-bottom: calc(54 / 750 * 100vw);
  }
}

.sec08__bg {
  position: relative;
}

.sec08__bg picture,
.sec08__bg img {
  width: 100%;
  height: auto;
  display: block;
}

.sec08__content {
  position: relative;
}

.sec08__head {
  position: relative;
}

.sec08__head-inner {
  position: absolute;
  width: min(calc(1080 / 1080 * 100vw), 1080px);
  margin: 0 auto;
  inset: 0;
}

@media screen and (max-width: 767px) {
  .sec08__head-inner {
    width: 100%;
  }
}

.sec08__title {
  padding: min(calc(118 / 1080 * 100vw), 118px) 0 0 min(calc(530 / 1080 * 100vw), 530px);
}

@media screen and (max-width: 767px) {
  .sec08__title {
    padding-top: calc(56 / 750 * 100vw);
    padding-left: 0;
    padding-right: calc(40 / 750 * 100vw);
  }
}

.sec08__title-text {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #003379;
  line-height: 1.6;
  white-space: nowrap;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec08__title-text {
    text-align: right;
  }
}

.sec08__title-quote {
  font-weight: 700;
  font-size: min(calc(30 / 1080 * 100vw), 30px);
  color: rgba(0, 51, 121, 0.4);
  vertical-align: top;
  display: inline-block;
}

.sec08__title-quote.--left {
  margin-right: min(calc(2 / 1080 * 100vw), 2px);
  transform: rotate(180deg) translateY(25%);
}

.sec08__title-quote.--right {
  margin-left: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .sec08__title-quote {
    font-size: calc(40 / 750 * 100vw);
  }
}

.sec08__title-em {
  font-size: min(calc(42 / 1080 * 100vw), 42px);
  color: #003379;
}

@media screen and (max-width: 767px) {
  .sec08__title-em {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec08__title-sub {
  font-size: min(calc(34 / 1080 * 100vw), 34px);
  color: #003379;
}

@media screen and (max-width: 767px) {
  .sec08__title-sub {
    font-size: calc(46 / 750 * 100vw);
  }
}

.sec08__body {
  display: flex;
  align-items: flex-start;
  gap: min(calc(50 / 1080 * 100vw), 50px);
  max-width: min(calc(1000 / 1080 * 100vw), 1000px);
  margin: min(calc(60 / 1080 * 100vw), 60px) auto 0;
}

@media screen and (max-width: 767px) {
  .sec08__body {
    flex-direction: column;
    align-items: center;
    gap: calc(54 / 750 * 100vw);
    width: calc(690 / 750 * 100vw);
    margin-top: calc(44 / 750 * 100vw);
  }
}

.sec08__lead-block {
  width: fit-content;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec08__lead-block {
    margin: 0 auto;
  }
}

.sec08__lead-02 {
  text-align: center;
  margin-bottom: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec08__lead-02 {
    margin-bottom: calc(30 / 750 * 100vw);
  }
}

.sec08__lead-02-text {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  color: #004098;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

.sec08__lead-02-text .--sm {
  font-size: min(calc(32 / 1080 * 100vw), 32px);
}

@media screen and (max-width: 767px) {
  .sec08__lead-02-text .--sm {
    font-size: calc(42 / 750 * 100vw);
  }
}

.sec08__lead-02-text .--lg {
  font-size: min(calc(46 / 1080 * 100vw), 46px);
}

@media screen and (max-width: 767px) {
  .sec08__lead-02-text .--lg {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec08__eyebrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .sec08__eyebrow {
    margin-bottom: calc(16 / 750 * 100vw);
  }
}

.sec08__eyebrow-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #004098;
  border-radius: min(calc(3 / 1080 * 100vw), 3px);
  padding: max(calc(0 / 1080 * 100vw), 0px) min(calc(20 / 1080 * 100vw), 20px) min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .sec08__eyebrow-text {
    border-radius: calc(4 / 750 * 100vw);
    padding: calc(12 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
}

.sec08__eyebrow-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(33 / 1080 * 100vw), 33px);
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec08__eyebrow-main {
    font-size: calc(44 / 750 * 100vw);
  }
}

.sec08__eyebrow-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec08__eyebrow-sub {
    font-size: calc(32 / 750 * 100vw);
  }
}

.sec08__eyebrow-arrow {
  width: 0;
  height: 0;
  border-left: min(calc(8 / 1080 * 100vw), 8px) solid transparent;
  border-right: min(calc(8 / 1080 * 100vw), 8px) solid transparent;
  border-top: min(calc(10 / 1080 * 100vw), 10px) solid #004098;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec08__eyebrow-arrow {
    border-left: calc(13 / 750 * 100vw) solid transparent;
    border-right: calc(13 / 750 * 100vw) solid transparent;
    border-top: calc(23 / 750 * 100vw) solid #004098;
  }
}

.sec08__lead-01 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sec08__lead-01-inner {
  display: flex;
  align-items: center;
}

.sec08__lead-01-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #e6002d;
  border-radius: min(calc(6 / 1080 * 100vw), 6px);
  padding: min(calc(6 / 1080 * 100vw), 6px) 0 min(calc(8 / 1080 * 100vw), 8px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(30 / 1080 * 100vw), 30px);
  width: min(calc(214 / 1080 * 100vw), 214px);
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec08__lead-01-item {
    border-radius: calc(6 / 750 * 100vw);
    padding: calc(12 / 750 * 100vw) 0;
    font-size: calc(41 / 750 * 100vw);
    width: calc(286 / 750 * 100vw);
  }
}

.sec08__lead-01-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(calc(40 / 1080 * 100vw), 40px);
  height: min(calc(40 / 1080 * 100vw), 40px);
  background-color: #fff;
  border-radius: 50%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(42 / 1080 * 100vw), 42px);
  color: #e6002d;
  line-height: 1;
  margin: 0 max(calc(-8 / 1080 * 100vw), -8px);
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .sec08__lead-01-plus {
    width: calc(55 / 750 * 100vw);
    height: calc(55 / 750 * 100vw);
    font-size: calc(62 / 750 * 100vw);
    margin: 0 calc(-20 / 750 * 100vw);
  }
}

.sec08__lead-01-plus span {
  margin-bottom: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (max-width: 767px) {
  .sec08__lead-01-plus span {
    margin-bottom: calc(6 / 750 * 100vw);
  }
}

.sec08 .c-banner {
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec08 .c-banner {
    width: 100%;
  }
}

.sec09 {
  background-color: #f5f5f6;
  padding: min(calc(80 / 1080 * 100vw), 80px) min(calc(10 / 1080 * 100vw), 10px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(56 / 1080 * 100vw), 56px);
}

@media screen and (max-width: 767px) {
  .sec09 {
    padding: calc(96 / 750 * 100vw) calc(10 / 750 * 100vw);
    gap: calc(64 / 750 * 100vw);
  }
}

.sec09__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(54 / 1080 * 100vw), 54px);
  color: #004098;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec09__title {
    font-size: calc(64 / 750 * 100vw);
  }
}

.sec09__accordion-wrapper {
  display: flex;
  flex-direction: column;
  gap: min(calc(40 / 1080 * 100vw), 40px);
  width: min(calc(1000 / 1080 * 100vw), 1000px);
}

@media screen and (max-width: 767px) {
  .sec09__accordion-wrapper {
    width: calc(690 / 750 * 100vw);
    gap: calc(40 / 750 * 100vw);
  }
}

.sec09__accordion {
  background-color: #fff;
  border-radius: min(calc(14 / 1080 * 100vw), 14px);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .sec09__accordion {
    border-radius: calc(14 / 750 * 100vw);
  }
}

.sec09__accordion-header {
  position: relative;
  cursor: pointer;
  padding: min(calc(28 / 1080 * 100vw), 28px) min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec09__accordion-header {
    padding: calc(40 / 750 * 100vw);
  }
}

.sec09__accordion-header::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(calc(3 / 1080 * 100vw), 3px);
  height: min(calc(23 / 1080 * 100vw), 23px);
  border-radius: min(calc(3 / 1080 * 100vw), 3px);
  right: min(calc(49.5 / 1080 * 100vw), 49.5px);
  background-color: #333;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .sec09__accordion-header::before {
    width: calc(5 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    right: calc(52.5 / 750 * 100vw);
  }
}

.sec09__accordion-header::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(calc(22 / 1080 * 100vw), 22px);
  height: min(calc(3 / 1080 * 100vw), 3px);
  border-radius: min(calc(3 / 1080 * 100vw), 3px);
  right: min(calc(40 / 1080 * 100vw), 40px);
  background-color: #333;
  transition: transform 0.3s;
}

@media screen and (max-width: 767px) {
  .sec09__accordion-header::after {
    width: calc(30 / 750 * 100vw);
    height: calc(5 / 750 * 100vw);
    right: calc(40 / 750 * 100vw);
  }
}

.sec09__accordion-header.--open::before {
  opacity: 0;
}

.sec09__accordion-header-inner {
  display: flex;
  align-items: flex-start;
  gap: min(calc(24 / 1080 * 100vw), 24px);
  padding-right: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec09__accordion-header-inner {
    gap: calc(24 / 750 * 100vw);
    padding-right: calc(50 / 750 * 100vw);
  }
}

.sec09__accordion-label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(calc(56 / 1080 * 100vw), 56px);
  height: min(calc(56 / 1080 * 100vw), 56px);
  background-color: #eeeeee;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .sec09__accordion-label {
    width: calc(74 / 750 * 100vw);
    height: calc(74 / 750 * 100vw);
  }
}

.sec09__accordion-label.--answer {
  background-color: #004098;
}

.sec09__accordion-label.--answer .sec09__accordion-label-text {
  color: #fff;
}

.sec09__accordion-label-text {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: min(calc(30 / 1080 * 100vw), 30px);
  color: #232f3e;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .sec09__accordion-label-text {
    font-size: calc(40 / 750 * 100vw);
  }
}

.sec09__accordion-question {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #232f3e;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: justify;
  padding-top: min(calc(10 / 1080 * 100vw), 10px);
}

@media screen and (max-width: 767px) {
  .sec09__accordion-question {
    font-size: calc(32 / 750 * 100vw);
    padding-top: calc(14 / 750 * 100vw);
  }
}

.sec09__accordion-question p+p {
  margin-top: 0;
}

.sec09__accordion-body {
  display: none;
  padding: 0 min(calc(40 / 1080 * 100vw), 40px) min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec09__accordion-body {
    padding: 0 calc(40 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.sec09__accordion-body-inner {
  display: flex;
  align-items: flex-start;
  gap: min(calc(24 / 1080 * 100vw), 24px);
  padding-top: min(calc(40 / 1080 * 100vw), 40px);
  border-top: 2px solid #cccccc;
}

@media screen and (max-width: 767px) {
  .sec09__accordion-body-inner {
    gap: calc(24 / 750 * 100vw);
    padding-top: calc(40 / 750 * 100vw);
  }
}

.sec09__accordion-answer {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #004098;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .sec09__accordion-answer {
    font-size: calc(26 / 750 * 100vw);
    padding-top: calc(14 / 750 * 100vw);
  }
}

.sec09__accordion-link {
  color: #004098;
  text-decoration: underline;
}

.sec09__accordion-link:hover {
  text-decoration: none;
}

.sec10 {
  background-color: #fff;
  padding: min(calc(80 / 1080 * 100vw), 80px) min(calc(10 / 1080 * 100vw), 10px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(56 / 1080 * 100vw), 56px);
}

@media screen and (max-width: 767px) {
  .sec10 {
    padding: calc(96 / 750 * 100vw) calc(10 / 750 * 100vw);
    gap: calc(64 / 750 * 100vw);
  }
}

.sec10__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: min(calc(46 / 1080 * 100vw), 46px);
  color: #004098;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec10__title {
    font-size: calc(56 / 750 * 100vw);
  }
}

.sec10__content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(calc(40 / 1080 * 100vw), 40px);
  width: min(calc(1000 / 1080 * 100vw), 1000px);
}

@media screen and (max-width: 767px) {
  .sec10__content-wrapper {
    width: calc(690 / 750 * 100vw);
    gap: calc(60 / 750 * 100vw);
  }
}

.sec10__campaign-block {
  width: 100%;
  background-color: #f5f5f6;
  border-radius: min(calc(14 / 1080 * 100vw), 14px);
  height: min(calc(370 / 1080 * 100vw), 370px);
  overflow-y: auto;
  padding: min(calc(32 / 1080 * 100vw), 32px) min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-block {
    border-radius: calc(14 / 750 * 100vw);
    height: calc(900 / 750 * 100vw);
    padding: calc(40 / 750 * 100vw) calc(32 / 750 * 100vw);
  }
}

.sec10__campaign-item {
  display: flex;
  flex-direction: column;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item {
    gap: calc(10 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.sec10__campaign-item:last-child {
  margin-bottom: 0;
}

.sec10__campaign-item.--center {
  align-items: center;
}

.sec10__campaign-item.--small .sec10__campaign-item-list {
  font-size: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item.--small .sec10__campaign-item-list {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec10__campaign-item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(22 / 1080 * 100vw), 22px);
  color: #004098;
  line-height: 1.6;
  letter-spacing: 0.04em;
  padding: min(calc(10 / 1080 * 100vw), 10px) 0;
  border-bottom: 1px solid #004098;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-title {
    font-size: calc(32 / 750 * 100vw);
    padding: calc(10 / 750 * 100vw) 0;
  }
}

.sec10__campaign-item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #000;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin: 0;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-text {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec10__campaign-item-text.--bold {
  font-weight: 700;
}

.sec10__campaign-item-text.--medium {
  font-weight: 500;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  letter-spacing: 0.01em;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-text.--medium {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec10__campaign-item-desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #000;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-desc {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec10__campaign-item-desc p {
  margin: 0;
}

.sec10__campaign-item-notes {
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
}

.sec10__campaign-item-notes p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #000;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-notes p {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec10__campaign-item-notes.--small p {
  font-size: min(calc(12 / 1080 * 100vw), 12px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-notes.--small p {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec10__campaign-item-notes-list {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #000;
  line-height: 1.5;
  letter-spacing: 0.04em;
  list-style: disc;
  padding-left: min(calc(20 / 1080 * 100vw), 20px);
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-notes-list {
    font-weight: 300;
    font-size: calc(20 / 750 * 100vw);
    padding-left: calc(15 / 750 * 100vw);
    margin-top: calc(26 / 750 * 100vw);
  }
}

.sec10__campaign-item-notes-list li {
  margin-bottom: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-notes-list li {
    margin-bottom: calc(4 / 750 * 100vw);
  }
}

.sec10__campaign-item-notes-list li:last-child {
  margin-bottom: 0;
}

.sec10__campaign-item-list {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #000;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin: 0;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-list {
    font-size: calc(26 / 750 * 100vw);
  }
}

.sec10__campaign-item-list.--disc li {
  position: relative;
  padding-left: 1em;
}

.sec10__campaign-item-list.--disc li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.01em;
  font-size: 1em;
}

.sec10__campaign-item-list li {
  margin-bottom: min(calc(2 / 1080 * 100vw), 2px);
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-list li {
    margin-bottom: calc(4 / 750 * 100vw);
  }
}

.sec10__campaign-item-list li:last-child {
  margin-bottom: 0;
}

.sec10__campaign-item-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #004098;
  color: #fff;
  text-decoration: none;
  border-radius: min(calc(16 / 1080 * 100vw), 16px);
  width: min(calc(590 / 1080 * 100vw), 590px);
  height: min(calc(76 / 1080 * 100vw), 76px);
  margin: min(calc(10 / 1080 * 100vw), 10px) auto 0;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-btn {
    border-radius: calc(16 / 750 * 100vw);
    width: calc(590 / 750 * 100vw);
    height: calc(76 / 750 * 100vw);
    margin-top: calc(10 / 750 * 100vw);
  }
}

.sec10__campaign-item-btn:hover {
  opacity: 0.8;
}

.sec10__campaign-item-btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec10__campaign-item-btn-text {
    font-size: calc(34 / 750 * 100vw);
  }
}

.sec10__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(4 / 1080 * 100vw), 4px);
  width: min(calc(1000 / 1080 * 100vw), 1000px);
}

@media screen and (max-width: 767px) {
  .sec10__footer {
    flex-direction: column;
    gap: calc(16 / 750 * 100vw);
    align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .sec10__btn-block {
    flex-direction: column;
    width: 100%;
  }
}

.sec10__btn-tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  transition: opacity 0.3s;
  background-color: transparent;
  gap: min(calc(4 / 1080 * 100vw), 4px);
}

@media screen and (min-width: 768px) {
  .sec10__btn-tel {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px) {
  .sec10__btn-tel {
    width: calc(670 / 750 * 100vw);
    height: calc(140 / 750 * 100vw);
    background-color: #289be6;
    border: none;
    border-radius: calc(70 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) calc(40 / 750 * 100vw);
    justify-content: center;
    gap: 0;
  }
}

.sec10__btn-tel-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #289be6;
}

@media screen and (max-width: 767px) {
  .sec10__btn-tel-label {
    font-size: calc(26 / 750 * 100vw);
    color: #fff;
    margin-top: calc(10 / 750 * 100vw);
    margin-bottom: calc(-12 / 750 * 100vw);
  }
}

.sec10__btn-tel-main {
  display: flex;
  align-items: center;
  gap: min(calc(8 / 1080 * 100vw), 8px);
}

@media screen and (max-width: 767px) {
  .sec10__btn-tel-main {
    gap: calc(10 / 750 * 100vw);
  }
}

.sec10__btn-tel-icon {
  width: min(calc(38 / 1080 * 100vw), 38px);
  height: min(calc(37 / 1080 * 100vw), 37px);
}

@media screen and (max-width: 767px) {
  .sec10__btn-tel-icon {
    width: calc(48 / 750 * 100vw);
    height: calc(48 / 750 * 100vw);
  }
}

.sec10__btn-tel-number {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(calc(50 / 1080 * 100vw), 50px);
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: #289be6;
}

@media screen and (max-width: 767px) {
  .sec10__btn-tel-number {
    font-family: "Roboto Condensed", sans-serif;
    font-size: calc(60 / 750 * 100vw);
    color: #fff;
    white-space: nowrap;
  }
}

.sec10__btn-notes {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: min(calc(12 / 1080 * 100vw), 12px);
  color: #000;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .sec10__btn-notes {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sec10__btn-notes-text {
  margin-bottom: 0;
}

.sec10__btn-notes-list {
  list-style: disc;
  padding-left: min(calc(18 / 1080 * 100vw), 18px);
  margin: 0;
}

@media screen and (max-width: 767px) {
  .sec10__btn-notes-list {
    padding-left: calc(30 / 750 * 100vw);
  }
}

.sec10__btn-notes-list li {
  line-height: 1.5;
}

.sec10__btn-time {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  color: #000;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec10__btn-time {
    font-size: calc(26 / 750 * 100vw);
    text-align: center;
    width: 100%;
    letter-spacing: 0.01em;
    margin-top: calc(16 / 750 * 100vw);
  }
}

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