/******* setting.scss *******/
/******* mixin.scss *******/
@media screen and (max-width: 736px) {
    div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fildset, input, textarea, p, blockquote, table, th, td, address {
    font-size: 3.8vw;
    line-height: 180%; }

    ._sp {
    display: inline-block !important; }

    ._pc {
    display: none !important; }

    /******footer******/
    footer .footer-middle {
    padding: 45px 30px; }
    footer .footer-middle .inner {
    display: block; }
    footer .footer-middle .inner:before {
    display: none; }
    footer .footer-middle .inner .pagetop {
    font-size: 80%;
    bottom: -100px;
    right: -20px; }
    footer .footer-middle .footer-sitemap {
    border-bottom: 1px solid #C2CAD6;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 35px;
    padding: 0 0 35px;
    width: 100%; }
    footer .footer-middle .footer-sitemap ul {
    margin: 0 0 35px;
    width: 48%; }
    footer .footer-middle .footer-sitemap ul:nth-of-type(2) {
    margin: 0 0 35px 4%; }
    footer .footer-middle .footer-sitemap ul:nth-of-type(3) {
    margin: 0;
    width: 100%; }
    footer .footer-middle .footer-sitemap ul li {
    font-size: 80%; }
    footer .footer-middle .footer-misc {
    margin: 0;
    padding: 0;
    width: 100%; }
    footer .footer-middle .footer-misc dt {
    font-size: 95%; }
    footer .footer-middle .footer-misc dd {
    font-size: 80%;
    margin-top: 10px; }
    footer .footer-lower .copyright {
    font-size: 85%; }



    .detail_info .sec_sub {
    margin: 0 auto 1px;
    }
    .detail_info .detail_cont {
    display: block;
    margin: 0 auto; }
    .detail_info .detail_cont dt {
    width: 100%; }
    .detail_info .detail_cont dd {
        font-size: 110%;
        width: 100%;
    }
    .detail_info .detail_cont dd ol li {
    font-size: 105%; }
    .detail_info .detail_cont dd .quick_info {
    display: block;
    margin: 15px 0 15px -1em; }
    .detail_info .detail_cont dd .quick_info .pict {
    margin-bottom: 30px;
    padding: 0;
    text-indent: 0;
    width: 100%; }
    .detail_info .detail_cont dd .quick_info dl {
    width: 100%; }
    .detail_info .detail_cont dd .quick_info dl dt {
    padding: 0;
    text-indent: 0; }
    .detail_info .detail_cont dd .quick_info dl dd {
    font-size: 75%;
    padding-left: 15px;
    text-indent: 0; }
    .detail_info .detail_cont dd .quick_info dl dd span {
    position: absolute;
    top: 0px;
    left: 0px; }
    .detail_info .detail_cont dd .quick_info p {
    font-size: 75%;
    margin-top: 15px;
    padding-left: 0;
    text-indent: 0;
    width: 100%; }
    .detail_info .present_detail th {
    font-size: 75%; }
    .detail_info .present_detail td {
    font-size: 90%; }
    .detail_info .present_detail tr:first-of-type th.note {
    font-size: 75%; }
    .detail_info .target_info {
    padding: 10px; }
    .detail_info .target_info dt {
    width: 100%; }
    .detail_info .target_info dd {
    box-sizing: border-box;
    padding-left: 1em;
    text-indent: -1em; }
    .detail_info .sec_notice h3 {
    margin-bottom: 20px; }
    .detail_info .sec_notice .att_txt {
        font-size: 1.6rem !important;
        margin-bottom: 5px;
        margin-top: 23px;
    }
    .detail_info .sec_notice dl {
    margin-top: 20px; }

    .assignment {
        padding: 36px 20px 52px;
    }
    .assignment_icon {
        display: none;
    }
    .assignment .sec_cont {
    padding: 30px 20px 50px; }
    .assignment h2:after {
    display: none; }
    .assignment h2 span {
    display: inline-block; }
    .assignment h2 span:after {
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
    text-indent: 180%;
    white-space: nowrap;
    content: "";
    display: block;
    height: 39px;
    width: 39px;
    background-image: url("../img/title_icon2.svg");
    display: inline-block;
    margin: 0 0 5px 5px; }


    .assignment .sec_sub {
        margin-bottom: 21px;
        padding: 18px;
        border-width: 2px;
    }
    .assignment .sec_sub h3 {
        margin-bottom: 9px;
        text-align: left;
        line-height: 1.57;
        font-size: 1.4rem;
    }
    .assignment .sec_notice h3 {
        margin-bottom: 14px;
        font-size: 1.8rem;
        line-height: 1.2;
    }
    .assignment .sec_notice .notice li ul {
    margin-left: 20px; }

    .snsBox {
        padding: 38px 0 51px;
    }
    .snsBox h3 {
        font-size: 18px;
        line-height: 1.27;
    }

    .pc-only {
    display: none;
    }

    .sp-only {
    display: block;
    }

    .btn-disp__wrap h5 {
        font-size: 15px;
        letter-spacing: 0;
        margin-bottom: 5px;
    }
    .btn-disp__wrap h5::before,
    .btn-disp__wrap h5::after {
        left: 7px;
        width: 11px;
        height: 17px;
        transform: rotate(-15deg);
    }
    .btn-disp__wrap h5::after {
        right: 7px;
        left: auto;
        transform: scale(-1, 1) rotate(-15deg);
    }

    main {
        overflow: visible;
    }

    .how-to {
        position: relative;
        padding: 0 0 10px;
    }
    .how-to::after {
        position: absolute;
        top: -220px;
        bottom: 0;
        right: 0;
        left: 0;
        margin:auto;
        background: url(../img/mv_bg_sp.png) no-repeat top center / 100% auto;
        content: "";
    }
    .how-to > * {
        position: relative;
        z-index: 20;
    }
    .how-to .btn-disp__wrap h6 {
        margin: 15px 0;
    }
    .how-to .btn-disp__wrap h6::before,
    .how-to .btn-disp__wrap h6::after {
        margin: 0 3px;
    }
    .how-to__wrap {
        display: block;
        margin: 50px 20px 0;
    }
    .how-to__wrap > * {
        padding-top: 32px;
        width: 100%;
    }
    .how-to__wrap > *:not(:nth-child(3n)) {
        margin: 0 0 98px;
    }
    .how-to__wrap > *:not(:nth-child(3n))::after {
        top: auto;
        bottom: -32px;
        right: 0;
        left: 0;
        margin: 0 auto;
        width: 30px;
        height: 60px;
        transform: translateY(100%) rotate(90deg);
    }
    .how-to__wrap_num {
        right: -12px;
        width: 90px;
        height: 53px;
    }
    .how-to__wrap_step1,
    .how-to__wrap_step2,
    .how-to__wrap_step3 {
        font-size: 20px;
    }
    .how-to__wrap_step3 .subTxt {
        font-size: 14px;
        padding: 0;
        margin: 12px 0 -19px;
    }
    .how-to__wrap_img {
        margin-top: 30px;
    }
    .how-to__wrap .btn-pay {
        bottom: 34px;
        margin: 0 20px;
        width: auto;
        max-width: none;
    }
    .how-to__wrap .btn-pay a {
        font-size: 20px;
        height: 62px;
    }


    .sec_cont h2 {
    font-size: 2.5rem;
    margin-bottom: 35px;
    }

    .sec_cont h3 {
    font-size: 18px;
    padding-left: 25px;
    margin-bottom: 6px;
    }
    .present .sec_cont h3::before {
    top: 9px;
    width: 18px;
    height: 21px;
    }
    
    .entry-btn__wrap {
        margin: 0 20px;
        padding: 27px 18px 20px;
        width: auto;
        border-radius: 18px;
    }

    .h2 {
        font-size: 26px;
    }

    .detail_info .sec_cont {
        margin-bottom: 72px;
        padding: 12px 20px 25px;
    }

    .note-02.ttl {
    font-size: 1.5rem;
    line-height: 1.4;
    }
    .note-02.ttl02 {
        font-size: 15px;
        margin-bottom: 1px;
    }
    .note-02 p {
    font-size: 1.6rem;
    line-height: 3rem;
    text-indent: -2.5rem;
    padding-left: 2.5rem;
    color: #1E5EDA;
    font-weight: 600;
    }

    .sec_sub span {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 7px;
    }

    .notice li {
    text-align: left;
    line-height: 1.25;
    font-size: 1.2rem;
    text-indent: -1.3rem;
    padding-left: 1.6rem;
    }
    .notice-2 li {
        text-align: justify;
        line-height: 1.25;
        font-size: 1.2rem;
    }
    .notice-2 > li:not(:last-child) {
        margin-bottom: 12px;
    }
    .notice-2 > .notice-4 {
        margin: 18px 0 21px !important;
    }
    .notice-3 {
        margin: 13px 22px 24px 6px;
    }
    .notice-3 > li:not(:last-child) {
        margin-bottom: 11px;
    }


    .detail_info .detail_cont dt {
        font-size: 1.6rem;
        margin: 8px 0 0;
    }

    .detail-pay__wrap {
        margin-bottom: 24px;
    }
    .pict {
        float: none;
        width: 100%;
        margin: 8px 0 19px;
    }
    .detail-pay__txt {
    margin-left: 0;
    width: 100%;
    text-align: justify;
    }
    .detail_cont p {
    text-align: left;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.25;
    }
    .c__margin-20 {
        margin-top: 29px;
    }

    .detail_info .detail_cont h3 {
    font-size: 1.2rem;
    line-height: 1.25;
    margin-bottom: 20px;
    }

    .detail-pre-list {
        margin-top: 6px;
    }
    .detail-pre-list li {
        text-indent: -1rem;
        font-size: 12px;
        line-height: 1.25;
        padding-left: 1rem;
    }
    .detail-pre-list li:not(:last-child) {
        margin-bottom: 0;
    }
    .detail-pre-list li span {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.25;
    }



    .detail_info-sp {
        padding: 46px 20px 0;
    }

    .assignment.sec_notice.notice li {
    padding-right: 1rem;
    }

    .law__box {
        font-size: 12px;
        line-height: 1.25;
        margin-top: 21px;
        padding: 21px 20px 19px;
    }

    .pre-cont h2 {
    font-size: 2.5rem;
    margin-bottom: 25px;
    }

    .present {
        padding: 71px 20px 0;
    }
    .present_bg {
        bottom: 220px;
    }
    .present::before {
        position: absolute;
        top: 27px;
        right: auto;
        left: 20px;
        width: 60px;
        height: 30px;
        background: url(../img/pre-bg_sp.png) no-repeat 0 0 / 100% auto;
        content: "";
        z-index: 30;
    }
    .present .h2 {
        line-height: 1.3;
        margin-bottom: 10px;
        padding: 0 1px;
    }
    .present .txt01 {
        margin: 28px -10px 0;
    }
    .present .tableBox {
        margin: 27px auto 47px;
    }
    .present .entry-btn__wrap {
        margin: 0;
    }

    .detail_info h2 {
        margin: 0 auto 17px;
        padding: 0;
    }
    .detail_info h2::before,
    .detail_info h2::after {
        display: none;
    }

    .sp-btn-pay__wrap {
    text-align: center;
    }
    .detail_info .btn-pay {
        margin: 20px 0 0;
        height: 58px;
    }

    .entry-btn__wrap p {
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.2;
    margin-top: 10px;
    }
    .entry__txt {
        text-align: left;
        font-size: 12px;
        margin: 10px 15px 0;
    }

    .note-02 {
    line-height: 3rem;
    }
    .note-03 p{
    font-size: 1.2rem;
    font-weight: 600;
    text-align: left;
    }

    .pre__ttl-dt {
    font-size: 1.6rem;
    font-weight: 600;
    }

    .btn-pay a {
        font-size: 18px;
        height: 64px;
        padding: 0 20px;
        border-width: 2px;
        box-shadow: 0 2px 0 #E2E2E2;
    }
    
    .top-logo-img {
        top: 9px;
        width: 64px;
        z-index: 100;
    }
    .mv-img {
        left: 4px;
        margin: 0px auto 20px;
        padding: 16px 0 0 8px;
        width: 100%;
    }

    .cont-1140 {
    width: 100%;
    padding: 0 20px;
    }

    .bg-grad02 {
    padding: 0 20px;
    }

    .top-entry-list li {
    font-size: 1.2rem;
    text-indent: -1.2rem;
    padding-left: 1.2rem;
    line-height: 1.4;
    margin-bottom: 5px;
    }


    .detail_info {
    padding: 0;
    }
    .detail_info .tableBox {
        margin: 16px 0 25px;
    }
    .detail_info .tableBox table {
        margin-bottom: 16px;
    }
    .detail_info .tableBox thead tr > :nth-child(2),
    .detail_info .tableBox tbody tr > :nth-child(2) {
        width: 111px;
    }
    .detail_info .tableBox thead tr:not(.color) th {
        padding: 13px 10px 16px;
    }
    .detail_info .tableBox tbody th {
        font-size: 15px;
        padding: 5px 0;
    }
    .detail_info .tableBox tbody td {
        font-size: 18px;
        padding: 21px 0 20px;
    }
    .detail_info .tableBox .listCome > li:not(:last-child) {
        margin-bottom: 7px;
    }


    .detail-pay__txt p {
    text-align: left;
    font-size: 1.2rem;
    font-weight: 700;
    }
    .detail-pay__num-list {
        margin: 8px 0 0 1px;
    }
    .detail-pay__num-list li,
    .detail-pay__num-list li span {
        font-size: 12px;
        line-height: 1.3;
    }
    .detail-pay__num-list li:not(:last-child) {
        margin-bottom: 6px;
    }

    .detail_info .sec_notice p {
    font-size: 1.2rem;
    line-height: 1.25;
    margin-top: 3px;
    }

    .detail_info .sec_notice dl dd {
    font-size: 1.2rem;
    line-height: 1.25;
    }

    .assignment .sec_sub p.indent {
        text-align: left;
        font-size: 1.2rem;
        line-height: 1.25;
        font-weight: 400;
        padding-right: 0;
    }

    .assignment .sec_notice {
        padding: 27px 20px 21px;
    }


    .cont_nar {
    width: 100%;
    }


    .detail_info .sec_notice dl .small {
    font-size: 1.2rem;
    line-height: 1.25;
    }

    .sec_cont .sec_sub .pay .note-02 {
    font-size: 1.4rem;
    }

    /* 
        mv
    */
    .mv {
        overflow-x: hidden;
        padding: 0 0 34px;
        background: url(../img/top-bg_sp.png) no-repeat top center / 100% auto;
    }
    .mv::after {
        display: none;
    }

    .mv-date-img {
    width: 95%;
    left: 48%;
    }

    .detail_info .sec_notice dl dt {
    font-size: 1.4rem;
    line-height: 1.2;
    margin-bottom: 5px;
    }
    .pre-cont .sec_sub span {
    font-size: 1.4rem;
    margin-bottom: 5px;
    display: inline-block;
    }

    .detail_info .detail_cont dd p {
        font-size: 1.2rem;
    }

    .btn-disp__wrap h6 {
        font-size: 13px;
        margin: 29px 0 9px;
    }
    .btn-disp__wrap h6::before,
    .btn-disp__wrap h6::after {
        margin: 0 3px;
        top: 0;
        width: 10px;
        height: 15px;
        transform: rotate(-11deg);
    }
    .btn-disp__wrap h6::after {
        transform: scale(-1,1) rotate(-11deg);
    }

    .btn-theo {
        margin: 0 auto 10px;
        max-width: 235px;
    }
    .btn-theo a {
        font-size: 14px;
        height: 48px;
    }

    .detail_info .sec_cont.type01 {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    .detail_info .sec_cont.type02 {
    padding-bottom: 30px;
    padding-top: 7px;
    margin-bottom: 19px;
    }

    .detail_info .detail_cont dd .w-normal {
    font-weight: 400;
    font-size: 1.2rem;
    }


    /* 
        tableBox
    */
    .tableBox thead tr:not(.color) th {
        font-size: 18px;
        padding: 14px 10px 13px;
    }
    .tableBox thead tr > :nth-child(2),
    .tableBox tbody tr > :nth-child(2) {
        width: 111px;
    }
    .tableBox .color_oute {
        margin: 0 -2px;
        width: calc(100% + 4px);
    }
    .tableBox thead tr.color {
        border-bottom-width: 3px;
    }
    .tableBox .color_outer::before {
        top: -4px;
        bottom: -2px;
        right: -4px;
        left: -4px;
        border-width: 3px;
        border-radius: 7px;
    }
    .tableBox .color_outer::after {
        top: -2px;
        right: -2px;
        left: -2px;
        border-width: 3px;
        border-radius: 6px;
    }
    .tableBox thead tr.color .tit {
        font-size: 20px;
    }
    .tableBox thead tr.color .txt {
        font-size: 20px;
        padding: 28px 0;
    }
    .tableBox thead tr.color .txt .num {
        font-size: 20px;
    }
    .tableBox thead tr.color .txt .num .up {
        font-size: 10px;
        position: relative;
        top: 0;
        right: 0;
        margin-bottom: 5px;
        padding: 0 0 2px;
        width: 64px;
        height: 17px;
        transform: translateX(0);
    }
    .tableBox thead tr.color .txt .num .up::before {
        top: auto;
        bottom: 1px;
        left: 28px;
        transform: translateY(100%) scale(-1,-1);
    }
    .tableBox thead tr.color .txt .subTxt {
        font-size: 11px;
        margin: 6px auto 0;
        max-width: 106px;
        height: 17px;
    }
    .tableBox tbody th {
        font-size: 15px;
    }
    .tableBox tbody td {
        font-size: 18px;
        padding: 20px 0 21px;
    }

    .present .listCome {
        margin-top: 18px;
    }

    .listCome:not(.fcRed) > li {
        font-size: 1.2rem;
        line-height: 1.25;
        padding-left: 0;
    }
    .listCome:not(.fcRed) > li:not(:last-child) {
        margin-bottom: 15px;
    }
    .listCome:not(.fcRed) > li::before {
        display: inline-block;
        position: static;
    }
    .fcRed.listCome {
        margin-bottom: 5px;
    }
    .fcRed.listCome > li {
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .detail_info .detail_cont_mt39.detail_cont {
        margin-top: 16px;
    }
    .fcBlue_fz18_fwB {
        font-size: 14px;
    }
    .fz15_fwB_mt11 {
        font-size: 1.2rem;
        margin-top: 6px;
    }
    .fz20_fwB {
        font-size: 14px;
    }

    .note-02.c__margin-20 {
        text-indent: -1em;
        padding-left: 1em;
    }
}