﻿@charset "UTF-8";
/*-------- parts-------- */
.mb100 {
  margin-bottom: 100px;
}

.bg_blue_ {
  background-color: #f6f9fe;
}

.txt_center_ {
  text-align: center;
}

.anchor_ {
  margin-top: -100px;
  padding-top: 100px;
}

/*-------- page-------- */
.page_contents {
  overflow: hidden;
  width: 1000px;
  margin: 0 auto;
  padding: 30px 0;
  line-height: 200%;
}
.page_contents_inner {
  margin-bottom: 40px;
}
.page_contents p {
  padding: 0 10px;
  margin-bottom: 20px;
}
.page_contents h1 {
  text-align: center;
  line-height: 140%;
  padding-bottom: 35px;
  margin-bottom: 50px;
  position: relative;
  letter-spacing: 0.1em;
  font-size: 26px;
  font-weight: normal;
}
.page_contents h1 span {
  display: block;
  font-size: 13px;
  line-height: 110%;
  letter-spacing: 0;
  padding-top: 5px;
}
.page_contents h1:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2em;
  margin-left: -1em;
  height: 2px;
  background-color: #444;
}
.page_contents h2 {
  line-height: 140%;
  padding-bottom: 20px;
  margin-bottom: 20px;
  position: relative;
  letter-spacing: 0.1em;
  font-size: 20px;
  font-weight: normal;
  border-bottom: 2px solid #444;
}
.page_contents h3 {
  margin: 10px 0;
  background-color: #333;
  color: #fff;
  font-size: 18px;
  padding: 10px;
}
.page_contents h4 {
  font-weight: bold;
  font-size: 16px;
  padding: 8px;
  margin-bottom: 14px;
  border-bottom: 1px solid #333;
}
.page_contents h5 {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
  margin: 10px 0;
  background-color: #f2f2f2;
  padding: 6px 6px 6px 10px;
}
.page_contents .page_box1 {
  text-align: center;
  padding: 20px;
  border: 1px solid #e0e0e0;
  margin-bottom: 20px;
}
.page_contents .page_box1 span {
  font-size: 13px;
}
.page_contents .page_box2 {
  background-color: #f2f2f2;
  padding: 20px;
}
.page_contents .txt_l {
  font-weight: bold;
  font-size: 16px;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 10px;
}
.page_contents .txt_s {
  font-size: 12px;
  color: #808080;
}
.page_contents .page_button1 {
  margin: 0 auto 30px auto;
  width: 360px;
  display: block;
  font-size: 18px;
}
.page_contents a.page_button1 {
  text-decoration: none;
}
.page_contents .page_table {
  width: 100%;
  margin-bottom: 40px;
}

/* LP 20240710 */

.sp-only {
  display: none !important;
}

.block-lp_202407 {
  max-width: 1920px;
  margin: 0 auto 60px;
  color: #000;
  --cl-dbl: #004376;
  --cl-gr: #71b922;
  --ff-en: "Lato", -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.block-lp_202407 .container {
  display: block;
}

.block-lp_202407-header {
  position: relative;
  height: 500px;
}

.block-lp_202407-header h1 {
  margin: 0;
  padding: 0;
}

.block-lp_202407-header h1 img {
  display: block;
  width: 100%;
  height: 500px;
  object-fit: cover;
}

.block-lp_202407-header-bot {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.block-lp_202407-header-bot::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(112, 185, 34, 0.9);
  mix-blend-mode: multiply;
}

.block-lp_202407-header-bot .container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  height: 90px;
}

.block-lp_202407-header-bot img {
  display: block;
}

.block-lp_202407-header-bot .item-btn {
  margin-left: 119px;
}

.block-lp_202407-header-bot .item-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 240px;
  height: 50px;
  border-radius: 50px;
  background-color: #fff;
  color: var(--cl-gr);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
}

.block-lp_202407-header-bot .item-btn a:hover {
  color: var(--cl-gr) !important;
  opacity: 0.65;
}

.block-lp_202407-header-bot .item-btn a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 23px;
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-top: 2px solid var(--cl-gr);
  border-right: 2px solid var(--cl-gr);
  transform: rotate(45deg);
}

.block-lp_202407-index {
  margin-top: 40px;
}

.block-lp_202407-index-anker ul {
  display: flex;
  justify-content: space-between;
}

.block-lp_202407-index-anker li {
  width: calc((100% - 40px) / 5);
}

.block-lp_202407-index-anker a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 60px;
  border: 1px solid #dddddd;
  border-radius: 6px;
  background-color: #fafafa;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
}

.block-lp_202407-index-anker a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 23px;
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-right: 2px solid var(--cl-dbl);
  border-bottom: 2px solid var(--cl-dbl);
  transform: rotate(45deg);
}

.block-lp_202407-index-links {
  margin-top: 60px;
}

.block-lp_202407-index-links-content + .block-lp_202407-index-links-content {
  margin-top: 50px;
}

.block-lp_202407-index-links-content h3 {
  position: relative;
  margin: 0 0 12px;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-lp_202407-index-links-content h3::before,
.block-lp_202407-index-links-content h3::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 460px;
  height: 2px;
  margin-top: -1px;
  background-color: var(--cl-dbl);
}

.block-lp_202407-index-links-content h3::after {
  right: 0;
  left: auto;
}

.block-lp_202407-index-links-content-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.block-lp_202407-index-links-content-items.align-center {
  width: 900px;
  margin: 0 auto;
}

.block-lp_202407-index-links-content-items li {
  width: 280px;
  margin-top: 16px;
  border: 1px solid #efefef;
  border-radius: 6px;
  filter: drop-shadow(0px 1px 2px #efefef);
  overflow: hidden;
}

.block-lp_202407-index-links-content-items li + li {
  margin-left: 20px;
}

.block-lp_202407-index-links-content-items li:nth-child(4n + 1) {
  margin-left: 0;
}

.block-lp_202407-index-links-content-items.align-center li:nth-child(4n + 1) {
  margin-left: 20px;
}

.block-lp_202407-index-links-content-items.align-center li:nth-child(3n + 1) {
  margin-left: 0;
}

.block-lp_202407-index-links-content-items a {
  display: block;
  background-color: #fff;
}

.block-lp_202407-index-links-content-items a:hover {
  opacity: 0.65;
}

.block-lp_202407-index-links-content-items .list-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 130px;
}

.block-lp_202407-index-links-content-items .list-img img {
  display: block;
  width: auto;
  height: 110px;
}

.block-lp_202407-index-links-content-items .list-name {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 40px;
  background-color: var(--cl-dbl);
  color: #fff;
  font-size: 16px;
  font-family: var(--ff-en);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.block-lp_202407-index-links-content-items .list-name::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  background-image: url(../../img/usr/lp/lp_202407/icon_arw.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.block-lp_202407-index-links-content-txt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 29px;
}

.block-lp_202407-index-links-content-txt a {
  position: relative;
  font-size: 20px;
  letter-spacing: 0.1em;
}

.block-lp_202407-index-links-content-txt a::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background-image: url(../../img/usr/lp/lp_202407/icon_arw_b.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.block-lp_202407-reason {
  margin-top: 100px;
  padding: 100px 0;
  background: linear-gradient(154deg, rgba(59, 201, 235, 0.15) 0%, rgba(112, 185, 34, 0.15) 100%);
}

.block-lp_202407-reason-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.block-lp_202407-reason-ttl img {
  display: block;
}

.block-lp_202407-reason-ttl h2 {
  margin: 8px 0 0;
  padding: 0;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-lp_202407-reason-list {
  margin-top: 40px;
}

.block-lp_202407-reason-list-item:nth-child(odd) {
  display: grid;
  grid-template-columns: 580px 1fr;
  grid-template-rows: 1fr auto 1fr;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  gap: 0px 100px;
  grid-auto-flow: row;
  grid-template-areas:
    "img point"
    "img ttl"
    "img comment";
}

.block-lp_202407-reason-list-item:nth-child(even) {
  display: grid;
  grid-template-columns: 1fr 580px;
  grid-template-rows: 1fr auto 1fr;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  gap: 0px 100px;
  grid-auto-flow: row;
  grid-template-areas:
    "point img"
    "ttl img"
    "comment img";
}

.block-lp_202407-reason-list-item .list-img {
  grid-area: img;
}

.block-lp_202407-reason-list-item .list-point {
  grid-area: point;
}

.block-lp_202407-reason-list-item .list-ttl {
  grid-area: ttl;
}

.block-lp_202407-reason-list-item .list-comment {
  grid-area: comment;
}

.block-lp_202407-reason-list-item + .block-lp_202407-reason-list-item {
  margin-top: 60px;
}

.block-lp_202407-reason-list-item:nth-child(even) .list-img {
  display: flex;
  justify-content: flex-end;
}

.block-lp_202407-reason-list-item .list-img picture {
  display: block;
  position: relative;
  width: 540px;
}

.block-lp_202407-reason-list-item .list-img picture::before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  background-color: rgba(237, 241, 243, 0.5);
  mix-blend-mode: multiply;
}

.block-lp_202407-reason-list-item:nth-child(odd) .list-img picture::before {
  left: 40px;
}

.block-lp_202407-reason-list-item:nth-child(even) .list-img picture::before {
  right: 40px;
}

.block-lp_202407-reason-list-item .list-img img {
  display: block;
  position: relative;
  width: 540px;
  height: auto;
}

.block-lp_202407-reason-list-item .list-point {
  display: flex;
  align-items: flex-end;
  position: relative;
  padding-left: 46px;
  color: var(--cl-dbl);
  font-family: var(--ff-en);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

.block-lp_202407-reason-list-item .list-point > div {
  display: flex;
  align-items: baseline;
}

.block-lp_202407-reason-list-item .list-point::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 14px;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: var(--cl-dbl);
}

.block-lp_202407-reason-list-item .list-point span:nth-child(1) {
  font-size: 20px;
}

.block-lp_202407-reason-list-item .list-point span:nth-child(2) {
  margin-left: 10px;
  font-size: 80px;
}

.block-lp_202407-reason-list-item .list-ttl {
  margin-top: 18px;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.block-lp_202407-reason-list-item .list-ttl .txt-s {
  font-size: 20px;
}

.block-lp_202407-reason-list-item .list-comment {
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.666;
  letter-spacing: 0.1em;
}

.block-lp_202407-reason-list-item .list-comment .annotation {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.428;
}

.block-lp_202407-rank {
  margin-top: 100px;
}

.block-lp_202407-h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  font-weight: 700;
  text-align: center;
}

.block-lp_202407-h2 .txt-en {
  color: var(--cl-dbl);
  font-size: 16px;
  font-family: var(--ff-en);
  letter-spacing: 0.1em;
}

.block-lp_202407-h2 .txt-ja {
  margin-top: 10px;
  font-size: 36px;
  letter-spacing: 0.1em;
}

.block-lp_202407-rank-comment {
  margin-top: 18px;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-lp_202407-rank-tbl {
  margin-top: 40px;
}

.block-lp_202407-rank-tbl table {
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.1em;
}

.block-lp_202407-rank-tbl table th,
.block-lp_202407-rank-tbl table td {
  height: 70px;
  padding: 0 20px;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}

.block-lp_202407-rank-tbl table th {
  background-color: #f8f8f8;
  font-weight: 300;
  text-align: center;
}

.block-lp_202407-rank-tbl table thead th {
  font-weight: 500;
}

.block-lp_202407-rank-tbl table th:nth-child(1) {
  width: 300px;
}

.block-lp_202407-rank-img {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.block-lp_202407-rank-img li {
  width: calc((100% - 40px) / 3);
}

.block-lp_202407-rank-img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.block-lp_202407-rank-img figcaption {
  margin-top: 20px;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-lp_202407-step {
  margin-top: 100px;
  padding: 100px 0;
  background: linear-gradient(100deg, rgba(59, 201, 235, 0.15) 0%, rgba(112, 185, 34, 0.15) 100%);
}

.block-lp_202407-step h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-lp_202407-step h2 img {
  display: block;
  margin-right: 10px;
}

.block-lp_202407-step-comment {
  margin-top: 22px;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-lp_202407-step-list {
  margin-top: 44px;
}

.block-lp_202407-step-list-items {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  background-image: url(../../img/usr/lp/lp_202407/pc/step_line.png);
  background-position: center top 169px;
  background-repeat: no-repeat;
  background-size: 849px 365px;
}

.block-lp_202407-step-list-item {
  position: relative;
  width: calc((100% - 160px) / 3);
  border-radius: 6px;
  overflow: hidden;
}

.block-lp_202407-step-list-item:not(:nth-child(3n)) {
  margin-right: 80px;
}

.block-lp_202407-step-list-item:not(:nth-child(-n + 3)) {
  margin-top: 70px;
}

.block-lp_202407-step-list-item .list-top {
  display: flex;
  letter-spacing: 0.1em;
}

.block-lp_202407-step-list-item .list-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background-color: var(--cl-gr);
  color: #ffffff;
  font-family: var(--ff-en);
  font-weight: 700;
  text-align: center;
  line-height: 1.1;
}

.block-lp_202407-step-list-item .list-step span:nth-child(1) {
  font-size: 12px;
  letter-spacing: 0.08em;
}

.block-lp_202407-step-list-item .list-step span:nth-child(2) {
  font-size: 24px;
}

.block-lp_202407-step-list-item .list-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 60px);
  height: 60px;
  background-color: var(--cl-dbl);
  color: #ffffff;
  font-size: 18px;
}

.block-lp_202407-step-list-item .list-img img {
  display: block;
  width: 100%;
  height: auto;
}

.block-lp_202407-faq {
  margin-top: 100px;
}

.block-lp_202407-faq-list {
  margin-top: 38px;
}

.block-lp_202407-faq-list-item {
  border-bottom: 1px solid #dddddd;
  letter-spacing: 0.1em;
}

.block-lp_202407-faq-list-item dt {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 100px;
  padding: 25px 50px 25px 90px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
}

.block-lp_202407-faq-list-item dd {
  display: none;
  border-top: 1px solid #dddddd;
  background-color: #fafafa;
}

.block-lp_202407-faq-list-item .list-answer {
  position: relative;
  padding: 25px 25px 25px 90px;
  font-size: 16px;
  line-height: 1.625;
}

.block-lp_202407-faq-list-item dt::before,
.block-lp_202407-faq-list-item .list-answer::before {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 25px;
  left: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  color: #fff;
  font-size: 20px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

.block-lp_202407-faq-list-item dt::before {
  content: "Q";
  padding-bottom: 3px;
  background-color: var(--cl-dbl);
}

.block-lp_202407-faq-list-item .list-answer::before {
  content: "A";
  background-color: var(--cl-gr);
}

.block-lp_202407-faq-list-item dt .icon-plus {
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
}

.block-lp_202407-faq-list-item dt .icon-plus::before,
.block-lp_202407-faq-list-item dt .icon-plus::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  margin: -1px 0 0 -6px;
  background-color: #000;
}

.block-lp_202407-faq-list-item dt .icon-plus::after {
  transform: rotate(90deg);
  transition: transform 0.15s;
}

.block-lp_202407-faq-list-item dt.is-open .icon-plus::after {
  transform: rotate(0);
}

.block-lp_202407-faq-list-item .list-answer p + p {
  margin-top: 2em;
}
