@charset "utf-8";

html {
   font-size: min(12.5px, 2.857142857vw);
}

body {
   font-feature-settings: "palt";
   background: #fff;
   color: #000;
   font-family: "Noto Sans JP", sans-serif;
   font-size: 1.4rem;
   font-weight: 500;
   letter-spacing: 0.075em;
}

body.noscroll {
   overflow: hidden;
}

a {
   display: block;
   transition: 0.2s;
}

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

*,
*::before,
*::after {
   box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
   padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
   margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
   text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
   list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
   -webkit-text-decoration-skip: ink;
   text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

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

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
   font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background: transparent;
   border: none;
   border-radius: 0;
   font: inherit;
   outline: none;
}

textarea {
   resize: vertical;
}

input[type=checkbox],
input[type=radio] {
   display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
   cursor: pointer;
}

select::-ms-expand {
   display: none;
}

/*
 * l-footer
 * -------------------------------------------------------------
 */

.l-footer {
   height: 9.5rem;
}

.l-footer__inner {
   align-items: center;
   display: flex;
   gap: 0 2.65rem;
   height: 100%;
   padding: 0 2.4rem 0 2.9rem;
}

.l-footer__logo {
   width: 6.3rem;
}

/*
 * l-header
 * -------------------------------------------------------------
 */

.l-header {
   background: #fff;
   height: 6.5rem;
   left: 0;
   margin: 0 auto;
   max-width: 35rem;
   position: fixed;
   right: 0;
   top: 0;
   z-index: 100;
}

.l-header__inner {
   align-items: center;
   display: flex;
   gap: 0 4rem;
   height: 100%;
   padding: 0 3.4rem 0 2.6rem;
}

.l-header__logo {
   width: 4.4rem;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
   margin: auto;
   padding: 0 1rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
   margin-top: 6.5rem;
   overflow: hidden;
}

/*
 * l-section
 * -------------------------------------------------------------
 */

.l-section {
   padding: 5rem 0;
}

/*
 * l-wrap
 * -------------------------------------------------------------
 */

.l-wrap {
   margin: 0 auto;
   max-width: 35rem;
}

/*
 * c-btn-wrap
 * -------------------------------------------------------------
 */

.c-btn-wrap {
   margin: 5rem auto 0;
   text-align: center;
}

.c-btn-wrap span {
   color: #07C655;
   display: inline-block;
   font-weight: 500;
   margin-bottom: 0.6rem;
}

/*
 * c-btn
 * -------------------------------------------------------------
 */

.c-btn {
   align-items: center;
   background: #fff;
   border: 0.2rem solid #07C655;
   border-radius: 4rem;
   color: #07C655;
   display: flex;
   font-size: 2rem;
   font-weight: 700;
   gap: 0 1rem;
   height: 3.9rem;
   justify-content: center;
   margin: 0 auto;
   padding: 0 1.3rem;
   width: 21rem;
   width: -moz-fit-content;
   width: fit-content;
}

.c-btn::before {
   background: url(./../images/line_icon.webp) no-repeat center;
   background-size: 100%;
   content: "";
   display: inline-block;
   height: 2.6rem;
   width: 2.6rem;
}

.c-button {
   margin: 5rem auto 0;
   width: 21.2rem;
}

/*
 * c-nav
 * -------------------------------------------------------------
 */

.c-nav {
   flex: 1;
}

.c-nav__items {
   display: flex;
   flex-wrap: wrap;
   gap: 1.2rem 1.6rem;
   justify-content: center;
}

.c-nav__item a {
   color: #004C74;
   font-weight: 700;
   letter-spacing: 0.03em;
   line-height: 1;
}

/*
 * c-section-title
 * -------------------------------------------------------------
 */

.c-section-title {
   background: url(./../images/title_bg.webp) no-repeat center;
   background-size: 100%;
   font-size: 2.2rem;
   font-weight: 700;
   height: 6.8rem;
   letter-spacing: 0.075em;
   margin: 0 auto;
   padding: 1.8rem 0;
   text-align: center;
   width: 31.5rem;
}

/*
 * c-text
 * -------------------------------------------------------------
 */

.c-text {
   letter-spacing: 0.03em;
   line-height: 1.75;
}

.c-text--zen {
   font-family: "Zen Kaku Gothic New", sans-serif;
   letter-spacing: 0.01em;
}

/*
 * u-br
 * -------------------------------------------------------------
 */

/*
 * p-data
 * -------------------------------------------------------------
 */

.p-data {
   background: #004c74;
   padding-top: 3rem;
   position: relative;
}

.p-data::before {
   background: url(./../images/wave.webp) no-repeat center;
   background-size: 101%;
   content: "";
   display: block;
   height: 4rem;
   position: absolute;
   top: -2.9rem;
   width: 100%;
}

.p-data__inner {
   padding: 0 1.5rem;
}

.p-data__title {
   color: #fff;
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-size: 3.5rem;
   font-weight: 700;
   letter-spacing: 0.04em;
   margin-top: 3.4rem;
   text-align: center;
}

.p-data__title span {
   display: inline-block;
   font-family: "Roboto", sans-serif;
   font-size: 7.5rem;
   margin-top: 2rem;
   position: relative;
}

.p-data__title span::before {
   background: url(./../images/jikyu_left.webp) no-repeat center;
   background-size: 100%;
   content: "";
   display: inline-block;
   height: 2rem;
   left: -1rem;
   position: absolute;
   top: -0.2rem;
   width: 3rem;
}

.p-data__title span::after {
   background: url(./../images/jikyu_right.webp) no-repeat center;
   background-size: 100%;
   content: "";
   display: inline-block;
   height: 2.3rem;
   position: absolute;
   right: 1.7rem;
   top: -0.3rem;
   width: 2.7rem;
}

.p-data__title span small {
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-size: 2.8rem;
   margin-left: 0.7rem;
}

.p-data__top {
   display: flex;
   flex-direction: column;
   gap: 6.8rem 0;
   margin-top: 6rem;
}

.p-data__top-img:first-child {
   margin: 0 auto;
   width: 92.4%;
}

.p-data__bottom {
   display: flex;
   flex-direction: column;
   gap: 5.5rem 0;
   margin-top: 4.65rem;
}

.p-data__bottom-title {
   color: #fff;
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-size: 3rem;
   font-weight: 700;
   letter-spacing: 0.04em;
   text-align: center;
}

.p-data__bottom-title span {
   display: inline-block;
   font-size: 2rem;
}

.p-data__bottom-img {
   margin-top: 1.2rem;
}

.p-data__guide span {
   color: #fff;
}

.p-data__btn {
   margin: 0 auto;
   width: 22.6rem;
}

/*
 * p-faq
 * -------------------------------------------------------------
 */

.p-faq {
   background: #fff;
   padding-bottom: 0;
}

.p-faq__section-title {
   font-size: 2rem;
   font-weight: 700;
   text-align: center;
}

.p-faq__section-title::after {
   background: #004C74;
   content: "";
   display: block;
   height: 0.1rem;
   margin: 2.5rem auto 0;
   width: 10rem;
}

.p-faq__items {
   margin-top: 2.8rem;
}

.p-faq__item {
   border-top: 0.1rem solid #004C74;
   padding: 1.2rem;
}

.p-faq__item:last-child {
   border-bottom: 0.1rem solid #004C74;
}

.p-faq__title {
   color: #004C74;
   font-size: 1.6rem;
   font-weight: 600;
   line-height: 1.875;
   position: relative;
}

.p-faq__title::before,
.p-faq__title::after {
   background: #000;
   content: "";
   display: block;
   height: 0.12rem;
   position: absolute;
   right: 0;
   top: 50%;
   transform: translate(0, -50%);
   width: 1rem;
}

.p-faq__title::after {
   transform: translate(0, -50%) rotate(90deg);
   transition: all 0.3s ease-in-out;
}

.p-faq__title.open:after {
   transform: translate(0, -50%) rotate(180deg);
}

.p-faq__content {
   display: none;
   margin-top: 1.2rem;
   padding-bottom: 0.5rem;
   padding-right: 1rem;
}

.p-faq__btn {
   align-items: center;
   background: #004C74;
   color: #fff;
   display: flex;
   font-size: 1.75rem;
   font-weight: 700;
   gap: 0 0.6rem;
   letter-spacing: 0.1em;
   margin: 3rem auto 0;
   padding: 0.6rem 0.8rem 0.7rem 1rem;
   position: relative;
   width: -moz-fit-content;
   width: fit-content;
   z-index: 10;
}

.p-faq__btn::after {
   content: ">";
   display: inline-block;
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-size: 1.7rem;
   margin-top: -0.3rem;
}

/*
 * p-fv
 * -------------------------------------------------------------
 */

.p-fv {
   background: #00a6d6;
}

.p-fv__inner {
   padding: 1.5rem 1rem 2.5rem;
   position: relative;
}

.p-fv__btn {
   bottom: 6.7rem;
   left: 50%;
   margin: 2.5rem auto 0;
   position: absolute;
   transform: translateX(-50%);
   width: 22.6rem;
}

/*
 * p-interview
 * -------------------------------------------------------------
 */

.p-interview {
   background: url(./../images/interview_bg.webp) repeat top;
   background-size: 12.8rem 10.1rem;
}

.p-interview__section-title {
   margin: 0 auto;
   width: 30.4rem;
}

.p-interview__items {
   margin-top: 7.7rem;
}

.p-interview__item {
   background: #fff;
   border: 0.3rem solid #004C74;
   padding: 1.7rem 1.2rem 3.3rem;
}

.p-interview__item:not(:nth-child(1)) {
   margin-top: 11.2rem;
}

.p-interview__item-head {
   align-items: flex-end;
   display: flex;
   gap: 0 2rem;
   position: relative;
}

/* 吹き出し */

.p-interview__item-text {
   background: url(./../images/interview_fukidashi.webp) no-repeat center;
   background-size: 100%;
   color: #004C74;
   display: flex;
   font-size: 1.6rem;
   font-weight: 900;
   justify-content: center;
   line-height: 1.4;
   padding: 2rem 0 1.9rem 2.4rem;
   position: absolute;
   right: -1rem;
   top: -6.3rem;
   width: 24.2rem;
}

.p-interview__img {
   height: 22.2rem;
   width: 9.8rem;
}

.p-interview__img img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

.p-interview__info {
   color: #004C74;
   flex: 1;
   padding-bottom: 1rem;
}

.p-interview__info-title span {
   display: block;
   font-size: 1.8rem;
   font-weight: 700;
   margin-top: 0.9rem;
}

.p-interview__table {
   align-items: flex-start;
   display: flex;
   flex-direction: column;
   font-weight: 700;
   gap: 1.2rem 0;
   margin-top: 2.2rem;
}

.p-interview__table-flex {
   display: flex;
   justify-content: center;
}

.p-interview__table dt {
   text-align: right;
   width: 9.1rem;
}

.p-interview__table dt::after {
   content: ":";
   margin: 0 0.5rem;
}

/* Q&A 
---------------------------*/

.p-interview__body {
   margin-top: 3.5rem;
}

.p-interview__list {
   align-items: flex-end;
   display: flex;
   gap: 0 1.7rem;
   position: relative;
}

.p-interview__list:not(:nth-child(1)) {
   margin-top: 5.5rem;
}

.p-interview__list::after {
   background: #004C74;
   bottom: -2.5rem;
   content: "";
   display: block;
   height: 0.1rem;
   left: 50%;
   position: absolute;
   transform: translate(-50%, 0);
   width: 10rem;
}

.p-interview__list:last-child::after {
   display: none;
}

.p-interview__list-title {
   padding-bottom: 0.7rem;
   width: 2rem;
}

.p-interview__faq {
   color: #004C74;
   flex: 1;
}

.p-interview__faq-q {
   display: flex;
   font-size: 1.8rem;
   font-weight: 700;
   line-height: 1.333;
}

.p-interview__faq-q::before {
   content: "Q.";
}

.p-interview__faq-a {
   font-weight: 400;
   margin-top: 0.6rem;
}

/*
 * p-merit
 * -------------------------------------------------------------
 */

.p-merit__section-title {
   padding-left: 2rem;
}

.p-merit__items {
   display: flex;
   flex-direction: column;
   gap: 6rem 0;
   margin-top: 2rem;
}

.p-merit__item-head {
   background: #00a6d6;
   border-radius: 1rem 0 0 1rem;
   color: #fff;
   margin-left: auto;
   padding: 1rem 0 0.4rem 7rem;
   position: relative;
   width: 30rem;
}

.p-merit__item:nth-child(even) .p-merit__item-head {
   border-radius: 0px 1rem 1rem 0px;
   margin-left: 0;
   margin-right: auto;
   padding: 1rem 7rem 0.4rem 1.5rem;
}

.p-merit__item-head::before {
   background-color: #00a6d6;
   border-radius: 1rem 0 0 1rem;
   bottom: 0;
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   right: calc(50% - 50vw);
   top: 0;
   z-index: -1;
}

.p-merit__item:nth-child(even) .p-merit__item-head::before {
   border-radius: 0px 1rem 1rem 0px;
   left: calc(50% - 50vw);
   right: 0;
}

.p-merit__item img {
   left: -5.3rem;
   position: absolute;
   top: -1.2rem;
   width: 11.8rem;
}

.p-merit__item:nth-child(even) img {
   left: auto;
   left: initial;
   right: -4.7rem;
   width: 12.6rem;
}

.p-merit__item:nth-child(3) img {
   left: -4.8rem;
}

.p-merit__title {
   font-size: 2rem;
   font-weight: 700;
}

.p-merit__lead {
   letter-spacing: 0.075em;
   margin-top: 0.5rem;
}

.p-merit__text {
   margin-top: 2.5rem;
   padding: 0 1.5rem;
}

/*
 * p-step
 * -------------------------------------------------------------
 */

.p-step {
   background: #0f8ad5;
   margin-top: 15rem;
   padding-bottom: 5rem;
   position: relative;
}

.p-step::before {
   -webkit-clip-path: polygon(100% 100%, 100% 0, 0 100%);
   background: #0f8ad5;
   clip-path: polygon(100% 100%, 100% 0, 0 100%);
   content: "";
   display: block;
   height: 15rem;
   position: absolute;
   top: -14.9rem;
   width: 100%;
}

.p-step__img {
   -webkit-clip-path: polygon(0 30%, 100% 50%, 100% 100%, 0% 100%);
   -webkit-clip-path: polygon(0 35%, 100% 60%, 100% 100%, 0% 100%);
   background: url(./../images/step_img.webp) no-repeat center;
   background-position-x: 1rem;
   background-position-y: -4rem;
   background-size: 100%;
   clip-path: polygon(0 35%, 100% 60%, 100% 100%, 0% 100%);
   height: 32.15rem;
   left: -16rem;
   position: absolute;
   top: -27rem;
   width: 42.5rem;
   width: 56.5rem;
   z-index: -1;
}

.p-step__section-title span {
   color: #fff;
   display: block;
   font-size: 1.8rem;
   font-weight: 800;
   letter-spacing: 0.13em;
   margin-bottom: 1rem;
   text-align: center;
}

.p-step__items {
   display: flex;
   flex-direction: column;
   gap: 7rem 0;
   margin-top: 4.6rem;
}

.p-step__item {
   background: #fff;
   border-radius: 1.5rem;
   padding: 3rem 0 1.7rem;
   position: relative;
   text-align: center;
}

.p-step__item::after {
   background: url(./../images/step_arrow.webp) no-repeat center;
   background-size: 100%;
   bottom: -3.7rem;
   content: "";
   display: block;
   height: 1.7rem;
   left: 50%;
   margin: 0 auto;
   position: absolute;
   transform: translate(-50%, 0);
   width: 1.9rem;
}

.p-step__item:last-child::after {
   display: none;
}

.p-step__item-img {
   position: absolute;
   right: 0.1rem;
   top: -4.5rem;
   width: 8rem;
}

.p-step__title-tag {
   align-items: center;
   background: #ffad33;
   border-radius: 1rem;
   color: #fff;
   display: grid;
   font-family: "Roboto", sans-serif;
   font-size: 2.5rem;
   font-weight: 700;
   height: 2.9rem;
   justify-items: center;
   letter-spacing: 0.08em;
   margin: -4.5rem auto 0;
   place-items: center;
   text-transform: uppercase;
   width: 10.6rem;
}

.p-step__title {
   font-size: 2.5rem;
   font-weight: 700;
   letter-spacing: 0.06em;
   margin-top: 1.3rem;
}

.p-step__text {
   font-size: 1.6rem;
   font-weight: 600;
   line-height: 1.75;
   margin-top: 1rem;
}

.p-step__item-btn {
   margin-top: 1rem;
}

.p-step__tel-wrap {
   margin-top: 1.5rem;
}

.p-step__tel-wrap span {
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-size: 1.1rem;
   font-weight: 700;
   letter-spacing: 0.04em;
}

.p-info__tel {
   align-items: center;
   color: #FFAD33;
   display: flex;
   font-family: "Roboto", sans-serif;
   font-size: 2.1rem;
   font-weight: 500;
   gap: 0 1.1rem;
   justify-content: center;
   letter-spacing: 0.04em;
   margin-top: 0.6rem;
}

.p-info__tel::before {
   background: url(./../images/tel_icon.webp) no-repeat center;
   background-size: 100%;
   content: "";
   display: inline-block;
   height: 1.8rem;
   width: 1.8rem;
}

.p-step__guide span {
   color: #fff;
}

.p-step__btn {
   margin: 0 auto;
   width: 22.6rem;
}

.p-step__item-button {
   margin: 1rem auto 0;
}

.p-step__flow {
   margin-top: 1.6rem;
   position: relative;
   z-index: 1;
}

.p-step__flow::before {
   background: #333;
   content: "";
   display: inline-block;
   height: 11.7rem;
   left: 50%;
   position: absolute;
   top: 0;
   transform: translate(-50%, 0);
   width: 0.1rem;
   z-index: -1;
}

.p-step__flow::after {
   background: url(./../images/step_arrow02.webp) no-repeat center;
   background-size: 100%;
   content: "";
   display: block;
   height: 1.1rem;
   margin: 1.5rem auto 0;
   width: 1.2rem;
}

.p-step__flow li {
   background: #0f8ad5;
   border: 0.1rem solid #333;
   color: #fff;
   display: block;
   font-size: 1.5rem;
   font-weight: 600;
   letter-spacing: 0.04em;
   margin: 0 auto;
   padding: 0.2rem 0.5rem 0.4rem;
   width: -moz-fit-content;
   width: fit-content;
}

.p-step__flow li:not(:nth-child(1)) {
   margin-top: 2.5rem;
}

.p-step__flow-box {
   margin: 0 auto;
   position: relative;
   width: 28rem;
   z-index: 1;
}

.p-step__flow-box::after {
   background: #fff;
   border: 0.1rem solid #333;
   content: "";
   display: block;
   height: 100%;
   left: 0.54rem;
   position: absolute;
   top: 0.53rem;
   width: 100%;
   z-index: -1;
}

.p-step__flow-box ul {
   align-items: flex-start;
   background: #0f8ad5;
   border: 0.1rem solid #333;
   display: flex;
   flex-direction: column;
   gap: 1.6rem 0;
   margin: 0.5rem auto;
   padding: 1.1rem 1.5rem;
   position: relative;
   width: 28rem;
   z-index: 2;
}

.p-step__flow-box li {
   color: #fff;
   font-size: 1.4rem;
   font-weight: 600;
   letter-spacing: 0.04em;
}

@media screen and (min-width: 438px) {

   .l-header {
      border-left: 3px solid #004c74;
      border-right: 3px solid #004c74;
   }

   .l-wrap {
      border-left: 3px solid #004c74;
      border-right: 3px solid #004c74;
   }

   .c-nav__item a {
      font-size: 1.39rem;
   }

}

@media screen and (min-width: 1025px) {

   a[href^="tel:"] {
      pointer-events: none;
   }

}


/*# sourceMappingURL=style.css.map */