@charset "UTF-8";
.header { background: linear-gradient(#fff, #dee5e9); }

.header__inner { max-width: 1200px; }

@media (max-width: 500px) { .header__main { margin: 0 -20px; } }

.cta { background: #fff; }

.cta__inner { padding-top: 40px; max-width: 810px; }

.cta__btn { opacity: 1; transition: 0.5s; }

.cta__btn:hover { opacity: 0.7; transition: 0.5s; }

.cta__fixed { display: none; position: fixed; width: 100%; bottom: 0; }

.cta.is-active { display: block; }

.present01__figure, .present02__figure, .present03__figure { margin: 60px auto 0; max-width: 940px; }

.present03 { padding-bottom: 87px; }

.question__inner { padding-top: 110px; }

.question__content { position: relative; margin: 0 -36px; }

@media (max-width: 500px) { .question__content { margin: 0; } }

.question__content-avatar { position: absolute; right: 0; bottom: 0; max-width: 540px; }

.question__ttl { padding: 24px 0; font-weight: bold; font-size: 43px; background: #979797; color: #fff; text-align: center; }

@media (max-width: 500px) { .question__ttl { margin: 0 -36px; font-size: 32px; } }

.question__list { display: flex; flex-direction: column; padding: 50px 0 45px 80px; }

@media (max-width: 500px) { .question__list { padding: 50px 0 45px; } }

.question__item { display: flex; justify-content: flex-end; flex-direction: row-reverse; margin: 53px 0 0; }

.question__item:first-child { margin: 0; }

.question__item-txt { font-size: 32px; line-height: 1.6; }

@media (max-width: 500px) { .question__item-txt { font-size: 16px; } }

.question__item-icon { margin: 0 30px 0 0; width: 50px; }

@media (max-width: 500px) { .question__item-icon { margin: 0 5px 0 0; width: 30px; } }

.about__inner { padding-top: 153px; }

.about__sec-ttl { margin: 0 -36px; }

@media (max-width: 500px) { .about__sec-ttl { margin: 0 -15px; } }

.about__ttl { margin: 40px 0 0; }

.about__content { margin: 40px -36px 0; padding: 0 30px; box-shadow: 5px 5px 20px #e7e7e7; }

@media (max-width: 500px) { .about__content { margin: 0 -15px; padding: 0 15px; } }

.about__content-ttl { margin: 10px 0 -40px; padding-top: 40px; font-weight: bold; font-size: 42px; letter-spacing: -0.02em; text-align: center; color: #979797; }

@media (max-width: 500px) { .about__content-ttl { margin: 40px 0 -40px; font-size: 26px; line-height: 1.4; } }

.about__content-txt { font-weight: bold; font-size: 28px; line-height: 1.42; }

@media (max-width: 500px) { .about__content-txt { font-size: 20px; } }

.about__content-txt.red { color: #9e372c; }

.about__content-txt:not(:first-child) { margin: 60px 0 0; }

.about__content-line { margin: 40px 0 0; border-color: #979797; }

.about__content-figure { margin: 40px 0 0; }

.about__list { margin: 40px 0 0; }

.about__list-etc { font-weight: bold; font-size: 28px; line-height: 1.42; color: #2c6f9e; }

@media (max-width: 500px) { .about__list-etc { font-size: 20px; } }

.about__list-desc { font-weight: bold; font-size: 28px; line-height: 1.42; color: #2c6f9e; }

@media (max-width: 500px) { .about__list-desc { font-size: 20px; } }

.step__inner { padding-top: 100px; }

.step__ttl { background: url(../../assets/images/webp/balloon_red.webp) no-repeat center/cover; padding: 33px 0 31px; font-weight: bold; font-size: 43px; line-height: 1.3; text-align: center; color: #fff; }

@media (max-width: 500px) { .step__ttl { margin: 0 -15px; font-size: 32px; } }

.step__mockup { margin: 34px auto 0; max-width: 515px; }

.step__list { margin: 24px 0 0; }

@media (max-width: 500px) { .step__list { margin: 80px 0 0; } }

.step__item { margin: 95px 0 0; padding: 40px 34px 34px 24px; position: relative; box-shadow: 5px 5px 20px #e7e7e7; }

@media (max-width: 500px) { .step__item { margin: 120px 0 0; padding: 50px 5px 40px; } }

.step__item:first-child { margin: 0; }

.step__item-num { position: absolute; top: -45px; left: -45px; width: 94px; }

@media (max-width: 500px) { .step__item-num { top: -50px; left: 50%; transform: translateX(-50%); } }

.step__item-ttl { font-weight: bold; font-size: 43px; line-height: 1.25; letter-spacing: 0.08em; text-align: center; color: #9e372c; text-decoration: underline; }

@media (max-width: 500px) { .step__item-ttl { font-size: 24px; } }

.step__item-desc { margin: 24px 0 0; font-size: 28px; line-height: 1.2; }

@media (max-width: 500px) { .step__item-desc { font-size: 20px; line-height: 1.6; } }

.step__item-arrow { position: absolute; bottom: -80px; left: 48%; transform: translateX(-50%); max-width: 348px; }

@media (max-width: 500px) { .step__item-arrow { bottom: -40px; left: 50%; } }

.voice__inner { padding-top: 126px; }

.voice__ttl { padding: 22px 0 24px 0; position: relative; font-weight: bold; font-size: 43px; line-height: 1.41; text-align: center; background: #2c6f9e; color: #fff; }

@media (max-width: 500px) { .voice__ttl { margin: 0 -15px; } }

.voice__en { bottom: 0; left: 240px; width: 145px; }

@media (max-width: 500px) { .voice__en { bottom: 10px; left: 5px; width: 80px; } }

.voice__item { margin: 50px 36px 0; padding: 30px 30px 34px; box-shadow: 0px 0px 20px #e7e7e7; }

@media (max-width: 500px) { .voice__item { margin: 50px 0 0; padding: 30px 5px 34px; } }

.voice__item-thumb { margin: 0 26px 0 0; max-width: 426px; float: left; }

@media (max-width: 500px) { .voice__item-thumb { margin: 0 0 20px; width: 100%; } }

.voice__item-ttl { font-weight: bold; font-size: 28px; line-height: 1.4; letter-spacing: 0.08em; color: #2c6f9e; }

@media (max-width: 500px) { .voice__item-ttl { font-size: 22px; } }

.voice__item-profile { margin: 18px 0 0; font-size: 22px; line-height: 1.6; letter-spacing: 0.02em; color: #2c6f9e; }

@media (max-width: 500px) { .voice__item-profile { font-size: 16px; } }

.voice__item-txt { margin: 16px 0 0; font-size: 22px; line-height: 1.6; letter-spacing: 0.02em; color: #5f5f5f; }

@media (max-width: 500px) { .voice__item-txt { font-size: 20px; } }

.profile__inner { padding: 110px 15px 0; max-width: 780px; }

@media (max-width: 500px) { .profile__inner { width: 100%; } }

.profile__ttl { padding: 16px 0; font-weight: bold; font-size: 43px; line-height: 1.41; text-align: center; background: #2c6f9e; color: #fff; }

@media (max-width: 500px) { .profile__ttl { font-size: 32px; } }

.profile__content { padding-bottom: 18px; border: 1px solid #2c6f9e; }

.profile .personal { display: flex; justify-content: flex-end; flex-direction: row-reverse; margin: 28px 0 0 30px; }

@media (max-width: 500px) { .profile .personal { margin: 28px 0 0 5px; } }

.profile .personal.pc-only { display: none; }

.profile .personal.sp-only { align-items: center; }

.profile .personal__thumb { margin: 0 44px 0 0; width: 217px; }

@media (max-width: 500px) { .profile .personal__thumb { margin: 0 5px 0 0; width: 42%; } }

@media (max-width: 500px) { .profile .personal__txt { width: 54%; } }

@media (max-width: 500px) and (max-width: 500px) { .profile .personal__txt__head { display: flex; flex-direction: column; } }

.profile .personal__txt-lead { font-weight: bold; font-size: 21px; letter-spacing: 0.02em; color: #2c6f9e; }

@media (max-width: 500px) { .profile .personal__txt-lead { font-size: 16px; letter-spacing: 0; } }

.profile .personal__txt-name { display: inline-block; margin: 0 28px 0 0; font-weight: bold; font-size: 38px; line-height: 1.4; letter-spacing: 0.02em; color: #2c6f9e; }

@media (max-width: 500px) { .profile .personal__txt-name { margin: 10px 0 0; font-size: 32px; } }

.profile .personal__txt-en { display: inline-block; font-family: "ヒラギノ明朝 ProN"; font-size: 33px; color: #2c6f9e; opacity: 0.5; }

.profile .personal__txt-item { margin: 18px 0 0; font-size: 18px; line-height: 1.5; color: #969595; }

@media (max-width: 500px) { .profile .personal__txt-item { padding: 0 5px; font-size: 16px; letter-spacing: -0.02em; } }

.profile .personal__list { margin: 20px 0 0; color: #969595; }

@media (max-width: 500px) { .profile .personal__list { padding: 0 5px; } }

.profile .personal__item-ttl { font-weight: normal; }

.profile .personal__item-desc { font-size: 17px; line-height: 1.52; }

@media (max-width: 500px) { .profile .personal__item-desc { font-size: 16px; } }

.profile .license__ttl { margin: 20px 0 0; }

.profile .license__list { margin: 30px 0 0 75px; }

@media (max-width: 500px) { .profile .license__list { margin: 20px 0 0 0; padding: 0 5px; } }

.profile .license__item { font-size: 17px; line-height: 1.52; color: #969595; }

@media (max-width: 500px) { .profile .license__item:first-child { margin: 0; } }

@media (max-width: 500px) { .profile .license__item { margin: 10px 0 0; font-size: 16px; } }

.profile .license__figure { margin: 10px 0 0; }

@media (max-width: 500px) { .profile .license__figure { margin: 20px 0 0; } }

.message__inner { padding-top: 122px; padding-bottom: 154px; }

@media (max-width: 500px) { .message__inner { padding-bottom: 0; } }

.message__ttl { padding: 23px 0; position: relative; font-weight: bold; font-size: 43px; text-align: center; background: #2c6f9e; color: #fff; }

@media (max-width: 500px) { .message__ttl { margin: 0 -15px; } }

.message__en { bottom: 10px; left: 140px; width: 267px; }

@media (max-width: 500px) { .message__en { bottom: 20px; left: 5px; width: 80px; } }

.message__txt { font-size: 22px; line-height: 2.1; letter-spacing: 0.02em; text-align: center; }

@media (max-width: 500px) { .message__txt { font-size: 16px; } }

.message__txt:first-child { margin: 100px 0 0; }

@media (max-width: 500px) { .message__txt:first-child { margin: 60px 0 0; } }

.message__txt:not(:first-child) { margin: 60px 0 0; }

@media (max-width: 500px) { .message__txt:not(:first-child) { margin: 40px 0 0; } }

.message__txt-aleat { font-weight: bold; font-size: 42px; letter-spacing: 0.02em; color: #9e372c; }

@media (max-width: 500px) { .message__txt-aleat { font-size: 22px; letter-spacing: -0.04em; } }

.footer__inner { padding-bottom: 160px; }

@media (max-width: 500px) { .footer__inner { padding: 0 15px 120px; } }

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

.footer__item { font-size: 22px; text-decoration: underline; opacity: 1; transition: 0.5s; }

.footer__item:hover { opacity: 0.7; transition: 0.5s; }

@media (max-width: 500px) { .footer__item { font-size: 14px; letter-spacing: -0.02em; } }

.footer__item:first-child { margin-right: 146px; }

@media (max-width: 500px) { .footer__item:first-child { margin-right: 10px; } }
