@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&family=M+PLUS+1p&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');


/* ##### settings ##### */
:root {
    /* color */
    --white: #ffffff;
    --black: #000000;
    --palewhite: #fafafa;
    --graywhite: #efefef;
    --ttl_bgcolor: #000000;
    /* --lightblue :#34cfe7; */
    --linegray: #d5d5d5;
    --darkgray: #222222;
    --bordergray: #d0d0d0;
    --borderdarkgray: #222222;
    --checkedbox: #555555;

    --color_alert: #ff0000;

    --bgbasic: #ffffff;
    --bg_light: #f0f0f0;
    --bg_additionalinfo: #003687;
    /* --bg_note : #000000; */

    --btncolor_txt: #ffffff;

    --headerbgcolor: #ffffff;

    --keycolor: #09398e;
    --keycolor_vivid: #4c94ff;
    --keycolor_vivid_light: #699ae2;
    --keycolor_deep: #061227;
    --accentcolor: rgb(23, 133, 96);
    --bg_breadcrumb: #efefef;
    --txt_breadcrumb: #777777;
    /* --highlightcolor : #ffff33; */
    --shadowcolor: #99ccff;
    --subcolor1: #b5ffab;
    /* --subcolor2 : #82ceff; */

    --txt_strongcolor: #ff0085;
    --txt_basiccolor: #222222;
    --txt_linkcolor: #222222;
    --txt_note: #555555;
    --txt_pale: #777777;

    --sz_borderradius: 0.4rem;

    /* gap */
    --gap_micro: 0.5rem;
    --gap_formmidasi: 0.75rem;
    --gap_minimum: 1.5rem;
    --gap_minimumN: -1.5rem;
    --gap_narrow2: 1.7rem;
    --gap_narrow: 3rem;
    --gap_normal: 6rem;
    --gap_wide: 9rem;
    --gap_col: 1.5rem;
    --gap_colN: -1.5rem;
    --columnWrapWidth: calc(100% + 2rem);
    --gap_colTop: 3rem;
    --gap_colTopN: -3rem;

    /* font */
    --font_basic: "Yu Gothic", sans-serif;
    --font_strong: "Yu Gothic", sans-serif;
    --en-sans: "League Spartan", sans-serif;

    --font_xxsmall: 0.625rem;
    --font_xsmall: 0.75rem;
    --font_small: 0.875rem;
    --font_normal: 1rem;
    --font_large: 1.25rem;
    --font_xlarge: 1.5rem;
    --font_xxlarge: 2rem;
    --font_xxxlarge: 2.75rem;
    --font_xxxxlarge: 3.75rem;
    --font_xxxxxlarge: 4.5rem;
    --font_xxxxxxlarge: 5.25rem;
}

section {
    overflow: hidden;
}


@media print {}

/* ## 追加リセット ## */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

/* フォーム要素のデフォルトスタイルをリセット */
input,
textarea,
select,
button,
optgroup,
option {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    box-shadow: none;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    -webkit-appearance: none;
    /* WebKit ブラウザ向け */
    -moz-appearance: none;
    /* Firefox 向け */
    appearance: none;
    /* 標準のプロパティ */
}

/* ##### device control ##### */
@media screen and (min-width: 768px) {
    [class*="-forSP"] {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    [class*="-forPC"] {
        display: none;
    }
}


/* ##### common switches ##### */
[class*="-clearfix"]:after {
    content: "";
    display: block;
    clear: both;
}

/* bg */
[class*="-bg_gray"] {
    background: var(--bg_light) !important;
}

/* align text */
[class*="-al_center"] {
    text-align: center !important;
}

[class*="-al_left"] {
    text-align: left !important;
}

[class*="-al_right"] {
    text-align: right !important;
}

/* vertical text */
[class*="-wm_vercical"] {
    text-align: left;
    writing-mode: vertical-rl;
}

/* line-height */
[class*="-lh_narrow"] {
    line-height: 1.5;
}

/* text blok */
[class*="-textblock"] {
    display: inline-block;
}

[class*="-tb_withspace"] {
    margin-right: 1em;
}

[class*="-tb_withslash"] {
    padding-right: 0.4em;
}

[class*="-tb_withslash"]+[class*="-tb_withslash"]:before {
    content: "/ ";
}

[class*="-indentblock"] {
    display: block;
    padding-left: 1em;
    text-indent: -1em;
}

/* boxtype */
[class*="-disp_inline"] {
    display: inline;
}

[class*="-disp_inlineblock"] {
    display: inline-block;
}

[class*="-disp_block"] {
    display: block;
}

/* font size */
[class*="-fs_large"] {
    font-size: var(--font_large);
}

[class*="-fs_xlarge"] {
    font-size: var(--font_xlarge);
}

[class*="-fs_xxlarge"] {
    font-size: var(--font_xxlarge);
}

[class*="-fs_xxxlarge"] {
    font-size: var(--font_xxxlarge);
}

[class*="-fs_xxxxlarge"] {
    font-size: var(--font_xxxxlarge);
}

/* float */
[class*="-fl_left"] {
    float: left;
    margin-right: var(--gap_narrow);
    margin-bottom: var(--gap_narrow);
}

[class*="-fl_right"] {
    float: right;
    margin-left: var(--gap_narrow);
    margin-bottom: var(--gap_narrow);
}

/* no gap */
[class*="-nogap_t"] {
    padding-top: 0 !important;
}

[class*="-nogap_b"] {
    padding-bottom: 0 !important;
}

[class*="-nogap_l"] {
    padding-left: 0 !important;
}

[class*="-nogap_r"] {
    padding-right: 0 !important;
}

[class*="-nogap_all"] {
    padding-all: 0 !important;
}

/* max/min */
[class*="-max90"] {
    max-width: 90%;
}

[class*="-max80"] {
    max-width: 80%;
}

[class*="-max70"] {
    max-width: 70%;
}

[class*="-max60"] {
    max-width: 60%;
}

[class*="-max50"] {
    max-width: 50%;
}

[class*="-max40"] {
    max-width: 40%;
}

[class*="-max30"] {
    max-width: 30%;
}

[class*="-max20"] {
    max-width: 20%;
}


@media screen and (max-width: 767px) {
    [class*="-maxs100"] {
        max-width: 100%;
    }

    [class*="-maxs90"] {
        max-width: 90%;
    }

    [class*="-maxs80"] {
        max-width: 80%;
    }

    [class*="-maxs70"] {
        max-width: 70%;
    }

    [class*="-maxs60"] {
        max-width: 60%;
    }

    [class*="-maxs50"] {
        max-width: 50%;
    }

    [class*="-maxs40"] {
        max-width: 40%;
    }
}

@media screen and (max-width: 767px) {

    /* text block */
    .com_breaktextblock .-textblock {
        display: inline;
    }

    /* float */
    [class*="-fl_left"],
    [class*="-fl_right"] {
        float: none;
        margin: 0;
    }

    [class*="-fl_s_left"] {
        float: left;
        margin-right: var(--gap_minimum);
        margin-bottom: var(--gap_minimum);
    }

    [class*="-fl_s_right"] {
        float: right;
        margin-left: var(--gap_minimum);
        margin-bottom: var(--gap_minimum);
    }
}

/* ##### imagebox ##### */
[class^="com_boximage"] {
    display: block;
    background: center no-repeat;
    width: 100%;
    height: 0;
    background-size: 100% auto;
}

[class*="-bi_150"] {
    padding-top: 150%;
    background-size: auto 100%;
}

[class*="-bi_100"] {
    padding-top: 100%;
}

[class*="-bi_66"] {
    padding-top: 66.7%;
}

[class*="-bi_50"] {
    padding-top: 50%;
}

/* ##### titles ##### */
[class^="com_subttl"] {}

[class^="com_subttl"] small {
    font-size: var(--font_normal);
    display: block;
    line-height: 1.2;
}

[class^="com_subttl"] em {
    display: block;
    font-family: var(--en-sans);
    font-size: var(--font_xxxxxlarge);
    font-weight: 500;
    line-height: 1.2;
    position: relative;
    margin-bottom: 0.5rem;
}

[class^="com_subttl"] em:after {
    content: "";
    width: 2rem;
    height: 0.25rem;
    display: block;
    position: absolute;
    bottom: 0.25rem;
    left: 0;
    right: 0;
    margin: auto;
    background-color: var(--keycolor);
}

.com_subttl-nodeco em {
    margin-bottom: 0;
}

.com_subttl-nodeco em:after {
    content: none;
}

[class^="com_subpagettl"] {
    position: relative;
    font-size: var(--font_xxlarge);
    display: block;
    line-height: 1.2;
    margin: 0 auto 2.5rem auto;
}

[class^="com_subpagettl"]:after {
    content: "";
    position: absolute;
    bottom: -0.5rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 2rem;
    height: 0.25rem;
    background: var(--keycolor);
}

[class^="com_bigttl"] em {
    display: inline-block;
    font-family: var(--en-sans);
    font-size: var(--font_xxxxlarge);
    font-weight: 500;
    line-height: 1.2;
    vertical-align: middle;
    margin-right: 0.4em;
    position: relative;
}

[class^="com_bigttl"] em:after {
    content: "";
    width: 1px;
    height: 150%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -0.25em;
    background-color: var(--bordergray);
    transform: skewX(-15deg);
}

[class^="com_bigttl"] small {
    display: inline-block;
    font-size: var(--font_normal);
    line-height: 1.2;
    vertical-align: middle;
}

[class^="com_bigttl"] span {
    display: inline-block;
    font-size: var(--font_xlarge);
    line-height: 1.2;
    vertical-align: middle;
}

[class^="com_smallttl"] {
    font-family: var(--font_strong);
    font-size: var(--font_large);
    line-height: 1.4em;
    margin-bottom: 0.5em;
}

[class^="com_inlinettl"] {
    font-family: var(--font_strong);
    font-size: var(--font_normal);
    line-height: 1.4em;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

[class^="com_inlinettl"]:first-child {
    margin-top: 0;
}

[class*="-ttl_weightnormal"] {
    font-weight: normal;
}

/* ##### form ##### */
input,
textarea,
select {
    border: 1px solid var(--bordergray);
    border-radius: var(--sz_borderradius);
    padding: 0.25em 0.5em;
    background: var(--white);
    color: var(--black);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea {
    width: 100%;
}

[class^="com_formrow"]:first-child {
    border-top: 1px solid var(--borderdarkgray);
}

[class^="com_formrow"] {
    display: flex;
    padding: var(--gap_minimum) 0 var(--gap_minimum) var(--gap_micro);
    flex-wrap: wrap;
    border-bottom: 1px solid var(--bordergray);
}

[class^="com_formCell"] {
    padding: var(--gap_micro) var(--gap_micro);
    position: relative;
    flex: 1;
}

[class^="com_formCell"] p {
    margin: 0;
    padding: 0;
}

[class*="-fmi_short"] {
    max-width: 10rem;
}

[class*="-fmi_shortest"] {
    max-width: 3rem;
}

[class*="-fmc_midashi"] {
    width: 13em;
    flex: 0 0 auto;
    padding-top: var(--gap_formmidasi);
    font-weight: bold;
}

[class^="com_forminnerrow"]+[class^="com_forminnerrow"] {
    margin-top: var(--gap_micro);
}

[class^="com_forminnerrow"]+[class*="-fir_split"] {
    margin-top: var(--gap_narrow);
}

[class*="-fmc_required"] {
    position: relative;
    padding-right: 3.5em;
}

[class*="-fmc_required"]::after {
    content: "必須";
    color: var(--white);
    display: block;
    margin-left: 0.25em;
    font-size: var(--font_xsmall);
    padding: 0 0.5em 0.1em 0.5em;
    background-color: #cc006a;
    border-radius: 0.25em;
    font-weight: normal;
    position: absolute;
    right: 1em;
    top: 0.85rem;
}

.ff-el-form-check {
    display: inline-block;
    padding-right: 2em;
}

[class^="com_formCheckbox"],
.fluentform .ff-el-form-check-label input[type="checkbox"] {
    display: none;
}

[class^="com_formCheckbox"]+label,
.fluentform .ff-el-form-check-label span {
    display: inline-block;
    padding-left: 1.5em;
    position: relative;
    cursor: pointer;
}

[class^="com_formCheckbox"]+label::before,
.fluentform .ff-el-form-check-label span::before {
    content: ""!important;
    display: block!important;
    position: absolute!important;
    left: 0!important;
    top: 0!important;
    bottom: 0!important;
    margin: auto!important;
    width: 1.2em!important;
    height: 1.2em!important;
    border: 1px solid var(--bordergray)!important;
    border-radius: var(--sz_borderradius)!important;
}

[class^="com_formCheckbox"]:checked+label::before,
.fluentform .ff-el-form-check-label input[type="checkbox"]:checked + span::before {
    background: var(--checkedbox)!important;
}

[class^="com_formCheckbox"]:checked+label::after,
.fluentform .ff-el-form-check-label input[type="checkbox"]:checked + span::after {
    content: ""!important;
    display: block!important;
    position: absolute!important;
    margin: auto!important;
    border-right: 4px solid var(--white)!important;
    border-bottom: 4px solid var(--white)!important;
    transform: rotate(45deg)!important;
    height: 0.75em!important;
    width: 1em!important;
    position: absolute!important;
    left: 0em!important;
    top: 0.2em!important;
}
.frm-fluent-form .ff-t-container {
    flex-direction: row-reverse;
}


[class^="com_formRadio"] {
    display: none;
}

[class^="com_formRadio"]+label {
    display: inline-block;
    padding-left: 1.5em;
    padding-right: 1.5em;
    position: relative;
    cursor: pointer;
}

[class^="com_formRadio"]+label::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid var(--bordergray);
    border-radius: 50%;
}

[class^="com_formRadio"]:checked+label::before {
    background: var(--checkedbox);
}

[class^="com_formRadio"]:checked+label::after {
    content: "";
    display: block;
    position: absolute;
    margin: auto;
    border-radius: 50%;
    background: var(--white);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1.2em;
    height: 1.2em;
    transform: scale(0.5);
}

[class^="com_formWrapSelect"] {
    position: relative;
    width: fit-content;
}

[class^="com_formWrapSelect"]::after {
    content: "";
    display: block;
    position: absolute;
    right: 0.75em;
    top: 0;
    bottom: 0;
    border-bottom: 4px solid var(--bordergray);
    border-right: 4px solid var(--bordergray);
    width: 0.75em;
    height: 0.75em;
    transform: rotate(45deg);
    margin: auto;
    pointer-events: none;
}

[class^="com_formWrapSelect"] select {
    padding-right: 2.5em;
}

/* ##### btn ##### */
[class^="com_wrapBtn"] {
    padding-top: var(--gap_minimum);
    padding-bottom: var(--gap_minimum);
}

[class^="com_wrapBtn"]+[class^="com_wrapBtn"] {
    padding-top: 0;
}

[class*="-btnwrap_narrow"] {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

[class*="com_btn"] {
    display: inline-block;
    font-weight: bold;
    text-align: center;
    color: var(--btncolor_txt);
    text-decoration: none;
    background: linear-gradient(to right, #36caf6, #37cac7);
    padding: var(--gap_micro) var(--gap_narrow);
    position: relative;
    border-radius: 0.25rem;
    z-index: 2;
    cursor: pointer;
}

[class*="-btn_strong"] {
    background-color: var(--highlightcolor);
}

[class*="-btn_fit"] {
    min-width: 0;
    padding-left: 1em;
    padding-right: 1em;
}

[class*="-btn_slim"] {
    line-height: 2.4em;
}

[class*="-btn_full"] {
    width: 100%;
}

[class*="-btn_adjust"] {
    width: auto;
}

[class*="-btn_mes"] {
    padding-left: 1em;
    padding-right: 3.5em;
}

[class*="-btn_weak"] {
    line-height: inherit;
    padding: 0 var(--gap_minimum);
    min-width: 0;
    background: var(--black);
    color: var(--white) !important;
    border-width: 0;
}

/* ##### box system ##### */
[class^="com_sect"] {
    width: 100%;
    padding-bottom: var(--gap_normal);
    position: relative;
    z-index: 2;
    background: var(--white);
}

[class^="com_sect-split"] {
    padding-top: var(--gap_normal);
}

[class^="com_sect"][class*="-bg_gray"],
[class*="-bg_gray"]+[class^="com_sect"] {
    padding-top: var(--gap_normal);
}

[class^="com_inner"] {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: var(--gap_narrow);
    padding-right: var(--gap_narrow);
    margin: auto;
    position: relative;
}

[class*="-inn_w600"] {
    max-width: 640px;
}

[class*="-inn_w700"] {
    max-width: 740px;
}

[class*="-inn_w800"] {
    max-width: 840px;
}

[class*="-inn_w900"] {
    max-width: 940px;
}

[class*="-inn_w1000"] {
    max-width: 1040px;
}

[class*="-inn_w1200"] {
    max-width: 1240px;
}

[class*="-inn_w1400"] {
    max-width: 1440px;
}

[class*="-inn_w1600"] {
    max-width: 1640px;
}

[class*="-inn_w1900"] {
    max-width: 1900px;
}

[class^="com_boxsubpage"] {
    width: 100%;
    padding-bottom: var(--gap_wide);
    position: relative;
}

[class^="com_columnsubpage"] {
    max-width: 1240px;
    flex-wrap: wrap;
    margin-top: var(--gap_colTopN);
    margin-right: var(--gap_colN);
    margin-left: var(--gap_colN);
    margin-bottom: 0;
    margin: auto;
    position: relative;
    display: flex;
}

[class^="com_mainsubpage"],
[class^="com_sidesubpage"] {
    padding-top: var(--gap_colTop);
    padding-right: var(--gap_narrow);
    padding-left: var(--gap_narrow);
    padding-bottom: 0;
}

[class^="com_mainsubpage"] {
    width: 840px;
}

[class^="com_sidesubpage"] {
    flex: 1;
}


/* ## content block ## */
[class^="com_contBlock"] {
    padding-bottom: var(--gap_wide);
}

[class^="com_contBlock"]:last-child {
    padding-bottom: 0;
}

[class^="com_paragraph"] {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: var(--gap_narrow);
    clear: both;
}

[class^="com_paragraph"]:last-child {
    padding-bottom: 0;
}

[class^="com_subparagraph"] {
    padding-bottom: var(--gap_minimum);
}

[class^="com_subparagraph"]:last-child {
    padding-bottom: 0;
}

[class^="com_gmapinner"] {
    width: 100%;
    height: 0;
    padding-top: 56%;
    position: relative;
}

[class^="com_gmapinner"] iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

[class^="com_boxinner"] {
    padding-top: var(--gap_minimum)
}


/* ## bordered box ## */
[class*="-par_bordered"] {
    border: 3px solid var(--linegray);
    padding: var(--gap_normal) var(--gap_minimum) !important;
    margin-bottom: var(--gap_narrow);
    position: relative;
}

[class*="-par_bordered"]>[class^="com_smallttl"]:first-child {
    position: absolute;
    top: calc(-0.75em - 0.5rem - 3px);
    left: 0;
    right: 0;
    margin: auto;
    padding: var(--gap_micro) var(--gap_minimum);
    background: var(--white);
    text-align: center;
    max-width: 20em;
    border: 3px solid var(--linegray);
}

/* ## gmap box ## */
[class*="com_gmap"] {
    display: block;
    width: 100%;
    height: 0;
    position: relative;
    padding-top: 75%;
    border: 1px solid var(--linegray);
}

[class*="com_gmap"]>iframe {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}


/* ## column sets ## */

[class*="-par_column"] {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--gap_colTopN);
    margin-right: var(--gap_colN);
    margin-left: var(--gap_colN);
    margin-bottom: 0;
    width: var(--columnWrapWidth);
}

[class*="-par_colFit"] {
    display: inline-flex;
    width: auto;
}

[class*="-par_colRowReverse"] {
    flex-direction: row-reverse
}

@media screen and (min-width: 768px) {
    [class*="-par_colColReverse"] {
        flex-direction: column-reverse;
    }
}

[class*="-par_fullcolumn"] {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--gap_colTopN);
    margin-right: var(--gap_minimumN);
    margin-left: var(--gap_minimumN);
    margin-bottom: 0;
}

[class^="com_cols"] {
    padding-top: var(--gap_colTop);
    padding-right: var(--gap_col);
    padding-left: var(--gap_col);
    padding-bottom: 0;
}

[class*="-col_nogap"] {
    padding: 0;
    margin: 0
}

[class*="-col_1_1"] {
    width: 100%;
}

[class*="-col_1_2"] {
    width: 50%;
}

[class*="-col_1_3"] {
    width: calc(100% / 3);
}

[class*="-col_2_3"] {
    width: calc(200% / 3);
}

[class*="-col_1_4"] {
    width: 25%;
}

[class*="-col_2_4"] {
    width: 50%;
}

[class*="-col_3_4"] {
    width: 75%;
}

[class*="-col_1_5"] {
    width: 20%;
}

[class*="-col_2_5"] {
    width: 40%;
}

[class*="-col_3_5"] {
    width: 60%;
}

[class*="-col_4_5"] {
    width: 80%;
}

[class*="-col_1_6"] {
    width: calc(100% / 6);
}

[class*="-col_2_6"] {
    width: calc(200% / 6);
}

[class*="-col_3_6"] {
    width: calc(300% / 6);
}

[class*="-col_4_6"] {
    width: calc(400% / 6);
}

[class*="-col_5_6"] {
    width: calc(500% / 6);
}

[class*="-col_1_7"] {
    width: calc(100% / 7);
}

[class*="-col_2_7"] {
    width: calc(200% / 7);
}

[class*="-col_3_7"] {
    width: calc(300% / 7);
}

[class*="-col_4_7"] {
    width: calc(400% / 7);
}

[class*="-col_5_7"] {
    width: calc(500% / 7);
}

[class*="-col_6_7"] {
    width: calc(600% / 7);
}

[class*="-col_1_8"] {
    width: 12.5%;
}

/* ##### table ##### */
[class^="com_table"] {
    width: 100%;
    border-left: 1px solid var(--linegray);
    border-right: 1px solid var(--linegray);
}

[class^="com_table"] th {
    text-align: left;
    vertical-align: top;
    min-width: 8em;
    padding: 0.75em;
    border-top: 1px solid var(--linegray);
    border-right: 1px solid var(--linegray);
    background: var(--graywhite);
}

[class^="com_table"] td {
    text-align: left;
    vertical-align: top;
    padding: 0.75em;
    border-top: 1px solid var(--linegray);
    border-right: 1px solid var(--linegray);
}

[class^="com_table"] th:last-child,
[class^="com_table"] td:last-child {
    border-right: 0;
}

[class^="com_table"] tr:last-child th,
[class^="com_table"] tr:last-child td {
    border-bottom: 1px solid var(--linegray);
}

[class^="com_table"] td [class^="com_table"] {
    margin-left: -1em;
    margin-right: -1em;
    width: calc(100% + 2em);
}

[class*="-tbl_thnowrap"] th {
    white-space: nowrap;
}

[class*="-tbl_lp"] th,
[class*="-tbl_lp"] td {
    padding: 0.5em 1em;
}

[class*="-tbl_year"] th {
    min-width: 4em;
    width: 6em;
}

[class*="-ctbl_spbreak"]>tbody>tr>td {
    display: block;
    width: 100%;
    padding: 0.5em 1em 2em 1em;
}

[class*="-ctbl_tdcenter"]>tbody>tr>td {
    text-align: center;
}

/* ## com_simpletable ## */
[class^="com_simpletable"] {
    width: 100%;
}

[class^="com_simpletable"] th {
    text-align: left;
    vertical-align: top;
    padding-right: 1em;
}

[class^="com_simpletable"] td {
    text-align: left;
    vertical-align: top;
}

/* ## com_conttable ## */
[class^="com_conttable"] {
    width: 100%;
    border-collapse: separate;
    border-spacing: var(--gap_narrow);
}

[class^="com_conttable"] th {
    text-align: left;
    vertical-align: top;
    min-width: 8em;
    padding: 0.5em 0;
    border-right: 1px solid #000000;
    font-size: var(--font_large);
}

[class^="com_conttable"] td {
    text-align: left;
    vertical-align: top;
    padding: 0.75em 0;
}

@media screen and (max-width: 767px) {
    [class*="-tb_s_fixed"] {
        table-layout: fixed;
    }
}

/* ##### signature ##### */
[class^="com_wrapsignature"] {
    text-align: right;
}

[class^="com_signature"] {
    display: inline-block;
    text-align: left;
    width: fit-content;
}

/* ##### list ##### */
[class^="com_list"] {
    display: block;
    padding: 1.5em 0 1.5em 2em;
}

[class^="com_list"] li {
    padding: 0 0 0.5em 0;
    position: relative;
}

[class*="-listCst"] {
    list-style: none;
}

[class*="-listCst"] li {
    position: relative;
}

[class*="-listCst"] li:before {
    content: "・";
    display: block;
    position: absolute;
    left: -1.2em;
    top: 0;
}

[class*="-listCst_square"] li:before {
    content: "■";
}

[class*="-listCst_circle"] li:before {
    content: "●";
}

[class*="-listCst_imgCheck"] li:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    top: 0.4em;
    background: url("/assets/images/common/icon_check_filled.png") center no-repeat;
    background-size: contain;
}

ol[class*="-listCst_paren"] li {
    counter-increment: cnt;
}

ol[class*="-listCst_paren"] li:before {
    content: "(" counter(cnt) ") ";
    left: -2em;
}


[class^="com_listnews"] {
    background: var(--white);
    display: flex;
    width: 100%;
    padding: 0.5em 0;
}

[class^="com_newsdate"] {
    width: 10em;
    padding: 1em 1em 1em 2em;
    margin: 0;
    font-weight: bold;
}

[class^="com_newstitle"] {
    flex: 1;
    padding: 1em;
    margin: 0;
}


@media screen and (max-width: 1599px) {

    /* ##### box system ##### */
    /* ## column sets ## */
    [class*="-col_xl_full"] {
        width: 100%;
        padding-bottom: var(--gap_minimum);
    }

    [class*="-col_xl_1_2"] {
        width: 50%;
    }

    [class*="-col_xl_1_3"] {
        width: calc(100% / 3);
    }

    [class*="-col_xl_2_3"] {
        width: calc(200% / 3);
    }

    [class*="-col_xl_1_4"] {
        width: 25%;
    }

    [class*="-col_xl_2_4"] {
        width: 50%;
    }

    [class*="-col_xl_3_4"] {
        width: 75%;
    }

}


@media screen and (max-width: 1399px) {

    /* ##### box system ##### */
    /* ## column sets ## */
    [class*="-col_l_full"] {
        width: 100%;
        padding-bottom: var(--gap_minimum);
    }

    [class*="-col_l_1_2"] {
        width: 50%;
    }

    [class*="-col_l_1_3"] {
        width: calc(100% / 3);
    }

    [class*="-col_l_2_3"] {
        width: calc(200% / 3);
    }

    [class*="-col_l_1_4"] {
        width: 25%;
    }

    [class*="-col_l_2_4"] {
        width: 50%;
    }

    [class*="-col_l_3_4"] {
        width: 75%;
    }

}


@media screen and (max-width: 1199px) {

    /* ##### box system ##### */
    /* ## column sets ## */
    [class*="-col_m_full"] {
        width: 100%;
        padding-bottom: var(--gap_minimum);
    }

    [class*="-col_m_1_2"] {
        width: 50%;
    }

    [class*="-col_m_1_3"] {
        width: calc(100% / 3);
    }

    [class*="-col_m_2_3"] {
        width: calc(200% / 3);
    }

    [class*="-col_m_1_4"] {
        width: 25%;
    }

    [class*="-col_m_2_4"] {
        width: 50%;
    }

    [class*="-col_m_3_4"] {
        width: 75%;
    }

    [class*="-col_m_1_5"] {
        width: 20%;
    }

    [class*="-col_m_2_5"] {
        width: 40%;
    }

    [class*="-col_m_3_5"] {
        width: 60%;
    }

    [class*="-col_m_4_5"] {
        width: 80%;
    }


    [class^="com_columnsubpage"] {
        flex-direction: column;
    }

    [class^="com_mainsubpage"] {
        width: 100%;
    }


}


@media screen and (max-width: 979px) {

    /* ##### box system ##### */
    /* ## column sets ## */
    [class*="-col_sm_full"] {
        width: 100%;
        padding-bottom: var(--gap_minimum);
    }

    [class*="-col_sm_1_2"] {
        width: 50%;
    }

    [class*="-col_sm_1_3"] {
        width: calc(100% / 3);
    }

    [class*="-col_sm_2_3"] {
        width: calc(200% / 3);
    }

    [class*="-col_sm_1_4"] {
        width: 25%;
    }

    [class*="-col_sm_2_4"] {
        width: 50%;
    }

    [class*="-col_sm_3_4"] {
        width: 75%;
    }

    [class*="-col_sm_1_5"] {
        width: 20%;
    }

    [class*="-col_sm_2_5"] {
        width: 40%;
    }

    [class*="-col_sm_3_5"] {
        width: 60%;
    }

    [class*="-col_sm_4_5"] {
        width: 80%;
    }

}

/**/
/**/
/**/
/**/
/**/

@media screen and (max-width: 767px) {

    :root {
        /* gap */
        --gap_micro: 1vw;
        --gap_minimum: 3vw;
        --gap_minimumN: -3vw;
        --gap_narrow: 6vw;
        --gap_normal: 9vw;
        --gap_wide: 12vw;
        --gap_col: 3vw;
        --gap_colN: -3vw;
        --columnWrapWidth: calc(100% + 6vw);
        --gap_colTop: 6vw;
        --gap_colTopN: -6vw;
        /* font size */
        --font_xsmall: 0.75rem;
        --font_small: 0.875rem;
        --font_normal: 1rem;
        --font_large: 1.15rem;
        --font_xlarge: 1.25rem;
        --font_xxlarge: 1.5rem;
        --font_xxxlarge: 1.75rem;
        --font_xxxxlarge: 2.1rem;
        --font_xxxxxlarge: 2.5rem;
        --font_xxxxxxlarge: 3rem;
    }

    /* ##### common switches ##### */

    /* align text */
    [class*="-al_s_center"] {
        text-align: center;
    }

    [class*="-al_s_left"] {
        text-align: left;
    }

    [class*="-al_s_right"] {
        text-align: right;
    }


    /* ##### box system ##### */
    /* ## column sets ## */

    [class*="-par_column"] {
        flex-direction: default;
    }

    [class^="com_cols"] {
        width: 100%;
        padding-bottom: var(--gap_minimum);
    }

    [class^="com_cols"]:last-child {
        padding-bottom: 0;
    }

    [class*="-col_collapse_s"]:first-child {
        padding-bottom: 0;
    }

    [class*="-col_collapse_s"]:last-child {
        padding-top: 0;
    }

    [class*="-col_s"] {
        padding-bottom: 0;
    }

    [class*="-col_s_1_2"] {
        width: 50%;
    }

    [class*="-col_s_1_3"] {
        width: calc(100% / 3);
    }

    [class*="-col_s_2_3"] {
        width: calc(200% / 3);
    }

    [class*="-col_s_1_4"] {
        width: 25%;
    }

    [class*="-col_s_2_4"] {
        width: 50%;
    }

    [class*="-col_s_3_4"] {
        width: 75%;
    }

    [class*="-col_s_1_5"] {
        width: 20%;
    }

    [class*="-col_s_2_5"] {
        width: 40%;
    }

    [class*="-col_s_3_5"] {
        width: 60%;
    }

    [class*="-col_s_4_5"] {
        width: 80%;
    }

    [class*="-col_connect"]:not(:first-child) {
        padding-top: 0;
    }

    [class*="-col_connect"] {
        padding-bottom: 0;
    }

    /* ##### form ##### */
    [class^="com_formrow"] {
        padding: var(--gap_narrow) 0;
    }

    [class^="com_formCell"] {
        width: 100%;
    }

    [class^="com_formCell"] {
        padding: var(--gap_micro);
    }

    [class^="com_forminnerrow"] {
        padding: var(--gap_micro) 0;
    }

    [class*="-fmc_midashi"] {
        font-size: var(--font_large);
    }

    [class^="com_formImageSelector"]+label {
        font-size: var(--font_small);
    }


    /* ##### btn ##### */
    [class^="com_btn"] {
        line-height: 2em;
    }

    [class*="-btn_mes"]::before {
        padding: 0 0.75em;
        top: -0.6rem;
        border-radius: 1.5em;
    }

    /* ##### table ##### */
    [class^="com_table"] th,
    [class^="com_table"] td {
        padding: 0.25em;
        font-size: var(--font_xsmall);
    }

    [class*="-col_connect"]:not(:first-child) [class^="com_table"] tr:first-child th,
    [class*="-col_connect"]:not(:first-child) [class^="com_table"] tr:first-child td {
        border-top: 0;
    }

    [class*="-tbl_spbreak"]>tbody>tr>th {
        display: block;
        width: 100%;
        border-bottom: 0 !important;
        background: var(--graywhite);
    }

    [class*="-tbl_spbreak"]>tbody>tr>td {
        display: block;
        width: 100%;
    }

    [class*="-tbl_spbreak"][class*="-tbl_lp"]>tbody>tr>th {
        background: transparent;
        padding-bottom: 0;
    }

    [class*="-tbl_spbreak"][class*="-tbl_lp"]>tbody>tr>td {
        background: transparent;
        padding-top: 0;
        border-top: 0;
    }

    [class*="-ctbl_spbreak"] {
        border-spacing: 0;
    }

    [class*="-ctbl_spbreak"]>tbody>tr>th {
        display: block;
        width: 100%;
        border-right: 0 !important;
        background: var(--graywhite);
        font-size: var(--nomal);
        padding: 0.5em 1em;
    }




    [class^="com_listnews"] {
        flex-wrap: wrap;
    }

    [class^="com_newsdate"] {
        width: 100%;
        padding: 1em 1.5em 0 1.5em;
    }

    [class^="com_newstitle"] {
        width: 100%;
        padding: 0 1.5em 1em 1.5em;
        margin: 0;
    }

}

@media screen and (max-width: 599px) {

    /* ##### common switches ##### */

    /* align text */
    [class*="-al_xs_center"] {
        text-align: center;
    }

    [class*="-al_xs_left"] {
        text-align: left;
    }


    /* ##### box system ##### */
    /* ## column sets ## */

    [class*="-par_column"] {
        flex-direction: default;
    }

    [class^="com_cols"] {
        width: 100%;
        padding-bottom: var(--gap_minimum);
    }

    [class^="com_cols"]:last-child {
        padding-bottom: 0;
    }

    [class*="-col_xs"] {
        padding-bottom: 0;
    }

    [class*="-col_xs_1_2"] {
        width: 50%;
    }

    [class*="-col_xs_1_3"] {
        width: calc(100% / 3);
    }

    [class*="-col_xs_2_3"] {
        width: calc(200% / 3);
    }

    [class*="-col_xs_1_4"] {
        width: 25%;
    }

    [class*="-col_xs_2_4"] {
        width: 50%;
    }

    [class*="-col_xs_3_4"] {
        width: 75%;
    }

    [class*="-col_xs_1_5"] {
        width: 20%;
    }

    [class*="-col_xs_2_5"] {
        width: 40%;
    }

    [class*="-col_xs_3_5"] {
        width: 60%;
    }

    [class*="-col_xs_4_5"] {
        width: 80%;
    }
}