/* ----------------------------------------

- title

---------------------------------------- */

/* title01
------------------------------------*/

.title01 {
    font-size: 28px;
    font-weight: 700;
    color: #102444;
    border-bottom: 4px solid #E8ECF3;
    position: relative;
    padding-bottom: 6px;
    margin-bottom: 40px;
    line-height: 1.4;
}

.title01:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 4px;
    width: 240px;
    background-color: #0C2A62;
}

.title01.title01-icon {
    padding-left: 56px;
}

.title01.title01-icon img {
    position: absolute;
    left: 16px;
    top: 43%;
    transform: translate(0, -50%);
    z-index: 10;
    width: auto;
    height: auto;
    max-width: 32px;
    max-height: 32px;
}

@media screen and (max-width: 767px) {

    .title01 {
        font-size: 20px;
        border-bottom: 3px solid #E8ECF3;
        padding-bottom: 6px;
        margin-bottom: 40px;
    }

    .title01:after {
        bottom: -4px;
        height: 3px;
        width: 30%;
    }


    .title01.title01-icon {
        padding-left: 44px;
    }

    .title01.title01-icon img {
        left: 12px;
        height: auto;
        max-width: 24px;
        max-height: 24px;
    }

}


/* title02
------------------------------------*/

.title02 {
    font-size: 20px;
    font-weight: 700;
    color: #102444;
    position: relative;
    padding: 14px 14px 14px 48px;
    margin-bottom: 40px;
    line-height: 1.4;
    background-color: #F7FAFF;
}

.title02:after {
    display: block;
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 4px solid #0C2A62;
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translate(0, -50%);
}


/* icon */
.title02.title02-icon img {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translate(0, -50%);
    z-index: 10;
    width: auto;
    height: auto;
    max-width: 24px;
    max-height: 24px;
}

.title02.title02-icon:after {
    display: none;
}


@media screen and (max-width: 767px) {

    .title02 {
        font-size: 18px;
        padding: 8px 8px 8px 32px;
        margin-bottom: 32px;
    }

    .title02:after {
        display: block;
        content: "";
        width: 12px;
        height: 12px;
        border-radius: 50%;
        border: 3px solid #0C2A62;
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translate(0, -50%);
    }

    /* icon */
    .title02.title02-icon img {
        position: absolute;
        left: 8px;
        top: 50%;
        transform: translate(0, -50%);
        z-index: 10;
        max-width: 20px;
        max-height: 20px;
    }

}


/* title03
------------------------------------*/

.title03 {
    font-size: 18px;
    font-weight: 700;
    color: #102444;
    position: relative;
    padding: 4px 0 4px 12px;
    border-left: 4px solid #0C2A62;
    margin-bottom: 32px;
    line-height: 1.4;
}

/*icon*/
.title03.title03-icon {
    padding-left: 36px;
    border-left: none;
}

.title03.title03-icon > img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    z-index: 10;
    width: auto;
    height: auto;
    max-width: 28px;
    max-height: 28px;
}


@media screen and (max-width: 767px) {

    .title03 {
        font-size: 16px;
        padding: 4px 4px 4px 12px;
        margin-bottom: 24px;
    }

    /*icon*/
    .title03.title03-icon {
        padding-left: 32px;
    }

    .title03.title03-icon > img {
        max-width: 24px;
        max-height: 24px;
    }


}


/* ----------------------------------------

- button

---------------------------------------- */

/* button01
------------------------------------*/

.button01 {
    position: relative;
    width: auto;
    max-width: 100% !important;
    padding: 11px 28px 11px 16px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-weight: 700;
    border: 1px solid #00205B;
    background-color: #00205B;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 100ms 0ms linear;
}

.button01.secondary {
    border: 1px solid #FF8B02;
    background-color: #FF8B02;
}

.button01:hover {
    opacity: .7;
}


.button01 .button01_icon {
    margin-right: 8px;
    width: auto;
    height: auto;
    max-width: 24px;
    max-height: 24px;
}

.button01 .button01_icon.button01_icon-big {
    max-width: 32px;
    max-height: 32px;
    margin-top: -4px;
    margin-bottom: -4px;
}

.button01:before {
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(
            45deg
    ) translate(-50%, -50%);
    right: 12px;
    top: 55%;
}


/*.button01[target="_blank"]*/
.button01[target="_blank"] {
    padding-right: 32px;
}

.button01[target="_blank"]:before {
    content: "";
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_target_blank-white.svg") no-repeat;
    background-size: 100% auto;
    border: none;
    fill: #fff;
    width: 16px;
    height: 16px;
    transform: translate(-50%, -50%);
    top: 50%;
    right: 0;
}

/* button-white*/
.button01.button-white {
    color: #333;
    background-color: #fff;
    border-color: #fff;
}

.button01.button-white:before {
    border-color: #333;
}

.button01.button-white[target="_blank"]:before {
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_target_blank.svg") no-repeat;
    background-size: 100% auto;
}

.button01[target="_blank"].button-white:before {
    border-color: #333;
}


/* button-yellow*/
.button01.button-yellow {
    color: #333;
    background-color: #ffd22e;
    border-color: #ffd22e;
}

.button01.button-yellow:before {
    border-color: #333;
}

.button01.button-yellow[target="_blank"]:before {
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_target_blank.svg") no-repeat;
    background-size: 100% auto;
}

.button01[target="_blank"].button-yellow:before {
    border-color: #333;
}


/* button-orange*/
.button01.button-orange {
    /*color: #333;*/
    background-color: #F78724;
    border-color: #F78724;
}

.button01.button-orange:before {
    border-color: #333;
}

.button01.button-orange[target="_blank"]:before {
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_target_blank-white.svg") no-repeat;
    background-size: 100% auto;
}

.button01[target="_blank"].button-orange:before {
    /*border-color: #333;*/
}


@media screen and (max-width: 767px) {

    .button01:before {
        top: 52%;
    }

    .button01[target="_blank"]:before {
        width: 14px;
        height: 14px;
        top: 50%;
    }

    .button01 .button01_icon {
        max-width: 16px;
        max-height: 16px;
    }
}

/* ----------------------------------------

- customSearchInput

---------------------------------------- */

.search-box {
    width: 100%;
    max-width: 100%;
    padding: 4px 8px;
    border: 1px solid #acacac;
    background-color: #FFFFFF;
    border-radius: 50px;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 12px!important;
}

.gsc-search-box {
    margin-bottom: 0!important;
}

.gsc-input-box {
    padding-top: 0!important;
    padding-bottom: 0!important;
    border: none!important;
}

.gsc-input {
    padding-right: 0!important;
}

.gsib_a {
    padding: 0 8px!important;
}

.gscb_a {
    line-height: 0!important;
}

.gsst_b {
    display: flex!important;
    align-items: center;
}

.gsst_a {
    display: block;!important;
}

.gsib_a input {
    background: none!important;
    outline: none;
}

.gsib_a input:focus {
    background: none!important;
}

.gsc-search-button-v2 {
    padding: 0 2px 0 0!important;
}

.gsc-search-button-v2 svg {
    width: 18px;
    height: 18px;
}

@media screen and (max-width: 767px) {

    .gsc-input-box {
        padding-top: 0!important;
        padding-bottom: 0!important;
        border: none!important;
    }

}

.customSearchInput {
    display: inline-block;
    position: relative;
}

.customSearchInput .customSearchInput_filed {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    padding: 4px 28px 4px 12px;
    border: 1px solid #acacac;
    line-height: 1.4;
    border-radius: 50px;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-family: inherit;
    font-size: 100%;
}

.customSearchInput .customSearchInput_button {
    width: 18px;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translate(0, -50%);
    opacity: 1;
    transition: opacity 100ms 0ms linear;
}

.customSearchInput .customSearchInput_button:hover {
    opacity: .7;
}

@media screen and (max-width: 767px) {

    .customSearchInput .customSearchInput_filed {
        font-size: 16px;
        padding: 8px 28px 8px 12px;
    }
}



/* ----------------------------------------

- pager

---------------------------------------- */

.pager {
    font-size: 0;
    text-align: center;
    display: flex;
    justify-content: center;
}

.pagerItem.active,
.pagerItem:first-of-type,
.pagerItem:last-of-type,
.pagerItem:nth-of-type(2),
.pagerItem:nth-last-of-type(2) {
    position: initial;
    top: initial;
    left: initial;
}

.pagerItem {
    font-size: 14px;
    display: inline-block;
    margin: 0 2px;
    vertical-align: top;
}

.pagerItem_link {
    line-height: 32px;
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin-left: -1px;
    transition: .3s;
    text-align: center;
    text-decoration: none;
    color: #2f3640;
    border-radius: 4px;
}

.pagerItem.active .pagerItem_link {
    text-decoration: none;
    color: #fff;
    border-color: #656c7b;
    background-color: #656c7b;
}

.pagerItem:not(.pagerItem-dot):hover {
    cursor: pointer;
}

.pagerItem_link:hover,
.pagerItem_link:focus,
.pagerItem_link:active {
    text-decoration: none;
    color: #fff;
    border-color: #656c7b;
    background-color: #656c7b;
}

span.pagerItem_link:hover,
span.pagerItem_link:focus,
span.pagerItem_link:active {
    text-decoration: none;
    color: inherit;
    border-color: inherit;
    background-color: inherit;
}

.pager__item--prev svg,
.pagerItem-next svg {
    width: 8px;
    height: 12px;
    fill: #fff;
}

.pagerItem_link:hover svg path,
.pagerItem_link:focus svg path,
.pagerItem_link:active svg path {
    fill: #fff;
}

.pagerItem-next .pagerItem_link svg {
    transform: rotate(180deg);
    transform-origin: center center;
}


@media screen and (max-width: 767px) {

    .pagerItem {
        margin: 0;
    }

    .pagerItem_link {
        line-height: 28px;
        width: 28px;
        height: 28px;
    }

}

/* ----------------------------------------

- pageNavItem

---------------------------------------- */
.pageNav {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
    align-items: baseline;
    margin-bottom: 40px;
}

/* pageNavItem
------------------------------------*/
.pageNavItem {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 100ms 0ms linear;
    min-width: 104px;
    max-width: 160px;
}

.pageNavItem:hover {
    opacity: .7;
}

.pageNavItem .pageNavItem_icon {
    position: relative;
    border-radius: 50%;
    width: 104px;
    height: 104px;
    background-color: #0C2A62;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pageNavItem .pageNavItem_icon img {
    width: 60%;
}

.pageNavItem .pageNavItem_link {
    margin-top: 8px;
    text-align: center;
}

@media screen and (max-width: 767px) {

    /* pageNavItem
    ------------------------------------*/
    .pageNavItem {
        min-width: inherit;
        max-width: inherit;
        width: calc(50% - 24px);
    }


}

/* ----------------------------------------

- anchorNav

---------------------------------------- */
.anchorNav {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 80px;
}

.anchorNav .anchorNav_item {
    width: 50%;
    min-width: 50%;
    position: relative;
    background-color: #F7FAFF;
    padding: 16px 32px 16px 16px;
    border-bottom: 1px solid #ccc;
    display: inline-flex;
    color: #102444;
    align-items: center;
}


.anchorNav .anchorNav_item:nth-child(even):after {
    content: "";
    width: 1px;
    height: 24px;
    background-color: #ccc;
    position: absolute;
    left: 0;
    transform: translate(0, -50%);
    top: 50%;
}

.anchorNav .anchorNav_item:before {
    position: absolute;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #102444;
    border-right: 2px solid #102444;
    transform: rotate(
            135deg
    ) translate(-50%, -50%);
    right: 24px;
    top: 45%;
}


/*anchorNav_item-icon*/
.anchorNav .anchorNav_item.anchorNav_item-icon {
    padding-left: 48px;
}

.anchorNav .anchorNav_item.anchorNav_item-icon .anchorNav_item_icon {
    margin-right: 8px;
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translate(0, -50%);
    width: auto;
    height: auto;
    max-width: 24px;
    max-height: 24px;
}

@media screen and (max-width: 767px) {

    .anchorNav .anchorNav_item {
        min-width: 100%;
        padding: 12px 32px 12px 12px;
    }

    .anchorNav .anchorNav_item:nth-child(even):after {
        display: none;
    }

    /*anchorNav_item-icon*/
    .anchorNav .anchorNav_item.anchorNav_item-icon {
        padding-left: 40px;
    }

    .anchorNav .anchorNav_item.anchorNav_item-icon .anchorNav_item_icon {
        left: 12px;
        width: auto;
        height: auto;
        max-width: 20px;
        max-height: 20px;
    }

}


/* ----------------------------------------

- textBox

---------------------------------------- */

.textBox {
    background-color: #F6F6F6;
    padding: 16px;
    position: relative;
    word-break: normal !important;
}

.textBox.textBox-red {
    background-color: #FBF0EE;
}

.textBox.textBox-blue {
    background-color: #F7FAFF;
}

.textBox.textBox-yellow {
    background-color: #FCF8E3;
}

.textBox .textBox_title {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 8px;
    position: relative;
}

.textBox .textBox_title .textBox_title_icon {
    position: relative;
    display: inline-block;
    width: 20px;
    transform: translate(0, 10%);
}

.textBox.textBox-info {
    border: 1px solid #CCCCCC;
    background-color: #FFFFFF;
    padding: 16px;
}

@media screen and (max-width: 767px) {

    .textBox {
        background-color: #F6F6F6;
        padding: 12px;
    }

    .textBox .textBox_title {
        font-size: 18px;
    }

}


/* ----------------------------------------

- toggleBox

---------------------------------------- */

.toggleBoxWrapper *:not(:last-child) {
    margin-bottom: 8px;
}

.toggleBox {

}

.toggleBox .toggleBox_title {
    background-color: #0C2A62;
    padding: 12px 32px 12px 16px;
    color: #fff;
    font-weight: 700;
    position: relative;
    cursor: pointer;
    opacity: 1;
    transition: opacity 100ms 0ms linear;
}

.toggleBox .toggleBox_title:hover {
    opacity: .7;
}

.toggleBox .toggleBox_title:after {
    line-height: 1;
    position: absolute;
    display: block;
    content: '';
    right: 16px;
    background-color: #fff;
    width: 17px;
    height: 3px;
    top: 21px;
}

.toggleBox .toggleBox_title:before {
    display: block;
    content: '';
    background-color: #fff;
    position: absolute;
    width: 3px;
    height: 17px;
    top: 14px;
    right: 23px;
}

.toggleBox .toggleBox_content {
    display: none;
    padding: 12px 16px;
    border-bottom: 1px solid #ccc;
}

/*active*/
.toggleBox .toggleBox_title.active:before {
    display: none;
}

@media screen and (max-width: 767px) {

    .toggleBox {
    }


    .toggleBox .toggleBox_title:after {
        line-height: 1;
        position: absolute;
        display: block;
        content: '';
        right: 16px;
        background-color: #fff;
        width: 14px;
        height: 2px;
        top: 20px;
    }

    .toggleBox .toggleBox_title:before {
        display: block;
        content: '';
        background-color: #fff;
        position: absolute;
        width: 2px;
        height: 14px;
        top: 14px;
        right: 22px;
    }

}



/* ----------------------------------------

- commentBox

---------------------------------------- */

.commentBox .commentBox_catch {
    display: inline-block;
    margin-left: 24px;
    background-color: #50719f;
    padding: 4px 16px;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    max-width: calc(100% - 48px);
}

.commentBox .commentBox_content {
    margin-top: -16px;
    background-color: #F7FAFF;
    padding: 24px;
}

.commentBox .commentBox_content .commentBox_title {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 8px;
    border-bottom: 2px solid #50719f;
    color: #50719f;
}


@media screen and (max-width: 767px) {

    .commentBox .commentBox_catch {
        padding: 4px 16px;
        margin-left: 16px;
        font-size: 16px;
    }

    .commentBox .commentBox_content {
        margin-top: -16px;
        background-color: #F7FAFF;
        padding: 24px 16px 16px 16px;
    }

    .commentBox .commentBox_content .commentBox_title {
        font-size: 16px;
    }

}

/* ----------------------------------------

- tag

---------------------------------------- */

.tag {
    padding: 4px 16px;
    margin-right: 16px;
    font-size: 12px;
    background-color: #F78724;
    color: #FFFFFF;
}

/* ----------------------------------------

- attentionBox

---------------------------------------- */

.attentionBox {
    border: 4px solid #E41D1D;
    position: relative;
    padding: 16px 16px 16px 56px;
}

.attentionBox:before {
    content: '';
    display: block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_attention_triangle-red.svg") no-repeat;
    background-size: 100% auto;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translate(0, -50%);
}

@media screen and (max-width: 767px) {

    .attentionBox {
        padding: 4px 8px 8px 8px;
        border: 2px solid #E41D1D;
    }

    .attentionBox:before {
        display: inline-block;
        width: 24px;
        height: 24px;
        position: relative;
        top: 0;
        left: 0;
        transform: translate(0, 4px);
    }

}




/* ----------------------------------------

- validateError

---------------------------------------- */
.validateError {
    background-color: #fff0f0;
    padding: 16px;
}



/* ----------------------------------------

- textLink

---------------------------------------- */

.textLink {
    color: #1a0dab;
    text-decoration: none;
}

.textLink.textLink-arrow:before {
    content: "";
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #00205B;
    border-right: 2px solid #00205B;
    transform: rotate(
            45deg
    );
    margin-right: 4px;
    left: -2px;
    top: -2px;
}

.textLink.textLink-pdf:after {
    content: "";
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_pdf.svg") no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    position: relative;
    top: 1px;
    margin-left: 4px;
}

.textLink.textLink-xlsx:after {
    content: "";
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_xlsx.svg") no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    position: relative;
    top: 1px;
    margin-left: 4px;
}

.textLink.textLink-download:after {
    content: "";
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_download.svg") no-repeat;
    background-size: 100% auto;
    width: 16px;
    height: 16px;
    position: relative;
    top: 1px;
    margin-left: 4px;
}

.textLink.textLink-mail:after {
    content: "";
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_mail.svg") no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    position: relative;
    top: 1px;
    margin-left: 4px;
}

.textLink[target="_blank"]:after {
    content: "";
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_target_blank.svg") no-repeat;
    background-size: 100% auto;
    width: 16px;
    height: 16px;
    position: relative;
    top: 1px;
    margin-left: 4px;
}

.textLink:hover {
    text-decoration: underline;
}


/* ----------------------------------------

- table

---------------------------------------- */


@media screen and (max-width: 767px) {
    .tableScrollWrapper {
        width: calc(100% + 16px);
        overflow-x: scroll;
    }
}


/* table01
------------------------------------*/

.table01 {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 14px;
}

.table01 > tbody > tr > th,
.table01 > tbody > tr > td {
    padding: 12px;
    border: 1px solid #E8E8E8;
}

.table01 > tbody > tr > th {
    font-weight: 700;
    vertical-align: middle;
    background: #FAFAFA;
    text-align: center;
    word-break: break-all;
}

.table01 > tbody > tr > th.staff {
    background: #F0F0FF;
}

.table01 > tbody > tr > th.foreigner {
    background: #E1F6FF;
}

.table01.table01-narrow {
    font-size: 12px;
}

.table01.table01-narrow > tbody > tr > td {
    padding: 6px;
    border: 1px solid #E8E8E8;
}

.table01-breakNormal > tbody > tr > th,
.table01-breakNormal > tbody > tr > td {
    word-break: normal;
}

.table01 .disable {
    background-color: #F2F2F2;
}

.table01 .responsive-col120 {
    width: 120px;
}

.table01 .wordBreak-normal {
    word-break: normal !important;
}

@media screen and (max-width: 767px) {


    .table01 > tbody > tr > th,
    .table01 > tbody > tr > td {
        padding: 8px;
    }

    .table01.table01-sp {
        display: block;
    }

    .table01.table01-sp > tbody {
        display: block;
    }

    .table01.table01-sp > tbody > tr {
        display: block;
    }

    .table01.table01-sp > tbody > tr > th,
    .table01.table01-sp > tbody > tr > td {
        display: block;
        width: 100%;
        border-left: none;
        border-right: none;
    }

    .table01.table01-sp > tbody > tr > th {
        text-align: left;
    }

    .table01 .responsive-col120 {
        width: 67px;
    }
}

/* table02
------------------------------------*/

.table02 {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 14px;
}

.table02 > thead > tr > th,
.table02 > thead > tr > td {
    padding: 12px;
    border: 1px solid #E8E8E8;
}

.table02 > tbody > tr > th,
.table02 > tbody > tr > td {
    padding: 12px;
    border: 1px solid #E8E8E8;
}

.table02 > thead > tr > th {
    font-weight: 700;
    vertical-align: middle;
    background: #FAFAFA;
    text-align: center;
}

.table02 > tbody > tr > th {
    font-weight: 700;
    vertical-align: middle;
    background: #FAFAFA;
    text-align: center;
}

.table02 > tbody > tr > th.staff {
    background: #F0F0FF;
}

.table02 > tbody > tr > th.foreigner {
    background: #E1F6FF;
}

.table02.table02-narrow {
    font-size: 12px;
}

.table02.table02-narrow > tbody > tr > td {
    padding: 6px;
    border: 1px solid #E8E8E8;
}

.table02 .disable {
    background-color: #F2F2F2;
}

@media screen and (max-width: 767px) {


    .table02 > tbody > tr > th,
    .table02 > tbody > tr > td {
        padding: 8px;
    }

    .table02.table02-sp {
        display: block;
    }

    .table02.table02-sp > thead {
        display: block;
    }

    .table02.table02-sp > thead > tr {
        display: block;
    }

    .table02.table02-sp > tbody {
        display: block;
    }

    .table02.table02-sp > tbody > tr {
        display: block;
    }

    .table02.table02-sp > thead > tr > th,
    .table02.table02-sp > thead > tr > td {
        display: block;
        width: 100%;
        border-left: none;
        border-right: none;
    }

    .table02.table02-sp > tbody > tr > th,
    .table02.table02-sp > tbody > tr > td {
        display: block;
        width: 100%;
        border-left: none;
        border-right: none;
    }

    .table02.table02-sp > tbody > tr > th {
        text-align: left;
    }
}


/* ----------------------------------------

- List Style

---------------------------------------- */

/* list01
------------------------------- */
.list01 {
    padding-left: 20px;
}

.list01 li {
    list-style-type: disc;
}

.list01 li::marker {
    color: #00205B;
}

.list01 li:not(:first-child) {
    margin-top: 24px;
}

.list01.list01-narrow li:not(:first-child) {
    margin-top: 12px;
}

.list01.list01-stick li:not(:first-child) {
    margin-top: 0;
}

.list01.list01-num li {
    list-style-type: decimal;
}

@media screen and (max-width: 767px) {

    .list01 li:not(:first-child) {
        margin-top: 16px;
    }

    .list01.list01-narrow li:not(:first-child) {
        margin-top: 8px;
    }
}


/* list02
------------------------------- */

.list02 > li {
    padding-left: 20px;
}

.list02 > li:not(:first-child) {
    margin-top: 24px;
}

.list02 > li {
    position: relative;
    color: inherit;
}

.list02 > li:before {
    content: '';
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 2px;
    width: 8px;
    height: 8px;
    margin-right: 2px;
    transform: rotate(45deg) translate(-50%, 0);
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}


/* list
------------------------------- */

.list03 > li {
    padding-left: 20px;
    text-align: left;
}

.list03 > li:not(:first-child) {
    margin-top: 24px;
}

.list03 > li {
    position: relative;
    text-decoration: none;
}

.list03 > li:before {
    line-height: 1;
    position: absolute;
    top: 2px;
    left: 0;
    margin-right: 2px;
    content: '■';
    color: #333;
}


/* ----------------------------------------

- Form Style
(input要素の幅は適宜調整する)

---------------------------------------- */

/* txt
------------------------------- */

input.txt,
textarea.txt,
select.txt {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid #acacac;
    line-height: 1.4;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-family: inherit;
    font-size: 100%;
}

input.txt:focus,
textarea.txt:focus {
    border: 1px solid #f19900;
    background: #F7FAFF;
}

input.check {
    position: relative;
    top: 2px;
    margin-right: 3px;
}

input[type='submit'],
input[type='button'] {
    font-family: inherit !important;
    font-size: inherit !important;
    -webkit-appearance: none;
}


/* error */
input.err,
textarea.err,
select.err {
    border-color: #ff6060;
    background: #fff0f0;
}

input.err:focus,
textarea.err:focus {
    border-color: #ee5959;
}


/* inputLabel
------------------------------- */

.inputLabel {
    position: relative;
}

.inputLabel label {
    cursor: pointer;
    line-height: 1.4;
}


/* checkbox */
.inputLabel input[type='checkbox'] {
    display: none;
    margin: 0 4px 0 0;
    position: relative;
    top: 1px;
    cursor: pointer;
}

input[type=checkbox] + label {
    padding-left: 20px;
    display: inline-block;
}

input[type=checkbox] + label:before {
    content: "";
    position: absolute;
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_check_box_outline_blank.svg") no-repeat;
    background-size: 100% auto;
    border: none;
    width: 16px;
    height: 16px;
    top: 4px;
    left: 0;
}

input[type=checkbox]:checked + label:before {
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_check_box.svg") no-repeat;
    background-size: 100% auto;
}

@media screen and (max-width: 767px) {

    input[type=checkbox] + label:before {
        top: 2px;
    }

}

/* radio */
.inputLabel input[type='radio'] {
    display: none;
}

input[type=radio] + label {
    padding-left: 20px;
    display: inline-block;
}

input[type=radio] + label:before {
    content: "";
    position: absolute;
    display: inline-block;
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_radio_button_unchecked.svg") no-repeat;
    background-size: 100% auto;
    border: none;
    width: 16px;
    height: 16px;
    top: 4px;
    left: 0;
}

input[type=radio]:checked + label:before {
    background: url("/wp-content/themes/kuiso/filesdir/images/icons/icon_radio_button_checked.svg") no-repeat;
    background-size: 100% auto;
}


@media screen and (max-width: 767px) {

    input[type=radio] + label:before {
        top: 2px;
    }

}


/* selectGroup */
.selectGroup {
    display: flex;
    flex-wrap: wrap;
}

.selectGroup.selectGroup-col {
    flex-flow: column;
}

.selectGroup.selectGroup-col > *:not(:first-child) {
    margin-top: 8px;
}

.selectGroup.selectGroup-row > *:not(:last-child) {
    margin-right: 16px;
}

@media screen and (max-width: 767px) {
    .selectGroup {
        display: block;
    }

    .selectGroup.selectGroup-row > *:not(:first-child) {
        margin-top: 8px;
    }
}

/* other */
.errorTxt {
    line-height: 1.4;
    margin-top: 8px;
    color: #d20000;
}

.hide {
    display: none;
}

.video {
    width: 760px;
    height: auto;
}

@media screen and (max-width: 767px) {
    .video-sp {
        width: 100%;
    }
}

/*  option and required  */

.formTable {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
}

.formTable tr {
    border-bottom: 1px solid #ccc;
}

.formTable tr th {
    font-weight: 700;
    background-color: #F7FAFF;
}

.formTable tr th,
.formTable tr td {
    width: 100%;
    padding: 8px;
    vertical-align: top;
    text-align: left;
}

.formTable .required,
.formTable .option {
    font-weight: 700;
    vertical-align: middle;
    display: flex;
    align-items: baseline;
}

.formTable .required:after {
    content: "必須";
    font-size: 12px;
    padding: 4px 8px;
    text-align: center;
    background: #E41D1D;
    color: #fff;
    font-weight: 700;
    display: inline-block;
    margin-left: auto;
    white-space: nowrap;
}

.formTable .required.required-en:after {
    content: "required";
}



@media screen and (max-width: 767px) {

    .formTable tr {
        display: block;
    }

    .formTable tr td,
    .formTable tr th {
        display: block;
        width: 100%;
        padding: 12px 8px;
    }

    .formTable .required:after {
        margin-left: 4px;
    }

}

.linkRow {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {

    .linkRow {
        display: block;
    }

}

/*  border 装飾  */
.waku01 {
  display: block;
  width: 400px;
  margin: 0 auto 12px;
  padding: 8px 4px;
  border: 2px dotted #ff0000;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .waku01 {
    font-size: 12px !important;
    padding: 8px 4px;
    width: auto;
    max-width: 100%;
    margin-bottom: 8px;
  }
}
