html,section {
	scroll-margin-top: 100px;
	scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 1.4;
}
img {
    width: 100%;
}
section {
    scroll-margin-top: 100px;
}
.l-content {
    max-width: unset;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
    z-index: unset;
    padding-top: 100px !important;
    display: block;
}
@media only screen and (max-width: 980px) {
    .l-content {
        padding-top: 77px !important;
    }
}
@media only screen and (max-width: 680px) {
    .l-content {
        padding-top: 60px !important;
    }
}
/* 共通ここから */
.pc {
  display: block !important;
}

.pc_tab {
  display: block;
}

.sp {
  display: none !important;
}

.tab_only {
  display: none !important;
}

.sp_only {
  display: none !important;
}

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

  .sp {
    display: block !important;
  }

  .tab_only {
    display: block !important;
  }
}

@media only screen and (max-width: 680px) {
  .pc_tab {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }

  .tab_only {
    display: none !important;
  }
}
.font_blue {
    color: #0A3F9A;
}
main {
    padding-top: 100px;
}
.section_inner {
    max-width: 1180px;
    width: 100%;
    margin: auto;
}
@media only screen and (max-width: 1250px) {
    .section_inner {
        padding: 0 20px;
    }
}
@media only screen and (max-width: 980px) {
    main {
        padding-top: 97px;
    }
}
@media only screen and (max-width: 680px) {
    main {
        padding-top: 80px;
    }
}
/* ボタン */
.tel_btn {
    text-align: center;
}
.tel_btn_link {
    display: block;
    max-width: 470px;
    width: 100%;
    border-radius: 20px;
    background-color: #EAEDF2;
    border: 3px solid #3B4D86;
    padding: 35px 0;
}

.more_btn {
    text-align: center;
}
.more_btn_link {
    display: block;
    max-width: 360px;
    width: 100%;
    margin: auto;
    background-color: #3B4D86;
    border: 3px solid #3B4D86;
    border-radius: 50px;
    padding: 25px 0;
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    letter-spacing: 0.1em;
}
.more_btn_link:hover {
    background-color: #fff;
    color: #3B4D86;
}
.tel_btn_number {
    position: relative;
    display: block;
    padding-left: 45px;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-bottom: 10px;
    line-height: 1.2;
}
.tel_btn_number::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 5px;
    width: 35px;
    height: 35px;
    background-image: url("/wp-content/uploads/2025/06/tel_btn_icon_white.webp");
    background-size: cover;
}
.tel_btn_number::after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: 1px;
    background-color: #fff;
}
.tel_btn_number_text {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.05em;
}
@media only screen and (max-width: 980px) {
    .tel_btn_link_inner {
        max-width: 255px;
    }
    .tel_btn_number span {
        font-size: 32px;
    }
    .tel_btn_number {
        padding-left: 40px;
    }
    
    .more_btn_link {
        padding: 20px 0;
        font-size: 22px;
    }
}
@media only screen and (max-width: 680px) {
    .more_btn_link {
        padding: 15px 0;
        font-size: 20px;
    }
    .tel_btn_number {
        font-size: 28px;
    }
    .tel_btn_number::before {
        bottom: unset;
        top: 3px;
        left: 5px;
    }
    .tel_btn_number_text {
        display: block;
        padding-top: 3px;
    }
}
/* テキスト */
.section_title {
    display: block;
    position: relative;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    color: #333;
    margin-bottom: 30px;
}
.section_title::after {
    position: absolute;
    content: "♦♦♦";
    font-size: 16px;
    font-weight: bold;
    color: #3B4D86;
    text-align: center;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;
}
.section_text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.1em;
    color: #333;
}
@media only screen and (max-width: 980px) {
    .section_title {
        font-size: 32px;
    }
}
@media only screen and (max-width: 680px) {
    .section_title {
        font-size: 24px;
    }
    .section_title::after {
        font-size: 14px;
        bottom: -20px;
    }
    .section_text {
        font-size: 14px;
    }
}
/* 共通ここまで */




/* メインビジュアル */
.mv {
    position: relative;
    /* background-image: url("/wp-content/uploads/2025/06/fv_img.webp");
    background-size: cover; */
    padding-top: 175px;
    padding-bottom: 115px;
}
.mv_bg_img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mv_bg_img img {
    height: 100%;
    object-fit: cover;
}
.mv::after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.25);
    z-index: 2;
}
.mv::before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 40px;
    background-image: url("/wp-content/uploads/2025/06/fv_bottm_img.webp");
    background-size: cover;
    z-index: 3;
}
.mv .section_inner {
    position: relative;
    z-index: 4;
}
.mv_main_title,
.mv_sub_title {
    display: block;
    color: #000;
    text-shadow: 0px 4px 4px #FFF;
    font-weight: bold;

}
.mv_main_title {
    font-size: 48px;
    line-height: 1.45;
    margin-bottom: 15px;
}
.mv_sub_title {
    font-size: 20px;
    line-height: 2.25;
    margin-bottom: 55px;
}
.mv_tel_btn {
    max-width: 310px;
}
.mv_tel_btn_link {
    display: block;
    padding: 7px;
    background-color: #3B4D86;
    border: 3px solid #3B4D86;
    border-radius: 15px;
    color: #fff;
    text-align: center;
}

.mv_tel_btn_link:hover {
    color: #3B4D86;
    background-color: #fff;
}
.mv_tel_btn_link .tel_btn_number::before {
    top: 2px;
    bottom: unset;
}
.mv_tel_btn_link:hover .tel_btn_number::before {
    background-image: url("/wp-content/uploads/2025/06/tel_btn_icon_blue.webp");
}
.mv_tel_btn_link:hover .tel_btn_number::after {
    background-color: #3B4D86;
}

@media only screen and (max-width: 980px) {
    .mv {
        background-position: center;
        padding-top: 150px;
        padding-bottom: 100px;
    }
    .mv_main_title {
        font-size: 28px;
    }
    .mv_sub_title {
        font-size: 18px;
    }

}
@media only screen and (max-width: 680px) {
    .mv {
        padding-top: 30px;
        padding-bottom: 50px;
    }
    .mv_bg_img img {
        object-position: center;
    }
    .mv_main_title {
        font-size: 28px;
        margin-bottom: 10px;
    }
    .mv_sub_title {
        font-size: 16px;
        line-height: 1.2;
        margin-bottom: 200px;
    }
    .mv_tel_btn {
        margin: auto;
    }
    .mv_tel_btn .tel_btn_number::before {
        width: 30px;
        height: 30px;
    }
    .mv_tel_btn .tel_btn_number::after {
        width: 100%;
    }
    .mv_tel_btn_link {
        padding: 7px 20px;
    }
    .mv::before {
        background-image: url("/wp-content/uploads/2025/06/fv_bottm_img_sp.webp");
        height: 35px;
    }
}
/* プラン紹介 */
.plan {
    padding: 60px 0 50px;
    background-color: #F7F7F7;
}
.plan_container {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 75px;
}
.plan_item {
    position: relative;
    max-width: 380px;
    width: calc(100% / 3 - 20px);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.plan_item::before,
.plan_item::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 15px;
    left: 0;
    background-color: #8DBE7F;
}
.plan_item::before {
    top: 0;
}
.plan_item::after {
    bottom: 0;
}
.plan_item:nth-child(2)::before,
.plan_item:nth-child(2)::after {
    background-color: #C9A05F;
}
.plan_item:last-child:before,
.plan_item:last-child::after {
    background-color: #B279BE;
}
.plan_item_inner {
    padding: 40px 0 35px;
    max-width: 320px;
    width: 100%;
    margin: auto;
}
.plan_item_title {
    display: block;
    font-size: 38px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    color: #2F624C;
    margin-bottom: 20px;
}
.plan_item:nth-child(2) .plan_item_title {
    color: #867439;
}
.plan_item:last-child .plan_item_title {
    color: #884695;
}
.plan_item_img {
    max-width: 250px;
    width: 80%;
    margin: auto;
    margin-bottom: 25px;
}
.plan_item_img img {
    border-radius: 20px;
}
.plan_item_price_container {
    max-width: 295px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 30px;
}
.plan_item_main_price {
    max-width: 185px;
    width: 100%;
    color: #D93D3D;
    font-size: 60px;
    font-weight: bold;
    line-height: 1.2;
}
.plan_item_main_price span {
    position: relative;
    font-size: 28px;
}
.plan_item_main_price span::before {
    position: absolute;
    content: "(税抜)";
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: #D93D3D;
    top: -15px;
    left: 0;
}
.plan_item_sub_price {
    position: relative;
    max-width: 100px;
    width: 100%;
    color: #555555;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    display: flex;
    align-items: baseline;
}
.plan_item_sub_price span {
    position: relative;
    font-size: 14px;
    padding-bottom: 2px;
}
.plan_item_sub_price::before {
    position: absolute;
    content: "税込価格";
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    color: #555555;
    top: -20px;
    left: 0;
}
.plan_item_text_list,
.plan_item_text {
    max-width: 290px;
    width: 100%;
    margin: auto;
}
.plan_item_text_list {
    padding: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}
.plan_item_text_list li {
    position: relative;
    padding-left: 1.5em;
    display: block;
}
.plan_item_text_list li::before {
    position: absolute;
    left: 0;
    content: "●";
    font-size: 1em;
    line-height: 1.6;
}
.plan_item_text {
    font-size: 16px;
    line-height: 1.6;
    color: #000;
}
.plan_sub_heading {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #000;
    padding-bottom: 20px;
    border-bottom: 1px solid #000;
    max-width: 950px;
    width: 100%;
    margin: auto;
    margin-bottom: 20px;
}
.plan_text {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: 0.1em;
    color: #333;
    margin-bottom: 65px;
}
.plan_container_sub_title {
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #333;
    margin-bottom: 30px;
}
.plan_container.plan_sub_item_container {
    max-width: 820px;
    margin: auto;
    justify-content: space-between;
}
.plan_sub_item:nth-child(1)::before,
.plan_sub_item:nth-child(1)::after {
    background-color: #7F95BE;
}
.plan_sub_item:nth-child(2)::before,
.plan_sub_item:nth-child(2)::after {
    background-color: #BE7F85;
}
.plan_sub_item:nth-child(1) .plan_item_title {
    color: #2F3D62;
}
.plan_sub_item:nth-child(2) .plan_item_title {
    color: #622F3E;
}
.plan_sub_item {
    width: calc(100% / 2 - 20px);
    position: relative;
    max-width: 380px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.plan_sub_item::before,
.plan_sub_item::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 15px;
    left: 0;
    background-color: #8DBE7F;
}
.plan_sub_item::before {
    top: 0;
}
.plan_sub_item::after {
    bottom: 0;
}
@media only screen and (max-width: 1150px) {
    .plan_item_inner {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media only screen and (max-width: 980px) {
    .plan {
        padding: 50px 0;
    }
    .plan_item_inner {
        padding-left: 20px;
        padding-right: 20px;
    }
    .plan_sub_heading {
        font-size: 20px;
        padding-bottom: 5px;
    }
    .plan_text {
        font-size: 16px;
        margin-bottom: 30px;
    }
    .plan_container {
        margin-bottom: 40px;
        justify-content: space-around;
        flex-wrap: wrap;
        gap: 30px 0;
    }
    .plan_item {
        width: calc(100% / 3 - 15px);
    }
    .plan_item_inner {
        padding-left: 15px;
        padding-right: 15px;
    }
    .plan_container_sub_title {
        font-size: 28px;
    }
    .plan_item_title {
        font-size: 26px;
    }
    .plan_item_price_container {
        margin-bottom: 20px;
        text-align: center;
    }
    .plan_item_main_price {
        width: 55%;
        font-size: 28px;
    }
    .plan_item_main_price span {
        font-size: 18px;
    }
    .plan_item_main_price span::before {
        font-size: 12px;
        top: -10px;
    }
    .plan_item_sub_price {
        width: 45%;
        font-size: 16px;
    }
    .plan_item_sub_price::before {
        font-size: 10px;
        top: -12px;
    }
    .plan_item_text_list {
        font-size: 15px;
    }
    .plan_container.plan_sub_item_container {
        max-width: 680px;
    }
}
@media only screen and (max-width: 680px) {
    .plan {
        padding: 30px 0;
    }
    .plan_sub_heading {
        font-size: 20px;
        padding-bottom: 5px;
    }
    .plan_text {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .plan_container {
        flex-direction: column;
        gap: 30px;
        margin-bottom: 30px;
    }
    .plan_sub_item,
    .plan_item {
        width: 100%;
        margin: auto;
    }
    .plan_container_sub_title {
        font-size: 24px;
    }
    .plan_item_inner {
        padding-top: 35px;
        padding-bottom: 35px;
    }
    .plan_item_title {
        font-size: 24px;
    }
    .plan_item_price_container {
        justify-content: space-around;
    }
    .plan_item_main_price {
        font-size: 32px;
        width: 40%;
    }
    .plan_item_main_price span {
        font-size: 22px;
    }
    .plan_item_main_price span::before {
        font-size: 14px;
    }
    .plan_item_sub_price {
        font-size: 18px;
        width: 30%;
    }
    .plan_item_sub_price span {
        font-size: 12px;
    }
    .plan_item_sub_price::before {
        font-size: 13px;
    }
    .plan_item_img {
        margin-bottom: 20px;
    }
}
/* CTA */
.cta {
    padding: 90px 0;
    background-color: #3B4D86;
}
.cta_container {
    border-radius: 20px;
    background-color: #fff;
}
.cta_container_inner {
    padding: 55px 0;
    max-width: 890px;
    width: 100%;
    margin: auto;
}
.cta_title {
    display: block;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #3B4D86;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-bottom: 35px;
}
.cta .tel_btn_link {
    position: relative;
    max-width: 435px;
    margin: auto;
    padding: 25px 0;
    background-color: #EAEDF2;
    border: 3px solid #3B4D86;
    color: #3B4D86;
    border-radius: 15px;
}
.cta .tel_btn_link:hover {
    color: #fff;
    background-color: #3B4D86;
}
.cta .tel_btn_link_inner {
    max-width: 320px;
    width: 100%;
    margin: auto;
}
.cta .tel_btn {
    position: relative;
    padding: 0 5px;
}
.cta .tel_btn::before {
    position: absolute;
    content: "";
    width: 183px;
    height: 137px;
    left: 0;
    bottom: 0;
    background-image: url("/wp-content/uploads/2025/06/cta_icon.webp");
    background-size: cover;
}
.cta .tel_btn_number {
    font-size: 36px;
    line-height: 1.1;
    padding-right: 5px;
}
.cta .tel_btn_number::after {
    background-color: #3B4D86;
    width: 100%;
}
.cta .tel_btn_link:hover .tel_btn_number::after {
    background-color: #fff;
}

.cta .tel_btn_number::before {
    top: 3px;
    bottom: unset;
    background-image: url("/wp-content/uploads/2025/06/tel_btn_icon_blue.webp");
}
.cta .tel_btn_link:hover .tel_btn_number::before {
    background-image: url("/wp-content/uploads/2025/06/tel_btn_icon_white.webp");
}
.cta .tel_btn_number_text {
    padding-left: 0;
}
@media only screen and (max-width: 980px) {
    .cta {
        padding: 50px 0;
    }
    .cta .tel_btn {
        padding-left: 60px;
    }
    .cta .tel_btn::before {
        width: 150px;
        height: 120px;
        margin: auto;
    }
    .cta .tel_btn_link_inner {
        max-width: 285px;
    }
    .cta .tel_btn_link {
        max-width: 400px;
    }
    .cta_container_inner {
        padding: 30px 20px;
    }
    .cta .tel_btn_number {
        font-size: 32px;
    }
    .cta .tel_btn_number::before {
        width: 30px;
        height: 30px;
    }
    .cta .tel_btn_number::before {
        top: 6px;
    }
    .cta_title {
        font-size: 24px;
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 680px) {
    .cta {
        padding: 30px 0;
    }
    .cta_container_inner {
        padding: 20px;
    }
    .cta .tel_btn {
        padding-left: 0;
    }
    .cta .tel_btn::before {
        display: none;
    }
    .cta .tel_btn_number {
        padding-left: 30px;
    }
    .cta .tel_btn_number {
        font-size: 26px;
    }
    .cta .tel_btn_number::before {
        top: 3px;
        width: 25px;
        height: 25px;
    }
    .cta .tel_btn_link_inner {
        padding: 0 20px;
    }
    .cta .tel_btn_link {
        padding: 15px 0;
    }
    .cta_title {
        font-size: 20px;
        margin-bottom: 20px;
        line-height: 1.4;
    }
}
/* 選ばれる理由 */
.reason {
    position: relative;
    padding: 80px 0 140px;
    background-color: #fff;
}
.reason_bg {
    position: absolute;
    width: 100%;
    height: 50%;
    left: 0;
    top: 0;
    background-color: #FAF7EB;
}
.reason .section_title {
    margin-bottom: 80px;
}
.reason_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 0;
}
.reason_item {
    position: relative;
    max-width: 560px;
    width: calc(100% / 2 - 20px);
    padding-top: 40px;
    display: flex;
    flex-direction: column;
}
.reason_item_number {
    position: absolute;
    background-color: #3B4D86;
    color: #fff;
    border-radius: 50%;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 32px;
    display: flex;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    padding: 15px;
    text-align: center;
    width: 75px;
    height: 75px;
}
.reason_item_container {
    background-color: #fff;
    border: 1px solid #FAFAFA;
    border-radius: 20px;
    display: flex;
    flex: 1;
    flex-direction: column;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.20);
}
.reason_item_inner {
    max-width: 480px;
    width: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 45px 0 30px;
}
.reason_item_img {
    max-width: 265px;
    width: 100%;
    margin: auto;
    margin-bottom: 10px;
}
.reason_item_title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #3B4D86;
    margin-bottom: 15px;
}
.reason_item_text {
    color: #333;
    font-size: 18px;
    line-height: 1.65;
    letter-spacing: 0.05em;
}
.reason_item_text span {
    font-weight: bold;
}
@media only screen and (max-width: 1200px) {
    .reason_item_inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media only screen and (max-width: 980px) {
    .reason {
        padding: 60px 0 100px;
    }
    .reason .section_title {
        margin-bottom: 60px;
    }
    /* .reason_container {
        flex-direction: column;
        gap: 50px;
    }
    .reason_item {
        max-width: 450px;
        width: 100%;
        margin: auto;
    } */
    .reason_item_inner {
        padding: 50px 20px 20px;
    }
    .reason_item_img {
        margin-bottom: 30px;
    }
    .reason_item_text {
        font-size: 16px;
    }
}
@media only screen and (max-width: 680px) {
    .reason {
        padding: 50px 0 80px;
    }
    .reason .section_title {
        margin-bottom: 50px;
    }
    .reason_container {
        gap: 30px;
    }
    .reason_item {
        width: 100%;
        padding-top: 30px;
    }
    .reason_item_inner {
        padding: 40px 20px 20px;
    }
    .reason_item_img {
        margin-bottom: 20px;
    }
    .reason_item_number {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }
    .reason_item_inner {
        padding-top: 40px;
    }
    .reason_item_img {
        margin-bottom: 20px;
    }
    .reason_item_title {
        font-size: 24px;
    }
    .reason_item_text {
        font-size: 14px;
    }
}
/* 感謝の声 */
.reviews {
    background-color: #FAF7EB;
    padding: 80px 0 120px;
}
.reviews .section_title {
    margin-bottom: 95px;
}
.reviews_container {
    max-width: 700px;
    width: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.reviews_item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.reviews_item::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 15px;
    background-color: #BEA579;
}
.reviews_item:nth-child(2):before {
    background-color: #97CAE2;
}
.reviews_item:nth-child(3):before {
    background-color: #BE7998;
}
.reviews_item_inner {
    padding: 30px 0 25px;
    max-width: 620px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 35px;
}
.reviews_item_img {
    width: 130px;
}
.reviews_item_text {
    max-width: 440px;
    width: calc(100% - 170px);
    font-size: 16px;
    line-height: 1.6;
    color: #000;
}




@media only screen and (max-width: 980px) {
    .reviews {
        padding: 60px 0 100px;
    }
    .reviews .section_title {
        margin-bottom: 60px;
    }
    .reviews_item_img {
        width: 100px;
    }
}

@media only screen and (max-width: 680px) {
    .reviews {
        padding: 50px 0 80px;
    }
    .reviews .section_title {
        margin-bottom: 50px;
    }
    .reviews_item_inner {
        padding-left: 20px;
        padding-right: 20px;
    }
    .reviews_item_inner {
        flex-direction: column;
        gap: 20px;
        padding-top: 35px;
        padding-bottom: 20px;
    }
    .reviews_item_text {
        width: 100%;
        max-width: unset;
        font-size: 14px;
    }

}
/* 流れ */
.flow {
    padding: 90px 0 100px;
}
.flow .section_title {
    margin-bottom: 50px;
}
.flow .section_text {
    margin-bottom: 55px;
}
.flow_img_sp {
    display: none;
}
.flow_img_pc {
    margin-bottom: 60px;
}
.flow_btn {
    max-width: 930px;
    width: 100%;
    margin: auto;
}
.flow_btn_container {
    position: relative;
    max-width: 360px;
    width: 100%;
    margin: auto;
    text-align: center;
    background-color: #3B4D86;
    border: 3px solid #3B4D86;
    border-radius: 50px;
    list-style: none;
    padding: 25px 0;
    cursor: pointer;
}
.flow_btn_title {
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0.1em;
    color: #fff;
    line-height: 1.2;
}
.flow_btn_container:before,
.flow_btn_container::after {
    content: "";
    position: absolute;
    background-color: #fff;
    border-radius: 5px;
    width: 3px;
    bottom: 0;
    height: 15px;
    margin: auto 0;
    top: 0;
    transition: transform .3s;
}
.flow_btn_container:before {
    position: absolute;
    right: 30px;
    rotate: 90deg;
}
.flow_btn_container::after {
    right: 30px;
    transition: rotate .3s;
}
.flow_btn[open] .flow_btn_container::after {
    rotate: 90deg;
}

.flow_btn_container::-webkit-details-marker {
    display: none;
}
.flow_item_cotainer {
    margin-top: 60px;
}
.flow_item {
    font-size: 16px;
    border-radius: 20px;
    background-color: #ECEEF3;
    margin-bottom: 30px;
}
.flow_item_inner {
    max-width: 830px;
    width: 100%;
    margin: auto;
    padding: 30px 0 35px;
}
.flow_item_title {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    color: #000;
    line-height: 1.2;
    display: flex;
    gap: 13px;
    align-items: center;
    margin-bottom: 25px;
}
.flow_item_title_number {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #3B4D86;
    display: flex;
}
.flow_item_title_number span {
    margin: auto;
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
}
.flow_item_text {
    
    font-weight: bold;
}
.flow_item_list {
    margin-bottom: 10px;
}
.flow_item_list li {
    position: relative;
    padding-left: 1.5em;
    
    font-weight: 500;
    line-height: 1.6;
    color: #000;
}
.flow_item_list li::before {
    position: absolute;
    content: "●";
    left: 0;
    top: 0;
    font-size: 1em;
    line-height: 1.6;
}
.flow_item_list li span {
    position: relative;
    display: block;
    font-weight: 400;
    padding-left: 1em;
}
.flow_item_list li span::before {
    position: absolute;
    content: "※";
    left: 0;
    font-size: 1em;
    line-height: 1.6;
}
.flow_item_list_blue {
    color: #0A3F9A;
}
.flow_item_box {
    background-color: #fff;
    border: 2px solid #3B4D86;
    border-radius: 20px;
    max-width: 680px;
    width: 100%;
    margin-bottom: 10px;
}
.flow_item_box_inner {
    max-width: 600px;
    width: 100%;
    margin: auto;
    padding: 20px 0;
}
.flow_item_box_text {
    color: #0C1739;
    font-weight: 500;
}
.flow_item_box_title {
    
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
    color: #000;
}
.flow_item_box_list {
    padding: 0;
    margin-bottom: 10px;
}
.flow_item_box_list li {
    
    line-height: 1.6;
    color: #0C1739;
}
.flow_item_box_list li span {
    position: relative;
    display: block;
    padding-left: 1em;
}
/* .flow_item_box_list li span::before {
    position: absolute;
    content: "※";
    left: 0;
    font-size: 1em;
    line-height: 1.6;
} */
.flow_item_box_annotation {
    position: relative;
    padding-left: 1em;
    color: #0A3F9A;
    
    font-weight: bold;
    line-height: 1.6;
}
.flow_item_box_annotation span {
    color: #0C1739;
}
.flow_item_box_annotation::before {
    position: absolute;
    content: "※";
    left: 0;
    font-size: 1em;
    line-height: 1.6;
}
@media only screen and (max-width: 980px) {
    .flow {
        padding: 60px 0 80px;
    }
    .flow .section_title {
        margin-bottom: 60px;
    }
    .flow .section_text {
        margin-bottom: 30px;
    }
    .flow_btn_container {
        padding: 15px 0;
    }
    .flow_btn_title {
        font-size: 22px;
    }
    .flow_item_cotainer {
        margin-top: 40px;
    }
    .flow_item_inner {
        padding: 25px 20px;
    }
    .flow_item_box_inner {
        padding: 20px;
    }
    .flow_item_title {
        font-size: 22px;
    }
}
@media only screen and (max-width: 680px) {
    .flow {
        padding: 50px 0 60px;
    }
    .flow .section_title {
        margin-bottom: 50px;
    }
    .flow .section_text {
        margin-bottom: 20px;
    }
    .flow_img_pc {
        display: none;
    }
    .flow_img_sp {
        display: block;
        margin-bottom: 20px;
    }
    .flow_btn_container {
        padding: 10px 0;
    }
    .flow_btn_title {
        font-size: 20px;
    }
    .flow_item_cotainer {
        margin-top: 20px;
    }
    .flow_item {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .flow_item_title_number {
        width: 35px;
        height: 35px;
    }
    .flow_item_title_number span {
        font-size: 20px;
    }
    .flow_item_title {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .flow_item_box_title,
    .flow_item_box_list,
    .flow_item_box {
        margin-bottom: 5px;
    }
}
/* よくある質問 */
.faq {
    padding: 80px 0 85px;
    background-color: rgba(59, 77, 134, 0.10);
}
.faq .section_title {
    margin-bottom: 75px;
}
.faq_inner {
    max-width: 935px;
    width: 100%;
    margin: auto;
}
.faq_item {
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 20px;
}
.faq_item .faq_item_title_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 30px 100px;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}
.faq_item .faq_item_title_container:before,
.faq_item .faq_item_title_container::after {
    content: "";
    position: absolute;
    background-color: #3B4D86;
    border-radius: 5px;
    width: 3px;
    bottom: 0;
    height: 15px;
    margin: auto 0;
    top: 0;
    transition: transform .3s;
}
.faq_item .faq_item_title_container:before {
    position: absolute;
    right: 30px;
    rotate: 90deg;
}
.faq_item .faq_item_title_container::after {
    right: 30px;
    transition: rotate .3s;
}
.faq_item[open] .faq_item_title_container::after {
    rotate: 90deg;
}
/* .faq_item[open] .faq_item_title_container {
    padding-bottom: 25px;
} */
.faq_item_title_icon {
    position: absolute;
    content: "";
    font-family: "Poppins", sans-serif;
    font-size: 32px;
    font-weight: bold;
    left: 20px;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    margin: auto;
    color: #3B4D86;
}
.faq_item .faq_item_title_container::-webkit-details-marker {
    display: none;
}
.faq_item_title {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: bold;
    color: #3B4D86;
    line-height: 1.5;
}
.faq_item .faq_item_content {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 80px 45px 100px;
    transition: transform .5s;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #333;
}

.faq_item[open] .faq_item_content {
    transform: none;
    opacity: 1;
}
.faq_item_content_list {
    padding: 0;
    counter-reset: list-counter;
}
.faq_item_content_list li {
    position: relative;
    counter-increment: list-counter;
    padding-left: 1.5em;
    text-indent: 0px;
}
.faq_item_content_list li::before {
    content: counter(list-counter) ". ";
    position: absolute;
    left: 0;
    top: 0;
}

.faq_item_content a {
    color: #3B4D86;
    text-decoration: underline;
}
.faq_item_content a:hover {
    opacity: 0.6;
}
@media only screen and (max-width: 980px) {
    .faq {
        padding: 50px 0;
    }
    .faq .section_title {
        margin-bottom: 60px;
    }
    .faq_inner {
        padding: 0 20px;
    }
    .faq_item .faq_item_title_container,
    .faq_item .faq_item_content {
        padding-left: 80px;
        padding-right: 80px;
    }
    .faq_item_title_icon {
        font-size: 28px;
    }
}
@media only screen and (max-width: 680px) {
    .faq {
        padding: 30px 0;
    }
    .faq .section_title {
        margin-bottom: 50px;
    }
    .faq_item .faq_item_title_container,
    .faq_item .faq_item_content {
        padding-left: 50px;
        padding-right: 50px;
    }
    .faq_item_title_icon {
        font-size: 24px;
    }
}
/* アクセス */
.access {
    padding: 80px 0;
    background-color: #FAF7EB;
}
.access .section_title {
    margin-bottom: 85px;
}
.access_container {
    max-width: 1020px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.access_company {
    position: relative;
    max-width: 480px;
    width: 48%;
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
}
.access_company::before,
.access_company::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 20px;
    background-color: #EBAE66;
}
.access_company::before {
    top: 0;
}
.access_company::after {
    bottom: 0;
}
.access_company_inner {
    max-width: 360px;
    width: 100%;
    margin: auto;
    padding: 50px 0;
}
.access_company_title {
    font-size: 32px;
    font-weight: 500;
    color: #5A2A2A;
    text-align: center;
    margin-bottom: 25px;
}
.access_company_text {
    font-size: 20px;
    line-height: 1.4;
    color: #000;
    margin-bottom: 10px;
}
.access_company_list {
    padding: 0;
    font-size: 20px;
    margin-bottom: 25px;
}
.access_company_list li {
    position: relative;
    padding-left: 1em;
    display: block;
}
.access_company_list li::before {
    position: absolute;
    left: 0;
    content: "〇";
    font-size: 1em;
    line-height: 1.4;
}
.access_company_img {
    max-width: 300px;
    margin: auto;
    border-radius: 20px;
    overflow: hidden;
}
.access_map {
    max-width: 455px;
    width: 48%;
    border-radius: 20px;
    overflow: hidden;
}
.access_map iframe {
    padding-top: 20px;
    width: 100%;
}
@media only screen and (max-width: 980px) {
    .access {
        padding: 50px 0;
    }
    .access .section_title {
        margin-bottom: 60px;
    }
    .access_company_title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .access_company_inner {
        padding-left: 20px;
        padding-right: 20px;
    }
    .access_company_text,
    .access_company_list {
        font-size: 18px;
    }
}
@media only screen and (max-width: 680px) {
    .access_container {
        flex-direction: column;
        gap: 20px;
    }
    .access .section_title {
        margin-bottom: 50px;
    }
    .access_company,
    .access_map {
        max-width: unset;
        width: 100%;
    }
    .access_map iframe {
        padding-top: 0;
    }
    .access_company_inner {
        padding: 40px 20px;
    }
    .access_company::before, .access_company::after {
        height: 15px;
    }
    .access_company_title {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .access_company_text {
        font-size: 16px;
    }
    .access_company_list {
        font-size: 16px;
        margin-bottom: 10px;
    }
}

/* header */
header {
    position: fixed;
    top: 0;
    background: #fff;
    z-index: 999999;
    width: 100%;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10);
}
.header_inner {
    align-items: center;
    display: flex;
    margin: 0 auto;
    max-width: 1440px;
    padding: 17px 20px 18px 80px;
    width: 100%
}

.header_logo {
    margin-right: auto;
    max-width: 170px;
    width: 35%
}

.header_logo_img {
    cursor: default;
    display: block;
}

.header_logo_img,.header_nav {
    align-items: center;
    display: flex
}

.header_nav {
    justify-content: flex-end;
    max-width: 845px;
    width: 75%
}

.header_nav_menu {
    align-items: center;
    display: flex;
    gap: 0 20px;
    justify-content: space-between;
    max-width: 615px
}

.header_nav_menu_item_link {
    color: #000;
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    padding: 15px 0px;
    position: relative
}

.header_nav_menu_item_link:hover {
    opacity: .6
}

.navi_current {
    text-align: center;
    width: 16%
}

.header_contact {
    margin-left: 30px
}

@media only screen and (max-width: 1250px) {
    .header_inner {
        padding: 20px;
    }

}

@media only screen and (max-width: 1200px) {
    .header_nav {
        width: 85%;
    }
    .header_nav_menu {
        gap: 0 15px;
    }
    .header_nav_menu_item_link {
        font-size: 14px;
    }
    .header_contact {
        margin-left: 20px;
    }
}
@media only screen and (max-width: 980px) {
    .header_nav {
        display: none;
    }
    .header_nav_menu {
        flex-direction: column;
    }
    .header_logo {
        width: 200px;
        margin: auto;
    }
    .header_right_nav {
        margin-left: 30px;
    }
    .header_contact_item {
        width: 100%;
        margin: 10px 0;
    }
    .header_contact_item:last-child {
        margin-bottom: 0;
    }
    .header_contact_item,
    .header_recruit_item {
        width: 100%;
    }
    .header_recruit_item {
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 680px) {
    .header_inner {
        padding: 10px;
    }
    .header_logo {
        width: 120px;
    }
}











/* footer */
footer {
    background-color: #fff;
}
.footer_inner {
    max-width: 1050px;
    margin: auto;
    padding: 50px 0 15px;
    display: flex!important;
    justify-content: space-between;
    margin-bottom: 30px;
}
.footer_left {
    max-width: 270px;
    width: 30%;
}
.footer_logo {
    width: 170px;
    margin-bottom: 30px;
}
.footer_base {
    position: relative;
    padding-top: 20px;
    border-top: 1px solid #888888;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: -0.015em;
    color: #666666;
}
.footer_base a:hover {
    opacity: 0.6;
}
.footer_center {
    max-width: 305px;
    width: 35%;
    display: flex;
    justify-content: space-between;
}
.footer_nav_menu {
    padding: 0;
}
.footer_nav_menu li {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    line-height: 1.2;
    margin-bottom: 25px;
}
.footer_nav_menu li a:hover {
    opacity: 0.6;
}
.footer_nav_menu li:last-child {
    margin-bottom: 0;
}

.footer_right {
    width: 200px;
}
.navi_link_btn {
    border-radius: 15px;
    overflow: hidden;
    width: 200px;
    display: block;
    padding: 5px!important;
    color: #fff;
    border: 3px solid #3B4D86;
    background-color: #3B4D86;
}
.navi_link_btn:hover {
    color: #3B4D86;
    background-color: #fff;
}
.navi_link_btn_number {
    position: relative;
    padding-left: 21px;
    font-size: 21px;
    font-weight: bold;
    letter-spacing: 0.09em;
    padding-bottom: 5px;
    line-height: 1.1;
    color: #fff;
}
.navi_link_btn_number::before {
    position: absolute;
    content: "";
    left: 0;
    top: 3px;
    width: 18px;
    height: 18px;
    background-image: url("/wp-content/uploads/2025/06/navi_link_icon_white.webp");
    background-size: cover;
}
.navi_link_btn:hover .navi_link_btn_number {
    color: #3B4D86;
}
.navi_link_btn:hover .navi_link_btn_number::before {
    background-image: url("/wp-content/uploads/2025/06/navi_link_icon_blue.webp");
}
.navi_link_btn_number::after {
    position: absolute;
    content: "";
    width: 90%;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
}
.navi_link_btn:hover .navi_link_btn_number::after {
    background-color: #3B4D86;
}
.navi_link_btn_text {
    padding-top: 5px;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.navi_link_btn:hover .navi_link_btn_text {
    color: #3B4D86;
}
.footer_copyright {
    text-align: center;
    font-size: 14px;
    color: #000;
    line-height: 1.2;
    padding-bottom: 15px;
}


@media only screen and (max-width: 980px) {
    .footer_inner {
        display: none!important;
    }
    .footer_left,
    .footer_center,
    .footer_right {
        width: 100%;
        margin: auto;
    }
    .footer_left {
        max-width: unset;
        margin-bottom: 30px;
        text-align: center;
    }
    .footer_base {
        text-align: center;
    }
    .navi_link_btn {
        margin: auto;
    }
    .footer_center {
        margin-bottom: 30px;
    }



    .footer_top {
        background-color: #fff;
        padding: 100px 20px 50px;
        max-width: 800px;
        width: 100%;
        margin: auto;
    }
    .footer_nav_menu {
        border-top: 1px solid #BBBBBB;
    }
    .footer_nav_menu_item {
        border-bottom: 1px solid #BBBBBB;
    }
    .footer_nav_menu li {
        margin-bottom: 0;
    }
    .footer_nav_menu_item_link {
        position: relative;
        display: block;
        padding: 12px 15px;
        font-size: 14px;
        font-weight: 500;
    }
    .footer_nav_menu_item_link::after {
        position: absolute;
        content: "";
        right: 10px;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 7px;
        height: 14px;
        background-image: url("/wp-content/uploads/2025/06/footer_nav_icon.webp");
        background-size: cover;
    }
    .footer_middle {
        background-color: #CCA16D;
    }
    .footer_middle_inner {
        padding: 15px 0;
        max-width: 450px;
        width: 100%;
        margin: auto;
        display: flex;
        justify-content: space-between;
    }
    .footer_middle_left {
        width: 200px;
        border-radius: 10px;
        padding: 12px 0;
        background-color: #fff;
        color: #CCA16D;
        text-align: center;
        font-size: 14px;
        font-weight: bold;
        letter-spacing: 0.05em;
        line-height: 1.2;
    }
    .footer_middle_btn {
        width: 210px;
        display: flex;
        align-items: center;
    }
    .footer_middle_btn_link {
        position: relative;
        padding-left: 30px;
        font-size: 24px;
        font-weight: bold;
        text-decoration: underline;
        color: #fff;
    }
    .footer_middle_btn_link:hover {
        opacity: 0.6;
    }
    .footer_middle_btn_link::before {
        position: absolute;
        content: "";
        left: 0;
        top: 5px;
        width: 26px;
        height: 26px;
        background-image: url("/wp-content/uploads/2025/06/footer_middle_btn_icon.webp");
        background-size: cover;
    }
    .footer_bottom {
        padding: 30px 0;
        background-color: #333;
    }
    .footer_bottom_inner {
        max-width: 650px;
        width: 100%;
        margin: auto;
    }
    .footer_logo {
        margin: auto;
        margin-bottom: 10px;
    }
    .footer_base {
        color: #fff;
        font-size: 14px;
        line-height: 1.7;
        text-align: center;
        letter-spacing: 0.015px;
    }
    .footer_copyright {
        padding-top: 10px;
        padding-bottom: 10px;
    }

}
@media only screen and (max-width: 680px) {
    .footer_top {
        padding-top: 50px;
    }
    .footer_middle_inner {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }
    .footer_middle_btn {
        justify-content: center;
    }
    .footer_copyright {
        padding-top: 5px;
        padding-bottom: 5px;
        font-size: 12px;
    }

}

