:root {
    --txt_ja: "Zen Kaku Gothic New";
    --txt_en: "Plus Jakarta Sans", sans-serif;
    --font_color: #000000;
    --bg_color: #D4F5DC;
    --accent_color: #FF9D14;
}

/* 共通 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Zen Kaku Gothic New", serif;
}
.fixed {
    overflow: hidden;
}

h1,
h2,
h3,
h4 {
    font-weight: 500;
    padding: 0;
    margin: 0;
}
p {
    padding: 0;
    margin: 0;
}

a {
    text-decoration: none;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

a:hover {
    opacity: 0.7;
}

li {
    list-style: none;
}

img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.inner {
    max-width: 1540px;
    margin-left: auto;
    margin-right: auto;
}

.section_ttl {
    font-size: 60px;
    font-weight: bold;
    text-align: center;
}

.txt_br_sp {
    display: none;
}

/* 共通cta */
.cta_btn {
    display: block;
    width: 100%;
    height: 100%;
}

.common_cta_box {
    text-align: center;
}
.common_cta_ttl {
    position: relative;
    display: inline-block;
    font-size: 36px;
    font-weight: 400;
    line-height: 54px;
    color: #555555;
}
.common_cta_ttl::before {
    position: absolute;
    bottom: 0;
    left: -50px;
    content: '';
    width: 2px;
    height: 158px;
    background-color: #F7B918;
    transform: rotate(-30deg);
    -webkit-transform: rotate(-30deg);
    -moz-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    -o-transform: rotate(-30deg);
}
.common_cta_ttl::after {
    position: absolute;
    bottom: 0;
    right: -50px;
    content: '';
    width: 2px;
    height: 158px;
    background-color: #F7B918;
    transform: rotate(30deg);
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    -o-transform: rotate(30deg);
}
.common_cta_btn_box {
    width: 49.5%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 30px;
}
.common_cta_txt_box>p {
    font-size: 30px;
    line-height: 54px;
}
.common_cta_txt_box>p:first-child {
    color: #2E8B57;
    margin-bottom: 12px;
}

@media only screen and (max-width: 1600px) {
    .inner {
        max-width: 1200px;
    }
}
@media only screen and (max-width: 1200px) {
    .inner {
        max-width: 1000px;
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media only screen and (max-width: 1000px) {
    .inner {
        max-width: 750px;
    }
}
@media only screen and (max-width: 750px) {
    .inner {
        padding-left: 4vw;
        padding-right: 4vw;
    }
    .section_ttl {
        font-size: 6.67vw;
    }
    .txt_br_pc {
        display: none;
    }
    .txt_br_sp {
        display: block;
    }
    .common_cta_ttl {
        font-size: 3.74vw;
        line-height: 4.8vw;
    }
    .common_cta_ttl::before,
    .common_cta_ttl::after {
        width: 0.22vw;
        height: 17.34vw;
    }
    .common_cta_ttl::before {
        left: -6.67vw;
        bottom: -4vw;
    }
    .common_cta_ttl::after {
        right: -6.67vw;
        bottom: -4vw;
    }
    .common_cta_btn_box {
        width: 100%;
        margin-top: 4vw;
        margin-bottom: 4vw;
    }
    .common_cta_txt_box>p {
        font-size: 4vw;
        line-height: 7.2vw;
    }
    .common_cta_txt_box>p:first-child {
        margin-bottom: 0;
    }
}

/* fv */
.fv {
    position: relative;
}
.fv_cta_box {
    position: absolute;
    bottom: 2.3vw;
    right: 7.2vw;
    width: 40vw;
    height: auto;
}

@media only screen and (max-width: 750px) {
    .fv_cta_box {
        position: unset;
        width: 100%;
        padding-left: 3.27vw;
        padding-right: 3.27vw;
        margin-top: 2.67vw;
    }
}


/* ペーパードライバー体験講習参加者の声 */
.voice {
    padding-top: 80px;
    padding-bottom: 100px;
}
.voice_txt_box {
    text-align: center;
    margin-top: 60px;
    margin-bottom: 98px;
}
.voice_txt_box>p {
    display: inline-block;
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 26px;
}
.voice_txt_box>p>span {
    font-size: 44px;
    color: var(--accent_color);
}
.voice_border_img {
    max-width: 980px;
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

.voice_card_box {
    margin-bottom: 130px;
}
.voice_card {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 40px 84px 40px 40px;
    background-color: var(--bg_color);
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}
.voice_card:nth-child(n+2){
    margin-top: 50px;
}
.voice_card_img {
    width: 38.4%;
    height: auto;
}
.voice_card_txt_box {
    width: 56.2%;
    height: auto;
}
.voice_card_age {
    display: inline-block;
    font-size: 40px;
    font-weight: 500;
    color: #fff;
    background-color: #7BC47F;
    padding: 0 10px;
}
.voice_card_ttl {
    font-size: 40px;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 20px;
}
.voice_card_txt {
    font-size: 20px;
}
.voice_card_txt>span {
    font-weight: 500;
}


@media only screen and (max-width: 750px) {
    .voice {
        padding-top: 15.87vw;
        padding-bottom: 15.87vw;
    }
    .voice_ttl_box {
        padding-left: 4.8vw;
        padding-right: 4.8vw;
    }
    .voice_txt_box {
        margin-top: 8vw;
        margin-bottom: 12.8vw;
    }
    .voice_txt_box>p {
        font-size: 5.34vw;
        margin-bottom: 3.47vw;
    }
    .voice_txt_box>p>span {
        font-size: 5.87vw;
    }
    .voice_card_box {
        padding-left: 4vw;
        padding-right: 4vw;
        margin-bottom: 15.87vw;
    }
    .voice_card {
        padding: 5.34vw;
    }
    .voice_card_img {
        width: 100%;
        margin-bottom: 8vw;
    }
    .voice_card_txt_box {
        width: 100%;
    }
    .voice_card_age {
        font-size: 5.34vw;
        padding: 0 1.34vw;
    }
    .voice_card_ttl {
        font-size: 5.34vw;
        line-height: 6.67vw;
        margin-top: 2.67vw;
        margin-bottom: 2.67vw;
    }
    .voice_card_txt {
        font-size: 2.67vw;
        line-height: 4.8vw;
    }
}

/* ペーパードライバー体験講習受講者の変化 */
.changes {
    padding-bottom: 100px;
}
.changes_ttl {
    padding-top: 70px;
    padding-bottom: 70px;
    background-color: var(--bg_color);
}
.changes_txt_box {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 80px;
}
.changes_txt_box>p:first-child {
    font-size: 40px;
    font-weight: 500;
    margin-bottom: 24px;
}
.changes_txt_box>p:last-child {
    font-size: 36px;
    line-height: 60px;
}
.changes_img_box {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 130px;
}

@media only screen and (max-width: 750px) {
    .changes {
        padding-bottom: 15.87vw;
    }
    .changes_ttl {
        font-size: 8vw;
        line-height: 10.67vw;
        padding: 9.34vw 5.34vw;
    }
    .changes_txt_box {
        text-align: left;
        padding: 0 4vw;
        margin-top: 10.67vw;
        margin-bottom: 10.67vw;
    }
    .changes_txt_box>p:first-child {
        font-size: 4vw;
        margin-bottom: 3.2vw;
    }
    .changes_txt_box>p:last-child {
        font-size: 4vw;
        line-height: 8vw;
    }
    .changes_img_box {
        margin-bottom: 15.87vw;
    }
    .changes .common_cta_box {
        padding: 0 4vw;
    }
}


/* about */
.about_box {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: var(--bg_color);
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}

.about_ttl {
    font-size: 60px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 60px;
}
.about_txt_box {
    max-width: 796px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}
.about_txt_box>p {
    font-size: 20px;
    line-height: 36px;
}
.about_txt_box>p:first-child {
    margin-bottom: 20px;
}
.about_txt_box>p>span {
    font-weight: bold;
}

.about_card_box {
    max-width: 900px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
}
.about_card {
    width: 44.5%;
    height: auto;
}
.about_card:nth-child(n+3){
    margin-top: 100px;
}
.about_card_img_box {
    width: 62%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.about_card_txt_box>h3 {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    color: #2E8B57;
    margin-bottom: 30px;
}
.about_card_txt_box>p {
    font-size: 24px;
    line-height: 36px;
}

@media only screen and (max-width: 750px) {
    .about_box {
        padding: 10.67vw 2.6vw;
    }
    .about_ttl {
        font-size: 6.67vw;
        margin-bottom: 8vw;
    }
    .about_txt_box {
        margin-bottom: 8vw;
    }
    .about_txt_box>p {
        font-size: 4vw;
        line-height: 6.67vw;
    }
    .about_txt_box>p:first-child {
        margin-bottom: 2.67vw;
    }
    .about_card {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        height: auto;
    }
    .about_card:nth-child(n+2){
        margin-top: 13.34vw;
    }
    .about_card_img_box {
        width: 42%;
        margin-left: unset;
        margin-right: unset;
        margin-bottom: 0px;
    }
    .about_card_txt_box {
        width: 54.2%;
    }
    .about_card_txt_box>h3 {
        font-size: 5.34vw;
        margin-bottom: 4vw;
    }
    .about_card_txt_box>p {
        font-size: 3.2vw;
        line-height: 4.8vw;
    }
}


/* reason */
.reason {
    padding-top: 100px;
    padding-bottom: 130px;
}
.reason_ttl {
    padding-top: 70px;
    padding-bottom: 70px;
    border-top: 1px solid var(--bg_color);
    border-bottom: 1px solid var(--bg_color);
}
.reason_ttl .section_ttl>span {
    font-size: 80px;
    color: #F7B918;
}
.reason_box {
    margin-top: 80px;
}
.reason_card_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 130px;
}
.reason_card {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27.6%;
    height: auto;
    background-color: var(--bg_color);
    padding: 30px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}
.reason_card_txt {
    font-size: 30px;
    line-height: 50px;
    margin-bottom: 20px;
}
.reason_card_img {
    width: auto;
    height: 195px;
    margin-left: auto;
    margin-right: auto;
}
.reason_card_img>img {
    -o-object-fit: contain;
       object-fit: contain;
}

@media only screen and (max-width: 750px) {
    .reason {
        padding-top: 18.27vw;
        padding-bottom: 16vw;
    }
    .reason_ttl {
        padding-top: 9.34vw;
        padding-bottom: 9.34vw;
    }
    .reason_ttl .section_ttl>span {
        font-size: 10.67vw;
    }
    .reason_box {
        margin-top: 10.67vw;
    }
    .reason_card_box {
        margin-bottom: 16vw;
    }
    .reason_card {
        width: 100%;
        padding: 4vw;
    }
    .reason_card:nth-child(n+2){
        margin-top: 4vw;
    }
    .reason_card_w {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    .reason_card_txt {
        font-size: 4vw;
        line-height: 6.67vw;
        margin-bottom: 0px;
    }
    .reason_card_img {
        width: auto;
        height: 27.34vw;
        margin-left: unset;
        margin-right: 5.34vw;
    }
}


/* information */
.information_ttl {
    padding-top: 70px;
    padding-bottom: 70px;
    background-color: #7BC47F;
}
.information_subttl {
    font-size: 30px;
    color: #fff;
    text-align: center;
    line-height: 80px;
}
.information_ttl .section_ttl {
    color: #fff;
}

.information_box {
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: linear-gradient(180deg, rgba(164, 218, 167, 1), rgba(255, 255, 255, 1));
}
.information_txt {
    font-size: 50px;
    text-align: center;
    font-weight: bold;
    line-height: 80px;
}
.information_price {
    max-width: 705px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 62px;
    margin-bottom: 62px;
}
.information_list {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 91px;
}
.information_list>dl {
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #2E8B57;
}
.information_list>dl>dt
,.information_list>dl>dd {
    font-size: 30px;
    line-height: 50px;
}
.information_list>dl>dt {
    width: 20%;
    height: auto;
}
.information_list>dl>dd {
    width: 75%;
    height: auto;
}


@media only screen and (max-width: 750px) {
    .information_ttl {
        padding-top: 9.34vw;
        padding-bottom: 9.34vw;
    }
    .information_subttl {
        font-size: 4vw;
        line-height: 10.67vw;
    }
    .information_box {
        padding-top: 13.34vw;
        padding-bottom: 0;
        padding-left: 4vw;
        padding-right: 4vw;
        background-image: linear-gradient(180deg, rgba(164, 218, 167, 1), rgba(255, 255, 255, 1) 64%);
    }
    .information_txt {
        font-size: 6.67vw;
        line-height: 10.67vw;
    }
    .information_price {
        width: 100%;
        height: auto;
        margin-top: 8.27vw;
        margin-bottom: 8.27vw;
    }
    .information_list {
        margin-bottom: 13.34vw;
    }
    .information_list>dl {
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
    .information_list>dl>dt
    ,.information_list>dl>dd {
        font-size: 4vw;
        line-height: 6.67vw;
    }
    .information_list>dl>dt {
        width: 26%;
        height: auto;
    }
    .information_list>dl>dd {
        width: 64%;
        height: auto;
    }
}


/* instructor */
.instructor {
    padding-top: 100px;
}
.instructor_box {
    max-width: 1166px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 100px;
    margin-bottom: 171px;
}
.instructor_img {
    margin-bottom: 129px;
}

@media only screen and (max-width: 750px) {
    .instructor {
        padding-top: 22.8vw;
    }
    .instructor_box {
        margin-top: 8vw;
        margin-bottom: 22.8vw;
    }
    .instructor_img {
        margin-bottom: 8vw;
    }
}


/* flow */
.flow {
    padding-top: 70px;
    padding-bottom: 70px;
    background-color: var(--bg_color);
}
.flow_subtxt {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
}
.flow_subtxt>span {
    font-size: 80px;
    color: #F7B918;
}

.flow_box {
    margin-top: 110px;
}
.flow_card_box {
    display: flex;
    justify-content: space-between;
    align-items: stretch; /* ← 高さを揃える */
    flex-wrap: wrap;
}
.flow_card {
    width: 30%;
    height: auto;
    display: flex;
    flex-direction: column; /* 上下構成 */
}
.flow_card_step {
    width: 93px;
    height: auto;
    margin-bottom: 32px;
}
.flow_card_txt_box {
    flex: 1; /* 余った高さを埋める */
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}
.flow_card_ttl {
    font-size: 40px;
    font-weight: bold;
    line-height: 50px;
    text-align: center;
    color: #2E8B57;
    margin-bottom: 20px;
}
.flow_card_ttl>span {
    font-size: 30px;
}
.flow_card_txt {
    font-size: 30px;
    line-height: 50px;
}

@media only screen and (max-width: 750px) {
    .flow {
        padding-top: 9.34vw;
        padding-bottom: 13.34vw;
    }
    .flow_subtxt {
        font-size: 4vw;
        margin-top: 1.34vw;
    }
    .flow_subtxt>span {
        font-size: 10.67vw;
    }

    .flow_box {
        margin-top: 14.67vw;
    }
    .flow_card {
        width: 100%;
        align-items: center;
        justify-content: space-between;
        flex-direction: unset;
    }
    .flow_card:nth-child(n+2) {
        margin-top: 8vw;
    }
    .flow_card_step {
        width: 14%;
        margin-bottom: 0;
    }
    .flow_card_txt_box {
        flex: unset;
        width: 79%;
        padding: 4vw;
    }
    .flow_card_ttl {
        font-size: 5.34vw;
        line-height: 6.67vw;
        margin-bottom: 2.67vw;
    }
    .flow_card_ttl>span {
        font-size: 4vw;
    }
    .flow_card_txt {
        font-size: 4vw;
        line-height: 6.67vw;
    }
}

/* middle_cta */
.middle_cta {
    padding-top: 142px;
    padding-bottom: 171px;
}

@media only screen and (max-width: 750px) {
    .middle_cta {
        padding-top: 14.67vw;
        padding-bottom: 23.34vw;
    }
}


/* faq */
.faq {
    padding-top: 70px;
    padding-bottom: 150px;
    background-color: var(--bg_color);
}
.faq_box {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 110px;
}
.accordion {
    position: relative;
    width: 100%;
}
.accordion-item {
    border-top: 4px solid #2E8B57;
}
.accordion-item:nth-child(n+2) {
    margin-top: 40px;
}
.accordion-title {
    display: flex;
    cursor: pointer;
    padding: 50px 147px 0 80px;
}
.accordion-title>p {
    min-width: 100px;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    line-height: 50px;
    color: #2E8B57;
    margin-right: 20px;
}
.accordion-title>h3 {
    font-size: 30px;
    line-height: 50px;
    font-weight: bold;
}
.accordion-content {
    display: none;
    padding: 40px 147px 0 80px;
}
.accordion_content_box {
    display: flex;
}
.accordion_content_box>p:first-child {
    min-width: 100px;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    line-height: 50px;
    color: #FF9D14;
    margin-right: 20px;
}
.accordion_content_box>p:last-child {
    font-size: 30px;
    line-height: 50px;
}

/* 矢印 */
.accordion-title {
    position: relative;
}
.accordion-title::after {
    border-right: solid 2px #2E8B57;
    border-top: solid 2px #2E8B57;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 60px;
    right: 65px;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    -webkit-transition: transform .3s ease-in-out, top .3s ease-in-out;
    -moz-transition: transform .3s ease-in-out, top .3s ease-in-out;
    -ms-transition: transform .3s ease-in-out, top .3s ease-in-out;
    -o-transition: transform .3s ease-in-out, top .3s ease-in-out;
}
.accordion-title.open::after {
    top: 70px;
    transform: rotate(-45deg);
}

@media only screen and (max-width: 750px) {
    .faq {
        padding-top: 9.34vw;
        padding-bottom: 20vw;
    }
    .faq_box {
        margin-top: 14.67vw;
    }
    .accordion-item {
        border-top: 0.54vw solid #2E8B57;
    }
    .accordion-item:nth-child(n+2) {
        margin-top: 6.67vw;
    }
    .accordion-title {
        padding: 6.67vw 8.94vw 0 2.67vw;
    }
    .accordion-title>p {
        min-width: 13.34vw;
        font-size: 5.34vw;
        line-height: 6.67vw;
        margin-right: 2.67vw;
    }
    .accordion-title>h3 {
        font-size: 4vw;
        line-height: 6.67vw;
    }
    .accordion-content {
        display: none;
        padding: 5.34vw 8.94vw 0 2.67vw;
    }
    .accordion_content_box>p:first-child {
        min-width: 13.34vw;
        font-size: 5.34vw;
        line-height: 6.67vw;
        margin-right: 2.67vw;
    }
    .accordion_content_box>p:last-child {
        font-size: 4vw;
        line-height: 6.67vw;
    }

    /* 矢印 */
    .accordion-title::after {
        border-right: solid 0.27vw #2E8B57;
        border-top: solid 0.27vw #2E8B57;
        width: 2.67vw;
        height: 2.67vw;
        top: 8vw;
        right: 2.67vw;
    }
    .accordion-title.open::after {
        top: 9.34vw;
    }
}

/* last_cta */
.last_cta {
    padding-top: 113px;
    padding-bottom: 113px;
}
.last_cta_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.last_cta_box .common_cta_box {
    width: 45%;
}
.last_cta_box .common_cta_btn_box {
    width: 100%;
}

.common_cta_ttl.green::before,
.common_cta_ttl.green::after {
    background-color: #2E8B57;
}
.common_cta_txt_box.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}
.common_cta_txt_box.flex>svg {
    margin-right: 20px;
}
.common_cta_txt_box.flex>p {
    font-size: 30px;
    font-weight: 500;
    color: #FF9D14;
}

@media only screen and (max-width: 1500px) {
    .last_cta_box .common_cta_box {
        width: 100%;
    }
    .common_cta_box.second {
        margin-top: 100px;
    }
    .last_cta_box .common_cta_btn_box {
        width: 49.5%;
    }
}

@media only screen and (max-width: 750px) {
    .last_cta {
        padding-top: 15.34vw;
        padding-bottom: 23.34vw;
    }
    .last_cta_box .common_cta_box {
        width: 100%;
    }
    .common_cta_box.second {
        margin-top: 12.27vw;
    }
    .common_cta_txt_box.flex>svg {
        width: 8.67vw;
        margin-right: 2.67vw;
    }
    .common_cta_txt_box.flex>p {
        font-size: 4vw;
    }
}


/* article */
.article {
    padding-top: 70px;
    padding-bottom: 100px;
    background-color: var(--bg_color);
}
.article_box {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 110px;
}

.article_link {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 40px;
    padding-bottom: 40px;
    border-top: 4px solid #2E8B57;
}
.article_item:last-child .article_link {
    border-bottom: 4px solid #2E8B57;
}

.article_date {
    display: block;
    width: 200px;
    font-size: 30px;
    text-align: center;
    line-height: 50px;
    color: #000;
    margin-right: 20px;
}
.article_cate {
    /* width: 200px; */
    font-size: 30px;
    text-align: center;
    line-height: 50px;
    color: #fff;
    background-color: #FF9D14;
    padding: 0 20px;
    margin-right: 20px;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}
.article_ttl {
    font-size: 30px;
    font-weight: 400;
    line-height: 50px;
    color: #000;
}
.article_all_link_box {
    text-align: right;
    padding-top: 40px;
    padding-bottom: 40px;
}
.article_all_link {
    display: inline-block;
    font-size: 30px;
    line-height: 50px;
    color: #fff;
    padding: 10px 24px;
    background-color: #7BC47F;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

@media only screen and (max-width: 750px) {
    .article {
        padding-top: 9.34vw;
        padding-bottom: 13.34vw;
    }
    .article_box {
        margin-top: 14.67vw;
    }

    .article_link {
        padding-top: 5.34vw;
        padding-bottom: 5.34vw;
        border-top: 0.54vw solid #2E8B57;
    }
    .article_item:last-child .article_link {
        border-bottom: 0.54vw solid #2E8B57;
    }

    .article_date {
        display: block;
        width: 100%;
        font-size: 4vw;
        text-align: left;
        line-height: 6.67vw;
        margin-right: 0px;
        margin-bottom: 2.67vw;
    }
    .article_cate {
        /* width: 26.67vw; */
        font-size: 4vw;
        line-height: 6.67vw;
        margin-right: 2.67vw;
    }
    .article_ttl {
        font-size: 4vw;
        line-height: 6.67vw;
    }
    .article_all_link_box {
        padding-top: 5.34vw;
        padding-bottom: 5.34vw;
    }
    .article_all_link {
        font-size: 4vw;
        line-height: 6.67vw;
        padding: 10px 24px;
        background-color: #7BC47F;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        -ms-border-radius: 100px;
        -o-border-radius: 100px;
    }
}


/* footer */
footer {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: var(--bg_color);
}
.footer_info_box
,.footer_info_box2 {
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer_info_box2 {
    margin-top: 75px;
}

.footer_info {
    display: flex;
    align-items: center;
}
.footer_info_box2 .footer_info:first-child {
    margin-right: 100px;
}
.footer_info_icon {
    margin-right: 30px;
}
.footer_info_txt {
    font-size: 30px;
    line-height: 50px;
    font-weight: bold;
    margin-right: 30px;
}
.footer_number_txt {
    font-size: 50px;
    font-weight: bold;
    color: #FF9D14;
    line-height: 50px;
}
.footer_logo {
    max-width: 491px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 75px;
    margin-bottom: 55px;
}
.copyright_box {
    text-align: center;
}
.copyright {
    font-size: 25px;
}

@media only screen and (max-width: 750px) {
    footer {
        padding-top: 13.34vw;
        padding-bottom: 13.34vw;
    }
    .footer_info_box
    ,.footer_info_box2 {
        display: block;
    }
    .footer_info_box2 {
        margin-top: 0;
    }
    .footer_info {
        justify-content: center;
    }
    .footer_info_box2 .footer_info:first-child {
        margin-bottom: 0;
        margin-right: 0px;
    }
    .footer_info_icon {
        margin-right: 4vw;
    }
    .footer_info_box .footer_info_icon>svg {
        width: 7.87vw;
    }
    .footer_info_box2 .footer_info:first-child .footer_info_icon>svg {
        width: 8vw;
    }
    .footer_info_box2 .footer_info:last-child .footer_info_icon>svg {
        width: 4.54vw;
    }
    .footer_info_txt {
        font-size: 3.47vw;
        line-height: 6.67vw;
        margin-right: 4vw;
    }
    .footer_number_txt {
        font-size: 6.67vw;
        line-height: 6.67vw;
    }
    .footer_logo {
        max-width: 65.47vw;
        margin-top: 10vw;
        margin-bottom: 7.34vw;
    }
    .copyright {
        font-size: 3.34vw;
    }
}