@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
/* ========================================================
	module.css => モジュール用CSS
======================================================== */
/*色変数 var_____*/ :root {
    --col_main: #204483;
    --col_black: #000000;
    --col_brown: #3F1E07;
    --col_green: #00B389;
    --col_blue: #008AD2;
    --col_blue_l: #64D0FF;
    --col_red: #D3410D;
    --col_btn: #204483;
    --bg_main: #D6F2E7;
    --bg_yellow: #FFF3C0;
    --bg_yellow_d: #F9EB87;
    --bg_green: #00B389;
    --bg_green_l: #D6F2E7;
    --bg_blue: #D6F2EC;
    --bg_orange: #ff7e46;
    --bg_light_orange: #ffa279;
}
/*色変数 var end_____*/
html, body {
    width: 100%;
    overflow-x: hidden;
}
html {
    font-size: 62.5%;
    font-feature-settings: "palt";
}
/*print*/
@page {
    margin: 10mm;
    size: 210mm 297mm; /* A4縦サイズの場合 */
}
@media print {
    body {
        -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
        width: 900px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
    }
    img {
        max-width: 100%;
    }
    html {
        font-size: 10px !important;
    }
}
/*print end*/
@media screen and (max-width: 1370px) {
    html {
        font-size: 0.8vw;
    }
}
@media screen and (max-width: 960px) {
    html {
        font-size: 1.1vw;
    }
}
@media screen and (max-width: 680px) {
    html {
        font-size: clamp(0.5rem, 0.056rem + 2.22vw, 1rem);
    }
}
body {
    background-color: #fff;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.7;
    color: #000000;
    font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    -webkit-text-size-adjust: 100%;
}
/*リセット
=======================================================================*/
body {
    padding-top: 110px !important;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: unset;
    font-weight: unset;
}
#container {
    padding-top: 0 !important;
}
.lp_cont_area * {
    font-feature-settings: normal;
}
.lp_cont_area p {
    line-height: 1.5;
    margin-top: unset;
    margin-bottom: unset;
}
.lp_cont_area ol, .lp_cont_area ul, .lp_cont_area dl, .lp_cont_area dt, .lp_cont_area dd {
    padding: 0;
    margin: 0;
    list-style: none;
}
/*リセット end
=======================================================================*/
table {
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.7;
}
a {
    text-decoration: none;
    transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    color: #212121;
}
label {
    cursor: pointer;
}
input, select, textarea, button {
    margin: 0;
    vertical-align: middle;
    font-family: inherit;
    outline: none;
    font-size: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
button {
    cursor: pointer;
}
iframe {
    vertical-align: middle;
}
@media screen and (max-width: 960px) {
    img {
        max-width: 100%;
        height: auto;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    iframe {
        max-width: 100%;
        height: 200px;
    }
}
@media screen and (min-width: 1200px), print {
    a.tel_link[href^="tel:"] {
        pointer-events: none;
    }
}
/*font
------------------------------------------------------------------*/
.roboto {
    font-family: "Roboto", serif;
}
.noto {
    font-family: "Noto Sans JP", serif;
}
/* pc / tab / sp
============================================================================================================ */
.sp {
    display: none;
}
.pc {
    display: inline-block;
}
.tab {
    display: none;
}
.pc_tab {
    display: inline-block;
}
.tab_sp {
    display: none;
}
.sp_680 {
    display: none;
}
@media screen and (max-width: 960px) {
    .pc {
        display: none !important;
    }
    .tab {
        display: inline-block !important;
    }
    .sp {
        display: none;
    }
    .tab_sp {
        display: inline-block !important;
    }
}
@media screen and (max-width: 680px) {
    .sp_680 {
        display: inline-block;
    }
    .sp_680_none {
        display: none;
    }
}
@media screen and (max-width: 480px) {
    .tab {
        display: none !important;
    }
    .sp {
        display: inline-block;
    }
    .pc_tab {
        display: none !important;
    }
    .tab_sp {
        display: inline-block !important;
    }
}
/* sp
============================================================================================================ */
@media screen and (max-width: 960px) {
    *[data-label] img {
        display: none;
    }
    *[data-label]:before {
        content: attr(data-label);
    }
    *[data-label-r]:after {
        content: attr(data-label-r);
    }
}
/* font size
============================================================================================================ */
.fz10 {
    font-size: 10px;
    font-size: 1.0rem;
}
.fz11 {
    font-size: 11px;
    font-size: 1.1rem;
}
.fz12 {
    font-size: 12px;
    font-size: 1.2rem;
}
.fz13 {
    font-size: 13px;
    font-size: 1.3rem;
}
.fz14 {
    font-size: 14px;
    font-size: 1.4rem;
}
.fz15 {
    font-size: 15px;
    font-size: 1.5rem;
}
.fz16 {
    font-size: 16px;
    font-size: 1.6rem;
}
.fz17 {
    font-size: 17px;
    font-size: 1.7rem;
}
.fz18 {
    font-size: 18px;
    font-size: 1.8rem;
}
.fz19 {
    font-size: 19px;
    font-size: 1.9rem;
}
.fz20 {
    font-size: 20px;
    font-size: 2.0rem;
}
.fz_s {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
}
.fz_m {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
}
.fz_l {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.7;
}
.fz_ll {
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 1.6;
}
@media screen and (max-width: 960px) {
    .fz_s {
        font-size: 1.1rem;
    }
    .fz_m {
        font-size: 1.3rem;
    }
    .fz_l {
        font-size: 1.5rem;
    }
    .fz_ll {
        font-size: 1.8rem;
    }
}
/* text-align
============================================================================================================ */
.tal {
    text-align: left;
}
.tac {
    text-align: center;
}
.tar {
    text-align: right;
}
.tac_tal {
    text-align: center;
}
.tal_tac {
    text-align: left;
}
.tac_tar {
    text-align: center;
}
.tar_tal {
    text-align: right;
}
@media screen and (max-width: 680px) {
    .tac_tal {
        text-align: left;
    }
    .tal_tac {
        text-align: center;
    }
    .tac_tar {
        text-align: right;
    }
    .tar_tal {
        text-align: left;
    }
}
/* w
============================================================================================================ */
.w {
    position: relative;
    display: block;
    max-width: 1000px;
    margin: 0 auto;
}
.w8 {
    position: relative;
    display: block;
    max-width: 800px;
    margin: 0 auto;
}
.w11 {
    position: relative;
    display: block;
    max-width: 1100px;
    margin: 0 auto;
}
.w14 {
    position: relative;
    display: block;
    max-width: 1400px;
    margin: 0 auto;
}
/* コンテンツ
============================================================================================================ */
/* コンテナ
============================================================================================================ */
#container {
    position: relative;
    font-size: 1.6rem;
    padding-top: 100px;
}
@media screen and (max-width: 960px) {
    #container {
        font-size: 1.4rem;
        padding-top: 60px;
    }
}
.f_16 {
    font-size: 16px;
}
.f_14 {
    font-size: 14px;
}
/* font weight
============================================================================================================ */
.fwb {
    font-weight: bold;
}
.fwn {
    font-weight: normal !important;
}
/* li_____
============================================================================================================ */
/* square
------------------------------------------------------------- */
ul.square li {
    position: relative;
    padding-left: 1em;
}
ul.square li:before {
    content: "■";
    position: absolute;
    left: 0;
}
/* circle
------------------------------------------------------------- */
ul.circle li {
    position: relative;
    padding-left: 1em;
}
ul.circle li:before {
    content: "●";
    position: absolute;
    left: 0;
}
/* asterisk
------------------------------------------------------------- */
ul.asterisk li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 5px;
}
ul.asterisk li:before {
    content: "＊";
    position: absolute;
    left: 0;
}
/* disc
------------------------------------------------------------- */
ul.disc li {
    position: relative;
    padding-left: 1em;
}
ul.disc li + li {
    margin-top: 0.5em;
}
ul.disc li:before {
    content: "・";
    position: absolute;
    left: 0;
}
/* notes
------------------------------------------------------------- */
ul.notes li {
    position: relative;
    padding-left: 1em;
}
ul.notes li:before {
    content: "※";
    position: absolute;
    left: 0;
}
/*notes_p*/
.notes_p {
    position: relative;
    padding-left: 1em;
}
.notes_p:before {
    content: "※";
    position: absolute;
    left: 0;
}
/* decimal
------------------------------------------------------------- */
ol.decimal {
    list-style-type: decimal;
}
ol.decimal li {
    margin-left: 2em;
}
/* parentheses
------------------------------------------------------------- */
ol.parentheses li {
    position: relative;
    padding-left: 2em;
}
ol.parentheses li .num {
    position: absolute;
    left: 0;
}
/* section
============================================================================================================ */
@media screen and (max-width: 1450px) {
    .sp_section_s_14 {
        max-width: 95% !important;
        margin: auto;
    }
    .sp_section_l_14 {
        max-width: 90% !important;
        margin: auto;
    }
}
@media screen and (max-width: 1300px) {
    .sp_section_s {
        max-width: 95% !important;
        margin: auto;
    }
    .sp_section_l {
        max-width: 90% !important;
        margin: auto;
    }
}
.section_ll + .section_ll {
    margin-top: 13rem;
}
.section_l + .section_l {
    margin-top: 10rem;
}
.section_ml + .section_ml {
    margin-top: 8rem;
}
.section_m + .section_m {
    margin-top: 6rem;
}
.section_s + .section_s {
    margin-top: 3rem;
}
.section_ss + .section_ss {
    margin-top: 2rem;
}
@media screen and (max-width: 680px) {
    .section_ll + .section_ll {
        margin-top: 8rem;
    }
    .section_l + .section_l {
        margin-top: 7rem;
    }
    .section_ml + .section_ml {
        margin-top: 6rem;
    }
    .section_m + .section_m {
        margin-top: 4em;
    }
    .section_s + .section_s {
        margin-top: 3rem;
    }
    .section_ss + .section_ss {
        margin-top: 2rem;
    }
}
/* padding
============================================================================================================ */
.pd_l3 {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
}
.pdt_l3 {
    padding-top: 15rem !important;
}
.pdb_l3 {
    padding-bottom: 15rem !important;
}
.pd_l2 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
}
.pdt_l2 {
    padding-top: 12rem !important;
}
.pdb_l2 {
    padding-bottom: 12rem !important;
}
.pd_l {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}
.pdt_l {
    padding-top: 8rem !important;
}
.pdb_l {
    padding-bottom: 8rem !important;
}
.pd_m3 {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
}
.pdt_m3 {
    padding-top: 7rem !important;
}
.pdb_m3 {
    padding-bottom: 7rem !important;
}
.pd_m2 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}
.pdt_m2 {
    padding-top: 6rem !important;
}
.pdb_m2 {
    padding-bottom: 6rem !important;
}
.pd_m {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}
.pdt_m {
    padding-top: 5rem !important;
}
.pdb_m {
    padding-bottom: 5rem !important;
}
.pd_s2 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}
.pdt_s2 {
    padding-top: 3rem !important;
}
.pdb_s2 {
    padding-bottom: 3rem !important;
}
.pd_s {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}
.pdt_s {
    padding-top: 2.5rem !important;
}
.pdb_s {
    padding-bottom: 2.5rem !important;
}
.pd_ss {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
.pdt_ss {
    padding-top: 1.5rem !important;
}
.pdb_ss {
    padding-bottom: 1.5rem !important;
}
@media screen and (max-width: 680px) {
    .pd_l3 {
        padding-top: 10rem !important;
        padding-bottom: 10rem !important;
    }
    .pdt_l3 {
        padding-top: 10rem !important;
    }
    .pdb_l3 {
        padding-bottom: 15rem !important;
    }
    .pd_l2 {
        padding-top: 8rem !important;
        padding-bottom: 8rem !important;
    }
    .pdt_l2 {
        padding-top: 8rem !important;
    }
    .pdb_l2 {
        padding-bottom: 8rem !important;
    }
    .pd_l {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }
    .pdt_l {
        padding-top: 5rem !important;
    }
    .pdb_l {
        padding-bottom: 5rem !important;
    }
    .pd_m3 {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
    .pdt_m3 {
        padding-top: 4.5rem !important;
    }
    .pdb_m3 {
        padding-bottom: 4.5rem !important;
    }
    .pd_m2 {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
    .pdt_m2 {
        padding-top: 4rem !important;
    }
    .pdb_m2 {
        padding-bottom: 4rem !important;
    }
    .pd_m {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
    .pdt_m {
        padding-top: 3.5rem !important;
    }
    .pdb_m {
        padding-bottom: 3.5rem !important;
    }
    .pd_s2 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    .pdt_s2 {
        padding-top: 2rem !important;
    }
    .pdb_s2 {
        padding-bottom: 2rem !important;
    }
    .pd_s {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .pdt_s {
        padding-top: 1rem !important;
    }
    .pdb_s {
        padding-bottom: 1rem !important;
    }
    .pd_ss {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .pdt_ss {
        padding-top: 0.5rem !important;
    }
    .pdb_ss {
        padding-bottom: 0.5rem !important;
    }
}
/* lp_btn
============================================================================================================ */
.lp_btn {
    position: relative;
    display: inline-flex;
    box-shadow: 0px 6px 8px 2px rgba(000, 000, 000, 0.3);
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
}
.lp_btn, .lp_btn a {
    border-radius: 0.3em;
}
.lp_btn a {
    width: 100%;
    color: #fff;
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-content: center;
    padding: 0.4em 2em;
    box-shadow: 0px 0.15em 0px 0px #0C8735;
    background: var(--col_main);
    font-weight: bold;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
}
.lp_btn a:hover {
    opacity: 1 !important;
    color: var(--col_brown);
}
@media screen and (min-width: 961px), print {
    .lp_btn:hover {
        transform: translateY(0.2em);
        box-shadow: 0px 2px 8px 2px rgba(000, 000, 000, 0.3);
    }
    .lp_btn:hover a {
        box-shadow: 0px 0em 0px 0px var(--col_btn_box);
        color: #fff;
    }
}
@media screen and (max-width: 680px) {
    .lp_btn {
        width: 100%;
    }
    .lp_btn a {
        display: block;
        font-size: 2.1rem;
        padding: 0.8em 2em;
        box-shadow: 0px 0.3em 0px 0px #0C8735;
    }
}
/*arrow
-------------------------------------*/
.btn_arrow:before {
    content: "";
    background: url("../images/btn_arrow_ff.svg") no-repeat;
    width: 0.8em;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translate(-0%, -50%);
}
.btn a:hover {
    opacity: 1 !important;
    color: #fff;
}
@media screen and (min-width: 961px), print {
    .btn a:hover {
        box-shadow: 0px 0em 0px 0px var(--col_btn_box);
        transform: translateY(0.2em);
    }
}
/*btn size
----------------------------------------------------------------------------------------------------------------*/
.btn_s > * {
    width: 10rem;
    display: block;
}
.btn_m > * {
    width: 8rem;
    display: block;
}
.btn_l > * {
    width: 6rem;
    display: block;
}
/*ボタンの位置*/
.btn_center {
    margin: auto;
}
@media screen and (max-width: 680px) {
    .btn_tabsp_center {
        margin: auto;
    }
    .btn_sp_center {
        margin: auto;
    }
}
/* title
============================================================================================================ */
.title_llll {
    font-size: 5.6rem;
}
.title_lll_m {
    font-size: 4.3rem;
}
.title_lll {
    font-size: 4.0rem;
}
.title_ll_30 {
    font-size: 3.0rem;
}
.title_ll {
    font-size: 3.2rem;
}
.title_l {
    font-size: 2.8rem;
}
.title_ml {
    font-size: 2.6rem;
}
.title_m {
    font-size: 2.4rem;
}
.title_sm {
    font-size: 2.2rem;
}
.title_s {
    font-size: 2.0rem;
}
.title_ss {
    font-size: 1.8rem;
}
@media screen and (max-width: 960px) {
    .title_llll {
        font-size: 2.8rem;
    }
    .title_lll_m {
        font-size: 2.6rem;
    }
    .title_lll {
        font-size: 2.4rem;
    }
    .title_ll_30 {
        font-size: 2.2rem;
    }
    .title_ll {
        font-size: 2.0rem;
    }
    .title_l {
        font-size: 1.8rem;
    }
    .title_ml {
        font-size: 1.6rem;
    }
    .title_m {
        font-size: 1.8rem;
    }
    .title_sm {
        font-size: 1.6rem;
    }
    .title_s {
        font-size: 1.4rem;
    }
    .title_ss {
        font-size: 1.2rem;
    }
}
/*

@media screen and (max-width: 680px) {
    .title_llll {
        font-size: 4.5rem;
    }
    .title_lll_m {
        font-size: 3.0rem;
    }
    .title_lll {
        font-size: 2.8rem;
    }
    .title_ll_30 {
        font-size: 2.4rem;
    }
    .title_ll {
        font-size: 2.4rem;
    }
    .title_l {
        font-size: 2.2rem;
    }
    .title_ml {
        font-size: 2.2rem;
    }
    .title_m {
        font-size: 1.9rem;
    }
    .title_sm {
        font-size: 1.8rem;
    }
    .title_s {
        font-size: 1.7rem;
    }
    .title_ss {
        font-size: 1.5rem;
    }
}
*/
/*font 相対サイズ
----------------------------------------------------*/
.fzb {
    font-size: 1.2em;
}
/* lead
========================================= */
.lead_n {
    line-height: 1.8 !important;
}
.lead_18 {
    font-size: 1.8rem;
    line-height: 2;
}
.lead_18_02 {
    font-size: 1.8rem;
    line-height: 1.8;
}
.text_inner > p + p {
    margin-top: 1em;
}
@media screen and (max-width: 680px) {
    .lead_18 {
        font-size: 1.6rem;
    }
    .lead_18_02 {
        font-size: 1.6rem;
    }
}
/* bg___
============================================================================================================ */
.bg_yellow {
    background: var(--bg_yellow);
}
.bg_blue {
    background: var(--bg_blue);
}
.bg_green_l {
    background: var(--bg_green_l);
}
.bg_ff {
    background: #fff;
}
/* col___
============================================================================================================ */
.col_00 {
    color: var(--col_black);
}
.col_brown {
    color: var(--col_brown);
}
.col_main {
    color: var(--col_main);
}
/* fbox
============================================================================================================ */
.fbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
@media screen and (min-width: 960px) {
    .fbox.f_pc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .fbox.f_sp {
        display: block;
    }
}
@media screen and (max-width: 960px) {
    .fbox.f_pc {
        display: block;
    }
    .fbox.f_sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
.ff_re {
    -webkit-flex-flow: row-reverse wrap;
    -ms-flex-flow: row-reverse wrap;
    flex-flow: row-reverse wrap;
}
.jc_sp {
    justify-content: space-between;
}
.it_cener {
    align-items: center;
}
/*分割比
----------------------------------------------*/
/*fbox_col2*/
.fbox_col2 {
    gap: 3%;
    flex-wrap: wrap;
}
.fbox_col2 > * {
    width: 48.5%;
}
@media screen and (max-width: 680px) {
    .fbox_col2.f_pc > * {
        width: auto;
        margin-top: 3%;
    }
    .fbox_col2.f_pc > * + * {
        margin-top: 8%
    }
}
/*fbox_col3*/
.fbox_col3 {
    gap: 2%;
    flex-wrap: wrap;
}
.fbox_col3 > * {
    width: 32%;
}
@media screen and (max-width: 680px) {
    .fbox_col3.f_pc > * {
        width: auto;
    }
    .fbox_col3.f_pc > * + * {
        margin-top: 8%
    }
}
/*fbox_4_6*/
.fbox_4_6 {
    gap: 5%;
}
.fbox_4_6 > *:nth-child(1) {
    width: 37%;
}
.fbox_4_6 > *:nth-child(2) {
    width: 58%;
}
@media screen and (max-width: 680px) {
    .fbox_4_6.f_pc > *:nth-child(1) {
        width: auto;
    }
    .fbox_4_6.f_pc > *:nth-child(2) {
        width: auto;
    }
    .fbox_4_6.f_pc > * + * {
        margin-top: 8%
    }
}
/*fbox_6_4*/
.fbox_6_4 {
    gap: 5%;
}
.fbox_6_4 > *:nth-child(1) {
    width: 58%;
}
.fbox_6_4 > *:nth-child(2) {
    width: 37%;
}
@media screen and (max-width: 680px) {
    .fbox_6_4.f_pc > *:nth-child(1) {
        width: auto;
    }
    .fbox_6_4.f_pc > *:nth-child(2) {
        width: auto;
    }
    .fbox_6_4.f_pc > * + * {
        margin-top: 8%
    }
}
/*fbox_7_3*/
.fbox_7_3 {
    gap: 5%;
}
.fbox_7_3 > *:nth-child(1) {
    width: 65%;
}
.fbox_7_3 > *:nth-child(2) {
    width: 30%;
}
@media screen and (max-width: 680px) {
    .fbox_7_3.f_pc > *:nth-child(1) {
        width: auto;
    }
    .fbox_7_3.f_pc > *:nth-child(2) {
        width: auto;
    }
    .fbox_7_3.f_pc > * + * {
        margin-top: 8%
    }
}
/*fbox_3_7*/
.fbox_3_7 {
    gap: 5%;
}
.fbox_3_7 > *:nth-child(1) {
    width: 30%;
}
.fbox_3_7 > *:nth-child(2) {
    width: 65%;
}
@media screen and (max-width: 680px) {
    .fbox_3_7.f_pc > *:nth-child(1) {
        width: auto;
    }
    .fbox_3_7.f_pc > *:nth-child(2) {
        width: auto;
    }
    .fbox_3_7.f_pc > * + * {
        margin-top: 8%
    }
}
/*fbox_8_2*/
.fbox_8_2 {
    gap: 5%;
}
.fbox_8_2 > *:nth-child(1) {
    width: 80%;
}
.fbox_8_2 > *:nth-child(2) {
    width: 15%;
}
@media screen and (max-width: 680px) {
    .fbox_8_2.f_pc > *:nth-child(1) {
        width: auto;
    }
    .fbox_8_2.f_pc > *:nth-child(2) {
        width: auto;
    }
    .fbox_8_2.f_pc > * + * {
        margin-top: 8%
    }
    .fbox_8_2 > *:nth-child(1) {
        width: 60%;
    }
    .fbox_8_2 > *:nth-child(2) {
        width: 35%;
    }
}
/*fbox_2_8*/
.fbox_2_8 {
    gap: 5%;
}
.fbox_2_8 > *:nth-child(1) {
    width: 15%;
}
.fbox_2_8 > *:nth-child(2) {
    width: 80%;
}
@media screen and (max-width: 680px) {
    .fbox_2_8.f_pc > *:nth-child(1) {
        width: auto;
    }
    .fbox_2_8.f_pc > *:nth-child(2) {
        width: auto;
    }
    .fbox_2_8 > *:nth-child(1) {
        width: 35%;
    }
    .fbox_2_8.f_pc > * + * {
        margin-top: 8%
    }
    .fbox_2_8 > *:nth-child(2) {
        width: 60%;
    }
}
/*cv_area
-----------------------------------------------------------------------------------------------------*/
.cv_area {
    background: var(--bg_yellow_d);
    padding: 3em 0 3em 0;
    font-size: 1.8rem;
}
.cv_area_w {
    max-width: 1250px;
    margin: auto;
}
.cv_title {
    font-size: 1.6em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1.1em !important;
}
@media screen and (max-width: 1300px) {
    .cv_area_w {
        max-width: 90%;
    }
}
@media screen and (max-width: 960px) {
    .cv_title {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 680px) {
    .cv_area {
        padding: 2em 0 2em 0;
        font-size: 1.3rem;
    }
}
/*cv_btn
---------------------------------------*/
/*air_cv_area
--------------------------------------------------------------------*/
.air_cv_area {
    display: flex;
    justify-content: center;
    gap: 2.5%;
}
.air_cv_area > * {
    width: 50%;
}
.air_cv_area > * a {
    text-align: center;
    font-size: 3.4rem;
    display: block;
    padding: 0.8em 0;
    background: var(--col_btn);
    border: solid 3px var(--col_btn);
    color: #fff;
    box-sizing: border-box;
    border-radius: 8px;
    letter-spacing: 1px;
    font-weight: bold;
    box-shadow: 0px 0px 5px rgba(000, 000, 000, 0.5);
    line-height: 1.0;
}
/*白*/
.air_cv_area > *.air_btn_ff a {
    background: #fff;
    color: var(--col_btn);
}
@media screen and (min-width: 961px), print {
    .air_cv_area > * a:hover {
        background: #fff;
        opacity: 1 !important;
        color: var(--col_btn);
    }
    .air_cv_area > *.air_btn_ff a:hover {
        background: var(--bg_blue);
    }
}
@media screen and (max-width: 960px) {
    .air_cv_area > * a {
        font-size: 2.2rem;
    }
}
@media screen and (max-width: 680px) {
    .air_cv_area {
        display: block;
    }
    .air_cv_area > * {
        width: auto;
    }
    .air_cv_area > * + * {
        margin-top: 1em !important;
    }
}
/*矢印*/
.air_btn_arrow {
    position: relative;
    z-index: 0;
}
.air_btn_arrow:before {
    content: "";
    background: url("../images/arrow.svg") no-repeat;
    width: 0.4em;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 0.7em;
    transform: translate(-0%, -50%);
    aspect-ratio: 17/30;
    z-index: 1;
}
.air_btn_blue .air_btn_arrow:before {
    filter: brightness(0) invert(1) !important;
}
@media screen and (min-width: 961px), print {
    .air_btn_arrow:hover:before {
        filter: none !important;
    }
}
@media screen and (max-width: 680px) {
    .air_btn_arrow:before {
        right: 0.2em;
    }
}
/*cv_cap
---------------------------------------*/
.cv_cap {
    padding: 2em 0 2em 0;
    font-size: 1.1em;
    text-align: center;
    line-height: 1.6;
}
@media screen and (max-width: 680px) {
    .cv_cap {
        text-align: left;
        font-size: 1.2em;
    }
}
/*cv_tel_cont
---------------------------------------*/
.cv_tel_cont {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    max-width: 831px;
    margin: auto;
}
.cv_tel_cont_title {
    font-weight: bold;
    font-size: 1.2em;
    letter-spacing: 0px;
}
.cv_tel_flex {
    align-items: center;
    width: 31em;
    color: var(--col_black);
    display: flex;
    justify-content: space-between;
    background: #fff;
    padding: 0.2em 1.1em;
    border-radius: 0.5em;
}
.cv_ico_tel {
    font-family: "Roboto", serif;
    letter-spacing: -0.8px;
    font-weight: 700;
    font-size: 2.4em;
}
.cv_ico_tel a {
    display: inline-block;
    padding-left: 1.3em;
    background: url("../images/ico_free.svg") no-repeat;
    background-size: 1.1em;
    background-position: top 60% left 0;
}
.cv_text_flex {
    letter-spacing: 1px;
    line-height: 1.4;
    font-size: 0.9em;
}
@media screen and (max-width: 1370px) {
    .cv_tel_cont_title {
        font-size: 0.9em;
    }
}
@media screen and (max-width: 680px) {
    .cv_tel_cont {
        display: block;
    }
    .cv_tel_cont_title {
        font-size: 1.3em;
        margin-bottom: 0.5em !important;
    }
    .cv_tel_flex {
            line-height: 1.0;
        font-size: 1.7rem;
        padding: 0.5em 1.1em;
        width: auto;
        display: block;
    }
    .cv_ico_tel {
        font-size: 2.0em;
        line-height: 1.0;
        text-align: center;
    }
    .cv_ico_tel a {
        display: inline-block;
        line-height: 1.0;
    }
    .cv_text_flex {
        display: flex;
        justify-content: center;
        gap: 3%;
        font-size: 0.8em;
    }
}
/* midashi
============================================================================================================ */
.midashi_bg_green {
    background: var(--col_green);
    padding: 0.1em 0.5em;
    color: #fff;
    display: inline-block;
    border-radius: 0.3em;
    font-weight: bold;
}
.midashi_01 {
    background: var(--col_main);
    color: #fff;
    display: inline-block;
    padding: 0.2em 1em;
    border-radius: 10em;
    font-size: 3.0rem;
    letter-spacing: 2px;
    font-weight: 700;
}
@media screen and (max-width: 680px) {
    .midashi_01 {
        font-size: 1.8rem;
    }
}
/*midashi_02*/
.midashi_02 {
    position: relative;
    letter-spacing: 2px;
    font-weight: 700;
    padding: 0 2em;
    display: inline-block;
}
.midashi_02:before, .midashi_02:after {
    content: "";
    aspect-ratio: 42/52;
    position: absolute;
    top: 50%;
    transform: translate(-0%, -50%);
    background: url("../images/midashi_02_img.svg") no-repeat;
    width: 1.0em;
}
.midashi_02:before {
    left: 0;
}
.midashi_02:after {
    right: 0;
    transform: translate(-0%, -50%) scale(-1, 1);
}
@media screen and (max-width: 680px) {
    .midashi_02:before, .midashi_02:after {
        width: 1.8em;
    }
    .midashi_02:before {
        left: -0.5em;
    }
    .midashi_02:after {
        right: -0.5em;
    }
}
/*midashi_03*/
.midashi_03 {
    position: relative;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 2em;
}
.midashi_03:before {
    content: "";
    background: url("../images/midahsi_03_img.svg") no-repeat;
    aspect-ratio: 115/13;
    height: 1.3rem;
    position: absolute;
    bottom: -1em;
    left: 50%;
    transform: translate(-50%, -0%);
}
@media screen and (max-width: 680px) {
    .midashi_03 {
        margin-bottom: 2em;
    }
    .midashi_03:before {
        height: 1.0rem;
    }
}
/*midashi_f_size*/
.midashi_f_size_l {
    font-size: 4.0rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
}
.midashi_f_size {
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 1.5px;
}
.midashi_f_size_m {
    font-size: 3.0rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
}
.midashi_f_size_l .tf_big {
    font-size: 1.2em;
}
.midashi_f_size .tf_big {
    font-size: 1.3em;
}
.midashi_f_size_m .tf_big {
    font-size: 1.2em;
}
@media screen and (max-width: 960px) {
    .midashi_f_size_l {
        font-size: 3.4rem;
    }
    .midashi_f_size {
        font-size: 3.0rem;
    }
    .midashi_f_size_m {
        font-size: 2.4rem;
    }
}
@media screen and (max-width: 680px) {
    .midashi_f_size_l {
        font-size: 2.2rem;
    }
    .midashi_f_size {
        letter-spacing: 0;
        font-size: 2.2rem;
        line-height: 1.8;
    }
    .midashi_f_size_m {
        font-size: 1.8rem;
        line-height: 1.8;
    }
    .midashi_f_size .tf_big, .midashi_f_size_m .tf_big {
        line-height: 1.3;
    }
    .midashi_f_size .tf_s, .midashi_f_size_m .tf_s {
        line-height: 2;
    }
}
/*miashi_04*/
.midashi_04 {
    display: inline-block;
    padding: 0 1em 1em 1em;
    border-bottom: 3px solid var(--col_blue);
    margin-bottom: 1em;
    position: relative;
}
.midashi_04:before, .midashi_04:after {
    position: absolute;
    content: "";
    left: 50%;
    transform: translate(-50%, -0%) rotate(90deg);
    border: 21px solid transparent;
    border-left: 38px solid var(--col_blue);
    bottom: -51px;
    height: 0em;
    box-sizing: border-box;
    z-index: 0;
}
.midashi_04:before {
    z-index: -1;
}
.midashi_04:after {
    border: 18px solid transparent;
    border-left: 33px solid var(--bg_green_l);
    bottom: -43px;
    z-index: 3;
}
@media screen and (max-width: 680px) {
    .midashi_04 {
        padding: 0 1em 0.5em 1em;
        margin-bottom: 0.5em !important;
    }
    .midashi_04:before {
        border: 15px solid transparent;
        border-left: 27px solid var(--col_blue);
        bottom: -39px;
    }
    .midashi_04:after {
        border: 13px solid transparent;
        border-left: 23px solid var(--bg_green_l);
        bottom: -31px;
    }
}
/*line_span*/
.line_span {
    position: relative;
    display: inline-block;
}
.line_span:before {
    content: "";
    width: 100%;
    height: 0.15em;
    position: absolute;
    left: 0;
    bottom: -0.1em;
    background: var(--col_blue);
}
@media screen and (max-width: 680px) {
    .line_span:before {
        bottom: -0.1em;
    }
}
/*cap*/
.cap {
    font-size: 1.8rem;
    padding-left: 1em;
    text-indent: -1em;
}
@media screen and (max-width: 680px) {
    .cap {
        font-size: 1.4rem;
    }
}
/*line_top_box*/
.line_top_box {
    letter-spacing: 2px;
    margin-top: 2.0em;
    padding-top: 2.0em;
    border-top: solid 2px var(--col_brown);
}
@media screen and (max-width: 680px) {
    .line_top_box {
        margin-top: 1.5em;
        padding-top: 1.5em;
    }
}
/*font_b_b 青い下線*/
.font_b_b {}