@charset "UTF-8";
/* CSS Document */

@import url("base.css");

/*------------------------------------------------------*/

/* Header */

/*------------------------------------------------------*/


@media screen and (min-width:480px) {}

@media screen and (min-width:767px) {}


/*------------------------------------------------------*/

/* Footer */

/*------------------------------------------------------*/

footer {}

.footer-container {
    padding: 130px 20px 20px 20px;
    position: relative;
    max-width: 1024px;
    margin: 0 auto;
    box-sizing: border-box;
}

.footer-container::before {
    content: "";
    display: block;
    width: 200px;
    height: 184px;
    background: url(../images/footer_img.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -70px;
    left: 10px;
}

.footer-container h5 {
    font-size: 1.4rem;
    margin-bottom: 0.5em;
}

.contact-info {
    font-size: 1.4rem;
}

.contact-info h6 {
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 0.5em;
}

.contact-info span {
    display: block;
}

.copyright {
    font-size: 1.2rem;
    text-align: center;
    padding: 1em 15px;
}

#pageTop {
    position: fixed;
    right: 15px;
    bottom: 50px;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
}

#pageTop a {
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    border-radius: 30px;
    background-color: #fcc800;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 1.2rem;
    font-weight: 600;
    color: #FFF;
    text-decoration: none;
}

#pageTop a span {
    display: block;
}

#pageTop a i {
    font-size: 18px;
}

#pageTop a:hover {
    background-color: #0075c2;
    transition: all 0.25s ease-out;
}

@media screen and (min-width:767px) {

    .footer-container {
        padding: 20px 20px 0px 300px;
        position: relative;
    }

    .footer-container::before {
        width: 290px;
        height: 265px;
        top: -100px;
        left: 10px;
    }

    .footer-container h5 {
        line-height: 1.785;
        text-align: left;
        margin-bottom: 0px;
        padding-right: 30px;
        border-right: 1px solid #FFF;
        display: flex;
        align-items: center;
    }

    .footer-container h5 span {
        border-right: none;
        border-left: none;
        padding: 0;
    }

    .contact-info {
        text-align: left;
        padding: 10px 0;
    }

    .contact-info h6 {
        text-align: left;
        margin-bottom: 0.5em;
    }

    .contact-info span {
        display: inline;
    }

}

/*------------------------------------------------------*/

/* トップページ */

/*------------------------------------------------------*/

header {
    position: relative;
    width: 100vw;
    height: 133vw;
}

header .mainvisual-deco {
    width: 100vw;
    height: 133vw;
    background: url(../images/header_deco-cirlce-sp.png) center 0 no-repeat;
    background-size: 420px auto;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 5;
}

header .mainvisual-upper {
    width: 100vw;
    position: absolute;
    top: 0px;
    left: 0px;
}

header .mainvisual-lower {
    width: 100vw;
    position: absolute;
    bottom: 0px;
    right: 0px;
}

header .mainvisual-upper img,
header .mainvisual-lower img {
    width: 100%;
    height: auto;
}

header .site-title {
    width: 270px;
    height: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

@media screen and (min-width:480px) {

    header {
        height: 637px;
    }

    header .mainvisual-deco {
        width: 100vw;
        height: 637px;
        background-size: 100% auto;
    }

    header .mainvisual-upper {
        width: 100%;
        height: 294px;
        position: absolute;
        top: 0px;
        left: 0px;
        overflow: hidden;
    }

    header .mainvisual-lower {
        width: 100%;
        height: 294px;
        position: absolute;
        bottom: 0px;
        right: 0px;
        display: flex;
        justify-content: flex-end;
        overflow: hidden;
    }

    header .mainvisual-upper img,
    header .mainvisual-lower img {
        width: auto;
        height: 100%;
    }
}

@media screen and (min-width:767px) {

    header {
        height: 68.3vw;
    }

    header .mainvisual-deco {
        width: 100vw;
        height: 90vw;
        background: url(../images/header_deco-cirlce-pc.png) no-repeat;
        background-size: 120% auto;
        position: absolute;
        top: -15px;
        left: 50%;
        transform: translate(-50%, 0);
        z-index: 5;
    }

    header .mainvisual-upper {
        width: 100%;
        height: 36.8vw;
        position: absolute;
        top: 0px;
        left: 0px;
    }

    header .mainvisual-lower {
        width: 100%;
        height: 36.8vw;
        position: absolute;
        bottom: 0px;
        right: 0px;
        display: flex;
        justify-content: flex-end;
    }

    header .mainvisual-upper img,
    header .mainvisual-lower img {
        width: auto;
        height: 100%;
    }

    header .site-title {
        width: 47.2vw;
        height: 26.2vw;
    }
}

@media screen and (min-width:1280px) {
    header {
        height: 68.3vw;
        /*689px*/
    }

    header .mainvisual-deco {
        width: 100vw;
        height: 71.1vw;
        background: url(../images/header_deco-cirlce-pc.png) center 0 no-repeat;
        background-size: 1440px auto;
        position: absolute;
        top: -40px;
        left: 50%;
        transform: translate(-50%, 0);
        z-index: 5;
    }

    header .mainvisual-upper {
        width: 100%;
        height: 36.8vw;
        position: absolute;
        top: 0px;
        left: 0px;
    }

    header .mainvisual-lower {
        width: 100%;
        height: 36.8vw;
        position: absolute;
        bottom: 0px;
        right: 0px;
        display: flex;
        justify-content: flex-end;
    }

    header .mainvisual-upper img,
    header .mainvisual-lower img {
        width: auto;
        height: 100%;
    }

    header .site-title {
        width: 47.2vw;
        height: 26.2vw;
    }

}

@media screen and (min-width:1440px) {
    header .mainvisual-deco {
        width: 100vw;
        height: 71.1vw;
        background-size: 100% auto;
    }
}

#movie .container {
    background-color: #00afcc;
}

#movie .container .movies-content-upper {
    padding: 50px 10px 20px 10px;
}

#movie .container .movies-content-lower {
    background-image: url(../images/divider_2tone.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-color: #e95377;
    padding: 40px 10px 10px 10px;
}

.movies-content-upper .movies-container {
    max-width: 560px;
    margin: 0 auto;
}

.movies-content-lower .movies-container {
    max-width: 560px;
    margin: 0 auto;
}

#movie .container .youtube {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
}

#movie .container .youtube iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#movie .container .movies-content-lower .youtube {
    margin-bottom: 30px;
}

.movie-block .movie-title {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 1em;
    color: #FFF;
}

.movie-block .movie-title span {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 500;
    background-color: #FFF;
    border-radius: 4px;
    color: #000;
    margin-right: 0.5em;
    padding: 2px 10px;
}

.movie-block .btn {
    text-align: center;
    margin: 0 auto 50px auto;
}

.movie-block .btn a {
    width: 100%;
    max-width: 180px;
    display: inline-block;
    background-color: #00afcc;
    color: #FFF;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 12px 12px;
    text-decoration: none;
    text-align: center;
    margin: 0 auto;
    box-sizing: border-box;
}

.movie-block .btn a:hover {
    background-color: ;
    transition: all 0.25s ease-out;
}

@media screen and (min-width:580px) {
    #movie .container .movies-content-upper {
        padding: 70px 10px 20px 10px;
    }

    #movie .movies-content-lower .movies-container {
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 30px;
        padding: 90px 10px 30px 10px;
    }

    #movie .container .youtube {
        width: 560px;
        padding-top: 315px;
        position: relative;
    }

    .movie-block .movie-title {
        text-align: center;
        font-size: 2.1rem;
        margin-bottom: 1em;
        color: #FFF;
    }

    .movie-block .movie-title span {
        display: inline-block;
        font-size: 1.6rem;
        font-weight: 500;
        background-color: #FFF;
        border-radius: 4px;
        color: #000;
        margin-right: 0.5em;
        padding: 2px 10px;
    }

    .movie-block .btn {
        margin: 0 auto;
    }
}


#subsidy.contents-section {
    background: url(../images/header_background-sp.jpg) center top no-repeat;
    background-size: auto 100vh;
    background-attachment: fixed;
}

#subsidy .container {
    padding: 0px 10px;
}

#subsidy .section-header {
    padding: 50px 0 100px 0;
    background: url(../images/section_deco-circle.png) center center no-repeat;
    background-size: 1280px auto;
}

#subsidy .section-header .contents-title {
    max-width: 980px;
    margin: 0 auto 50px auto;
}

#subsidy .section-header .text-block p {
    max-width: 980px;
    font-size: 1.8rem;
    line-height: 1.785;
    margin-bottom: 1em;
    text-align: justify;
    margin: 0 auto;
}

#subsidy .section-header .text-block strong {
    background: linear-gradient(transparent 70%, #fcc800 30%);
}

.content-reform {
    padding: 50px 15px 70px 15px;
    max-width: 920px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    margin-top: 50px;
}

.content-reform .content-title {
    font-size: 2.4rem;
    font-weight: 700;
    color: #ff6900;
    text-align: center;
    margin-bottom: 1em;
}

.content-reform p {
    font-size: 1.4rem;
    line-height: 1.785;
    margin-bottom: 1em;
    text-align: justify;
}

.list-alternate .item {
    background-color: #FFF;
    border-radius: 30px;
    padding: 10px;
    list-style-type: none;
    margin-top: 70px;
}

.list-alternate .item__inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.list-alternate .item__inner .item__texts {
    box-sizing: border-box;
    padding: 15px;
}

.list-alternate .title {
    font-size: 2.1rem;
    font-weight: 600;
    color: #e95377;
    margin-bottom: 0.5em;
    margin-top: -40px;
    padding-left: 15px;
}

.list-alternate .item__inner .title {
    font-size: 1.8rem;
    font-weight: 600;
    color: #00afcc;
    margin-bottom: 1em;
    margin-top: 0px;
    padding-left: 0px;
}

.links-external .caption-text {
    padding: 70px 0 30px 0;
    text-align: center;
}

.links-external .link-image {
    max-width: 640px;
    margin: 0 auto 0 auto;
}

.links-external .link-image a {
    display: block;
}

.links-external .link-image a:hover {
    opacity: 0.8;
}

.links-external .btn-block {
    margin: 60px auto 0 auto;
}

@media screen and (min-width:480px) {
    .content-reform {
        padding: 50px 30px 70px 30px;
    }

    .content-reform .content-title {
        font-size: 3.2rem;
    }

    .content-reform p {
        font-size: 1.6rem;
    }

    .list-alternate .item__inner {
        flex-direction: row;
    }

    .list-alternate .item {
        border-radius: 20px;
        padding: 20px;
    }

    .list-alternate .item__inner .item__texts {
        width: 50%;
    }

    .list-alternate .title {
        font-size: 3.2rem;
        margin-top: -40px;
    }

    .list-alternate .item__inner .title {
        font-size: 2.1rem;
    }
}

.btn-block .btn-center {
    text-align: center;
    margin: 0 auto;
}

.btn-block .btn a {
    width: 100%;
    max-width: 380px;
    display: inline-block;
    background-color: #00afcc;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: 600;
    padding: 15px 15px;
    text-decoration: none;
    text-align: center;
    margin: 0 auto;
    box-sizing: border-box;
}

.btn-block .btn a:hover {
    background-color: ;
    transition: all 0.25s ease-out;
}


.subsidy-content .content-innner {
    padding: 70px 10px 10px 10px;
    background-color: rgba(255, 255, 255, 0.7);
    background-image: url(../images/section-subsidy_border.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 15px;
    max-width: 984px;
    margin: 0 auto 50px auto;
    box-sizing: border-box;
}

.subsidy-content .title-block {
    position: relative;
    padding-top: 45px;
    margin-bottom: 20px;
}

.subsidy-content .program-title h4 {
    position: absolute;
    top: 0;
    left: -20px;
    width: 180px;
    height: auto;
}

.subsidy-content .program-title .contents-title {}

.subsidy-content .program-title .contents-title img {
    height: 26px;
    width: auto;
}

#subsidy03.subsidy-content .program-title .contents-title img {
    height: 52px;
    width: auto;
}

.link-badge {
    position: absolute;
    top: -45px;
    right: -10px;
}

.link-badge a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    border-radius: 40px;
    background-color: #fcc800;
    text-align: center;
    font-size: 1.4rem;
    color: #000;
    text-decoration: none;
    line-height: 1.2;
}

.subsidy-content .text-block p {
    font-size: 1.4rem;
    line-height: 1.75;
    text-align: justify;
    margin-bottom: 1em;
}

.subsidy-content .column-block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin: 30px auto 0px auto;
}

#subsidy01.subsidy-content .column-item.torikumi1,
#subsidy01.subsidy-content .column-item.torikumi2 {
    width: 335px;
    max-width: 442px;
    box-sizing: border-box;
    padding: 0 20px 30px 20px;
}

#subsidy01 .column-block .column-item h4 {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 0.15em;
}

#subsidy01 .column-block .column-item .footnote {
    font-size: 1.2rem;
}

.numlist {
    padding-left: 25px;
    margin-bottom: 20px;
    background-size: 20px 20px;
    background-position: 0 2px;
    background-repeat: no-repeat;
}

.numlist.num01 {
    background-image: url(../images/fig_num01-pk.png);
    margin-top: 15px;
}

.numlist.num02 {
    background-image: url(../images/fig_num02-pk.png);
}

.numlist.num03 {
    background-image: url(../images/fig_num03-pk.png);
}

.numlist.num04 {
    background-image: url(../images/fig_num04-pk.png);
}

.torikumi1 .numlist.num01 {
    background-image: url(../images/fig_num01-pk.png);
}

.torikumi1 .numlist.num02 {
    background-image: url(../images/fig_num02-pk.png);
}

.torikumi2 .numlist.num01 {
    background-image: url(../images/fig_num01-bl.png);
}

.torikumi2 .numlist.num02 {
    background-image: url(../images/fig_num02-bl.png);
}

.torikumi2 .numlist {
    background-position: 0 5px;
}

.numlist p {
    font-size: 1.4rem;
    margin-bottom: 1em;
}

.numlist h5 {
    font-size: 1.8rem;
    margin-bottom: 0.15em;
}

.numlist .subsidy-amount {
    margin-bottom: 0.15em;
}

.subsidy-amount img {
    height: 35px;
    width: auto;
}

.torikumi1 {
    background-image: url(../images/section-subsidy01_bg01-sp.png);
    height: 356px;
    /*106vw*/
    background-size: contain;
    background-repeat: no-repeat;
}

.torikumi1 h4 {
    color: #e95377;
}

.torikumi1 .icon-plus {
    width: 32px;
    height: 32px;
    text-align: center;
    margin: 10px auto;
}

.torikumi2 {
    background-image: url(../images/section-subsidy01_bg02-sp.png);
    height: 446px;
    /*133vw*/
    background-size: contain;
    background-repeat: no-repeat;
}

.torikumi2 h4 {
    color: #00afcc;
}

.subsidy-summary p {
    font-size: 1.4rem;
    margin-bottom: 1em;
}

.subsidy-summary p.footnote {
    font-size: 1.2rem;
}

.title-pk {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 600;
    color: #e95377;
    line-height: 1;
    padding: 0.5em 1em;
    margin-bottom: 0.5em;
    background-color: #fadbde;
}

.title-bl {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 600;
    color: #00afcc;
    line-height: 1;
    padding: 0.5em 1em;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    background-color: #d4ecf3;
}

.subsidy-summary .numlist {
    margin-bottom: 0px;
}

.subsidy-summary .numlist p {
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 0.5em;
}

.subsidy-summary .subsidy-amount {
    margin-bottom: 0.15em;
}

.devide-img {
    width: 100%;
    height: 8px;
    background: url(../images/border-yoko.png) center center repeat-x;
    background-size: 948px 8px;
}

#subsidy02.subsidy-content .voice-block .title-block,
#subsidy03.subsidy-content .voice-block .title-block {
    padding-top: 15px;
}

.voice-block .block-title {
    width: 130px;
    text-align: center;
    margin: 0px auto 30px auto;
}

.voice-block .company-name h4 {
    font-size: 2.1rem;
    font-weight: 600;
}

.voice-block .company-name p {
    font-size: 1.4rem;
    margin-bottom: 0;
}

.voice-block .text-block {
    background-color: #FFF;
    border-radius: 15px;
    padding: 15px;
}

.voice-block .text-block h5 {
    font-size: 1.7rem;
    color: #e95377;
    margin-bottom: 1em;
}

.voice-block .text-block p {
    margin-bottom: 0;
}

#subsidy01.subsidy-content .voice-block .text-block .column-item,
#subsidy02.subsidy-content .voice-block .text-block .column-item,
#subsidy03.subsidy-content .voice-block .text-block .column-item {
    padding: 0;
    margin: 0;
}

#subsidy01.subsidy-content .voice-block .text-block .column-block,
#subsidy02.subsidy-content .voice-block .text-block .column-block,
#subsidy03.subsidy-content .voice-block .text-block .column-block {
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    margin: 0;
}

#subsidy01.subsidy-content .voice-block .text-block .column-block .column-item {
    width: 70%;
}

#subsidy01.subsidy-content .voice-block .text-block .column-block .photo-block {
    width: 25%;
}

.voice-block .text-block .photo-block img {
    display: block;
    border-radius: 15px;
}

#subsidy02.subsidy-content .voice-block .text-block .photo-block {
    max-width: 200px;
    margin: 0 auto;
}

#subsidy02.subsidy-content .voice-block .text-block .photo-block img {
    display: block;
    border-radius: 15px;
}

#subsidy03.subsidy-content .voice-block .text-block .photo-block {
    max-width: 220px;
    margin: 0 auto;
}

#subsidy03.subsidy-content .voice-block .text-block .photo-block img {
    display: block;
    border-radius: 15px;
}

#subsidy .caution-txt {
    margin-top: -30px;
    padding: 0px 0 50px 0;
    font-size: 1.2rem;
    max-width: 984px;
    margin-left: auto;
    margin-right: auto;
}

.ex-content {
    max-width: 560px;
    margin: 30px auto;
}

.ex-content .ex-content-title {
    text-align: center;
    margin-bottom: 30px;
}

.ex-content .ex-content-title h3 {
    text-align: center;
    font-size: 2.1rem;
    font-weight: 600;
}

.ex-content .ex-content-title p {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    color: #e95377;
}

.ex-content .youtube {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
}

.ex-content .youtube iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.ex-content .btn-block {
    margin: 30px auto 0 auto;
}

@media screen and (min-width:480px) {
    .btn-block {
        margin: 60px auto 0 auto;
    }

    .btn-block .btn a {
        font-size: 2.1rem;
    }

    #subsidy.contents-section {
        background: url(../images/header_background-pc.jpg) center top no-repeat;
        background-size: auto 100vh;
        background-attachment: fixed;
    }

    .subsidy-content .content-innner {
        padding: 45px 20px 20px 20px;
        background-size: auto 20px;
        max-width: 984px;
        margin: 0 auto 50px auto;
        box-sizing: border-box;
    }

    .subsidy-content .title-block {
        padding-top: 75px;
        margin-bottom: 20px;
    }

    .subsidy-content .program-title h4 {
        position: absolute;
        top: 0;
        left: -40px;
        width: 347px;
        height: auto;
    }

    .subsidy-content .program-title .contents-title {}

    .subsidy-content .program-title .contents-title img {
        height: 33px;
    }

    #subsidy03.subsidy-content .program-title .contents-title img {
        height: 66px;
    }

    .link-badge {
        position: absolute;
        top: 0px;
        right: 0px;
    }

    #subsidy01.subsidy-content .column-item {
        box-sizing: border-box;
        padding: 0 20px 30px 20px;
    }

    #subsidy01 .column-block .column-item h4 {
        font-size: 2.3rem;
        font-weight: 700;
        line-height: 1.25;
        margin-bottom: 0.15em;
    }

    .subsidy-content .text-block p {
        font-size: 1.6rem;
        line-height: 1.75;
        text-align: justify;
        margin-bottom: 1em;
    }

    .subsidy-summary p {
        font-size: 1.6rem;
        margin-bottom: 1em;
    }

    .subsidy-summary p.footnote {
        font-size: 1.4rem;
    }

    .voice-block .block-title {
        width: 240px;
        margin: 0px;
    }

    .voice-block .company-name h4 {
        font-size: 3.2rem;
    }

    .voice-block .company-name p {
        font-size: 1.6rem;
        margin-bottom: 0;
    }

    .voice-block .text-block {
        background-color: #FFF;
        border-radius: 20px;
        padding: 35px;
    }

    .voice-block .text-block h5 {
        font-size: 2.1rem;
        color: #e95377;
        margin-bottom: 1em;
    }

    .voice-block .text-block h5 br {
        display: none;
    }
}

@media screen and (min-width:767px) {
    .subsidy-content .title-block {
        background: url(../images/section-subsidy-title-deco01.png) 70% center no-repeat;
        background-size: 115px 108px;
    }

    #subsidy03.subsidy-content .title-block {
        background: url(../images/section-subsidy-title-deco02.png) 70% top no-repeat;
        background-size: 130px 90px;
    }

    #subsidy03.subsidy-content .voice-block .title-block {
        background: none;
    }

    .subsidy-content .program-title .contents-title img {
        height: 48px;
        width: auto;
    }

    #subsidy03.subsidy-content .program-title .contents-title img {
        height: 108px;
        width: auto;
    }

    .subsidy-content .voice-block .title-block {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
        background: none;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block {
        flex-direction: row-reverse;
        justify-content: space-between;
        gap: 0px;
        margin: 20px auto 0px auto;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item {
        width: 50%;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item {
        width: 50%;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item.photo-block img {
        width: 100%;
        max-width: 380px;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item {
        width: 50%;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item.text-block {
        width: calc(100% - 160px);
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item.inner-photo-block {
        width: 140px;
    }

    #subsidy01.subsidy-content .voice-block .text-block.column-block .column-item.inner-photo-block img {
        width: 140px;
    }

    #subsidy02.subsidy-content .column-block,
    #subsidy03.subsidy-content .column-block {
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 0;
    }

    #subsidy02.subsidy-content .devide-img {
        width: 8px;
        height: 385px;
        background: url(../images/border-tate.png) center top repeat-y;
        background-size: 8px 430px;
    }

    #subsidy03.subsidy-content .devide-img {
        width: 8px;
        height: 500px;
        background: url(../images/border-tate.png) center top repeat-y;
        background-size: 8px 430px;
    }

    #subsidy02.subsidy-content .subsidy-summary,
    #subsidy03.subsidy-content .subsidy-summary {
        width: 37%;
    }

    #subsidy02.subsidy-content .voice-block,
    #subsidy03.subsidy-content .voice-block {
        width: 57%;
    }

    #subsidy02.subsidy-content .voice-block .text-block .column-block {
        flex-direction: row-reverse;
        justify-content: space-between;
        gap: 0px;
        flex-wrap: nowrap;
    }

    #subsidy02.subsidy-content .voice-block .text-block .column-item {
        width: calc(100% - 220px);
    }

    #subsidy02.subsidy-content .voice-block .text-block .photo-block {
        width: 200px;
        margin: 0;
    }

    #subsidy03.subsidy-content .voice-block .column-block {
        flex-direction: column;
        gap: 0;
    }

    #subsidy03.subsidy-content .voice-block .column-item.column-block {
        flex-direction: row;
        justify-content: space-between;
    }

    #subsidy .caution-txt {
        font-size: 1.4rem;
    }

    .link-badge {
        position: absolute;
        top: 0px;
        right: 0px;
    }

    .link-badge a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 120px;
        height: 120px;
        border-radius: 60px;
        background-color: #fcc800;
        text-align: center;
        font-size: 1.8rem;
        color: #000;
        text-decoration: none;
        line-height: 1.2;
    }
}

@media screen and (min-width:767px) {

    #subsidy01.subsidy-content .column-item.torikumi1,
    #subsidy01.subsidy-content .column-item.torikumi2 {
        width: 442px;
        box-sizing: border-box;
        padding: 0 20px 30px 20px;
        margin-bottom: 30px;
    }

    #subsidy01 .column-block .column-item h4 {
        font-size: 3.2rem;
        font-weight: 700;
        line-height: 1.25;
        margin-bottom: 0.15em;
    }

    #subsidy01 .column-block .column-item .footnote {
        font-size: 1.4rem;
    }

    .numlist p {
        font-size: 1.6rem;
        margin-bottom: 1em;
    }

    .numlist h5 {
        font-size: 2.1rem;
        margin-bottom: 0.15em;
    }

    .subsidy-amount img {
        height: 45px;
    }

    .torikumi1 {
        background-image: url(../images/section-subsidy01_bg01-pc.png);
        height: 523px;
    }

    .torikumi1 .icon-plus {
        width: 32px;
        height: 32px;
        text-align: center;
        margin: 10px auto;
    }

    .torikumi2 {
        background-image: url(../images/section-subsidy01_bg02-pc.png);
        height: 523px;
    }

    .subsidy-summary p {
        font-size: 1.6rem;
        margin-bottom: 1em;
    }

    .subsidy-summary p.footnote {
        font-size: 1.4rem;
    }
}

#lawrevision {
    background-color: #00afcc;
}

#lawrevision .wrapper-upper {
    padding: 0px 10px 20px 10px;
}


#lawrevision .wrapper-lower {
    background-image: url(../images/divider_2tone.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 90px;
    background-color: #e95377;
    padding: 40px 10px 90px 10px;

}

.wrapper-upper .column-block {
    background-color: #FFF;
    border-radius: 40px;
}

.wrapper-lower .column-item {
    background-color: #FFF;
    border-radius: 40px;
}

#lawrevision .section-header {
    max-width: 1280px;
    margin: 0 auto;
}

#lawrevision .section-wrapper .container {
    max-width: 984px;
    margin: 0 auto;
}

#lawrevision .contents-title {
    font-size: 2.4rem;
    font-weight: 700;
    color: #FFF;
    line-height: 1.28;
    margin-bottom: 0.5em;
}

#lawrevision .contents-title strong {
    font-size: 3.2rem;
    font-weight: 700;
    color: #fcc800;
    display: block;
}

#lawrevision .wrapper-upper .title-block {
    position: relative;
    padding-top: 30px;
    max-width: 984px;
    margin: 0 auto;
}

#lawrevision .wrapper-upper .title-block::before {
    content: "";
    position: absolute;
    width: 250px;
    height: 55px;
    background: url(../images/section-lawrevision_bgtitle.png) 0 0 no-repeat;
    background-size: contain;
    top: 0;
    right: 0;
}

.enforcement-list {
    padding: 20px 10px 0 10px;
    position: relative;
}

.enforcement-list:first-of-type {
    border-bottom: 5px dotted #E95377;
}

.enforcement-list .link-badge {
    position: absolute;
    top: 20px;
    right: 10px;
}

.enforcement-start {
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 1;
    display: inline-block;
    padding: 0.5em 1em;
    margin-bottom: 1em;
    background-color: #E95377;
    border-radius: 1em;
    color: #FFF;
}

.nonum-list {
    padding-left: 25px;
    margin-bottom: 20px;
    background-size: 20px 20px;
    background-position: 0 7px;
    background-repeat: no-repeat;
    background-image: url(../images/fig_nonum-bl.png);
}

.nonum-list h4 {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 30px;
    margin-bottom: 0.5em;
}

.nonum-list h4 strong {
    font-size: 2.4rem;
    font-weight: 700;
    background: linear-gradient(transparent 70%, #fcc800 30%);
    padding-left: 0.25em;
    padding-right: 0.25em;
}

.nonum-list p {
    font-size: 1.4rem;
}

.nonum-list .torikmi-list {
    margin-top: 3em;
    margin-bottom: 3em;
}

.nonum-list .torikmi-list li {
    font-size: 1.4rem;
    list-style-type: none;
    margin-bottom: 0.25em;
}

.border-pk {
    border: 2px solid #E95377;
    color: #E95377;
    text-align: center;
    font-size: 1.4rem;
    display: block;
    padding: 0.5em;
    line-height: 1.2;
}

.wrapper-upper .column-item.fig {
    background-color: #d4ecf3;
    border-radius: 0 0 30px 30px;
    padding: 30px 10px;
}

#lawrevision .wrapper-lower .title-block {
    max-width: 984px;
    margin: 0 auto 40px auto;
}

#lawrevision .wrapper-lower .column-block {}

#lawrevision .wrapper-lower .column-item {
    padding: 25px 10px;
    margin-bottom: 30px;
}

#lawrevision .wrapper-lower .column-item h3 {
    font-size: 2.4rem;
    color: #00afcc;
    margin-bottom: 0.25em;
}

#lawrevision .wrapper-lower .column-item h4 {
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 0.5em;
}

#lawrevision .wrapper-lower .column-item p {
    font-size: 1.4rem;
}

.wrapper-lower .voice-block .company-name {
    color: #FFF;
}

#lawrevision .wrapper-lower .voice-block .column-item {
    padding: 0px 0px;
    margin-bottom: 0px;
}

#lawrevision .wrapper-lower .voice-block .title-border {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 600;
    color: #000;
    line-height: 1;
    padding: 0.5em 1em;
    margin-bottom: 0.5em;
    border: 1px solid #000;
}

#lawrevision .wrapper-lower .voice-block .torikmi-list {
    margin-top: 1em;
    margin-bottom: 3em;
}

#lawrevision .wrapper-lower .voice-block .torikmi-list li {
    font-size: 1.4rem;
    list-style-type: none;
    margin-bottom: 0.25em;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.new-tip {
    display: block;
    width: 140px;
    margin-top: 1em;
}

#lawrevision .wrapper-lower .voice-block .photo-block {
    max-width: 300px;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto;
}

#lawrevision .wrapper-lower .voice-block .photo-block img {
    display: block;
    border-radius: 15px;
}

@media screen and (min-width:480px) {

    .enforcement-list.link-badge a {
        width: 100px;
        height: 100px;
    }

    #lawrevision .wrapper-lower .column-item {
        padding: 25px 20px;
    }

    .nonum-list p {
        font-size: 1.6rem;
    }

    .nonum-list .torikmi-list li {
        font-size: 1.6rem;
    }

    .border-pk {
        font-size: 1.6rem;
    }

    #lawrevision .wrapper-lower .column-item p {
        font-size: 1.6rem;
    }

    #lawrevision .wrapper-lower .voice-block .torikmi-list li {
        font-size: 1.6rem;
    }
}

@media screen and (min-width:767px) {
    #lawrevision .section-header {
        background: url(../images/section-lawrevision_deco-cirlce.png) center -20px no-repeat;
        background-size: 1280px 193px;
        padding-top: 48px;
    }

    #lawrevision .wrapper-upper .title-block {
        padding-top: 60px;
    }

    #lawrevision .wrapper-lower .voice-block .title-block {
        margin: 0 auto 20px auto;
    }

    #lawrevision .wrapper-upper .title-block::before {
        width: 520px;
        height: 112px;
        top: 0;
        right: 20px;
    }

    #lawrevision .contents-title {
        font-size: 3.2rem;
        font-weight: 700;
        color: #FFF;
        line-height: 1.28;
        margin-bottom: 0.5em;
        letter-spacing: 0.05em;
    }

    #lawrevision .contents-title strong {
        font-size: 4.6rem;
        font-weight: 700;
        color: #fcc800;
        display: inline-block;
    }

    #lawrevision .column-block {
        display: flex;
    }

    #lawrevision .column-item {
        width: 50%;
    }

    #lawrevision .wrapper-lower .column-item.add-deco {
        position: relative;
    }

    #lawrevision .wrapper-lower .column-item.add-deco::after {
        content: "";
        width: 85px;
        height: 85px;
        background: url(../images/section-lawrevision-deco02.png) 0 0 no-repeat;
        background-size: contain;
        position: absolute;
        bottom: -55px;
        right: -15px;
    }

    .wrapper-upper .column-item {
        padding: 20px;
        box-sizing: border-box;
    }

    .wrapper-upper .column-item.fig {
        border-radius: 0 30px 30px 0;
        padding: 20px 30px;
        box-sizing: border-box;
    }

    .wrapper-upper .column-item.fig.add-deco {
        position: relative;
    }

    .wrapper-upper .column-item.fig.add-deco::after {
        content: "";
        width: 140px;
        height: 233px;
        background: url(../images/section-lawrevision-deco01.png) 0 0 no-repeat;
        background-size: contain;
        position: absolute;
        bottom: 30px;
        right: -50px;
    }

    .enforcement-list .link-badge {
        top: 0px;
        right: 0px;
    }

    #lawrevision .wrapper-lower {
        background-image: url(../images/divider_2tone.png);
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: 100% 90px;
        background-color: #e95377;
        padding: 40px 10px 160px 10px;
    }

    #lawrevision .wrapper-lower .column-block {
        gap: 40px;
    }

    #lawrevision .voice-block .title-block {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
    }

    #lawrevision .voice-block .text-block.column-block {
        display: block;
    }

    #lawrevision .voice-block .text-block.column-block .column-block {
        justify-content: space-between;
    }

    #lawrevision .voice-block .text-block.column-block .column-block .column-item {
        width: calc(100% - 330px);
    }

    #lawrevision .wrapper-lower .voice-block .photo-block {
        width: 330px;
        margin-left: 0;
        margin-right: 0;
    }
}