@charset "UTF-8";

body {
    color: #333333;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    overflow-x: hidden;
    padding-top: 11.5rem;
}

@media (max-width: 1280px) {
    body {
        font-size: 1.6rem;
        padding-top: 6rem;
    }
}

.container,
section,
main {
    position: relative;
}

a {
    color: #333;
    transition: .2s;
}

a:before,
a:after {
    transition: .2s;
}

.wrapper {
    margin: 0 auto;
    max-width: calc(100vw - 9rem);
    position: relative;
    width: 1480px;
}

.wrap_inner {
    margin: 0 auto;
    max-width: calc(100vw - 9rem);
    position: relative;
    width: 1200px;
}

p>a {
    display: inline-block;
    text-decoration: underline;
}

td>a:not([class]),
dd>a:not([class]) {
    display: inline-block;
    color: #326fcb;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .wrapper {
        max-width: calc(100vw - 4rem);
    }

    .wrap_inner {
        margin: 0 auto;
        max-width: calc(100vw - 4rem);
    }

    .wrapper .wrap_inner {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}


/* header
----------------------------*/
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    height: 11.5rem;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .12);
    z-index: 99999;
}

#header .h_wrap {
    margin: 0 auto;
    display: flex;
    justify-content: end;
    align-items: center;
    height: 100%;
    width: calc(100% - 5rem);
}

#header .h_logo {
    margin-right: auto;
    width: clamp(16rem, 18vw, 31rem);
}

#header .h_nav_wrap {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    height: 100%;
    row-gap: 2.6rem;
}

#header .h_nav {
    display: flex;
    column-gap: clamp(1rem, 1.5vw, 3.6rem);
    font-weight: 700;
    margin-left: 1rem;
}

#header .h_nav .h_nav_trigger {
    padding-left: 1em;
    font-size: clamp(1.5rem, 1vw, 1.8rem);
    position: relative;
    white-space: nowrap;
    padding-bottom: 2rem;
    cursor: default;
    transition: .2s;
}

#header .h_nav .h_nav_link {
    font-size: clamp(1.5rem, 1vw, 1.8rem);
    position: relative;
    white-space: nowrap;
}

#header .h_nav_top {
    display: flex;
    column-gap: 3rem;
    font-size: 1.4rem;
    font-weight: 600;
}

#header .h_tel {
    padding-left: 1em;
    font-size: clamp(2.7rem, 2vw, 3rem);
    color: #1f2774;
    line-height: 1.4;
    text-align: right;
    margin: 0 0 0 clamp(1.5rem, 1.7vw, 5rem);
    background-image: url(../img/common/tel_1.svg);
    background-repeat: no-repeat;
    background-size: .83em auto;
    background-position: left center;
}

#header .h_tel .num {
    font-weight: 700;
    white-space: nowrap;
}

#header .h_tel .time {
    font-size: 1.4rem;
    letter-spacing: .05em;
    font-weight: 500;
}

#header .h_contact {
    width: 17rem;
    line-height: 4.8rem;
    background-color: #ac1d28;
    font-size: 1.4rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    padding: 0 0 0 2.3rem;
    border: 2px solid #ac1d28;
    background-image: url(../img/common/mail_1.svg);
    background-repeat: no-repeat;
    background-size: 1.43em auto;
    background-position: 1.28em center;
}

@media (min-width:1281px) {
    #header .h_nav a:hover {
        color: #ac1d28;
    }

    #header .h_nav_top .h_nav_link:hover {
        color: #ac1d28;
    }

    #header .h_btn {
        display: none;
    }

    #header .h_tel {
        pointer-events: none;
    }

    #header .h_contact:hover {
        background-color: #fff;
        color: #ac1d28;
        background-image: url(../img/common/mail_2.svg);
    }

    #header .h_nav > li:hover .h_nav_trigger {
        color: #ac1d28;
    }

    #header .h_nav .h_nav_trigger:before {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        border-right: 2px solid #ac1d28;
        border-bottom: 2px solid #ac1d28;
        transform: rotate(45deg);
        left: 0;
        bottom: calc(2rem + .75em - 2px);
    }

    #header .h_nav .h_nav_trigger:after {
        visibility: hidden;
        opacity: 0;
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #ac1d28;
        z-index: +1;
    }

    #header .h_nav > li:hover .h_nav_trigger:after {
        opacity: 1;
        visibility: visible;
    }

    #header .h_nav .h_nav_megamenu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        opacity: 0;
        visibility: hidden;
        transition: .3s;
        background-color: #f3f4ff;
        padding: 4rem 0 8rem;
        max-height: calc(100vh - 11.5rem);
        overflow-y: auto;
        pointer-events: none;
    }

    #header .h_nav > li:hover > .h_nav_megamenu {
        opacity: 1;
        visibility: visible;
        pointer-events: initial;
    }

    #header .h_nav_megamenu .h_nm_lead {
        padding-left: 2.2rem;
        padding-bottom: .5rem;
        border-left: 2px solid #1f2774;
        font-weight: 700;
        color: #1f2774;
        margin-bottom: 4rem;
    }

    #header .h_nav_megamenu .h_nm_lead .main {
        font-size: 3rem;
        display: block;
    }

    #header .h_nav_megamenu .h_nm_lead .sub {
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        column-gap: .5em;
    }

    #header .h_nav_megamenu a.h_nm_lead .sub:after {
        content: "";
        width: .9em;
        height: .9em;
        background-image: url(../img/common/arrow_02.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        transition: .2s;
    }

    #header .h_nav_megamenu a.h_nm_lead:hover .sub:after {
        background-image: url(../img/common/arrow_03.svg);
    }

    #header .h_nav_megamenu .h_nm_flex {
        display: flex;
        flex-wrap: wrap;
        align-items: start;
        column-gap: 2.5rem;
        row-gap: 2rem;
    }

    #header .h_nav_megamenu .h_nm_flex .item {
        width: calc((100% - 10rem) / 5);
    }

    #header .h_nav_megamenu .h_nm_flex .thumb {
        overflow: hidden;
    }

    #header .h_nav_megamenu .h_nm_flex .thumb img {
        transition: .4s;
    }

    #header .h_nav_megamenu .h_nm_flex .item:hover img {
        transform: scale(1.05);
    }

    #header .h_nav_megamenu .h_nm_flex .label {
        font-size: 1.6rem;
        font-weight: 700;
        text-align: center;
        padding: 1rem 0.1rem 1.3rem;
        transition: .2s;
    }

    #header .h_nav_megamenu .h_nm_flex .item:hover .label {
        color: #fff;
        background-color: #1f2774;
    }

    #header .h_nav_megamenu .h_nm_flex .label span {
        display: inline-block;
    }
}

@media (max-width:1280px) {
    #header {
        height: 6rem;
    }

    #header .h_wrap {
        width: 100%;
        margin: 0;
        padding-left: 1.5rem;
    }

    #header .h_tel {
        height: 100%;
        width: 6rem;
        margin: 0;
        padding: 0;
        background-position: center;
        border: 2px solid #1f2774;
    }

    #header .h_tel .num,
    #header .h_tel .time {
        font-size: 0;
    }

    #header .h_btn {
        position: relative;
        width: 6rem;
        height: 6rem;
        background-color: #1f2774;
        cursor: pointer;
    }

    #header .h_btn span {
        position: absolute;
        background-color: #fff;
        right: 1.5rem;
        left: 1.5rem;
        height: 3px;
        display: inline-block;
        transition: .3s;
    }

    #header .h_btn span:nth-of-type(1) {
        top: 1.2rem;
    }

    #header .h_btn span:nth-of-type(2) {
        top: 2.1rem;
    }

    #header .h_btn span:nth-of-type(3) {
        top: 3rem;
    }

    #header .h_btn:after {
        content: "MENU";
        position: absolute;
        right: 0;
        left: 0;
        top: 3.5rem;
        text-align: center;
        color: #fff;
        font-size: 1.2rem;
        font-weight: 700;
    }

    #header .h_btn.active:after {
        content: "CLOSE"
    }

    #header .h_btn.active span:nth-of-type(1) {
        transform: rotate(220deg);
        top: 2rem;
    }

    #header .h_btn.active span:nth-of-type(2) {
        opacity: 0;
    }

    #header .h_btn.active span:nth-of-type(3) {
        transform: rotate(-220deg);
        top: 2rem;
    }

    /*スマホ時のメガメニュー動作*/

    #header .h_nav {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        max-height: calc(100svh - 6rem);
        opacity: 0;
        visibility: hidden;
        transition: .3s;
        background-color: rgba(31, 39, 116, .9);
        flex-direction: column;
        margin: 0;
        overflow-y: auto;
    }

    #header .h_nav.active {
        opacity: 1;
        visibility: visible;
    }

    #header .h_nav .h_nav_link,
    #header .h_nav .h_nav_trigger {
        width: 100%;
        padding: 2rem;
        border-bottom: 1px solid #fff;
        color: #fff;
    }

    #header .h_nav .h_nav_trigger:after {
        content: "";
        position: absolute;
        width: 1rem;
        height: 1rem;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(-45deg);
        right: 2rem;
        top: 0;
        bottom: 0;
        margin: auto 0;
        transition: transform .2s;
    }

    #header .h_nav .h_nav_trigger.open:after {
        transform: rotate(135deg);
    }

    #header .h_nav_top {
        display: none;
    }

    #header .h_nav_megamenu {
        background-color: rgba(255, 255, 255, .3);
        display: none;
    }

    #header .h_nav_megamenu .wrapper {
        max-width: calc(100vw - 2rem);
    }

    #header .h_nav_megamenu .h_nm_lead {
        margin: 0;
    }

    #header .h_nav_megamenu p.h_nm_lead {
        display: none;
    }

    #header .h_nav_megamenu .h_nm_flex .thumb {
        display: none;
    }

    #header .h_nav_megamenu .h_nm_lead .main {
        display: none;
    }

    #header .h_nav_megamenu .h_nm_lead .sub,
    #header .h_nav_megamenu .h_nm_flex .item {
        display: block;
        font-size: 1.4rem;
        font-weight: 500;
        color: #fff;
        padding: 1.8rem 3rem;
        border-bottom: 1px dashed #fff;
    }
}


/* footer
----------------------------*/
#footer {
    margin-top: 8rem;
}

.common_contact_box {
    padding: 6rem 0 9rem;
    background-color: #1f2774;
    color: #fff;
}

.common_contact_box .hl {
    text-align: center;
    margin-bottom: 7rem;
}

.common_contact_box .hl .sub {
    font-size: 1.6rem;
    font-weight: 400;
    margin-bottom: .7rem;
    display: block;
}

.common_contact_box .hl .main {
    font-size: 4rem;
    font-weight: 700;
    display: block;
}

.common_contact_box .fc_col {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4rem;
    row-gap: 4rem;
}

.common_contact_box .fc_corp {
    width: calc(100% - 29rem);
    position: relative;
    border: 2px solid #fff;
    padding: 4.5rem 4rem 3.4rem 4.5rem;
    display: flex;
    justify-content: space-between;
    align-items: start;
}

.common_contact_box .fc_corp h3 {
    font-size: 2.4rem;
    font-weight: 700;
    position: absolute;
    top: -.75em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding: 0 1rem;
    background-color: #1f2774;
}

.common_contact_box .fc_corp .tel_side {
    width: 48%;
    padding-right: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 1.6rem;
}

.common_contact_box .fc_corp .tel_side .text_1 {
    font-size: 2.5rem;
    font-weight: 500;
}

.common_contact_box .fc_corp .tel_side .text_2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    padding: 2px 1.1rem;
    background-color: #fff;
}

.common_contact_box .fc_corp .tel_side .text_3 {
    font-size: 4.2rem;
    padding-left: 1.1em;
    line-height: 1.3;
    font-weight: 700;
    background-image: url(../img/common/tel_2.svg);
    background-repeat: no-repeat;
    background-size: .9em auto;
    background-position: left center;
    width: 100%;
}

.common_contact_box .fc_corp .tel_side .text_4 {
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    padding-left: 3em;
}

.common_contact_box .fc_corp .mail_side {
    width: 52%;
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    row-gap: 1.2rem;
    align-items: center;
}

.common_contact_box .fc_corp .mail_side .mail_btn {
    font-size: 2rem;
    font-weight: 800;
    color: #1f2774;
    width: 100%;
    padding: 2.1rem 1rem 1.8rem 2rem;
    background-color: #fff;
    text-align: center;
    background-image: url(../img/common/mail_3.svg);
    background-repeat: no-repeat;
    background-size: 1.2em auto;
    background-position: 1.5em center;
}

.common_contact_box .fc_corp .mail_side .mail_btn:hover {
    opacity: .8;
}

.common_contact_box .fc_corp .mail_side .text_1 {
    font-size: 1.6rem;
    font-weight: 500;
}

.common_contact_box .fc_corp .mail_side .text_2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #000;
    padding: 1px .4rem;
    background-color: #fff;
}

.common_contact_box .fc_corp .mail_side .text_3 {
    font-weight: 700;
}

.common_contact_box .fc_corp .mail_side .text_3 .num {
    font-size: 2rem;
}

.common_contact_box .fc_person {
    width: 25rem;
    background-color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    padding-top: 9rem;
    color: #1f2774;
    background-image: url(../img/common/person_1.svg);
    background-repeat: no-repeat;
    background-size: 1.5em auto;
    background-position: center top 4rem;
}

.common_contact_box .fc_person em {
    font-size: 3rem;
    font-style: normal;
}

.common_contact_box .fc_person:hover {
    opacity: .8;
}

#ft_nav {
    padding: 6rem 0 8rem;
}

#ft_nav .wrapper {
    display: flex;
    column-gap: 5rem;
    align-items: start;
    flex-wrap: wrap;
}

#ft_nav .fn_info {
    width: 38rem;
}

#ft_nav .fn_info .fn_logo {
    margin-bottom: 2.2rem;
}

#ft_nav .fn_info .fn_text {
    font-size: 1.6rem;
    line-height: 1.875;
    margin-bottom: 3rem;
}

#ft_nav .fn_info .fn_recruit_btn {
    width: 21.2rem;
    max-width: 100%;
    padding: 1.2rem;
    background-color: #fc0;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    background-image: url(../img/common/person_2.svg);
    background-repeat: no-repeat;
    background-size: 1.8rem auto;
    background-position: left 1.4rem center;
    margin-bottom: 4.5rem;
}

#ft_nav .fn_info .fn_recruit_btn:hover {
    background-color: #1f2774;
    color: #fff;
    background-image: url(../img/common/person_3.svg);
}

#ft_nav .fn_info .fn_copyright {
    font-family: 'メイリオ', 'Meiryo', sans-serif;
    font-size: 1.2rem;
    font-weight: bold;
    color: #b1b1b1;
}

#ft_nav .fn_nav {
    width: calc(100% - 43rem);
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: start;
    column-gap: 2rem;
    row-gap: 3rem;
}

#ft_nav .fn_nav a:hover {
    color: #ac1d28;
}

#ft_nav .fn_nav .link_single {
    font-size: 1.6rem;
    font-weight: 700;
    padding: .3em 0 .3em 1.25em;
    position: relative;
}

#ft_nav .fn_nav .link_single:before {
    content: "";
    position: absolute;
    left: 0;
    top: .74em;
    width: .625em;
    height: .625em;
    background-image: url(../img/common/arrow_02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#ft_nav .fn_nav .link_parent {
    font-size: 1.6rem;
    font-weight: 700;
    padding: .3em 0 .3em 1.25em;
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 1rem;
}

#ft_nav .fn_nav .link_parent:before {
    content: "";
    position: absolute;
    left: 0;
    top: .74em;
    width: .625em;
    height: .625em;
    background-image: url(../img/common/arrow_02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#ft_nav .fn_nav .link_parent:after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #bcbcbc;
    transform-origin: left;
}

#ft_nav .fn_nav ul ul {
    padding-left: 2.2rem;
}

#ft_nav .fn_nav .link_child {
    font-size: 1.6rem;
    font-weight: 500;
    padding: .2em 0 .2em 1.1875em;
    position: relative;
}

#ft_nav .fn_nav .link_child:before {
    content: "";
    width: 5px;
    height: 5px;
    border-top: 2px solid #324eb3;
    border-right: 2px solid #324eb3;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    top: calc(.2em + .75em - 2.5px);
}

#ft_nav .fn_nav .link_other {
    font-size: 1.4rem;
    font-weight: 500;
    padding: .2em 0 .2em 1.1875em;
    position: relative;
}

#ft_nav .fn_nav .link_other:before {
    content: "";
    width: 5px;
    height: 5px;
    border-top: 2px solid #aaa;
    border-right: 2px solid #aaa;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    top: calc(.2em + .75em - 2.5px);
}

@media (max-width:767px) {
    .common_contact_box {
        padding: 4rem 0 6rem;
    }

    .common_contact_box .hl {
        margin-bottom: 5rem;
    }

    .common_contact_box .hl .main {
        font-size: 3.4rem;
    }

    .common_contact_box .fc_corp {
        width: 100%;
        flex-wrap: wrap;
        row-gap: 4rem;
        padding: 4.5rem 2rem 3.4rem;
    }

    .common_contact_box .fc_corp h3 {
        white-space: nowrap;
        font-size: 2rem;
    }

    .common_contact_box .fc_corp .tel_side {
        width: 100%;
        justify-content: center;
    }

    .common_contact_box .fc_corp .tel_side .text_3 {
        width: auto;
        font-size: clamp(2rem, 8vw, 4.2rem)
    }

    .common_contact_box .fc_corp .mail_side {
        width: 100%;
        justify-content: center;
    }

    .common_contact_box .fc_corp .mail_side .mail_btn {
        font-size: 1.8rem;
    }

    .common_contact_box .fc_corp .mail_side .text_1 {
        font-size: 2.5rem;
    }

    .common_contact_box .fc_corp .mail_side .text_2 {
        font-size: 1.6rem;
    }

    .common_contact_box .fc_corp .mail_side .text_3 {
        font-size: 2rem;
    }

    .common_contact_box .fc_corp .mail_side .text_3 .num {
        font-size: 3.2rem;
    }

    .common_contact_box .fc_person {
        padding: 2rem 0 2rem 10rem;
        width: 100%;
        text-align: left;
        background-position: left 3rem center;
    }

    #ft_nav .wrapper {
        flex-direction: column-reverse;
        justify-content: start;
        row-gap: 5rem;
    }

    #ft_nav .fn_info {
        max-width: 100%;
    }

    #ft_nav .fn_nav {
        width: 100%;
        flex-direction: column;
        row-gap: 2rem;
    }

    #ft_nav .fn_nav ul {
        width: 100%;
    }
}


/* 汎用
----------------------------*/
.breadcrumb .wrapper {
    display: flex;
    flex-wrap: wrap;
    column-gap: .8em;
    font-size: 1.4rem;
    font-weight: 500;
    align-items: center;
    padding: 2.2rem 0 2.5rem;
}

.breadcrumb .bc_home {
    min-width: 1.66em;
    height: 1.05em;
    background-image: url(../img/common/bc_home.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    border-right: 1px solid #b7b7b7;
}

.breadcrumb a:not(.bc_home) {
    text-decoration: underline;
    padding-right: 1.2em;
    position: relative;
}

.breadcrumb a:not(.bc_home):after {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% - 2.5px);
    width: 5px;
    height: 5px;
    border-top: 1px solid #b2b2b2;
    border-right: 1px solid #b2b2b2;
    transform: rotate(45deg);
}

.page_key {
    position: relative;
    width: calc(100% - 9rem);
    margin: 0 auto;
    height: 42rem;
    display: flex;
    align-items: center;
    margin-bottom: 8rem;
}

.page_key .page_thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_key .wrapper {
    z-index: +1;
    max-width: calc(100% - 6rem);
}

.page_key .page_title {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    align-items: start;
}

.page_key .page_title .main {
    font-size: 3.5rem;
    line-height: 1.74;
    padding: 0 1.4rem 0 1rem;
    background-color: rgba(255, 255, 255, .9);
}

.page_key .page_title .sub {
    font-size: 2rem;
    line-height: 1.9;
    padding: 0 1rem;
    background-color: rgba(255, 255, 255, .9);
}

.page_key .page_title span:not([class]) {
    display: inline-block;
}

@media (max-width:767px) {
    .page_key {
        width: calc(100% - 4rem);
        max-height: 50vw;
        margin-bottom: 6rem;
    }

    .page_key .wrapper,
    .page_key .wrap_inner {
        max-width: calc(100% - 4rem);
    }

    .page_key .page_title .main {
        font-size: 2.4rem;
    }

    .page_key .page_title .sub {
        font-size: 1.6rem;
    }
}


#post_pager {
    margin-top: 10rem;
}

#post_pager ul.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 2rem;
}

#post_pager li .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
}

#post_pager li .page-numbers.current {
    color: #fff;
    background-color: #1f2774;
    border: 1px solid #1f2774;
}

#post_pager li a.page-numbers {
    border: 1px solid #c5c5c5;
}

#post_pager li .page-numbers.next,
#post_pager li .page-numbers.prev {
    font-size: 0;
}

#post_pager li .page-numbers.next:before {
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    transform: rotate(45deg);
}

#post_pager li .page-numbers.prev:after {
    content: "";
    width: 5px;
    height: 5px;
    border-left: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
}

#post_pager:not(:last-child) {
    margin-bottom: 8rem;
}

.single_pager {
    display: flex;
    justify-content: center;
    column-gap: 3.7rem;
    row-gap: 1rem;
    margin-top: 10rem;
    flex-wrap: wrap;
}

.single_pager a {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2774;
    padding: 2rem;
    background-color: #f3f4ff;
    border-radius: 5px;
    width: 17rem;
    position: relative;
}

.single_pager a[rel="prev"] {
    text-align: right;
}

.single_pager a[rel="next"] {
    text-align: left;
}

.single_pager a[rel="prev"]:before,
.single_pager a[rel="next"]:before {
    content: "";
    position: absolute;
    width: .8rem;
    height: .8rem;
    top: calc(50% - .4rem);
    transform: rotate(45deg);
}

.single_pager a[rel="prev"]:before {
    border-bottom: 2px solid #1f2774;
    border-left: 2px solid #1f2774;
    left: 2rem;
}

.single_pager a[rel="next"]:before {
    border-top: 2px solid #1f2774;
    border-right: 2px solid #1f2774;
    right: 2rem;
}

.single_pager .back_archive {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: .6rem;
}

.single_pager .back_archive:before {
    width: .8em;
    height: .8em;
    content: "";
    display: block;
    background-image: url(../img/common/archive.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.single_pager a:hover {
    opacity: .7;
}

.archive_cat_col {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 6rem;
    row-gap: 2rem;
    margin-bottom: 10rem;
}

.archive_cat_col .item {
    padding-top: 1.3rem;
    font-size: 1.6rem;
    font-weight: 700;
    position: relative;
}

.archive_cat_col .item:hover {
    color: #1f2774;
}

.archive_cat_col .item.current {
    color: #1f2774;
    pointer-events: none;
}

.archive_cat_col .item:before {
    content: "";
    top: 0;
    left: 51%;
    right: 51%;
    height: .3rem;
    transition: .3s;
    background-color: #1f2774;
    position: absolute;
}

.archive_cat_col .item:hover:before {
    left: 0;
    right: 0;
}

.archive_cat_col .item.current:before {
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: .3rem;
    background-color: #1f2774;
    position: absolute;
}

@media (max-width:767px) {
    .single_pager a {
        width: 100%;
        text-align: center !important;
        padding: 1rem 2rem;
    }
}

#toc_container {
    background-color: #f3f4ff;
    padding: 20px 40px 34px;
    border-top: 1px solid #1f2774;
    border-bottom: 1px solid #1f2774;
    margin: 3.6rem 0 5rem;
    min-width: 100%;
}

#toc_container .toc_title {
    font-size: 1.8rem;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: .9rem;
    color: #1f2774;
    font-weight: 700;
    position: relative;
}

#toc_container .toc_title:before {
    content: "";
    width: 1em;
    height: 1em;
    background-image: url(../img/common/toc.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#toc_container .toc_toggle {
    position: absolute;
    top: 0;
    right: 0;
}

#toc_container .toc_toggle a {
    display: block;
    width: 9rem;
    font-size: 1.5rem;
    text-decoration: none;
    color: #1f2774;
    border: 1px solid #1f2774;
    line-height: 1.7em;
    padding: 0 0 0 2.2em;
}

#toc_container .toc_toggle a:before,
#toc_container .toc_toggle a:after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: .5em;
    width: 1em;
    height: 2px;
    background-color: #1f2774;
}

#toc_container .toc_toggle .toc_brackets {
    display: none;
}

#toc_container:not([class="no_bullets"]) .toc_toggle a:after {
    transform: rotate(90deg);
}

#toc_container .toc_list {
    margin-top: 2.2rem;
}

#toc_container .toc_list>li+li {
    margin-top: 18px;
}

#toc_container .toc_list>li>a {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
    padding-left: 1em;
    position: relative;
    line-height: 1.5;
}

#toc_container .toc_list>li>a:before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #1f2774;
    left: 0;
    top: calc(0.75em - 3px);
}

#toc_container .toc_list ul {
    padding-left: 38px;
}

#toc_container .toc_list ul li {
    padding: 0;
}

#toc_container .toc_list ul li:before {
    content: initial;
}

#toc_container .toc_list ul li+li {
    margin-top: 6px;
}

#toc_container .toc_list ul a {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    padding-left: 1em;
    position: relative;
}

#toc_container .toc_list ul a:before {
    content: "";
    position: absolute;
    width: .5em;
    height: .5em;
    border-bottom: 1px solid #b2b2b2;
    border-left: 1px solid #b2b2b2;
    top: 0.4em;
    left: 0;
}

#toc_container a:hover {
    color: #ac1d28;
}

#author_box {
    background-color: #edf2fa;
    border-radius: 5px;
    overflow: hidden;
    padding: 6rem 4.6rem 3.4rem;
    position: relative;
    width: 72rem;
    max-width: 100%;
    margin: 6rem auto 0;
    display: flex;
    align-items: start;
    column-gap: 27px;
}

#author_box h2 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .075em;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1f2774;
    border-radius: 0 0 5px 0;
    color: #fff;
    padding: .8rem 2rem;
}

#author_box img {
    width: 12.6rem;
    min-width: 12.6rem;
    height: 12.6rem;
    border-radius: 50%;
    object-fit: cover;
    margin: 0;
}

#author_box .text p {
    line-height: 1.5;
    letter-spacing: .075em;
}

#author_box .text .name {
    font-size: 1.8rem;
}

#author_box .text .user_post {
    font-size: 1.2rem;
    color: #666;
    margin-top: .4rem;
}

#author_box .text .desc p {
    line-height: 1.35;
    font-size: 1.4rem;
    margin-top: 1.8rem;
}

.post_content>*:not(:last-child) {
    margin-bottom: 4rem;
}

.post_content img:not(:last-child) {
    margin-bottom: 1.4rem;
}

.post_content p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
}

.post_content p strong {
    color: #326fcb;
    font-weight: 700;
}

.post_content p a {
    font-weight: 700;
    color: #326fcb;
    text-decoration: underline;
    display: inline;
}

.post_content>p:not(:last-child) {
    margin-bottom: 2em;
}

.post_content ul:not([class]) li {
    line-height: 2;
    padding-left: 1.7em;
    position: relative;
}

.post_content ul:not([class]) li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .37em;
    width: 1.25em;
    height: 1.25em;
    background-image: url(../img/common/post_checklist.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.post_content ul:not([class]) li+li {
    margin-top: .8em;
}

.post_content ul:not([class]) li ul {
    margin-top: 1rem;
}

.post_content ul:not([class]) li>ul>li:before {
    background-image: url(../img/common/post_checklist_2.svg);
}

.post_content ol:not([class]) {
    counter-reset: ol 0;
}

.post_content ol:not([class]) li {
    line-height: 2;
    padding-left: 2.2em;
    position: relative;
}

.post_content ol:not([class]) li:before {
    counter-increment: ol 1;
    content: counter(ol);
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    line-height: 2;
    width: 2em;
    text-align: center;
    background-color: #1f2774;
    position: absolute;
    left: 0;
    top: .3em;
}

.post_content ol:not([class]) li+li {
    margin-top: .8em;
}

.post_content ol:not([class]):not(:last-child) {
    margin-bottom: 3rem;
}

.post_content .style_bg {
    padding: 3rem;
    background-color: #f7f8fb;
}

.post_content .style_border {
    padding: 3rem;
    border: 1px solid #ccc;
}

.post_content .style_bg:not(:last-child),
.post_content .style_border:not(:last-child) {
    margin-bottom: 5rem;
}

.post_content .style_buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 1.4rem;
    row-gap: 1.4rem;
}

.post_content .style_buttons a {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2774;
    padding: 2rem 2.4rem 2rem 2rem;
    background-color: #f3f4ff;
    border-radius: 5px;
    position: relative;
}

.post_content .style_buttons a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.8rem;
    margin: auto 0;
    width: .9rem;
    height: .9rem;
    border-top: 2px solid #1f2774;
    border-right: 2px solid #1f2774;
    transform: rotate(45deg);
}

.post_content .style_buttons>br {
    display: none;
}

.post_content .style_buttons.line_1 {
    flex-direction: column;
    align-items: center;
}

.post_content .style_buttons.line_2 {
    column-gap: 2.2rem;
}

.post_content .style_buttons.line_1 a {
    width: 41rem;
}

.post_content .style_buttons.line_2 a {
    width: calc(50% - 1.1rem);
}

.post_content .style_buttons.line_3 a {
    width: calc((100% - 2.8rem) / 3);
}

@media (min-width:768px) {
    .post_content .style_buttons a:hover {
        background-color: #1f2774;
        color: #fff;
    }

    .post_content .style_buttons a:hover:after {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
}

.post_content .line_table div {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.6rem;
}

.post_content .line_table dt {
    width: 14rem;
    padding: 2rem 0 2rem 2rem;
    display: flex;
    align-items: center;
    font-weight: 700;
}

.post_content .line_table dd {
    width: calc(100% - 14rem);
    padding: 2rem 0 2rem 2rem;
    line-height: 2.2;
}

.post_content .line_table div:not(:last-child) dt {
    border-bottom: 2px solid #000;
}

.post_content .line_table div:not(:last-child) dd {
    border-bottom: 2px solid #e9e9e9;
}

.post_content .line_table._bottom dt {
    border-bottom: 2px solid #000;
}

.post_content .line_table._bottom dd {
    border-bottom: 2px solid #e9e9e9;
}

.post_content .box_table table,
.page_content .box_table table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #ccc;
    table-layout: fixed;
}

.post_content .box_table th,
.post_content .box_table td,
.page_content .box_table th,
.page_content .box_table td {
    border: 1px solid #ccc;
    padding: 2.3rem 2rem;
}

.post_content .box_table tr>*:first-child,
.page_content .box_table tr>*:first-child {
    width: 18rem;
}

.post_content .box_table th,
.page_content .box_table th {
    background-color: #f3f4ff;
}

.post_content .col2 {
    display: flex;
    align-items: start;
    column-gap: 6rem;
    row-gap: 3rem;
    flex-wrap: wrap;
}

.post_content .col2>div {
    width: calc(50% - 3rem);
}

.post_content .col2 img:not(:last-child) {
    margin-bottom: 1.4rem !important;
}

.post_content .col3,
.page_content .col3 {
    display: flex;
    align-items: start;
    gap: 3rem;
    flex-wrap: wrap;
}

.post_content .col3>div,
.page_content .col3>div {
    width: calc((100% - 6rem) / 3);
}

.post_content .col3 img:not(:last-child),
.page_content .col3 img:not(:last-child) {
    margin-bottom: 1.4rem;
}

.post_content .col4,
.page_content .col4 {
    display: flex;
    column-gap: 2rem;
    row-gap: 3rem;
    flex-wrap: wrap;
}

.post_content .col4>div,
.page_content .col4>div {
    width: calc((100% - 6rem) / 4);
}

.post_content .col4 img:not(:last-child),
.page_content .col4 img:not(:last-child) {
    margin-bottom: 1.4rem;
}

.post_content .col6,
.page_content .col6 {
    display: flex;
    column-gap: 2rem;
    row-gap: 2rem;
    flex-wrap: wrap;
}

.post_content .col6>div,
.page_content .col6>div {
    width: calc((100% - 10rem) / 6);
}

.post_content .col6 img:not(:last-child),
.page_content .col6 img:not(:last-child) {
    margin-bottom: 1.4rem;
}

.post_content .col2 .product_slick img:not(:last-child),
.post_content .col3 .product_slick img:not(:last-child),
.post_content .col4 .product_slick img:not(:last-child),
.post_content .col6 .product_slick img:not(:last-child) {
    margin-bottom: 0 !important;
}

.post_content .col2:not(:last-child),
.post_content .col3:not(:last-child),
.post_content .col4:not(:last-child),
.post_content .col6:not(:last-child) {
    margin-bottom: 8rem;
}

@media (max-width:767px) {
    .post_content .style_bg {
        padding: 3rem 2rem;
    }

    .post_content .style_border {
        padding: 3rem 2rem;
    }

    .post_content .style_buttons a {
        width: 100% !important;
    }

    .post_content .line_table dt {
        width: 100%;
    }

    .post_content .line_table dd {
        width: 100%;
    }

    .post_content .line_table div:last-child dt {
        border-bottom: 2px solid #000;
    }

    .post_content .line_table div:last-child dd {
        border-bottom: 2px solid #e9e9e9;
    }

    .post_content .box_table table,
    .page_content .box_table table {
        min-width: 76rem;
    }

    .post_content .col2>div {
        width: 100%;
    }

    .post_content .col3>div,
    .page_content .col3>div {
        width: 100%;
    }

    .post_content .col4>div,
    .page_content .col4>div {
        width: calc(50% - 1rem);
    }

    .post_content .col6>div,
    .page_content .col6>div {
        width: calc(50% - 1rem);
    }

    #toc_container {
        padding: 20px 20px 30px;
    }

    #toc_container .toc_title {
        justify-content: start;
    }

    #toc_container .toc_list ul {
        padding-left: 20px;
    }
}




.archive_works_col {
    border-top: 1px solid #bebebe;
}

.archive_works_col .item {
    display: flex;
    align-items: center;
    column-gap: 5.6rem;
    padding: 4rem 0;
    border-bottom: 1px solid #bebebe;
}

.archive_works_col .thumb {
    width: 28rem;
    min-width: 28rem;
    height: 20rem;
    overflow: hidden;
}

.archive_works_col .thumb img {
    transition: .3s;
    height: 100%;
    object-fit: cover;
}

.archive_works_col .info {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.3rem;
    row-gap: .8rem;
    align-items: center;
}

.archive_works_col .date {
    font-size: 1.4rem;
    font-weight: 500;
    color: #8e8e8e;
}

.archive_works_col .ttl {
    font-size: 2rem;
    font-weight: 600;
    width: 100%;
    transition: color .2s;
}

.archive_works_col .cat {
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
    padding: .4rem 2rem;
    border-radius: 100px;
    background-color: #1f2774;
}

.archive_works_col .ex {
    width: 100%;
}

.archive_works_col .workscat-meta {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    column-gap: 2em;
    row-gap: 1rem;
}

.archive_works_col .workscat-meta .workscat-meta__parent {
    margin-right: 1em;
    font-weight: 700;
    white-space: nowrap;
}

.archive_works_col .workscat-meta .workscat-meta__children {
    text-decoration: underline;
    display: flex;
    column-gap: .2em;
    text-wrap: wrap;
}

.archive_works_col .workscat-meta .workscat-meta__row {
    display: flex;
    align-items: center;
}

.archive_works_col .workscat-meta .workscat-meta__icon {
    display: flex;
    align-items: center;
    margin-right: .7rem;
}

.archive_works_col .workscat-meta .workscat-meta__icon svg {
    fill: #b7b7b7;
}

.archive_works_col .more {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2774;
    padding: .3rem;
    width: 12.2rem;
    border-bottom: 1px solid #1f2774;
    position: relative;
}

.archive_works_col .more:after {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 2px solid #1f2774;
    border-right: 2px solid #1f2774;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    margin: auto 0;
    transform: rotate(45deg);
}

@media (min-width:768px) {
    .archive_works_col .ttl:hover {
        color: #ac1d28;
    }

    .archive_works_col .more:hover {
        color: #ac1d28;
        border-bottom: 1px solid #ac1d28;
    }

    .archive_works_col .more:hover:after {
        border-top: 2px solid #ac1d28;
        border-right: 2px solid #ac1d28;
    }

    .archive_works_col .thumb:hover img {
        transform: scale(1.05);
    }

    .archive_works_col .workscat-meta .workscat-meta__children a:hover {
        color: #ac1d28;
    }
}

@media (max-width:767px) {
    .archive_works_col .item {
        width: 100%;
        flex-wrap: wrap;
    }

    .archive_works_col .thumb {
        height: auto;
        width: 100%;
        margin-bottom: 2rem;
    }

    .archive_works_col .ttl {
        font-size: 1.8rem;
    }

    .archive_works_col .workscat-meta {
        margin-bottom: 2rem;
    }

    .archive_works_col .workscat-meta .workscat-meta__row {
        width: 100%;
    }
}




/* 固定ページ用パーツ
----------------------------*/
.page_content h2:not([class]) {
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    padding: 1.8rem 2rem;
    border-radius: 5px;
    background-color: #1f2774;
    margin-bottom: 3rem;
}

.page_content h2:not([class]):not(:first-child) {
    margin-top: 8rem;
}

.page_content h2.sec_title {
    margin-bottom: 5rem;
}

.page_content h2.sec_title .sub {
    font-size: 1.6rem;
    font-weight: 400;
    color: #ac1d28;
    margin-bottom: 1.2rem;
    display: block;
}

.page_content h2.sec_title .main {
    font-size: 4rem;
    font-weight: 500;
    display: block;
}

.page_content .greeting_hl {
    font-size: 3rem;
    margin-bottom: 3rem;
}

.page_content h2.greeting_hl:not(:first-child) {
    margin-top: 6rem;
}

.page_content h2.parentline_hl {
    display: flex;
    align-items: center;
    justify-content: start;
    column-gap: 2rem;
    font-size: 4rem;
    font-weight: 800;
    color: #1f2774;
    margin-bottom: 8rem;
}

.page_content h2.parentline_hl:before {
    content: "";
    display: block;
    width: 3px;
    height: 1em;
    background-color: #1f2774;
}

.page_content h2.parentline_hl:after {
    content: "";
    position: absolute;
    left: 0;
    top: 1.8em;
    bottom: 0;
    width: 2px;
    background-color: #dcdcdc;
}

.page_content h3:not([class]) {
    font-size: 2rem;
    font-weight: 700;
    color: #1f2774;
    padding: 1.6rem 2rem 1.8rem;
    background-color: #f3f4ff;
    border-bottom: 3px solid #1f2774;
    margin-bottom: 4rem;
}

.page_content h3:not([class]):not(:first-child) {
    margin-top: 4.5rem;
}

.page_content h3.line_hl {
    display: flex;
    justify-content: center;
    font-size: 3rem;
    font-weight: 700;
    color: #1f2774;
    position: relative;
    margin-bottom: 6.6rem;
}

.page_content h3.line_hl span {
    padding: 0 4rem 2.3rem ;
    position: relative;
}

.page_content h3.line_hl:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background-color: #d9d9d9;
}

.page_content h3.line_hl span:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background-color: #1f2774;
}

.page_content h3.line_hl:not(:first-child) {
    margin-top: 10rem;
}

.page_content h4:not([class]) {
    font-size: 2rem;
    font-weight: 600;
    color: #1f2774;
    padding-left: 1em;
    line-height: 1.4;
    border-left: 3px solid #1f2774;
    margin-bottom: 2.3rem;
}

.page_content h4:not([class]):not(:first-child) {
    margin-top: 4rem;
}

.page_content h4.hl_inlabel {
    display: flex;
    align-items: center;
    justify-content: start;
    column-gap: 1.3rem;
    font-size: 2rem;
    font-weight: 700;
    color: #1f2774;
    margin-bottom: 2.4rem;
}

.page_content h4.hl_inlabel .label {
    width: 8.7rem;
    min-width: 8.7rem;
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    padding: .4rem .5rem;
    background-color: #1f2774;
}

.page_content h4.hl_inlabel:not(:first-child) {
    margin-top: 4rem;
}

.page_content h5:not([class]) {
    font-size: 2rem;
    font-weight: 700;
    color: #1f2774;
    margin-bottom: 1rem;
}

.page_content h5:not([class]):not(:first-child) {
    margin-top: 2.5rem;
}

.page_content h5.simple_hl {
    font-size: 2.4rem;
    font-weight: 700;
    padding-bottom: .5rem;
    border-bottom: 1px solid #c1c1c1;
    margin-bottom: 1.2rem;
}

.page_content h5.simple_hl:not(:first-child) {
    margin-top: 3rem;
}

.page_content h6:not([class]) {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2;
}

.page_content h6:not([class]):not(:first-child) {
    margin-top: 1rem;
}

.page_content section+section {
    margin-top: 10rem;
}

.page_content .button_style_1 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1f2774;
    padding: 1.8rem 3.6rem 2.2rem 2.6rem;
    background-color: #f3f4ff;
    position: relative;
    border-bottom: 2px solid #1f2774;
}

.page_content .button_style_1:after {
    content: "";
    position: absolute;
    width: .8rem;
    height: .8rem;
    border-top: 2px solid #1f2774;
    border-right: 2px solid #1f2774;
    transform: rotate(45deg);
    top: calc(50% - .4rem);
    right: 2.2rem;
}

.page_content .button_style_1:hover {
    background-color: #1f2774;
    color: #f3f4ff;
}

.page_content .button_style_1:hover:after {
    border-top: 2px solid #f3f4ff;
    border-right: 2px solid #f3f4ff;
}

.page_content .button_style_2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    padding: 2rem 3.4rem 2rem 2rem;
    background-color: #1f2774;
    position: relative;
    border-radius: 5px;
}

.page_content .button_style_2:after {
    content: "";
    position: absolute;
    width: .8rem;
    height: .8rem;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    top: calc(50% - .4rem);
    right: 2.2rem;
}

.page_content .button_style_2:hover {
    background-color: #ac1d28;
}

.page_content .button_style_3 {
    width: 45rem;
    max-width: 100%;
    margin: 0 auto;
    padding: 2rem 3.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    background-color: #ac1d28;
    border-radius: 5px;
    border: 1px solid #ac1d28;
    background-image: url(../img/common/arrow_04.svg);
    background-repeat: no-repeat;
    background-size: 1.05em;
    background-position: right 2.7rem center;
}

.page_content .button_style_3:hover {
    color: #ac1d28;
    background-color: #fff;
    background-image: url(../img/common/arrow_01.svg);
}

.page_content .button_style_3:not(:first-child) {
    margin-top: 5rem;
}

.page_content .button_style_3:not(:last-child) {
    margin-bottom: 5rem;
}

.page_content .button_style_4 {
    width: 45rem;
    max-width: 100%;
    margin-left: auto;
    padding: 2rem 3.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    background-color: #1f2774;
    border-radius: 5px;
    border: 1px solid #1f2774;
    background-image: url(../img/common/arrow_04.svg);
    background-repeat: no-repeat;
    background-size: 1.05em;
    background-position: right 2.7rem center;
}

.page_content .button_style_4:hover {
    color: #1f2774;
    background-color: #fff;
    background-image: url(../img/common/arrow_06.svg);
}

.page_content .button_style_4:not(:first-child) {
    margin-top: 5rem;
}

.page_content .button_style_4:not(:last-child) {
    margin-bottom: 5rem;
}

.page_content .fukidashi_1 {
    display: flex;
    align-items: center;
    column-gap: 2rem;
}

.page_content .fukidashi_1 .icon_side {
    width: 14rem;
    text-align: center;
}

.page_content .fukidashi_1 .icon_side img {
    width: 9rem;
    height: 9rem;
    margin: 0 auto .9rem;
    border-radius: 50%;
    border: 1px solid #c9c9c9;
    object-fit: cover;
}

.page_content .fukidashi_1 .icon_side .sub {
    font-size: 1.6rem;
}

.page_content .fukidashi_1 .icon_side .main {
    font-size: 1.8rem;
    font-weight: 700;
}

.page_content .fukidashi_1 .text_side {
    background-color: #f3f4ff;
    border-radius: 5px;
    position: relative;
    padding: 3rem 4.7rem 3.8rem;
    width: calc(100% - 14rem - 2rem);
}

.page_content .fukidashi_1 .text_side .lead {
    font-weight: 700;
    font-size: 2.4rem;
    margin-bottom: 1.2rem;
}

.page_content .fukidashi_1 .text_side .text {
    font-size: 1.8rem;
    line-height: 1.78;
}

.page_content .fukidashi_1 .text_side:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    border-style: solid;
    border-width: 10px 11px 10px 0;
    border-color: transparent #f3f4ff transparent transparent;
    position: absolute;
    right: calc(100% - 1px);
    top: calc(50% - 10px);
}

.page_content .fukidashi_2 {
    display: flex;
    align-items: center;
    column-gap: 4rem;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #c1c1c1;
    padding: 2rem 4rem 2rem 3rem;
    flex-wrap: wrap;
    row-gap: 3rem;
}

.page_content .fukidashi_2 .icon_side {
    width: 8.3rem;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.3;
}

.page_content .fukidashi_2 .icon_side p {
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

.page_content .fukidashi_2 .text_side {
    width: calc(100% - 12.3rem);
}

.page_content .fukidashi_2 .text_side .lead {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 1rem;
}

.page_content .fukidashi_2 .text_side .text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6;
}

.page_content .fukidashi_2.answer {
    border: none;
    background-color: #fff7c1;
}

.page_content .fukidashi_2:not(:last-child) {
    margin-bottom: 2rem;
}

.page_content .fukidashi_2.answer .icon_side img {
    border-radius: 100px;
    border: 1px solid #c9c9c9;
}

.page_content .flex_4-6,
.page_content .flex_3-7,
.page_content .flex_2-8 {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    column-gap: 6.6rem;
    row-gap: 3rem;
    margin-bottom: 3.6rem;
}

.page_content .flex_4-6>.side_L {
    width: 50rem;
    max-width: 100%;
}

.page_content .flex_4-6>.side_R {
    width: calc(100% - 50rem - 6.6rem);
}

.page_content .flex_3-7>.side_L {
    width: 40rem;
    max-width: 100%;
}

.page_content .flex_3-7>.side_R {
    width: calc(100% - 40rem - 6.6rem);
}

.page_content .flex_2-8>.side_L {
    width: 25rem;
    max-width: 100%;
}

.page_content .flex_2-8>.side_R {
    width: calc(100% - 25rem - 6.6rem);
}

.page_content .flex_4-6.reverse,
.page_content .flex_3-7.reverse,
.page_content .flex_2-8.reverse {
    flex-direction: row-reverse;
}

.page_content .align_right {
    display: inline-block;
    width: 100%;
    text-align: right;
}

.page_content .align_center {
    align-items: center;
}

.page_content .lh_2 {
    line-height: 2;
}

.page_content .lh_2:not(:last-child) {
    margin-bottom: 2em;
}

.service_link_col {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4rem;
    row-gap: 2.5rem;
}

.service_link_col ._2 {
    width: calc(50% - 2rem);
}

.service_link_col ._3 {
    width: calc((100% - 8rem) / 3);
}

.service_link_col .item_1 {
    border: 1px solid #d6d6d6;
}

.service_link_col .item_1 p {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    padding: 2rem 4rem 2.5rem;
    background-image: url(../img/common/arrow_01.svg);
    background-repeat: no-repeat;
    background-size: 1em;
    background-position: right 2.2rem center;
}

.service_link_col .item_1 .img {
    overflow: hidden;
}

.service_link_col .item_1 img {
    transition: .4s;
}

.service_link_col .item_1:hover {
    color: #ac1d28;
}

.service_link_col .item_1:hover img {
    transform: scale(1.05);
}

.service_link_col .item_2 {
    display: flex;
    align-items: center;
    border: 1px solid #d6d6d6;
}

.service_link_col .item_2 .img {
    width: 20rem;
}

.service_link_col .item_2 .text {
    width: calc(100% - 20rem);
    padding: 1rem 2.8rem;
}

.service_link_col .item_2 .text .lead {
    font-size: 2rem;
    font-weight: 700;
    color: #1f2774;
    padding-bottom: .7rem;
    margin-bottom: .7rem;
    position: relative;
    transition: .2s;
}

.service_link_col .item_2 .text .lead:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background-color: #bfbfbf;
}

.service_link_col .item_2 .text .lead:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 1px;
    background-color: #1f2774;
}

.service_link_col .item_2 .text p {
    font-size: 1.6rem;
    font-weight: 500;
}

.service_link_col .item_2:hover .lead {
    color: #ac1d28;
}

.link_col_general {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4rem;
    row-gap: 2.5rem;
}

.link_col_general>a {
    width: calc(50% - 2rem);
    border: 1px solid #d6d6d6;
}

.link_col_general>a:hover {
    color: #ac1d28;
}

.link_col_general .img {
    overflow: hidden;
}

.link_col_general .img img {
    transition: .4s;
}

.link_col_general>a:hover img {
    transform: scale(1.05);
}

.link_col_general .lead {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    padding: 2.4rem 4rem;
    background-image: url(../img/common/arrow_01.svg);
    background-repeat: no-repeat;
    background-size: 1em;
    background-position: right 2.2rem center;
}

.link_col_general .text {
    font-size: 1.8rem;
    padding: 0 3rem 3rem;
}

.link_col_general .text:first-of-type {
    text-align: center;
    font-size: 1.6rem;
    padding: 2rem 3rem 0;
    margin-bottom: -2rem;
}

.link_col_general._left .lead {
    padding-left: 3.4rem;
    text-align: left;
    line-height: 1.5;
}

.page_content dl:not([class]):not(:last-child) {
    margin-bottom: 4rem;
}

.page_content dl:not([class]):not(:first-child) {
    margin-top: 4rem;
}

.page_content dl:not([class]) div {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.6rem;
}

.page_content dl:not([class]) dt {
    width: 20rem;
    display: flex;
    align-items: center;
    font-weight: 700;
    padding: 2rem 0 2rem 2rem;
}

.page_content dl:not([class]) dd {
    width: calc(100% - 20rem);
    padding: 2rem 0 2rem 4rem;
}

.page_content dl:not([class]) div:not(:last-child) dt {
    border-bottom: 2px solid #000;
}

.page_content dl:not([class]) div:not(:last-child) dd {
    border-bottom: 2px solid #e9e9e9;
}

.page_content ._bottom dl:not([class]) div:last-child dt {
    border-bottom: 2px solid #000;
}

.page_content ._bottom dl:not([class]) div:last-child dd {
    border-bottom: 2px solid #e9e9e9;
}

.page_content .anchor_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 8rem;
}

.page_content .anchor_wrap a {
    width: calc((100% - 6rem) / 4);
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2774;
    padding: 2rem 3rem 2rem 2rem;
    background-color: #f3f4ff;
    border: 2px solid #f3f4ff;
    border-bottom: 2px solid #1f2774;
    position: relative;
}

.page_content .anchor_wrap._3 a {
    width: calc((100% - 4rem) / 3);
}

.page_content .anchor_wrap a:after {
    content: "";
    position: absolute;
    width: .9rem;
    height: .9rem;
    border-top: 2px solid #1f2774;
    border-right: 2px solid #1f2774;
    top: 0;
    bottom: 0;
    right: 1.6rem;
    margin: auto 0;
    transform: rotate(45deg);
}

.page_content .anchor_wrap a:hover {
    background-color: #fff;
}

.page_content .tbl_tmp_1 {
    overflow: auto;
    margin-bottom: 4rem;
}

.page_content .tbl_tmp_1 table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 90rem;
}

.page_content .tbl_tmp_1 th {
    background-color: #f9f9f9;
}

.page_content .tbl_tmp_1 th {
    border: 1px solid #b5b5b5;
    padding: 1.4rem 2rem;
    text-align: center;
}

.page_content .tbl_tmp_1 td {
    border: 1px solid #b5b5b5;
    padding: 1.4rem 2rem;
    text-align: center;
}

.page_content .tbl_tmp_1.normal td {
    text-align: left;
}

.page_content .tbl_tmp_1 th:first-child,
.page_content .tbl_tmp_1 td:first-child {
    width: 23rem;
    text-align: left;
}

.page_content .tbl_tmp_2 {
    margin-bottom: 4rem;
    overflow: auto;
}

.page_content .tbl_tmp_2 table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 70rem;
    font-size: 1.6rem;
}

.page_content .tbl_tmp_2 th,
.page_content .tbl_tmp_2 td {
    border: 2px solid #fff;
}

.page_content .tbl_tmp_2 thead th {
    font-weight: 500;
    text-align: center;
    color: #fff;
    background-color: #326fcb;
    padding: 1.4rem 2rem;
}

.page_content .tbl_tmp_2 th:first-child,
.page_content .tbl_tmp_2 td:first-child {
    width: 28%;
}

.page_content .tbl_tmp_2 tbody th {
    background-color: #e6f0ff;
    padding: 1.4rem 2rem;
    font-weight: 700;
    text-align: left;
}

.page_content .tbl_tmp_2 tbody td {
    font-weight: 500;
    padding: 1.4rem 2rem 1.4rem 3.6rem;
    background-color: #efefef;
    vertical-align: baseline;
}

.page_content th.hidden {
    visibility: hidden;
    opacity: 0;
}

.page_content .tbl_tmp_3 {
    margin-bottom: 4rem;
    overflow: auto;
    position: relative;
}

.page_content .tbl_tmp_3 table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 70rem;
    font-size: 1.6rem;
    position: relative;
}

.page_content .tbl_tmp_3 table:after {
    content: "";
    position: absolute;
    left: 19%;
    top: 0;
    bottom: 0;
    width: calc(81% / 4 - 3px);
    border: 2px solid #ac1d28;
}

.page_content .tbl_tmp_3 th,
.page_content .tbl_tmp_3 td {
    border: 2px solid #fff;
}

.page_content .tbl_tmp_3 th:first-child,
.page_content .tbl_tmp_3 td:first-child {
    width: 19%;
}

.page_content .tbl_tmp_3 thead th {
    background-color: #c4c4c4;
    text-align: center;
    padding: 1rem;
}

.page_content .tbl_tmp_3 thead th .main {
    font-weight: 700;
    display: block;
}

.page_content .tbl_tmp_3 thead th .small {
    font-weight: 400;
    display: block;
}

.page_content .tbl_tmp_3 thead th.em {
    color: #fff;
    background-color: #d11524;
}

.page_content .tbl_tmp_3 thead th.em .main {
    font-size: 2rem;
}

.page_content .tbl_tmp_3 thead th.em .small {
    font-weight: 500;
}

.page_content .tbl_tmp_3 tbody th {
    text-align: left;
    font-weight: 700;
}

.page_content .tbl_tmp_3 tbody td {
    text-align: center;
}

.page_content .tbl_tmp_3 tbody th,
.page_content .tbl_tmp_3 tbody td {
    padding: 1.4rem 2rem;
    background-color: #efefef;
}

.page_content .tbl_tmp_3 tbody .em {
    background-color: #ffe9e9;
    font-size: 2rem;
    font-weight: 700;
}

.page_content .tbl_tmp_4 {
    overflow: auto;
    margin-bottom: 4rem;
}

.page_content .tbl_tmp_4 table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 90rem;
}

.page_content .tbl_tmp_4 th {
    background-color: #f9f9f9;
}

.page_content .tbl_tmp_4 th {
    border: 1px solid #b5b5b5;
    padding: 1.4rem 2rem;
    text-align: center;
}

.page_content .tbl_tmp_4 td {
    border: 1px solid #b5b5b5;
    padding: 1.4rem 2rem;
}

.page_content .table_caption {
    line-height: 2;
    font-weight: 500;
    margin: -2.5rem 0 4rem;
}

.page_content .product_slick_list {
    position: relative;
    display: block;
    box-sizing: border-box;
    border: 1px solid #c1c1c1;
}

.page_content .product_slick_list:after {
    content: "";
    position: absolute;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    border: 1px solid #d2d2d2;
    top: 2.4rem;
    right: 2rem;
    z-index: 10;
    background-color: #fff;
    pointer-events: none;
    background-image: url(../img/common/search_2.svg);
    background-repeat: no-repeat;
    background-size: 50% auto;
    background-position: center;
}

.page_content .product_slick_thumb {
    margin-top: 2.4rem;
}

.page_content .product_slick_thumb .slick-track {
    transform: unset !important;
    width: 100% !important;
    display: flex;
    overflow-x: auto;
    column-gap: 3rem;
    row-gap: 3rem;
    flex-wrap: wrap;
}

.page_content .product_slick_thumb img {
    width: calc((100% - 9rem) / 4) !important;
    border: 1px solid #c1c1c1;
}

.page_content .product_slick_thumb img.slick-active {
    border: 1px solid #000;
}

.page_content .product_slick_thumb .slick-track:before,
.page_content .product_slick_thumb .slick-track:after {
    content: initial;
}

.page_content .greeting_prof {
    display: flex;
    flex-direction: column;
    align-items: end;
    line-height: 1.5;
    margin-top: 8rem;
}

.page_content .greeting_prof_company {
    font-size: 1.8rem;
}

.page_content .greeting_prof_name {
    font-size: 2rem;
    font-weight: 700;
}

#imgModalOverlay {
    position: fixed;
    z-index: 8000;
    padding-top: 16rem;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

#imgModalClose {
    position: absolute;
    top: 14rem;
    right: 3rem;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

#imgModalContent {
    width: 600px;
    max-width: calc(100% - 80px);
    max-height: calc(100vh - 150px);
    object-fit: contain;
    margin: auto;
}

#imgModalCaption {
    text-align: center;
    color: #ccc;
    padding: 10px;
}

.page_content .buy_btn_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.page_content .buy_btn_flex:not(:first-child) {
    margin-top: 4rem;
}

.page_content .buy_btn_flex .side_L {
    width: calc(100% - 30rem - 2rem);
}

.page_content .buy_btn_flex .side_R {
    width: 30rem;
}

.page_content .buy_btn_flex.full .side_L,
.page_content .buy_btn_flex.full .side_R {
    width: calc(50% - 1rem);
}

.page_content .buy_btn_flex .btn_red {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    padding: 2.2rem 3.6rem 2.2rem 1rem;
    color: #fff;
    background-color: #ac1d28;
    border-radius: 5px;
    background-image: url(../img/common/arrow_04.svg);
    background-repeat: no-repeat;
    background-size: 1.7rem;
    background-position: right 1.9rem center;
    border: 1px solid #ac1d28;
}

.page_content .buy_btn_flex .btn_red:hover {
    background-color: #fff;
    color: #ac1d28;
    background-image: url(../img/common/arrow_01.svg);
}

.page_content .buy_btn_flex .btn_blue {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    padding: 2.2rem 3.6rem 2.2rem 1rem;
    color: #fff;
    background-color: #1f2774;
    border-radius: 5px;
    background-image: url(../img/common/arrow_04.svg);
    background-repeat: no-repeat;
    background-size: 1.7rem;
    background-position: right 1.9rem center;
    border: 1px solid #1f2774;
}

.page_content .buy_btn_flex .btn_blue:hover {
    background-color: #fff;
    color: #1f2774;
    background-image: url(../img/common/arrow_06.svg);
}

.page_content .buy_btn_flex .btn_white {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    color: #040404;
    background-color: #fff;
    border-radius: 100px;
    border: 2px solid #cbcbcb;
    padding: 2.2rem 4rem 2.2rem 5rem;
    background-image: url(../img/common/download_1.svg);
    background-repeat: no-repeat;
    background-size: 2.1rem auto;
    background-position: 3rem center;
}

.page_content .buy_btn_flex .btn_white:hover {
    background-color: #f3f4ff
}

.page_content .buy_btn_flex .btn_blue + .btn_white {
    margin-top: 2rem;
}

.page_content .product_flex_wrap {
    margin-bottom: 10rem;
}

.page_content .area_banner {
    display: flex;
    align-items: center;
    padding: 0 0 0 40rem;
    position: relative;
    min-height: 35rem;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
}

.page_content .area_banner .side_L {
    position: absolute;
    top: 0;
    left: 0;
    width: 40rem;
    height: 100%;
    object-fit: cover;
}

.page_content .area_banner .side_R {
    width: 100%;
    padding: 2rem 2rem;
}

.page_content .area_banner .lead {
    font-family: "Noto Serif JP", serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #326fcb;
    width: 100%;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 1.8rem;
}

.page_content .area_banner .lead em {
    font-size: 4rem;
}

.page_content .area_banner .text_1 {
    font-size: 2rem;
    font-weight: 500;
    color: #326fcb;
    text-align: center;
    margin-bottom: 1.8rem;
}

.page_content .area_banner .button_style_3 {
    margin-top: 3.4rem;
}

.page_content .buttons_col_2 {
    display: flex;
    flex-wrap: wrap;
    column-gap: 3rem;
    row-gap: 2.5rem;
}

.page_content .buttons_col_2 a {
    width: calc(50% - 1.5rem);
}

.page_content .product_block1 {
    display: flex;
    flex-direction: column;
}

.page_content .product_block1 .thumb {
    border: 1px solid #c1c1c1;
    margin-bottom: .8rem;
}

.page_content .product_block1 .lead {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.33;
    color: #1f2774;
    margin-bottom: 1.8rem;
}

.page_content .product_block1 .btn {
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    color: #fff;
    padding: 1.2rem 2rem;
    width: 100%;
    background-color: #ac1d28;
    border-radius: 5px;
    margin-top: auto;
    background-image: url(../img/common/arrow_04.svg);
    background-repeat: no-repeat;
    background-size: 1.1rem;
    background-position: right 1.8rem center;
    border: 1px solid #ac1d28;
}

.page_content .product_block1 .btn:hover {
    background-color: #fff;
    color: #ac1d28;
    background-image: url(../img/common/arrow_01.svg);
}

.page_content .image:not(:last-child) {
    margin-bottom: 4rem;
}

.page_content .colbox_1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 8rem;
    padding: 7rem 6rem 6rem;
    background-color: #fff;
    box-shadow: 0 0 6px #00000020;
}

.page_content .colbox_1+.colbox_1 {
    margin-top: 3.7rem;
}

.page_content .colbox_1 img {
    border: 1px solid #c8c8c8;
    width: 30rem;
    max-width: 100%;
}

.page_content .colbox_1 .text {
    width: calc(100% - 38rem);
}

.page_content .colbox_1 h4.lead {
    font-size: 3rem;
    font-weight: 700;
    color: #1f2774;
    margin-bottom: 3rem;
}

.page_content .colbox_1 .label {
    display: flex;
    align-items: center;
    justify-content: start;
    column-gap: 4.6rem;
    background-color: #f3f4ff;
    padding: 1.5rem 2.8rem;
    border-left: 7px solid #1f2774;
    margin-bottom: 4rem;
}

.page_content .colbox_1 .label dt {
    width: 4em;
    min-width: 4em;
    font-size: 2rem;
    font-weight: 700;
    color: #1f2774;
}

.page_content .colbox_1 .label dd {
    font-size: 1.8rem;
    font-weight: 500;
}

.page_content .colbox_1 .line_table dt {
    width: 13rem;
    padding-left: 0;
}

.page_content .colbox_1 .line_table dd {
    width: calc(100% - 13rem);
    padding-left: 1rem;
}

.parts_guide_col {
    display: flex;
    flex-wrap: wrap;
    column-gap: 7rem;
    row-gap: 5rem;
}

.parts_guide_col .item {
    width: calc((100% - 14rem) / 3);
}

.parts_guide_col .thumb {
    width: 100%;
    height: 23.8rem;
    max-height: 18vw;
    overflow: hidden;
}

.parts_guide_col .thumb img {
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.parts_guide_col .info {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.3rem;
    row-gap: .8rem;
    align-items: center;
    margin-top: 2rem;
}

.parts_guide_col .cat {
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
    padding: .4rem 2rem;
    border-radius: 100px;
    background-color: #1f2774;
}

.parts_guide_col .date {
    font-size: 1.4rem;
    font-weight: 500;
    color: #8e8e8e;
}

.parts_guide_col .ttl {
    font-size: 2rem;
    font-weight: 600;
    width: 100%;
    transition: color .2s;
    line-height: 1.5;
}

.parts_guide_col .item:hover .thumb img {
    transform: scale(1.05);
}

.parts_guide_col .item:hover .ttl {
    color: #ac1d28;
}

.page_content .click_zoom {
    padding: .8rem 2rem;
    width: 100%;
    background-color: #fff;
    border: 1px solid #c4c4c4;
    border-radius: 5px;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1.6rem;
    background-image: url(../img/common/zoom_icon_1.svg);
    background-repeat: no-repeat;
    background-size: 1.21em;
    background-position: .78em center;
}

.page_content .click_zoom:hover {
    background-color: #f3f4ff;
}

.page_content .fukidashi_talk {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    column-gap: 3rem;
    row-gap: 2rem;
}

.page_content .fukidashi_talk .item {
    width: calc(50% - 1.5rem);
    display: flex;
    align-items: start;
    column-gap: 3rem;
}

.page_content .fukidashi_talk .item:nth-of-type(even) {
    flex-direction: row-reverse;
}

.page_content .fukidashi_talk .img_side {
    width: 12rem;
}

.page_content .fukidashi_talk .img_side img {
    margin-bottom: .8rem;
}

.page_content .fukidashi_talk .img_side p {
    text-align: center;
    line-height: 1.5;
    font-size: 1.6rem;
    font-weight: 700;
}

.page_content .fukidashi_talk .text_side {
    width: calc(100% - 15rem);
    padding: 2rem 5rem;
    border-radius: 3.4rem;
    position: relative;
    min-height: 10.4rem;
    display: flex;
    align-items: center;
}

.page_content .fukidashi_talk .item:nth-of-type(odd) .text_side {
    background-color: #dceaff;
}

.page_content .fukidashi_talk .item:nth-of-type(even) .text_side {
    background-color: #fce3b2;
}

.page_content .fukidashi_talk .text_side:after {
    content: "";
    position: absolute;
    bottom: -1rem;
    width: 2.2rem;
    height: 1.6rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.page_content .fukidashi_talk .item:nth-of-type(odd) .text_side:after {
    left: 3rem;
    background-image: url(../img/common/talk_01.svg);
}

.page_content .fukidashi_talk .item:nth-of-type(even) .text_side:after {
    right: 3rem;
    background-image: url(../img/common/talk_02.svg);
}

.page_content .fukidashi_talk .text_side p {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
}

.page_content .scroll-hint {
    overflow-y: hidden !important;
}

@media (max-width: 767px) {
    .page_content h2:not([class]) {
        font-size: 1.8rem;
    }

    .page_content .greeting_hl {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    .page_content h2.parentline_hl {
        font-size: 2.4rem;
        margin-bottom: 6rem;
    }

    .page_content h3:not([class]) {
        font-size: 1.8rem;
    }

    .page_content h3.line_hl {
        font-size: 2.2rem;
        margin-bottom: 4rem;
    }

    .page_content h3.line_hl span {
        padding: 0 2rem 1.4rem;
    }

    .page_content h4:not([class]) {
        font-size: 1.6rem;
    }

    .page_content h4.hl_inlabel {
        font-size: 1.8rem;
    }

    .page_content h4.hl_inlabel .label {
        font-size: 1.4rem;
        width: 6rem;
        min-width: 6rem;
    }

    .page_content h5:not([class]) {
        font-size: 1.6rem;
    }

    .page_content h5.simple_hl {
        font-size: 2rem;
    }

    .page_content h2.sec_title .main {
        font-size: 2.4rem;
    }

    .page_content .button_style_1 {
        font-size: 1.6rem;
    }

    .page_content .button_style_2 {
        width: 100%;
    }

    .page_content .button_style_3 {
        padding: 1.8rem 2rem;
    }

    .page_content section+section {
        margin-top: 5rem;
    }

    .page_content .fukidashi_1 {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 2rem;
    }

    .page_content .fukidashi_1 .text_side {
        width: 100%;
        padding: 3rem 2rem 4rem;
    }

    .page_content .fukidashi_1 .text_side:before {
        border-width: 0 10px 11px 10px;
        border-color: transparent transparent #f3f4ff transparent;
        right: calc(50% - 10px);
        bottom: calc(100% - 1px);
        top: auto;
    }

    .page_content .fukidashi_1 .text_side .lead {
        font-size: 1.8rem;
    }

    .page_content .fukidashi_1 .text_side .text {
        font-size: 1.6rem;
    }

    .page_content .fukidashi_2 {
        padding: 1rem 2rem 2rem;
        justify-content: center;
        row-gap: 2rem;
    }

    .page_content .fukidashi_2 .text_side {
        width: 100%;
    }

    .page_content .fukidashi_2 .text_side .lead {
        font-size: 1.8rem;
    }

    .page_content .fukidashi_2 .text_side .text {
        font-size: 1.5rem;
    }

    .page_content .flex_4-6>.side_L,
    .page_content .flex_4-6>.side_R,
    .page_content .flex_3-7>.side_L,
    .page_content .flex_3-7>.side_R,
    .page_content .flex_2-8>.side_L,
    .page_content .flex_2-8>.side_R {
        width: 100%;
    }

    .service_link_col ._2,
    .service_link_col ._3 {
        width: 100%;
    }

    .service_link_col .item_2 {
        flex-wrap: wrap;
    }

    .service_link_col .item_2 .img {
        width: 100%;
    }

    .service_link_col .item_2 .text {
        width: 100%;
        padding: 2rem;
    }

    .link_col_general>a {
        width: 100%;
    }

    .link_col_general .text {
        font-size: 1.6rem;
    }

    .page_content dl:not([class]) dt {
        width: 100% !important;
        padding: 2rem;
        border-bottom: 2px solid #000;
    }

    .page_content dl:not([class]) dd {
        width: 100% !important;
        padding: 2rem;
        border-bottom: 2px solid #000;
    }

    .page_content .anchor_wrap {
        row-gap: 1rem;
    }

    .page_content .anchor_wrap a {
        width: calc(50% - 1rem) !important;
        font-size: 1.5rem;
        padding: 1.5rem 3rem 1.5rem 1.5rem;
    }

    .page_content .anchor_wrap a:after {
        right: 1.5rem;
    }

    .page_content .anchor_wrap._3 a {
        width: 100% !important;
    }

    .page_content .tbl_tmp_1 th,
    .page_content .tbl_tmp_1 td {
        padding: 1rem 1.4rem;
        font-size: 1.5rem;
    }

    .page_content .tbl_tmp_4 th,
    .page_content .tbl_tmp_4 td {
        padding: 1rem 1.4rem;
        font-size: 1.5rem;
    }

    .page_content .buy_btn_flex .side_L {
        width: 100%;
    }

    .page_content .buy_btn_flex .side_R {
        width: 100%;
    }

    .page_content .product_block1 .lead {
        font-size: 1.5rem;
    }

    .page_content .greeting_prof {
        margin-top: 5rem;
    }

    .page_content .greeting_prof_company {
        font-size: 1.6rem;
    }

    .page_content .greeting_prof_name {
        font-size: 1.8rem;
    }

    .page_content .colbox_1 {
        padding: 4rem 2rem;
        row-gap: 3rem;
    }

    .page_content .colbox_1 img {
        width: 100%;
    }

    .page_content .colbox_1 .text {
        width: 100%;
    }

    .page_content .colbox_1 h4.lead {
        font-size: 2rem;
    }

    .page_content .colbox_1 .label {
        flex-direction: column;
        row-gap: 1rem;
        margin-bottom: 2rem;
        padding: 2rem;
        border-left: 3px solid #1f2774;
    }

    .page_content .colbox_1 .label dt {
        width: 100%;
        font-size: 1.6rem;
    }

    .page_content .colbox_1 .label dd {
        width: 100%;
        font-size: 1.5rem;
    }

    .page_content .colbox_1 .line_table dt,
    .page_content .colbox_1 .line_table dd {
        padding-left: 0;
        padding-right: 0;
    }

    .parts_guide_col {
        row-gap: 4rem;
    }

    .parts_guide_col .item {
        width: 100%;
    }

    .parts_guide_col .thumb {
        height: auto;
        max-height: 61vw;
    }

    .parts_guide_col .ttl {
        font-size: 1.8rem;
    }

    .page_content .fukidashi_talk {
        row-gap: 4rem;
    }

    .page_content .fukidashi_talk .item {
        width: 100%;
    }

    .page_content .fukidashi_talk .img_side {
        width: 8rem;
    }

    .page_content .fukidashi_talk .text_side {
        padding: 2rem 3rem;
        width: calc(100% - 11rem);
    }

    .page_content .fukidashi_talk .text_side p {
        font-size: 1.6rem;
    }
}

/*よくあるご質問*/
.page_content .faq_wrap {
    margin: 0;
}

.page_content .faq_wrap+.faq_wrap {
    margin-top: 1.8rem;
}

.page_content .faq_wrap::details-content {
    transition: height .4s, opacity .4s, content-visibility .4s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
}

.page_content .faq_wrap[open]::details-content {
    opacity: 1;
}

@supports (interpolate-size: allow-keywords) {
    :root {
        interpolate-size: allow-keywords;
    }
    .page_content .faq_wrap[open]::details-content {
        height: auto;
    }
}

.page_content .faq_lead {
    background-color: #f3f4ff;
    padding: 1.6rem 6rem 1.6rem 5rem;
    border-bottom: 1px solid #1f2774;
    position: relative;
    font-size: 2rem;
    cursor: pointer;
    list-style-type: none;
}

.page_content .faq_lead p {
    font-size: 1em;
    font-weight: 700;
    line-height: 1.5;
    color: #1f2774;
}

.page_content .faq_lead:before {
    content: "Q.";
    font-family: "ヒラギノUD角ゴF Std", "ヒラギノ角ゴ ProN", "Noto Sans JP", sans-serif;
    font-size: 1em;
    font-weight: 700;
    line-height: 1.5;
    position: absolute;
    top: 1.7rem;
    left: 2rem;
}

.page_content .faq_lead .plus {
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    position: absolute;
    top: 0;
    right: 2.7rem;
    bottom: 0;
    margin: auto 0;
}

.page_content .faq_lead .plus:before,
.page_content .faq_lead .plus:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 2px;
    background-color: #1f2774;
    transition: transform .3s;
}

.page_content .faq_lead .plus:after {
    transform: rotate(-90deg);
}

.page_content .faq_wrap[open] .faq_lead .plus:after {
    transform: rotate(0deg);
}

.page_content .faq_content {
    padding: 1.7rem 5.6rem 3rem;
    border: 1px solid #f3f4ff;
    position: relative;
    overflow: hidden;
}

.page_content .faq_content:before {
    content: "A.";
    font-family: "ヒラギノUD角ゴF Std", "ヒラギノ角ゴ ProN", "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #929292;
    position: absolute;
    top: 1.7rem;
    left: 2.4rem;
}

.page_content .faq_content p {
    line-height: 1.5;
}

.page_content .faq_content>*:not(:last-child) {
    margin-bottom: 2rem;
}

.page_content .faq_content p strong {
    font-weight: 500;
    color: #000;
}

.page_content .faq_content p a {
    font-size: 1.5rem;
    display: inline-block;
    color: #ac1d28;
    padding-left: 1.5em;
    background-image: url(../img/common/arrow_01.svg);
    background-repeat: no-repeat;
    background-size: .9em;
    background-position: left .3em center;
}

.page_content .faq_content p a:hover {
    opacity: .6;
    text-decoration: none;
}

.page_content .faq_content table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ccc;
}

.page_content .faq_content table th,
.page_content .faq_content table td {
    border: 1px solid #ccc;
    padding: 1.2rem 2.2rem;
    min-width: 16rem;
}

.page_content .faq_content table th {
    background-color: #f3f4ff;
    padding: 1.2rem 1rem;
}

.page_content .faq_content .faq_dl dt {
    background-color: #1f2774;
    font-weight: 700;
    color: #fff;
    text-align: center;
    padding: 1rem;
}

.page_content .faq_content .faq_dl dd {
    padding: 2rem 2rem 3rem;
    border: 1px solid #ccc;
}

@media (max-width: 767px) {
    .page_content .faq_lead {
        font-size: 1.6rem;
        padding: 1.6rem 4rem 1.6rem 4rem;
    }

    .page_content .faq_lead:before {
        left: 1.4rem;
    }

    .page_content .faq_lead .plus {
        width: 1.6rem;
        height: 1.6rem;
        right: 1.4rem;
    }

    .page_content .faq_content {
        padding: 1.7rem 1.5rem 3rem 3.6rem;
    }

    .page_content .faq_content:before {
        left: 1rem;
    }

    .page_content .faq_content p {
        font-size: 1.5rem;
    }

    .page_content .faq_content table {
        font-size: 1.5rem;
        min-width: 50rem;
    }

    .page_content .faq_content table th,
    .page_content .faq_content table td {
        padding: 1.2rem 1.5rem;
    }
}