@charset "UTF-8";
/* ========== Font ========== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Noto Sans JP 700(Bold) */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("/common/fonts/noto-sans-jp-v42-japanese_latin-700.woff2") format("woff2"), url("/common/fonts/noto-sans-jp-v42-japanese_latin-700.woff") format("woff");
}
/* Noto Sans JP normal */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("/common/fonts/noto-sans-jp-v42-japanese_latin-regular.woff2") format("woff2"), url("/common/fonts/noto-sans-jp-v42-japanese_latin-regular.woff") format("woff");
}
/* Montserrat 500 */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: local(""), url("/common/fonts/montserrat-v31-latin-500.woff2") format("woff2"), url("/common/fonts/montserrat-v31-latin-500.woff") format("woff");
}
body {
  width: 100%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
  line-height: 1.3em;
  color: #333333;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  background-color: white;
}

/* ========== 共通 ========== */
blockquote,
dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
pre,
span,
td,
th,
ul {
  max-height: 999999px;
}

ol,
ul,
li {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  list-style: none;
  background: transparent;
  border: 0;
  outline: 0;
}

p,
div,
li,
span {
  line-height: 1.8;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  display: block;
}

.wrapper {
  position: relative;
}

@media screen and (max-width: 768px) {
  header {
    width: 90%;
    margin: 0 auto;
  }
}
header .logo-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 60px auto 60px auto;
}
@media screen and (max-width: 768px) {
  header .logo-area {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0;
  }
}
header .logo-area > div:nth-child(1) {
  width: 300px;
  aspect-ratio: 624/192;
}
@media screen and (max-width: 768px) {
  header .logo-area > div:nth-child(1) {
    width: 40%;
  }
}
header .logo-area > div:nth-child(2) {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  header .logo-area > div:nth-child(2) {
    width: 55%;
    font-size: clamp(14px, 2.0833333333vw, 16px);
  }
}

/* ========== main - 共通 ========== */
main {
  z-index: 100;
}

.title-area {
  width: 72.9166666667%;
  margin: 0 auto 100px auto;
  border-bottom: 5px solid #f5f5f5;
}
@media screen and (max-width: 1100px) {
  .title-area {
    width: 90%;
    margin: 0 auto 20px auto;
  }
}
.title-area h2 .en-title {
  font-size: 30px;
  font-family: Montserrat;
  color: #d02d32;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .title-area h2 .en-title {
    font-size: 18px;
  }
}
.title-area h2 .jp-title {
  font-size: 46px;
  text-align: center;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .title-area h2 .jp-title {
    font-size: 26px;
    padding-bottom: 20px;
  }
}

.main-img {
  width: 100%;
  aspect-ratio: 1920/470;
}

.form-link-top {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .form-link-top {
    margin-bottom: 40px;
  }
}
.form-link-top > div {
  width: 300px;
}

.form-link-btn {
  width: 100%;
  background-color: #d02d32;
  color: white;
  border: none;
  border-radius: 60px;
  padding: 16px 32px;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  text-decoration: none;
  box-sizing: border-box;
  position: relative;
}
.form-link-btn .arrow {
  width: 10px;
  height: 10px;
  border-left: 2px solid white;
  border-bottom: 2px solid white;
  transform: rotate(-45deg);
  margin-bottom: 3px;
  position: absolute;
  right: 32px;
}

.form-link-btn:hover {
  opacity: 0.9;
}

.p-footer-img {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .p-footer-img {
    margin-bottom: 80px;
  }
}
.p-footer-img > div {
  width: 50%;
  aspect-ratio: 964/605;
}

.logo02-area {
  width: 640px;
  margin: 120px auto 40px auto;
  aspect-ratio: 811/257;
}
@media screen and (max-width: 1100px) {
  .logo02-area {
    width: 640px;
  }
}
@media screen and (max-width: 768px) {
  .logo02-area {
    width: 80%;
    margin: 80px auto;
  }
}

.logo02-area-txt {
  padding: 0 20px;
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .logo02-area-txt {
    margin-bottom: 80px;
  }
}
.logo02-area-txt > p {
  font-size: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .logo02-area-txt > p {
    font-size: 18px;
  }
}

.about-txt {
  width: 72.9166666667%;
  margin: 0 auto 150px auto;
}
@media screen and (max-width: 768px) {
  .about-txt {
    width: 90%;
    margin: 0 auto 60px auto;
  }
}
.about-txt > p {
  font-size: 18px;
  line-height: 2.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about-txt > p {
    font-size: 16px;
    text-align: left;
  }
}

.howto-area01 {
  width: 57.2916666667%;
  margin: 0 auto;
}
@media screen and (max-width: 1100px) {
  .howto-area01 {
    width: 80%;
    margin: 0 auto;
  }
}
.howto-area01 .howto-link {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .howto-area01 .howto-link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
.howto-area01 .howto-link > div {
  width: 260px;
}
@media screen and (max-width: 1400px) {
  .howto-area01 .howto-link > div {
    width: calc((100% - 100px) / 3);
  }
}
@media screen and (max-width: 768px) {
  .howto-area01 .howto-link > div {
    width: 260px;
    margin-bottom: 20px;
  }
}

.howto-area02 {
  width: 57.2916666667%;
  margin: 0 auto 150px auto;
}
@media screen and (max-width: 1100px) {
  .howto-area02 {
    width: 100%;
    margin-bottom: 100px;
  }
}
.howto-area02 .howto-box {
  width: 100%;
  background-color: #f5f5f5;
  border-radius: 25px;
  margin: 84px 0 250px 0;
}
@media screen and (max-width: 768px) {
  .howto-area02 .howto-box {
    margin: 40px 0 0 0;
    border-radius: 0;
    padding-top: 60px;
  }
}
.howto-area02 .howto-box > div {
  padding: 40px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .howto-area02 .howto-box > div {
    padding: 20px;
  }
}
.howto-area02 .howto-box > div .howto-title {
  border: 2px solid #333333;
  background-color: white;
  padding: 7px;
  font-size: 20px;
  text-align: center;
}
.howto-area02 .howto-box > div .howto-table {
  width: 90%;
  margin: 30px auto 40px auto;
  border-collapse: separate;
}
.howto-area02 .howto-box > div .howto-table .komoku {
  width: 20%;
  font-size: 16px;
  padding: 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .howto-area02 .howto-box > div .howto-table .komoku {
    display: block;
    width: 100%;
    padding: 5px 5px 0 5px;
  }
}
.howto-area02 .howto-box > div .howto-table .naiyo {
  width: 80%;
  font-size: 16px;
  padding: 5px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .howto-area02 .howto-box > div .howto-table .naiyo {
    display: block;
    width: 100%;
    padding: 0 5px 10px 5px;
  }
}
.howto-area02 .howto-box > div .howto-table .naiyo .maplink {
  color: #333333;
  text-decoration: underline;
}
.howto-area02 .howto-box > div .howto-txt {
  width: 90%;
  margin: 30px auto 60px auto;
}
.howto-area02 .howto-box > div .howto-txt > p {
  font-size: 16px;
}
.howto-area02 .howto-box > div .howto-form-link {
  max-width: 600px;
  width: 60%;
  margin: 30px auto 60px auto;
}
@media screen and (max-width: 768px) {
  .howto-area02 .howto-box > div .howto-form-link {
    width: 100%;
  }
}

.red-icon-box {
  width: 100%;
  background-image: url(/common/img/icon-red.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 1348/921;
  display: flex;
  justify-content: center;
}
.red-icon-box > div {
  width: 100%;
  padding: 10% 5%;
}
@media screen and (max-width: 768px) {
  .red-icon-box > div {
    width: 90%;
    padding-top: 10%;
  }
}
@media screen and (max-width: 768px) {
  .red-icon-box > div {
    padding-top: 20px;
  }
}
.red-icon-box > div > p:nth-child(1) {
  font-size: clamp(12px, 0.8333333333vw, 16px);
  color: #d02d32;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .red-icon-box > div > p:nth-child(1) {
    font-size: 16px;
  }
}
.red-icon-box > div > p:nth-child(2) {
  font-size: clamp(20px, 1.1458333333vw, 22px);
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .red-icon-box > div > p:nth-child(2) {
    font-size: 24px;
  }
}

.box01-area {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .box01-area {
    margin-bottom: 80px;
  }
}
.box01-area > div {
  width: 85.4166666667%;
  display: grid;
  grid-template-columns: 40.0609756098% 12.1951219512% auto;
  grid-template-rows: auto auto auto;
}
@media screen and (max-width: 768px) {
  .box01-area > div {
    width: 100%;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
  }
}
.box01-area > div .box01-sp01 {
  grid-column: 1/2;
  grid-row: 3/4;
  aspect-ratio: 657/160;
}
@media screen and (max-width: 768px) {
  .box01-area > div .box01-sp01 {
    display: none;
  }
}
.box01-area > div .box01-sp02 {
  grid-column: 2/3;
  grid-row: 3/4;
  aspect-ratio: 200/160;
}
@media screen and (max-width: 768px) {
  .box01-area > div .box01-sp02 {
    display: none;
  }
}
.box01-area > div .box01-title {
  grid-column: 1/4;
  grid-row: 1/2;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .box01-area > div .box01-title {
    grid-column: 1/2;
    grid-row: 1/2;
    display: flex;
    justify-content: center;
  }
}
.box01-area > div .box01-title .red-icon-box {
  width: 260px !important;
}
@media screen and (max-width: 768px) {
  .box01-area > div .box01-title .red-icon-box {
    width: 260px !important;
  }
}
.box01-area > div .box01-img {
  grid-column: 2/4;
  grid-row: 2/4;
}
@media screen and (max-width: 768px) {
  .box01-area > div .box01-img {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.box01-area > div .box01-contents {
  grid-column: 1/3;
  grid-row: 2/3;
  background: rgba(255, 255, 255, 0.8);
  aspect-ratio: 857/450;
  padding: 10px 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .box01-area > div .box01-contents {
    grid-column: 1/2;
    grid-row: 2/3;
    padding: 20px 5%;
    aspect-ratio: unset;
    background: unset;
  }
}

.box02-area {
  width: 100%;
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .box02-area {
    margin-bottom: 80px;
  }
}
.box02-area > div {
  width: 85.4166666667%;
  display: grid;
  grid-template-columns: 55.487804878% 6.0975609756% auto;
  grid-template-rows: auto auto auto;
}
@media screen and (max-width: 768px) {
  .box02-area > div {
    width: 100%;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
  }
}
.box02-area > div .box02-sp01 {
  grid-column: 2/3;
  grid-row: 3/4;
  aspect-ratio: 80/117;
}
@media screen and (max-width: 768px) {
  .box02-area > div .box02-sp01 {
    display: none;
  }
}
.box02-area > div .box02-sp02 {
  grid-column: 3/4;
  grid-row: 3/4;
}
@media screen and (max-width: 768px) {
  .box02-area > div .box02-sp02 {
    display: none;
  }
}
.box02-area > div .box02-title {
  grid-column: 2/4;
  grid-row: 1/2;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .box02-area > div .box02-title {
    grid-column: 1/2;
    grid-row: 1/2;
    display: flex;
    justify-content: center;
  }
}
.box02-area > div .box02-title .red-icon-box {
  width: 260px !important;
}
@media screen and (max-width: 768px) {
  .box02-area > div .box02-title .red-icon-box {
    width: 260px !important;
  }
}
.box02-area > div .box02-img {
  grid-column: 1/3;
  grid-row: 2/4;
  aspect-ratio: 1001/614;
}
@media screen and (max-width: 768px) {
  .box02-area > div .box02-img {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.box02-area > div .box02-contents {
  grid-column: 2/4;
  grid-row: 2/3;
  aspect-ratio: 730/505;
  padding: 10px 20px 10px 20px;
  background: rgba(255, 255, 255, 0.8);
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .box02-area > div .box02-contents {
    grid-column: 1/2;
    grid-row: 2/3;
    padding: 20px 5%;
    aspect-ratio: unset;
  }
}

.box-t01 {
  font-size: clamp(28px, 2.8048780488vw, 46px);
  line-height: 1.4;
  padding-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .box-t01 {
    font-size: 26px;
    padding-bottom: 20px;
  }
}

.box-t02 {
  font-size: 14px;
  line-height: 1.6;
}

.benefits-area {
  width: 72.9166666667%;
  margin: 0 auto 170px auto;
}
@media screen and (max-width: 1100px) {
  .benefits-area {
    width: 90%;
    margin: 0 auto 40px auto;
  }
}
.benefits-area .benefits-txt {
  width: 100%;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-txt {
    margin-bottom: 40px;
  }
}
.benefits-area .benefits-txt > p {
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-txt > p {
    text-align: left;
  }
}
.benefits-area .benefits-box {
  width: 100%;
  margin-bottom: 30px;
  background-color: #f5f5f5;
  border-radius: 25px;
  padding: 20px 40px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 20px;
  }
}
.benefits-area .benefits-box .benefits-icon {
  width: 75px;
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-box .benefits-icon {
    width: 50px;
  }
}
.benefits-area .benefits-box .benefits-txtarea {
  width: calc(100% - 120px);
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-box .benefits-txtarea {
    width: 100%;
    padding: 20px 0;
  }
}
.benefits-area .benefits-box .benefits-txtarea > p:nth-child(1) {
  font-size: 22px;
  padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-box .benefits-txtarea > p:nth-child(1) {
    text-align: center;
    line-height: 1.4;
    padding-bottom: 10px;
  }
}
.benefits-area .benefits-box .benefits-txtarea > p:nth-child(2) {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .benefits-area .benefits-box .benefits-txtarea > p:nth-child(2) {
    text-align: left;
  }
}

.form-area {
  width: 51.5625%;
  margin: 0 auto;
}
@media screen and (max-width: 1100px) {
  .form-area {
    width: 80%;
  }
}

footer {
  width: 100%;
  margin-top: 125px;
}
@media screen and (max-width: 768px) {
  footer {
    margin-top: 50px;
  }
}
footer .footer-area {
  padding: 90px 10px 30px 10px;
  background-color: #f5f5f5;
  box-sizing: border-box;
}
footer .footer-area .footer-logo01 {
  width: 220px;
  margin: 0 auto;
  aspect-ratio: 590/74;
}
footer .footer-area .footer-logo02 {
  width: 380px;
  margin: 50px auto;
  aspect-ratio: 624/192;
}
@media screen and (max-width: 768px) {
  footer .footer-area .footer-logo02 {
    width: 80%;
    max-width: 380px;
  }
}
footer .footer-area small {
  display: block;
  font-size: 11px;
  text-align: center;
}

.pc-only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

[data-lk-respond-to-scroll] {
  opacity: 0;
  transition-duration: 2s;
  transition-property: opacity, transform;
  transform: translateY(100px);
}

[data-lk-respond-to-scroll].lk-scrolled {
  opacity: 1;
  transform: translateY(0);
}