@charset "UTF-8";

/* ----------------  common ---------------- */
:root {
    --colorOR: #ff9500;
    --colorBL: #004994;
    --colorGR: #1ea1aa;
}
html {
    /* NotoSans */
    font-family: 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif;
}

html[lang='en'] .hide-en {
    display: none !important;
}

html[lang='en'] body,
html[lang='en'] h2,
html[lang='en'] h3,
html[lang='en'] h4 {
    letter-spacing: 0.02em;
}

body {
    color: #000;
    font-size: 16px;
    font-weight: 400;
    font-feature-settings: 'palt';
    letter-spacing: 0.08em;
    line-height: 1.8;
    overflow: hidden;
    position: relative;
}
@media (max-width: 1180px) {
    body {
        font-size: 15px;
        letter-spacing: 0.06em;
    }
}
@media (max-width: 768px) {
    body {
        font-size: 12px;
    }
}
img {
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}
a {
    color: inherit;
    transition: all 0.3s;
    text-decoration: none;
}
a:hover {
    opacity: 0.6;
    color: inherit;
}
a[href^='tel:'] {
    cursor: default;
    opacity: 1;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-decoration: inherit;
}
h2,
h3,
h4 {
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.n_inner {
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
    width: 100%;
}
.n_inner.is_s {
    max-width: 920px;
}
@media (max-width: 768px) {
    .n_inner,
    .n_inner.is_s {
        padding: 0;
        width: 94%;
    }
}
/* display */
.is_sp,
.is_tb {
    display: none !important;
}
@media (max-width: 1180px) {
    .is_pc {
        display: none !important;
    }
    .is_tb {
        display: block !important;
    }
}
@media (max-width: 768px) {
    .is_pctb {
        display: none !important;
    }
    .is_sp {
        display: block !important;
    }
}
/* ----------------  main ---------------- */
.main_wrap {
    background: none !important;
}
.site-content {
    padding-top: 0;
}
.color_wh {
    color: #fff;
    font-weight: inherit;
}
.color_lor {
    color: rgb(255 149 0 / 50%);
    font-weight: inherit;
}
.color_or {
    color: var(--colorOR);
    font-weight: inherit;
}
.color_bl {
    color: var(--colorBL);
    font-weight: inherit;
}
.txt_no1.is_or {
    fill: var(--colorOR);
}
.txt_no1.is_bl {
    fill: var(--colorBL);
}
.btn_c01 {
    background: var(--colorOR);
    color: #fff !important;
}
.btn_c01:hover,
.btn_c01:active,
.btn_c01:focus {
    color: #fff !important;
}
.btn_c02 {
    background: #fff;
    border: 2px solid var(--colorOR);
    color: var(--colorOR) !important;
}
.btn_c02:hover,
.btn_c02:active,
.btn_c02:focus {
    color: var(--colorOR) !important;
}
.btn_c03 {
    background: var(--colorBL);
    color: #fff !important;
}
.btn_c03:hover,
.btn_c03:active,
.btn_c03:focus {
    color: #fff !important;
}
/* グリーン背景色 */
.btn_c04 {
    background: var(--colorGR);
    color: #fff !important;
}
.btn_c04:hover,
.btn_c04:active,
.btn_c04:focus {
    color: #fff !important;
}
/* グリーン枠線 */
.btn_c05 {
    background: #fff;
    border: 2px solid var(--colorGR);
    color: var(--colorGR) !important;
}
.btn_c05:hover,
.btn_c05:active,
.btn_c05:focus {
    color: var(--colorGR) !important;
}

.btm_cta_btn {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 16px;
    position: relative;
    margin: 4em auto;
    max-width: 380px;
}
.btm_cta_btn:hover,
.btm_cta_btn:active,
.btm_cta_btn:focus {
    color: #fff;
}
.btm_cta_btn::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 1.6em;
}
@media (max-width: 1180px) {
    .btm_cta_btn {
        font-size: 18px;
        max-width: 300px;
    }
}
@media (max-width: 768px) {
    .btm_cta_btn {
        font-size: 15px;
        padding: 12px;
        margin: 3em auto;
        max-width: 260px;
    }
}
.font_en {
    font-family: 'Figtree';
}
.common_ttl {
    position: relative;
    text-align: center;
    margin-bottom: 60px;
}
.common_ttl .font_en {
    font-size: 40px;
    letter-spacing: 0.03em;
}
.common_ttl strong {
    color: #000;
    display: block;
    font-size: 36px;
    font-weight: 700;
}
@media (max-width: 768px) {
    .common_ttl {
        margin-bottom: 40px;
    }
    .common_ttl .font_en {
        font-size: 25px;
    }
    .common_ttl strong {
        font-size: 22px;
    }
}
.common_btn {
    background: #fff;
    border: 2px solid var(--colorBL);
    border-radius: 100px;
    box-shadow: 0px 0px 20px 0px rgba(0, 73, 148, 0.15);
    color: var(--colorBL);
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 16px;
    max-width: 300px;
    margin: 60px auto;
    position: relative;
}
.common_btn:hover,
.common_btn:active,
.common_btn:focus {
    color: var(--colorBL) !important;
}
@media (max-width: 1180px) {
    .common_btn {
        font-size: 18px;
    }
}
@media (max-width: 768px) {
    .common_btn {
        font-size: 12px;
        max-width: 240px;
        margin: 30px auto;
    }
}
.arrow_btn {
    border-radius: 100px;
    display: block;
    text-align: center;
    font-size: 17px;
    font-weight: 800;
    padding: 16px;
    position: relative;
    margin: 30px auto 0;
    max-width: 300px;
}
.arrow_btn.is_gr {
    background: var(--colorGR);
    color: #fff;
}
.arrow_btn::before {
    content: '';
    background: url(../images/common/icon_arrow_wh.webp) no-repeat center/cover;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.arrow_btn.is_gr::before {
    background: url(../images/common/icon_arrow_wh_gr.webp) no-repeat center/cover;
}
.arrow_btn.is_bl {
    box-shadow: 0px 0px 14px 0px rgba(0, 73, 148, 0.3);
}
.arrow_btn.is_bl::before {
    background: url(../images/common/icon_arrow_bl.webp) no-repeat center/cover;
}
.arrow_btn.is_l {
    max-width: 350px;
}
@media (max-width: 768px) {
    .arrow_btn {
        font-size: 14px;
        padding: 10px;
        margin: 20px auto 0;
        max-width: 200px;
    }
    .arrow_btn::before {
        width: 20px;
        height: 20px;
    }
    .arrow_btn.is_l {
        max-width: 220px;
    }
}
/* ----------------  top_mv ---------------- */
.main_gd {
    /* background: rgb(255, 228, 191); */
    /* background: linear-gradient(36deg, rgba(255, 228, 191, 1) 0%, rgba(255, 242, 225, 1) 9%, rgba(255, 254, 252, 1) 39%, rgba(255, 242, 225, 1) 74%, rgba(255, 228, 191, 1) 100%); */
    background: #fff;
    padding: 150px 0 40px;
}
.top_mv__block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4%;
}
.top_mv__item {
    margin: 0 0 3em;
}
.top_mv__ttl {
    font-size: 60px;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 60px;
}
.top_mv__ttl .txt_no1 {
    color: var(--colorOR);
    font-size: 165%;
    margin-right: 6px;
    vertical-align: -5%;
}
.top_mv__ttl .txt_no1 .num {
    display: inline-block;
    font-size: 115%;
    margin-left: -0.095em;
}
/* .top_mv__ttl .txt_no1 svg {
    width: 175px;
    vertical-align: -8%;
    display: inline-block;
} */
.top_mv__ttl > span {
    display: inline-block;
    font-weight: 800;
    line-height: 1;
}
.top_mv__ttl .txt_s {
    font-size: 90%;
}
.top_mv__ttl .txt_ss {
    font-size: 50%;
}
.top_mv__ttl .txt_irepo {
    font-size: 98%;
    line-height: 1.2;
    display: block;
}
.top_mv__ttl .txt_irepo_s {
    display: inline-block;
    font-size: 45%;
    font-weight: 800;
    margin-left: 0.2em;
}
.top_mv__ttl .is_or {
    color: var(--colorOR);
}
.top_mv__logo {
    display: block;
    margin: 0 auto;
    width: 280px;
}
.top_mv__right {
    position: relative;
    top: -5px;
    width: 510px;
    height: 420px;
}
.top_mv__irepochan {
    position: absolute;
    top: 204px;
    right: -20px;
    width: 181px;
    z-index: 3;
    -webkit-animation: fv_city_lead 3s ease-in-out 0s infinite forwards;
    animation: fv_city_lead 3s ease-in-out 0s infinite forwards;
}
.top_mv__tb {
    position: absolute;
    top: 8.2em;
    left: 0;
    overflow: hidden;
    width: 310px;
    height: 290px;
}
.top_mv__tb .swiper-tb {
    position: relative;
    width: auto;
    height: auto;
    overflow: hidden !important;
}
.top_mv__tb .swiper-tb::before,
.top_mv__tb .swiper-tb::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 310px;
    height: 427px;
}
.top_mv__tb .swiper-tb::before {
    background: #fff;
    border-radius: 30px;
}
.top_mv__tb .swiper-tb::after {
    background: url(../images/top/img_tb_frame.webp) no-repeat center/cover;
    z-index: 1;
}
.top_mv__video {
    position: absolute;
    top: 1.4em;
    left: 7.6em;
}
.top_mv__video .deco_l {
    background: url(../images/top/mv_deco_l.webp) no-repeat center/cover;
    display: block;
    position: absolute;
    top: -21px;
    left: -21px;
    width: 34px;
    height: 34px;
}
.top_mv__video .deco_r {
    background: url(../images/top/mv_deco_r.webp) no-repeat center/cover;
    display: block;
    position: absolute;
    bottom: -21px;
    right: -21px;
    width: 34px;
    height: 34px;
}
.top_mv__video_frame {
    border-radius: 2px;
    clip-path: inset(0 round 2px);
    position: relative;
    width: 368px;
    height: 206px;
}
.top_mv__video_frame::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.2);
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 30%, transparent 31%), radial-gradient(rgba(255, 255, 255, 0.15) 30%, transparent 31%);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
}
.top_mv__video .video_item {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 180%;
    height: 100%;
}
.top_mv__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
}
.top_mv__btn .mv_btn {
    border-radius: 100px;
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    padding: 16px;
    position: relative;
    width: 320px;
}
.top_mv__btn .mv_btn::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.top_mv__btn .mv_btn.btn_c01::before {
    background: url(../images/common/icon_arrow_wh.webp) no-repeat center/cover;
}
.top_mv__btn .mv_btn.btn_c02::before {
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/cover;
}
.top_mv__btn .mv_btn.btn_c04::before {
    background: url(../images/common/icon_arrow_wh_gr.webp) no-repeat center / cover;
}
.top_mv__btn .mv_btn.btn_c05::before {
    background: url(../images/common/icon_arrow_gr.webp) no-repeat center / cover;
}
.top_achievement {
    padding: 20px 0 500px;
}
.top_achievement__ttl {
    color: var(--colorBL);
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 24px;
}
.top_achievement__ttl span {
    font-size: 130%;
    font-weight: inherit;
}
.top_achievement__box {
    color: var(--colorBL);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2%;
}
.top_achievement__best {
    display: flex;
    align-items: center;
    justify-content: center;
}
.top_achievement__best img {
    display: inline-block;
    margin: 0 6px;
    max-width: 78px;
}
.top_achievement__no1 {
    position: relative;
    top: -4px;
}
.top_achievement__leaf {
    position: relative;
    text-align: center;
    padding: 0 52px;
}
.top_achievement__leaf::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/top/img_achievement_leaf.webp) no-repeat center/cover;
    width: 46px;
    height: 85px;
}
.top_achievement__leaf::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/top/img_achievement_leaf.webp) no-repeat center/cover;
    transform: scaleX(-1);
    width: 46px;
    height: 85px;
}
.top_achievement__leaf .txt_no1 {
    display: block;
    font-size: 320%;
    line-height: 1;
    margin-top: -0.1em;
    white-space: nowrap;
}
.top_achievement__leaf .txt_no1 .num {
    display: inline-block;
    font-size: 120%;
    margin-left: -0.095em;
}
/* .top_achievement__leaf .txt_no1 svg {
    width: 104px;
} */
.top_achievement__leaf .txt_s {
    display: block;
    font-weight: 800;
    white-space: nowrap;
}
.top_achievement__leaf .txt_l {
    display: inline-block;
    font-size: 130%;
    font-weight: 800;
    letter-spacing: 0.06em;
    white-space: nowrap;
    position: relative;
    z-index: 1;
}
.top_achievement__leaf .value {
    display: inline-block;
    font-size: 245%;
    letter-spacing: 0;
    line-height: 1;
    margin-right: 0.04em;
    vertical-align: -1%;
}
.top_achievement__note {
    font-size: 12px;
    text-align: center;
    margin-top: 16px;
}
@media (max-width: 1180px) {
    .main_gd {
        padding: 120px 0 60px;
    }
    .top_mv__block {
        flex-direction: column;
        position: relative;
        padding-bottom: 40px;
    }
    .top_mv__item {
        margin: 0;
    }
    .top_mv__ttl {
        font-size: 46px;
    }
    /* .top_mv__ttl .txt_no1 svg {
        width: 130px;
    } */
    .top_mv__btn {
        margin-top: 520px;
    }
    .top_mv__right {
        position: absolute;
        top: 320px;
    }
    .top_achievement__box {
        flex-wrap: wrap;
        align-items: flex-end;
    }
    .top_achievement__best {
        margin-bottom: 20px;
        width: 100%;
    }
    .top_achievement__no1 {
        top: 0px;
    }
    .top_achievement__leaf .txt_no1 {
        font-size: 240%;
    }
    /* .top_achievement__leaf .txt_no1 svg {
        width: 76px;
    } */
    .top_achievement__leaf {
        padding: 0 40px;
    }
    .top_achievement__leaf .txt_l {
        font-size: 125%;
    }
    .top_achievement__leaf .value {
        font-size: 200%;
    }
    .top_achievement__note {
        margin-top: 40px;
    }
}
@media (max-width: 768px) {
    .main_gd {
        padding: 90px 0 20px;
    }
    .top_mv__block {
        padding-bottom: 0;
    }
    .top_mv__ttl {
        font-size: 28px;
    }
    /* .top_mv__ttl .txt_no1 svg {
        width: 75px;
    } */
    .top_mv__logo {
        display: block;
        width: 170px;
    }
    .top_mv__right {
        top: 180px;
        width: 320px;
        height: 260px;
    }
    .top_mv__irepochan {
        top: 120px;
        right: 16px;
        width: 90px;
    }
    .top_mv__tb {
        top: 7.3em;
        left: 4.5em;
        width: 168px;
        height: 164px;
    }
    .top_mv__tb .swiper-tb::before,
    .top_mv__tb .swiper-tb::after {
        width: 170px;
        height: 234px;
    }
    .top_mv__video {
        top: 2em;
        left: 8em;
    }
    .top_mv__video .deco_l {
        top: -10px;
        left: -10px;
        width: 16px;
        height: 16px;
    }
    .top_mv__video .deco_r {
        bottom: -10px;
        right: -10px;
        width: 16px;
        height: 16px;
    }
    .top_mv__video_frame {
        width: 190px;
        height: 108px;
    }
    .top_mv__btn {
        flex-direction: column;
        margin-top: 294px;
    }
    .top_mv__btn .mv_btn {
        font-size: 13px;
        padding: 14px;
        position: relative;
        width: 260px;
        margin-bottom: 14px;
    }
    .top_mv__btn .mv_btn::before {
        width: 20px;
        height: 20px;
    }
    .top_achievement {
        padding: 25px 0 310px;
    }
    .top_achievement__ttl {
        font-size: 14px;
    }
    .top_achievement__best img {
        max-width: 50px;
    }
    .top_achievement__leaf .txt_s {
        font-size: 9px;
    }
    .top_achievement__leaf .txt_no1 {
        font-size: 175%;
    }
    /* .top_achievement__leaf .txt_no1 svg {
        width: 40px;
    } */
    .top_achievement__leaf .txt_l {
        font-size: 82%;
        letter-spacing: 0;
    }
    .top_achievement__leaf::before,
    .top_achievement__leaf::after {
        width: 22px;
        height: 42px;
    }
    .top_achievement__leaf {
        padding: 0 18px;
    }
    .top_achievement__no1 {
        width: 27%;
    }
    .top_achievement__record {
        width: 37%;
    }
    .top_achievement__user {
        width: 32%;
    }
    .top_achievement__note {
        font-size: 9px;
        text-align: left;
        padding: 0 1em;
        margin-top: 24px;
    }
}
/* ---------------- top_customer ---------------- */
.top_customer {
    background: url(../images/top/bg_customer_top.webp) no-repeat center top/cover;
    margin-top: -300px;
    padding-bottom: 100px;
}
.top_customer__head {
    position: relative;
    top: -160px;
}
.top_customer__flex {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 70px;
}
.top_customer__logo {
    display: inline-block;
    width: 223px;
    vertical-align: -28%;
}
.top_customer__left,
.top_customer__right {
    position: relative;
    top: 45px;
}
.top_customer__left {
    width: 278px;
}
.top_customer__right {
    width: 282px;
}
.top_customer__ttl {
    font-size: 34px;
    font-weight: 800;
    text-align: center;
    margin: 0 0 0 1%;
}
.top_customer__ttl .txt_top {
    display: block;
    font-weight: 800;
    margin: 0 0 6px -26px;
}
.top_customer__ttl .txt_top .txt_irepo {
    font-weight: 700;
    font-size: 125%;
    letter-spacing: 0.04em;
}
.top_customer__ttl .txt_top .txt_irepo_s {
    font-weight: inherit;
    font-size: 45%;
    margin-left: 0.2em;
}
.top_customer__ttl .value {
    display: inline-block;
    font-size: 230%;
    letter-spacing: 0;
    line-height: 1;
    margin-right: 0.04em;
    vertical-align: -3%;
}
.top_customer .infinite-scroll {
    margin-top: -170px;
}
.infinite-scroll {
    background: transparent;
    display: block;
    height: auto;
}
.infinite-scroll .companyslide {
    display: flex;
    white-space: nowrap;
}
.infinite-scroll .infiniteslide__box {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 12px -4px #ff9500;
    padding: 10px;
    text-align: center;
    margin: 12px;
    width: 220px;
}
.infinite-scroll .infiniteslide__img {
    height: 80px;
}
@media (max-width: 1180px) {
    .top_customer__ttl {
        font-size: 24px;
    }
    .top_customer__left {
        width: 25%;
    }
    .top_customer__right {
        width: 26%;
    }
}
@media (max-width: 768px) {
    .top_customer {
        margin-top: -130px;
        padding: 0;
    }
    .top_customer__ttl {
        font-size: 18px;
    }
    .top_customer__logo {
        width: 164px;
        vertical-align: -45%;
    }
    .top_customer__head {
        top: -156px;
    }
    .top_customer__ttl {
        font-size: 17px;
        margin: 0 -24%;
        position: relative;
        z-index: 1;
    }
    .top_customer__ttl .value {
        font-size: 150%;
    }
    .top_customer__flex {
        justify-content: space-around;
        padding-bottom: 25px;
    }
    .top_customer__left {
        left: -7%;
        top: 70px;
        width: 24%;
        max-width: 140px;
    }
    .top_customer__right {
        right: -7%;
        top: 74px;
        width: 24%;
        max-width: 140px;
    }
    .top_customer .infinite-scroll {
        margin-top: -120px;
    }
    .infinite-scroll .infiniteslide__img {
        height: 45px;
    }
    .infinite-scroll .infiniteslide__box {
        border-radius: 6px;
        box-shadow: 0px 0px 12px -2px #f6c887;
        padding: 6px;
        margin: 8px;
        width: 120px;
    }
}
/* ---------------- top_function ---------------- */
.top_function {
    padding: 50px 0 100px;
    position: relative;
}
/* .top_function::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 75% 35%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 26%);
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.top_function::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 90% 65%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 26%);
    width: 100%;
    height: 100%;
    pointer-events: none;
} */
.top_function__ttl {
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    position: relative;
}
.top_function__head {
    position: relative;
    padding-bottom: 30px;
}
.top_function__list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 160px;
    position: relative;
    z-index: 1;
}
.top_function__list > li {
    position: relative;
    margin: 0 -10px;
    width: 130px;
    height: 84px;
}
.top_function__list .doc_02,
.top_function__list .doc_04 {
    position: relative;
    top: -80px;
}
.top_function__list img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}
.top_function__doc {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 4em;
    overflow: hidden;
    text-align: center;
    font-size: 70%;
    line-height: 1.3;
    width: 100%;
    z-index: 1;
}
.top_function__doc span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotateX(90deg);
    opacity: 0;
    transition: transform 0.5s, opacity 0.5s;
    white-space: pre-line;
    width: 100%;
}
/* アニメーション切り替え */
.top_function__doc span.active {
    opacity: 1;
    transform: translate(-50%, -50%) rotateX(0deg);
}
.top_function__doc span.out {
    opacity: 0;
    transform: translate(-50%, -50%) rotateX(-90deg);
}
.top_function__tb {
    position: relative;
    margin: -180px auto 0;
    width: 611px;
    height: 500px;
}
.top_function__tb .arrow__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 194px;
    left: 50%;
    transform: translateX(-50%);
}
.top_function__tb .arrow__item > img {
    opacity: 0;
    transform: translateY(0);
    animation: arrowBlink 3s infinite ease;
    width: 22px;
}
@keyframes arrowBlink {
    0%,
    100% {
        opacity: 1;
        transform: translateY(0);
    }
    50% {
        opacity: 1;
        transform: translateY(6px);
    }
}
.top_function__tb .clone_tb {
    position: absolute;
    top: 234px;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    width: 193px;
    height: 268px;
}
.top_function__tb .swiper-tb {
    position: relative;
    width: auto;
    height: auto;
    overflow: hidden !important;
}
.top_function__tb .swiper-tb::before,
.top_function__tb .swiper-tb::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 193px;
    height: 268px;
}
.top_function__tb .swiper-tb::before {
    background: #fff;
    border-radius: 20px;
}
.top_function__tb .swiper-tb::after {
    background: url(../images/top/img_tb_frame.webp) no-repeat center/cover;
    z-index: 1;
}
.top_function__main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5%;
    position: relative;
    z-index: 1;
}
.top_function__box {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 5px 49px 0px rgba(96, 96, 96, 0.2);
    overflow: hidden;
    max-width: 360px;
    width: 30%;
}
.top_function__box:nth-of-type(1),
.top_function__box:nth-of-type(3) {
    margin-top: -300px;
}
.top_function__box_head {
    background: var(--colorOR);
    padding: 30px 20px 90px;
    position: relative;
}
.top_function__box_head::before {
    content: '';
    background: url(../images/top/bg_function_box.webp) no-repeat center bottom/cover;
    position: absolute;
    left: 0;
    bottom: -78px;
    width: 100%;
    height: 80px;
}
.top_function__box_ttl {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
}
.top_function__img {
    display: block;
    margin: -58px auto 20px;
    position: relative;
    z-index: 1;
}
.top_function__img.is_01 {
    width: 169px;
}
.top_function__img.is_02 {
    width: 205px;
}
.top_function__img.is_03 {
    width: 222px;
}
.top_function__box_txt {
    padding: 14px 40px 40px;
}
@media (max-width: 1180px) {
    .top_function__ttl {
        font-size: 30px;
    }
    .top_function__main {
        flex-direction: column;
        margin-top: 40px;
    }
    .top_function__box {
        max-width: 410px;
        width: 100%;
        margin-bottom: 30px;
    }
    .top_function__box:nth-of-type(1),
    .top_function__box:nth-of-type(3) {
        margin-top: 0;
    }
    .top_function__box_ttl {
        color: #fff;
        font-size: 18px;
        margin-top: 10px;
    }
}
@media (max-width: 768px) {
    .top_function {
        padding: 20px 0 40px;
    }
    .top_function__ttl {
        font-size: 15px;
    }
    .top_function__tb {
        margin: -27vw auto 0;
        width: 90vw;
        height: 70vw;
    }
    .top_function__tb .arrow__item {
        top: 28.6vw;
    }
    .top_function__tb .arrow__item > img {
        width: 14px;
    }
    .top_function__tb .clone_tb {
        top: 37vw;
    }
    .top_function__tb .clone_tb,
    .top_function__tb .swiper-tb::before,
    .top_function__tb .swiper-tb::after {
        width: 25vw;
        height: 34.6vw;
    }
    .top_function__list {
        margin-top: 80px;
    }
    .top_function__list > li {
        margin: 0 -6px;
        width: 78px;
        height: 50px;
    }
    .top_function__list .doc_02,
    .top_function__list .doc_04 {
        top: -52px;
    }
    .top_function__doc {
        font-size: 8px;
        letter-spacing: 0;
    }
    .top_function__main {
        margin-top: 5px;
    }
    .top_function__box {
        margin-bottom: 20px;
    }
    .top_function__box_ttl {
        font-size: 15px;
        margin-top: 0px;
    }
    .top_function__img {
        margin: -10px auto 20px;
    }
    .top_function__img.is_01 {
        width: 118px;
    }
    .top_function__img.is_02 {
        width: 138px;
    }
    .top_function__img.is_03 {
        width: 144px;
    }
    .top_function__box_head {
        padding-bottom: 30px;
    }
    .top_function__box_txt {
        padding: 6px 20px 30px;
        font-size: 10px;
    }
}
/* ---------------- top_point ---------------- */
.top_point {
    padding: 60px 0;
    position: relative;
}
/* .top_point::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 75% 35%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 26%);
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.top_point::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 20% 65%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 26%);
    width: 100%;
    height: 100%;
    pointer-events: none;
} */
.top_point__ttl {
    font-size: 40px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 80px;
}
.top_point__ttl .txt_irepo {
    font-weight: 700;
    font-size: 125%;
    letter-spacing: 0.04em;
}
.top_point__ttl .txt_irepo_s {
    font-weight: inherit;
    font-size: 45%;
    margin-left: 0.2em;
}
.top_point__ttl .txt_coco {
    color: var(--colorOR);
    display: inline-block;
    font-size: 110%;
    font-weight: 700;
    padding: 0 0.7em;
    position: relative;
    margin: 0.4em;
}
.top_point__ttl .txt_coco::before,
.top_point__ttl .txt_coco::after {
    position: absolute;
    color: #ffc166;
    width: 30px;
    height: 30px;
    content: '';
}
.top_point__ttl .txt_coco::before {
    border-left: solid 10px;
    border-top: solid 10px;
    top: 0;
    left: 0;
}
.top_point__ttl .txt_coco::after {
    border-right: solid 10px;
    border-bottom: solid 10px;
    bottom: 0;
    right: 0;
}
.top_point__logo {
    display: inline-block;
    margin-right: 10px;
    width: 307px;
    vertical-align: -35%;
}
/* .top_point__koko {
    display: inline-block;
    margin: 0 14px 0 12px;
    width: 151px;
} */
.top_point__list {
    margin: 0 auto;
    max-width: 900px;
}
.top_point__list > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 80px;
    position: relative;
    z-index: 1;
}
.top_point__list > li:nth-child(even) {
    flex-direction: row-reverse;
}
.top_point__list .num.is_01 {
    width: 55px;
}
.top_point__list .num.is_02 {
    width: 67px;
}
.top_point__list .num.is_03 {
    width: 66px;
}
.top_point__list .num.is_04 {
    width: 67px;
}
.top_point__list .list_ttl {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}
.top_point__list .list_ttl > span {
    color: var(--colorOR);
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    padding-left: 20px;
}
.top_point__txt {
    width: 61.2%;
}
.top_point__circle {
    position: relative;
    /* max-width: 312px;
    height: 100%;
    width: 35%; */
}
/* .top_point__circle::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #ffbf66;
    border-radius: 100%;
    box-shadow: 0px 0px 50px 0px rgba(124, 124, 124, 0.2);
    width: 250px;
    height: 250px;
} */
.top_point__circle img {
    position: relative;
    z-index: 1;
}
.top_point__circle.is_01 img {
    right: 20px;
    width: 244px;
}
.top_point__circle.is_02 img {
    width: 289px;
}
.top_point__circle.is_03 img {
    right: 10px;
    width: 254px;
}
.top_point__circle.is_04 img {
    width: 281px;
}
@media (max-width: 1180px) {
    .top_point__logo {
        width: 280px;
    }
    .top_point__ttl {
        font-size: 34px;
    }
    /* .top_point__koko {
        width: 130px;
    } */
    .top_point__list > li,
    .top_point__list > li:nth-child(even) {
        flex-direction: column;
        margin-bottom: 70px;
    }
    .top_point__txt {
        width: 80%;
        margin-bottom: 40px;
    }
    .top_point__circle {
        text-align: center;
        /* width: 50%;
        min-height: 250px; */
    }
    .top_point__circle.is_01 img,
    .top_point__circle.is_03 img {
        right: auto;
    }
}
@media (max-width: 768px) {
    .top_point__logo {
        width: 170px;
        vertical-align: 0;
    }
    .top_point__ttl {
        font-size: 24px;
        margin-bottom: 45px;
    }
    .top_point__ttl .txt_coco::before,
    .top_point__ttl .txt_coco::after {
        border-width: 6px;
        width: 18px;
        height: 18px;
    }
    /* .top_point__koko {
        margin: 0 12px 0 10px;
        width: 94px;
        vertical-align: -35%;
    } */
    .top_point__txt {
        width: 100%;
    }
    .top_point__list > li,
    .top_point__list > li:nth-child(even) {
        margin-bottom: 50px;
    }
    .top_point__list .list_ttl {
        margin-bottom: 0.6em;
    }
    .top_point__list .list_ttl > span {
        font-size: 16px;
        padding-left: 14px;
    }
    .top_point__list .num.is_01 {
        width: 34px;
    }
    .top_point__list .num.is_02,
    .top_point__list .num.is_03,
    .top_point__list .num.is_04 {
        width: 41px;
    }
    .top_point__circle {
        width: 190px;
        /* min-height: 150px; */
    }
    /* .top_point__circle::before {
        width: 150px;
        height: 150px;
    } */
    .top_point__circle.is_01 img,
    .top_point__circle.is_02 img,
    .top_point__circle.is_03 img,
    .top_point__circle.is_04 img {
        width: 100%;
    }
    .top_point__txt {
        margin-bottom: 24px;
    }
}
/* ---------------- top_system ---------------- */
.top_system {
    /* background: linear-gradient(185deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 37%, rgba(255, 247, 234, 1) 100%); */
    padding: 60px 0 420px;
    position: relative;
}
/* .top_system::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 78% 40%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 38%);
    width: 100%;
    height: 100%;
    pointer-events: none;
} */
.top_system__ttl {
    text-align: center;
}
.top_system__ttl .txt_01 {
    background: #ff9500;
    border-radius: 100px;
    display: block;
    line-height: 1.4;
    padding: 3px 16px 3px 20px;
    margin: 0 auto;
    max-width: 290px;
}
.top_system__ttl .txt_01 > span {
    color: #fff;
    display: block;
    font-size: 22px;
    font-weight: 800;
    position: relative;
}
.top_system__ttl .txt_01 > span::after {
    content: '';
    background: url(../images/top/icon_link.webp) no-repeat center/cover;
    display: inline-block;
    position: relative;
    top: 2px;
    right: -6px;
    width: 22px;
    height: 22px;
}
.top_system__ttl .txt_02 {
    display: block;
    font-size: 38px;
    font-weight: 800;
    margin: 0.6em 0 0.4em;
}
.top_system__ttl .txt_02 strong {
    color: #ff9500;
    font-size: 112%;
    font-weight: 800;
}
.top_system__logo {
    position: relative;
    margin: 3em 0;
    z-index: 1;
}
.top_system__logo .list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2%;
}
.top_system__logo .list li {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 12px -4px #ff9500;
    padding: 20px 4px;
    text-align: center;
    width: 212px;
}
.top_system__logo .list img {
    display: block;
    margin: 0 auto;
    max-width: 190px;
    width: 100%;
}
.top_system__logo .btm_txt {
    font-weight: 700;
    text-align: center;
    padding-top: 1.6em;
}
.top_system__main {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.4%;
    position: relative;
    z-index: 1;
    margin-top: 4em;
}
.top_system__main li {
    border: 2px solid #ff9500;
    border-radius: 20px;
    padding: 2em 1.8em;
    margin-bottom: 1.95em;
    width: 28.8%;
}
.top_system__main .ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 0.8em;
}
.top_system__main .box_m .ttl {
    min-height: 2.8em;
}
.top_system__main .ttl span {
    display: inline-block;
    color: #ff9500;
    font-size: 22px;
    font-weight: 700;
}
.top_system__main img {
    display: block;
    margin: 0 auto 1.6em;
    width: auto;
    height: 114px;
}
.top_system__main .txt {
    margin-bottom: 0.4em;
}
.top_system__lead {
    color: #333;
    font-size: 28px;
    font-weight: 800;
    text-align: center;
    margin-top: 0.8em;
}
.top_system__lead > span {
    color: #ff9500;
    display: inline-block;
    font-size: 124%;
    font-weight: 800;
    background-position: top left 2px;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    background-image: radial-gradient(0.125em 0.125em at center center, #ff9500, #ff9500 100%, transparent, transparent);
    padding-top: 0.14em;
    position: relative;
}
@media (max-width: 1180px) {
    .top_system__ttl .txt_02 {
        font-size: 34px;
    }
    .top_system__main {
        align-items: center;
        flex-direction: column;
    }
    .top_system__main li {
        max-width: 410px;
        width: 100%;
    }
    .top_system__lead {
        font-size: 26px;
    }
}
@media (max-width: 768px) {
    .top_system {
        padding: 0 0 160px;
    }
    .top_system__ttl .txt_01 {
        padding: 2px 12px 2px 16px;
        max-width: 200px;
    }
    .top_system__ttl .txt_01 > span {
        font-size: 14px;
    }
    .top_system__ttl .txt_01 > span::after {
        width: 16px;
        height: 16px;
    }
    .top_system__ttl .txt_02 {
        font-size: 22px;
    }
    .top_system__logo .list {
        flex-wrap: wrap;
        gap: 4%;
    }
    .top_system__logo .list li {
        border-radius: 6px;
        padding: 12px 10px;
        margin-bottom: 1.2em;
        max-width: 226px;
        width: 42%;
    }
    .top_system__logo .btm_txt {
        padding-top: 0.6em;
    }
    .top_system__main {
        margin-top: 3em;
    }
    .top_system__main li {
        padding: 1.6em 2em;
        margin-bottom: 1.2em;
        width: 90%;
    }
    .top_system__main .ttl {
        margin-bottom: 0.6em;
    }
    .top_system__main .ttl span {
        font-size: 16px;
    }
    .top_system__main .box_m .ttl {
        min-height: auto;
    }
    .top_system__main img {
        height: 90px;
    }
    .top_system__lead {
        font-size: 18px;
        margin-top: 0.4em;
    }
    .top_system__lead > span {
        padding-top: 0.1em;
    }
}
/* ---------------- top_case ---------------- */
.top_case {
    background: linear-gradient(180deg, rgba(255, 159, 26, 1) 0%, rgba(255, 197, 131, 1) 30%, rgba(255, 248, 238, 1) 90%, rgba(255, 255, 255, 1) 100%);
    position: relative;
    padding: 0 0 100px;
}
.top_case .common_ttl {
    padding-top: 90px;
}
.top_case__bg {
    content: '';
    background: url(../images/top/bg_case.webp) no-repeat center top/cover;
    display: block;
    height: 300px;
    position: relative;
    top: -298px;
    width: 100%;
}
.top_case__box {
    background: #fff;
    box-shadow: 0px 2px 50px 0px rgba(255, 149, 0, 0.9);
    border-radius: 20px;
    overflow: hidden;
    margin: 0 2%;
}
.top_case__box a {
    display: block;
}
.top_case__box a > img {
    width: 100%;
}
.top_case__item {
    padding: 24px 30px 30px;
}
.top_case__tag > img {
    width: auto;
    height: 29px;
}
.top_case__item_ttl {
    color: #000;
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin: 20px 0;
    min-height: 8.8em;
}
.top_case__item_ttl > span {
    font-weight: 800;
}
.top_case__item_ttl .txt_s {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
}
.top_case__item_ttl .txt_m {
    font-size: 150%;
    line-height: 1.3;
    font-weight: 800;
}
.top_case__item_ttl .txt_l {
    font-size: 34px;
    line-height: 1.3;
    font-weight: 900;
}
.top_case__company {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}
.top_case__link {
    display: block;
    color: var(--colorOR);
    font-weight: 700;
    position: relative;
    padding: 12px 0px 12px 60px;
    margin-top: 1em;
}
.top_case__link::before {
    content: '';
    background: url(../images/top/icon_case_arrow.webp) no-repeat center/cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 49px;
    height: 49px;
}
.case_youtube {
    padding: 120px 0;
}
.case_youtube__item {
    position: relative;
    padding-top: 56.25%;
    width: 100%;
}
.case_youtube__item iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
}
.case_voice {
    overflow: hidden;
}
.case_voice__list {
    display: flex;
    justify-content: space-between;
    gap: 1.2%;
    width: 100%;
}
.case_voice__item {
    background: #fff;
    box-shadow: 0px 0px 20px 0px rgba(225, 199, 33, 0.1);
    border-radius: 10px;
    padding: 26px;
    margin-bottom: 10px;
    min-height: 27em;
    flex: 1;
}
.case_voice__item.is_ye {
    border: 2px solid #f0e390;
    box-shadow: inset 0px 0px 30px #fffad3;
}
.case_voice__item.is_pi {
    border: 2px solid #f3b1cc;
    box-shadow: inset 0px 0px 30px #fdeaf2;
}
.case_voice__item.is_gr {
    border: 2px solid #d1db99;
    box-shadow: inset 0px 0px 30px #fafde0;
}
.case_voice__item.is_bl {
    border: 2px solid #8cd0d4;
    box-shadow: inset 0px 0px 30px #e3f9fb;
    width: 100%;
}
.case_voice__item.is_pr {
    border: 2px solid #a7bff3;
    box-shadow: inset 0px 0px 30px #e5edfd;
    width: 100%;
}
.case_voice .voice_head {
    display: flex;
    align-items: center;
    gap: 2%;
}
.case_voice .voice_head img {
    width: 46px;
}
.case_voice .voice_head dd {
    font-size: 14px;
}
.case_voice .voice_head dd > strong {
    display: block;
    font-weight: 700;
}
.case_voice .voice_head dd > span {
    font-size: 92.9%;
}
.case_voice .voice_txt {
    font-size: 13px;
    line-height: 1.5;
}
.case_voice .voice_star {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 12px 0 14px;
}
.case_voice .voice_star .star {
    background: url(../images/top/img_voice_star.webp) no-repeat center/cover;
    display: block;
    width: 16px;
    height: 15px;
}
.case_voice .voice_star .star.is_half {
    background: url(../images/top/img_voice_star_half.webp) no-repeat center/cover;
}
.case_voice__note {
    font-size: 12px;
    text-align: center;
    margin-top: 1em;
}
.case_voice__note a {
    color: var(--colorOR);
    text-decoration: underline;
}
@media (max-width: 1440px) {
    .top_case__box {
        margin: 0;
    }
    .top_case__item_ttl .txt_l {
        font-size: 30px;
    }
    .top_case__item_ttl {
        font-size: 14px;
    }
    .top_case__company {
        font-size: 15px;
    }
}
@media (max-width: 1320px) {
    .top_case__item_ttl .txt_m {
        font-size: 124%;
    }
    .top_case__item_ttl .txt_l {
        font-size: 24px;
    }
}
@media (max-width: 1180px) {
    .top_case__link::before {
        width: 38px;
        height: 38px;
    }
    .top_case__link {
        padding: 6px 0px 6px 60px;
        margin-top: 1.6em;
    }
    .case_youtube {
        flex-direction: column;
    }
    .case_voice__list {
        flex-direction: column;
    }
    .case_voice__item {
        margin-bottom: 4px;
        min-height: 26em;
    }
}
@media (max-width: 768px) {
    .top_case {
        padding: 150px 0 40px;
    }
    .top_case__bg {
        height: 160px;
        top: -240px;
        background-size: 180%;
    }
    .top_case .common_ttl {
        padding-top: 45px;
    }
    .top_case__box {
        border-radius: 14px;
        box-shadow: 1px 2px 20px 0px rgba(255, 149, 0, 0.9);
    }
    .top_case__tag > img {
        height: 18px;
    }
    .top_case__item {
        padding: 20px 20px 30px;
    }
    .top_case__item_ttl {
        font-size: 11px;
        margin: 10px 0;
    }
    .top_case__item_ttl .txt_m {
        font-size: 145%;
    }
    .top_case__item_ttl .txt_l {
        font-size: 22px;
    }
    .top_case__company {
        font-size: 12px;
    }
    .top_case__link::before {
        width: 30px;
        height: 30px;
    }
    .top_case__link {
        padding: 6px 0px 6px 40px;
        margin-top: 1em;
    }
    .case_youtube {
        padding: 50px 0;
    }
    .case_voice__item {
        padding: 14px 16px;
        min-height: 22em;
    }
    .case_voice .voice_head {
        gap: 4%;
    }
    .case_voice .voice_head img {
        width: 30px;
    }
    .case_voice .voice_head dd {
        font-size: 10px;
    }
    .case_voice .voice_star {
        margin: 10px 0;
    }
    .case_voice .voice_star .star {
        width: 12px;
        height: 11px;
    }
    .case_voice .voice_txt {
        font-size: 9px;
    }
    .case_voice__note {
        font-size: 9px;
        text-align: left;
    }
}
/* swiper */
.swiper-pagination-bullet {
    opacity: 0.4 !important;
}
.swiper-pagination-bullet-active {
    opacity: 1 !important;
}
.swiper-case {
    margin-top: -320px;
}
@media (max-width: 768px) {
    .swiper-case {
        margin-top: -240px;
    }
}
.swiper-video .swiper-pagination-bullet {
    background: var(--colorOR) !important;
}
.swiper-video .swiper-pagination {
    bottom: -10px !important;
}
@media (max-width: 768px) {
    .swiper-video .swiper-pagination {
        bottom: 0px !important;
    }
}
.swiper-voice .swiper-pagination-bullet {
    background: var(--colorOR) !important;
}
.swiper-voice .swiper-pagination {
    bottom: 5px !important;
}

/* ---------------- top_download ---------------- */
.top_download {
    /* background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 248, 238, 1) 60%, rgba(255, 248, 238, 1) 100%); */
    position: relative;
    padding: 40px 0 300px;
}
/* .top_download::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 75% 60%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 26%);
    width: 100%;
    height: 100%;
    pointer-events: none;
} */
.top_download__list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 4%;
}
.top_download__list > li {
    background: url(../images/top/bg_download_box.webp) no-repeat center/100%;
    position: relative;
    padding: 95px 45px 40px;
    width: 377px;
    height: 576px;
    filter: drop-shadow(0px 2px 14px #fde8ca);
}
.top_download__tag {
    border: 1px solid var(--colorBL);
    border-radius: 100px;
    color: var(--colorBL);
    display: inline-block;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    padding: 2px 14px;
    margin-top: 20px;
}
.top_download__box_ttl {
    font-size: 20px;
    font-weight: 700;
    margin: 16px 0 20px;
    min-height: 4.8em;
}
.top_download__box > img {
    display: block;
    margin: 0 auto;
    max-width: 270px;
    width: 100%;
}
.top_download__btn {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    font-size: 87.5%;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 14px;
    position: relative;
}
.top_download__btn:hover,
.top_download__btn:active,
.top_download__btn:focus {
    color: #fff !important;
}
.top_download__btn .icon_dl {
    background: url(../images/common/icon_download.svg) no-repeat center/100%;
    display: inline-block;
    width: 11px;
    height: 13px;
    margin-left: 0.8em;
}
@media (max-width: 1180px) {
    .top_download__list {
        flex-wrap: wrap;
    }
    .top_download__list > li {
        margin-bottom: 4%;
    }
}
@media (max-width: 768px) {
    .top_download {
        padding: 40px 0 140px;
    }
    .top_download__list > li {
        background: url(../images/top/bg_download_box_s.webp) no-repeat center/contain;
        width: 350px;
        height: auto;
        padding: 45px 22px 40px;
    }
    .top_download__box {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4%;
    }
    .top_download__box_item {
        width: 50%;
    }
    .top_download__box > img {
        max-width: 130px;
    }
    .top_download__box_ttl {
        font-size: 12px;
        line-height: 1.4;
        margin: 8px 0 16px;
        min-height: auto;
    }
    .top_download__tag {
        font-size: 10px;
        padding: 2px 10px;
    }
    .top_download__btn {
        font-size: 10px;
        padding: 8px;
    }
    .top_download__btn .icon_dl {
        width: 7px;
        height: 9px;
    }
}
/* ---------------- top_flow ---------------- */
.top_flow {
    background: linear-gradient(180deg, rgba(255, 203, 131, 1) 0%, rgba(255, 203, 131, 1) 10%, rgba(255, 240, 218, 1) 50%, rgba(255, 249, 240, 1) 100%);
    position: relative;
    padding: 0 0 100px;
    margin-top: 80px;
}
.top_flow__bg {
    content: '';
    background: url(../images/top/bg_flow.webp) no-repeat center top / cover;
    display: block;
    height: 300px;
    position: relative;
    top: -298px;
    width: 100%;
}
.top_flow .common_ttl {
    padding-top: 90px;
}
.top_flow__lead {
    margin-top: -320px;
    position: relative;
    font-size: 18px;
    display: flex;
    justify-content: center;
}
.top_flow__list {
    position: relative;
    display: flex;
    justify-content: space-between;
    text-align: center;
    margin: 60px 0 90px;
    overflow: hidden;
    position: relative;
}
.top_flow__list::before {
    content: '';
    height: 10px;
    width: 100%;
    background: rgb(255, 187, 91);
    position: absolute;
    top: 36%;
    left: 5%;
    width: 90%;
}
.top_flow__list > li {
    width: 17.5%;
}
.top_flow__step {
    background: var(--colorOR);
    border-radius: 100px;
    text-align: center;
    color: #fff;
    font-size: 87.5%;
    font-weight: 700;
    line-height: 1.4;
    padding: 2px 14px;
    display: inline-block;
    margin-bottom: 14px;
}
.top_flow__img {
    display: block;
    margin: 0 auto;
    max-width: 169px;
    position: relative;
}
.top_flow__img > img {
    position: relative;
    z-index: 1;
}
.top_flow__ttl {
    color: var(--colorBL);
    font-size: 112.5%;
    font-weight: 700;
    margin: 10px 0;
    min-height: 3.5em;
}
.top_flow__btn {
    background: var(--colorOR);
    border-radius: 100px;
    color: #fff;
    font-size: 87.5%;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 14px;
    position: relative;
}
.top_flow__btn:hover,
.top_flow__btn:active,
.top_flow__btn:focus {
    color: #fff;
}
.top_flow__btn::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 1.5em;
}
@media (max-width: 1180px) {
    .top_flow {
        padding-bottom: 50px;
    }
    .top_flow__list {
        flex-direction: column;
        align-items: center;
        overflow: visible;
        margin: 50px auto 80px;
        max-width: 500px;
    }
    .top_flow__list > li {
        font-size: 18px;
        position: relative;
        padding-left: 170px;
        width: 100%;
        margin-bottom: 30px;
        min-height: 9em;
    }
    .top_flow__list > li:last-of-type {
        margin-bottom: 0;
    }
    .top_flow__img {
        position: absolute;
        top: 0;
        left: 0;
    }
    .top_flow__ttl {
        min-height: auto;
        margin-bottom: 20px;
    }
    .top_flow__btn {
        max-width: 250px;
        margin: 0 auto;
    }
    .top_flow__list::before {
        content: '';
        height: 10px;
        width: 100%;
        background: rgb(255, 187, 91);
        position: absolute;
        top: 4%;
        left: 16.4%;
        width: 5px;
        height: 90%;
    }
}
@media (max-width: 768px) {
    .top_flow {
        margin-top: 0;
    }
    .top_flow__bg {
        height: 160px;
        top: -80px;
        background-size: 180%;
    }
    .top_flow .common_ttl {
        padding-top: 45px;
    }
    .top_flow__lead {
        margin-top: -90px;
        font-size: 12px;
    }
    .top_flow__img {
        max-width: 110px;
    }
    .top_flow__list {
        margin: 40px auto 40px;
        max-width: 330px;
    }
    .top_flow__list > li {
        font-size: 13px;
        padding-left: 116px;
        margin-bottom: 30px;
    }
    .top_flow__list::before {
        left: 16%;
        height: 84%;
    }
    .top_flow__step {
        font-size: 10px;
        margin-bottom: 8px;
    }
    .top_flow__ttl {
        margin: 0 0 10px;
    }
    .top_flow__btn {
        font-size: 11px;
        padding: 10px;
        max-width: 170px;
    }
    .top_flow__btn::before {
        width: 5px;
        height: 5px;
    }
}
/* kaizenbu */
.kaizenbu {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 0px 18px 2px rgba(255, 149, 0, 0.2);
    text-align: center;
    padding: 3.8em 3em;
    margin: 0 auto;
    max-width: 1100px;
}
.kaizenbu_ttl {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0.6em;
    padding-left: 1em;
    position: relative;
}
.kaizenbu_ttl::after {
    content: '';
    display: inline-block;
    background: url(../images/top/icon_kaizenbu_ttl.webp) no-repeat center/contain;
    position: relative;
    top: -4px;
    right: -8px;
    width: 14px;
    height: 19px;
}
.kaizenbu_ttl span {
    color: var(--colorOR);
    font-size: 120%;
    font-weight: inherit;
}
.kaizenbu .logo {
    margin-bottom: 2.2em;
}
.kaizenbu .logo .txt {
    font-weight: 700;
    text-align: center;
    margin-bottom: -16px;
}
.kaizenbu .logo .txt > span {
    color: var(--colorOR);
    font-weight: inherit;
}
.kaizenbu .logo img {
    display: block;
    margin: 0 auto;
    max-width: 450px;
    width: 100%;
}
.kaizenbu .sample_item {
    background: linear-gradient(180deg, rgba(255, 167, 44, 1) 0%, rgba(255, 239, 215, 1) 100%);
    border-radius: 3px;
    padding: 1em 1em 0;
    margin: 0 auto;
    max-width: 900px;
}
.kaizenbu .sample_item p {
    color: #fff;
    font-size: 120%;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.6em;
}
.kaizenbu .sample_item img {
    display: block;
    margin: 0 auto;
    max-width: 768px;
    width: 100%;
}
.kaizenbu .review_list {
    display: flex;
    justify-content: center;
    gap: 2%;
    margin: 3.4em auto 1em;
    max-width: 900px;
}
.kaizenbu .review_list li {
    background: #fff;
    border-radius: 10px;
    border: 2px solid #f3b1cc;
    box-shadow: inset 0px 0px 30px #fdeaf2;
    padding: 26px;
    text-align: left;
    flex: 1;
}
.kaizenbu .review_list .voice_head {
    display: flex;
    align-items: center;
    gap: 2%;
}
.kaizenbu .review_list .voice_head img {
    width: 46px;
}
.kaizenbu .review_list .voice_head dd {
    font-size: 14px;
}
.kaizenbu .review_list .voice_head dd > strong {
    display: block;
    font-weight: 700;
}
.kaizenbu .review_list .voice_head dd > span {
    font-size: 92.9%;
}
.kaizenbu .review_list .voice_txt {
    font-size: 13px;
    line-height: 1.5;
}
.kaizenbu .review_list .voice_star {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 12px 0 14px;
}
.kaizenbu .review_list .voice_star .star {
    background: url(../images/top/img_voice_star.webp) no-repeat center/cover;
    display: block;
    width: 16px;
    height: 15px;
}
.kaizenbu .review_list .voice_star .star.is_half {
    background: url(../images/top/img_voice_star_half.webp) no-repeat center/cover;
}
.kaizenbu .txt_note {
    font-size: 12px;
}
.kaizenbu .txt_note a {
    color: var(--colorOR);
    text-decoration: underline;
}
@media (max-width: 768px) {
    .kaizenbu {
        border-radius: 14px;
        padding: 3em 1.8em;
        max-width: 500px;
        width: 94%;
    }
    .kaizenbu_ttl {
        font-size: 18px;
        padding-left: 0;
        margin-bottom: 0.8em;
    }
    .kaizenbu_ttl::after {
        margin-left: -8px;
        right: -16px;
        width: 11px;
        height: 16px;
    }
    .kaizenbu .logo .txt {
        font-size: 11px;
        margin-bottom: -6px;
        padding-left: 2.6em;
    }
    .kaizenbu .logo img {
        max-width: 256px;
    }
    .kaizenbu .review_list {
        flex-direction: column;
        gap: 0.8em 0;
        margin: 2.4em auto 1em;
    }
    .kaizenbu .review_list li {
        border-radius: 8px;
        padding: 14px;
    }
    .kaizenbu .review_list .voice_head {
        gap: 4%;
    }
    .kaizenbu .review_list .voice_head img {
        width: 30px;
    }
    .kaizenbu .review_list .voice_head dd {
        font-size: 10px;
    }
    .kaizenbu .review_list .voice_star {
        margin: 6px 0;
    }
    .kaizenbu .review_list .voice_star .star {
        width: 12px;
        height: 11px;
    }
    .kaizenbu .review_list .voice_txt {
        font-size: 10px;
    }
    .kaizenbu .txt_note {
        font-size: 9px;
        text-align: left;
    }
}
/* ---------------- top_price ---------------- */
.top_price {
    background: linear-gradient(180deg, rgba(255, 249, 240, 1) 0%, rgba(255, 255, 255, 1) 100%);
    position: relative;
    padding: 40px 0 60px;
}
.top_price__main {
    display: flex;
    justify-content: space-between;
}
.top_price__box {
    background: #fff;
    border-radius: 10px;
    text-align: center;
}
.top_price__box.is_cloud {
    border: 4px solid var(--colorOR);
    position: relative;
    z-index: 1;
    width: 42%;
    box-shadow: 0px 2px 28px 0px rgba(255, 149, 0, 0.5);
}
.top_price__box.is_server {
    border: 4px solid #e5ecf4;
    margin-left: -2%;
    position: relative;
    width: 60%;
}
.top_price__box dt {
    padding: 30px;
}
.top_price__box_txt {
    font-size: 14px;
    font-weight: 500;
}
.top_price__box.is_cloud dt {
    background: var(--colorOR);
    color: #fff;
    position: relative;
}
.top_price__box.is_server dt {
    background: #e5ecf4;
    color: #000;
}
.top_price__box .top_price__recommend {
    position: absolute;
    top: -20px;
    left: -30px;
    background: var(--colorBL);
    color: #fff;
    font-size: 112.5%;
    font-weight: 700;
    line-height: 104px;
    text-align: center;
    border-radius: 100%;
    width: 108px;
    height: 108px;
}
.top_price__box .top_price__plan {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 10px;
}
.top_price__box.is_cloud .top_price__plan {
    color: #fff;
}
.top_price__box.is_cloud .top_price__plan .txt_s {
    color: var(--colorOR);
    background: #fff;
    display: block;
    font-size: 50%;
    font-weight: 700;
    border-radius: 100px;
    max-width: 160px;
    margin: 0 auto 10px;
}
.top_price__box.is_server .top_price__plan .txt_s {
    color: #fff;
    background: var(--colorBL);
    display: block;
    font-size: 50%;
    font-weight: 700;
    border-radius: 100px;
    max-width: 254px;
    margin: 0 auto 10px;
}
.top_price__box.is_cloud dd {
    padding: 50px 10px 20px;
}
.top_price__box.is_server dd {
    padding: 24px 10px;
    display: flex;
    justify-content: center;
}
.top_price__monthly {
    font-size: 18px;
    font-weight: 700;
}
.top_price__monthly .font_en {
    font-size: 177.8%;
    letter-spacing: 0.02em;
    display: inline-block;
    margin-right: 4px;
}
.top_price__box_note {
    font-size: 87.5%;
}
.top_price__edition {
    background: #e5ecf4;
    display: inline-block;
    font-size: 100%;
    font-weight: 700;
    border-radius: 100px;
    padding: 2px 20px;
    margin-bottom: 10px;
}
.top_price__item {
    text-align: center;
    padding: 20px;
    width: 50%;
}
.top_price__item:first-child {
    border-right: 1px solid #7fa4c9;
}
.top_price__monthly.is_l {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%;
    margin-top: 4px;
}
.top_price__monthly_sub {
    font-size: 14px;
    line-height: 1.4;
}
.top_price__monthly_sub .font_en {
    font-size: 140%;
}
.top_price__monthly_plus {
    width: 20px;
}
.top_price__note {
    text-align: right;
    font-size: 12px;
    margin-top: 2px;
}
.top_price__lead {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin-top: 50px;
}
@media (max-width: 1180px) {
    .top_price__main {
        flex-direction: column;
        align-items: center;
    }
    .top_price__box.is_cloud,
    .top_price__box.is_server {
        max-width: 500px;
        width: 100%;
    }
    .top_price__box.is_server {
        margin-left: 0;
        margin-top: -10px;
    }
    .top_price__box dt {
        padding-top: 40px;
    }
    .top_price__box.is_cloud dd {
        padding: 30px 10px;
    }
    .top_price__box.is_server dd {
        flex-direction: column;
        padding: 10px 20px;
    }
    .top_price__item {
        width: 100%;
    }
    .top_price__item:first-child {
        border-right: none;
        border-bottom: 1px solid #7fa4c9;
    }
    .top_price__note {
        margin: 10px auto;
        max-width: 500px;
        width: 100%;
    }
}
@media (max-width: 768px) {
    .top_price {
        padding: 20px 0 40px;
    }
    .top_price__box {
        border-width: 2px !important;
    }
    .top_price__box .top_price__recommend {
        left: -16px;
        font-size: 112.5%;
        line-height: 80px;
        width: 80px;
        height: 80px;
    }
    .top_price__box.is_cloud,
    .top_price__box.is_server {
        width: 94%;
    }
    .top_price__box.is_cloud {
        box-shadow: 0px 2px 16px 0px rgba(255, 149, 0, 0.5);
    }
    .top_price__box dt {
        padding: 28px 10px 20px;
    }
    .top_price__box .top_price__plan {
        font-size: 20px;
        margin-bottom: 6px;
    }
    .top_price__box.is_cloud .top_price__plan .txt_s {
        max-width: 110px;
    }
    .top_price__box.is_server .top_price__plan .txt_s {
        max-width: 180px;
    }
    .top_price__box_txt {
        font-size: 11px;
    }
    .top_price__monthly {
        font-size: 13px;
    }
    .top_price__box.is_cloud dd {
        padding: 20px 10px;
    }
    .top_price__monthly_sub {
        font-size: 12px;
    }
    .top_price__monthly_plus {
        width: 12px;
    }
    .top_price__monthly.is_l {
        gap: 7%;
    }
    .top_price__note {
        font-size: 9px;
        width: 92%;
    }
    .top_price__lead {
        font-size: 14px;
        margin-top: 30px;
    }
}
/* ---------------- top_cta ---------------- */
.top_cta {
    /* background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 250, 246, 1) 100%); */
    position: relative;
    padding: 100px 0;
}
/* .top_cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 73% 52%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 19%);
    width: 100%;
    height: 100%;
    pointer-events: none;
} */
.top_cta .n_inner {
    position: relative;
    z-index: 1;
}
.top_cta__ttl {
    font-size: 22px;
    font-weight: 800;
    position: relative;
    text-align: center;
    margin-bottom: 20px;
}
.top_cta__ttl .value {
    color: var(--colorBL);
    font-size: 172.7%;
    letter-spacing: 0.02em;
    line-height: 1;
    vertical-align: -5%;
    display: inline-block;
    margin: 0 4px;
}
.top_cta__ttl .txt_no1 {
    color: var(--colorBL);
    display: inline-block;
    font-size: 175%;
    line-height: 1;
    margin-left: 4px;
}
.top_cta__ttl .txt_no1 .num {
    display: inline-block;
    font-size: 120%;
    margin-left: -0.095em;
}
.top_cta__logo {
    display: block;
    margin: 20px auto 0;
    width: 287px;
}
.top_cta__lead {
    text-align: center;
}
.top_cta__btn_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
    margin: 24px auto;
}
.top_cta__btn_wrap .cta_btn {
    display: block;
    border-radius: 100px;
    font-weight: 700;
    padding: 16px;
    position: relative;
    text-align: center;
    max-width: 350px;
    width: 40%;
}
.top_cta__btn_wrap .cta_btn::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.top_cta__btn_wrap .cta_btn.btn_c01::before {
    background: url(../images/common/icon_arrow_wh.webp) no-repeat center/cover;
}
.top_cta__btn_wrap .cta_btn.btn_c02::before {
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/cover;
}
.top_cta__btn_wrap .cta_btn.btn_c04::before {
    background: url(../images/common/icon_arrow_wh_gr.webp) no-repeat center/cover;
}
.top_cta__btn_wrap .cta_btn.btn_c05::before {
    background: url(../images/common/icon_arrow_gr.webp) no-repeat center/cover;
}
@media (max-width: 768px) {
    .top_cta {
        padding: 50px 0;
    }
    .top_cta__ttl {
        font-size: 16px;
        line-height: 1.8;
    }
    .top_cta__logo {
        margin: 30px auto 0;
        width: 200px;
    }
    .top_cta__lead {
        font-size: 11px;
    }
    .top_cta__btn_wrap {
        flex-direction: column;
    }
    .top_cta__btn_wrap .cta_btn {
        padding: 12px;
        max-width: 250px;
        width: 100%;
        margin-bottom: 14px;
    }
}
/* ---------------- top_news ---------------- */
.top_news {
    /* background: linear-gradient(180deg, rgba(255, 250, 246, 1) 0%, rgba(255, 255, 255, 1) 100%); */
    position: relative;
    padding: 60px 0 100px;
}
.top_news .n_inner {
    position: relative;
    z-index: 1;
}
/* .top_news::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 84% 40%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 26%);
    width: 100%;
    height: 100%;
}
.top_news::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 10% 66%, rgba(255, 245, 231, 1), rgba(255, 255, 255, 0) 24%);
    width: 100%;
    height: 100%;
} */
.top_news__main {
    display: flex;
    align-items: flex-start;
    gap: 8%;
    margin-bottom: 80px;
}
.top_news__cat {
    width: 100%;
}
.top_news__cat_ttl {
    color: var(--colorBL);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}
.top_news__list > li {
    padding: 30px 0;
    border-bottom: 1px solid #000;
}
.top_news__list a:hover,
.top_news__list a:active,
.top_news__list a:focus {
    color: #000 !important;
}
.top_news__date {
    margin-bottom: 8px;
}
.top_news__txt {
    min-height: 3.8em;
}
@media (max-width: 1180px) {
    .top_news__main {
        flex-direction: column;
    }
    .top_news__cat_ttl {
        text-align: center;
    }
    .top_news__cat + .top_news__cat {
        margin-top: 50px;
    }
}
@media (max-width: 768px) {
    .top_news {
        padding: 20px 0 80px;
    }
    .top_news__main {
        margin-bottom: 50px;
    }
    .top_news__cat_ttl {
        font-size: 16px;
        margin-bottom: 0;
    }
    .top_news__list > li {
        padding: 28px 0;
    }
    .top_news__txt {
        min-height: auto;
    }
}
/* ---------------- subpage ---------------- */
.sub_gd {
    background: rgb(255, 206, 137);
    background: linear-gradient(185deg, rgba(255, 206, 137, 1) 0%, rgba(255, 220, 171, 1) 10%, rgba(255, 253, 248, 1) 35%, rgba(255, 235, 207, 1) 60%, rgba(255, 244, 229, 1) 90%, rgba(255, 244, 229, 1) 100%);
    padding-top: 110px;
}
.sub_contents {
    background: rgba(255, 244, 229, 1);
    padding-bottom: 100px;
}
@media (max-width: 1180px) {
    .sub_gd {
        padding-top: 85px;
    }
}
@media (max-width: 768px) {
    .sub_gd {
        padding-top: 60px;
    }
}
/* ---------------- breadcrumbs ---------------- */
.breadcrumbs_wrap {
    padding-top: 100px;
}
@media (max-width: 1180px) {
    .breadcrumbs_wrap {
        padding-top: 85px;
    }
}
@media (max-width: 768px) {
    .breadcrumbs_wrap {
        padding-top: 65px;
    }
}
.breadcrumbs {
    font-size: 12px;
    padding: 1.4em 0;
}
.breadcrumbs span,
.breadcrumbs a {
    letter-spacing: 0.04em !important;
}
.breadcrumbs a {
    color: var(--colorOR);
}
.breadcrumbs br {
    display: none;
}
@media (max-width: 768px) {
    .breadcrumbs {
        font-size: 10px;
    }
}

/* ----------------  bridge_mv ---------------- */
.bridge * {
    letter-spacing: 0.08em;
    line-height: 1.6;
}
.bridge_mv__block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5%;
    padding-top: 1.4em;
}
.bridge_mv__ttl {
    color: #000;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}
.bridge_mv__ttl .txt_top {
    display: inline-block;
    font-size: 100%;
    font-weight: 800;
    text-align: left;
    line-height: 2.4;
    margin-bottom: 0.8em;
}
.bridge_mv__ttl .txt_bl {
    background: var(--colorBL);
    border-radius: 5px;
    color: #fff;
    font-size: 136%;
    font-weight: 800;
    line-height: 1;
    padding: 1px 24px;
}
.bridge_mv__ttl .txt_no1 svg {
    width: 85px;
    vertical-align: -8%;
    display: inline-block;
}
.bridge_mv__ttl > span {
    display: inline-block;
    font-weight: 800;
    line-height: 1;
}
.bridge_mv__ttl .txt_s {
    display: inline-block;
    font-size: 52.9%;
    margin-right: 0.2em;
}
.bridge_mv__ttl .txt_m {
    display: inline-block;
    font-size: 70.6%;
}
.bridge_mv__ttl .is_or {
    color: var(--colorOR);
}
.bridge_mv__logo {
    display: block;
    margin: 16px auto 30px;
    width: 318px;
}
.bridge_mv__tb {
    width: 310px;
}
.bridge_mv__tb .swiper-lp {
    position: relative;
    width: auto;
    height: auto;
    overflow: hidden !important;
}
.bridge_mv__tb .swiper-lp::before,
.bridge_mv__tb .swiper-lp::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 310px;
    height: 431px;
}
.bridge_mv__tb .swiper-lp::before {
    background: #fff;
    border-radius: 30px;
}
.bridge_mv__tb .swiper-lp::after {
    background: url(../images/bridge/mv_tb_frame.webp) no-repeat center/cover;
    z-index: 1;
}
.bridge_mv__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4%;
}
.bridge_mv__btn .mv_btn {
    border-radius: 100px;
    display: block;
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    padding: 16px;
    position: relative;
    width: 300px;
}
.bridge_mv__btn .mv_btn::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.bridge_mv__btn .mv_btn.btn_c04::before {
    background: url(../images/common/icon_arrow_wh_gr.webp) no-repeat center/cover;
}
.bridge_mv__btn .mv_btn.btn_c05::before {
    background: url(../images/common/icon_arrow_gr.webp) no-repeat center/cover;
}
@media (max-width: 1180px) {
    .bridge_mv__block {
        flex-direction: column;
        position: relative;
        padding-bottom: 40px;
        padding-top: 4px;
    }
    .bridge_mv__ttl {
        font-size: 28px;
    }
    .bridge_mv__ttl .txt_top {
        margin-bottom: 0.6em;
    }
    .bridge_mv__btn {
        margin-top: 510px;
    }
    .bridge_mv__tb {
        position: absolute;
        top: 324px;
    }
}
@media (max-width: 768px) {
    .bridge_mv__block {
        padding-bottom: 10px;
    }
    .bridge_mv__ttl {
        font-size: 18px;
    }
    .bridge_mv__ttl .txt_top {
        line-height: 2.2;
        margin-bottom: 0.4em;
    }
    .bridge_mv__ttl .txt_bl {
        border-radius: 3px;
        font-size: 126%;
        padding: 1px 10px 2px;
    }
    .bridge_mv__ttl .txt_m {
        font-size: 15px;
    }
    .bridge_mv__ttl .txt_no1 svg {
        width: 40px;
    }
    .bridge_mv__logo {
        display: block;
        margin: 8px auto 20px;
        width: 176px;
    }
    .bridge_mv__tb {
        width: 180px;
        top: 184px;
    }
    .bridge_mv__tb .swiper-lp::before,
    .bridge_mv__tb .swiper-lp::after {
        width: 180px;
        height: 250px;
    }
    .bridge_mv__btn {
        flex-direction: column;
        margin-top: 290px;
    }
    .bridge_mv__btn .mv_btn {
        font-size: 13px;
        padding: 14px;
        position: relative;
        width: 260px;
        margin-bottom: 14px;
    }
    .bridge_mv__btn .mv_btn::before {
        width: 20px;
        height: 20px;
    }
}
/* ----------------  bridge_toc ---------------- */
.bridge_toc {
    background: #fff;
    border-radius: 20px;
    padding: 2.6em 6em;
    margin-top: 60px;
}
.bridge_toc__ttl {
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 1.8em;
}
.bridge_toc__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4%;
}
.bridge_toc__list li {
    border-top: 1px solid var(--colorOR);
    width: 48%;
    min-height: 6em;
}
.bridge_toc__list li:nth-child(3),
.bridge_toc__list li:nth-child(4) {
    border-bottom: 1px solid var(--colorOR);
}
.bridge_toc__list a {
    display: flex;
    align-items: center;
    gap: 3%;
    padding: 1em 0;
    height: 100%;
}
.bridge_toc__list a > span {
    display: block;
    font-weight: 700;
}
.bridge_toc__list .num {
    font-size: 24px;
}
.bridge_toc__list .txt {
    font-size: 20px;
    line-height: 1.4;
    position: relative;
}
.bridge_toc__list .txt::before {
    content: '';
    background: url(../images/bridge/icon_toc_arrow.webp) no-repeat center/cover;
    position: absolute;
    right: -2em;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
}
.bridge_lead {
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    padding: 4em 0;
}
@media (max-width: 1180px) {
    .bridge_toc {
        margin-top: 20px;
        padding: 2.6em 1.6em;
    }
    .bridge_toc__list .txt {
        font-size: 15px;
    }
    .bridge_lead {
        font-size: 18px;
    }
}
@media (max-width: 768px) {
    .bridge_toc {
        padding: 2em;
    }
    .bridge_toc__ttl {
        font-size: 16px;
        margin-bottom: 1em;
    }
    .bridge_toc__list {
        flex-wrap: wrap;
    }
    .bridge_toc__list li {
        min-height: 4.6em;
        width: 100%;
    }
    .bridge_toc__list .num {
        font-size: 16px;
    }
    .bridge_toc__list .txt {
        font-size: 12px;
        width: 100%;
    }
    .bridge_toc__list li:nth-child(3) {
        border-bottom: 0;
    }
    .bridge_toc__list .txt::before {
        right: 0.2em;
        width: 16px;
        height: 16px;
    }
    .bridge_lead {
        font-size: 13px;
        line-height: 1.8;
        padding: 3em 0;
    }
}
/* ----------------  bridge_main ---------------- */
.bridge_box {
    background: #fff;
    border-radius: 10px;
    padding: 6em;
    margin-bottom: 90px;
}
.bridge_box:last-of-type {
    margin-bottom: 0;
}
.bridge_box__ttl {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 1.4em;
}
.bridge_box__ttl .num {
    background: var(--colorOR);
    border-radius: 100px;
    display: block;
    color: #fff;
    font-size: 58.8%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    padding: 0.2em;
    margin-bottom: 0.6em;
    width: 150px;
}
.bridge_item {
    margin-bottom: 6em;
}
.bridge_item:last-of-type {
    margin-bottom: 0;
}
.bridge_item__ttl {
    font-size: 20px;
    font-weight: 700;
    position: relative;
    margin-bottom: 1em;
}
.bridge_item__ttl::before {
    content: '\25CF';
    color: var(--colorOR);
    display: inline-block;
    margin-right: 4px;
}
.bridge_item__txt {
    margin-bottom: 1.6em;
}
.bridge_item__txt > strong {
    color: var(--colorBL);
    font-weight: 700;
}
.bridge_q__ttl {
    border-bottom: 2px solid var(--colorOR);
    display: flex;
    gap: 1%;
    padding-bottom: 0.4em;
}
.bridge_q {
    margin: 4.6em 0;
}
.bridge_q__ttl > span {
    font-size: 16px;
    font-weight: 700;
}
.bridge_q__ttl .num {
    color: var(--colorOR);
}
.bridge_q__lead {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 2em;
}
.bridge_q__lead p {
    font-size: 18px;
    font-weight: 700;
}
.bridge_q__lead strong {
    color: var(--colorOR);
    font-size: 122.2%;
    font-weight: inherit;
}
.bridge_graph {
    margin-top: 3em;
}
.bridge_graph.is_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7%;
}
.bridge_graph__txt {
    font-size: 18px;
    font-weight: 500;
}
.bridge_graph__txt > p {
    margin: 0.3em 0;
}
.bridge_graph__txt .num {
    display: inline-block;
    font-weight: 700;
    padding-right: 1em;
}
.bridge_graph__txt .txt_01 .num {
    color: var(--colorOR);
}
.bridge_graph__txt .txt_02 .num {
    color: #ffc066;
}
.bridge_graph__txt .txt_03 .num {
    color: #898989;
}
.bridge_graph__txt .txt_04 .num {
    color: #999;
}
.bridge_graph__txt .txt_05 .num {
    color: #ccc;
}
.bridge_graph > img {
    display: block;
    margin: 0 auto;
    width: 100%;
}
.bridge_graph.is_01 .bridge_graph__img,
.bridge_graph.is_03 .bridge_graph__img {
    width: 263px;
}
.bridge_graph.is_06 .bridge_graph__img {
    width: 267px;
}
.bridge_graph.is_02 img,
.bridge_graph.is_07 img {
    max-width: 821px;
}
.bridge_graph.is_04 img {
    max-width: 628px;
}
.bridge_graph.is_05 img {
    max-width: 740px;
}
.bridge_bnr {
    display: block;
    margin: 5em auto 0;
    max-width: 700px;
}
.bridge_btn {
    text-align: center;
    margin-top: 5em;
}
.bridge_btn__txt {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 0.6em;
}
.bridge_btn__button {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    display: block;
    font-size: 19px;
    font-weight: 700;
    padding: 22px 50px;
    position: relative;
    margin: 0 auto;
    max-width: 430px;
}
.bridge_btn__button.is_l {
    max-width: 500px;
}
.bridge_btn__button:hover,
.bridge_btn__button:active,
.bridge_btn__button:focus {
    color: #fff;
}
.bridge_btn__button::before {
    content: '';
    background: url(../images/common/icon_arrow_wh_gr.webp) no-repeat center/cover;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
}
.bridge_can {
    background: #fff4e5;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2%;
    padding: 2em 3em;
    margin-bottom: 4em;
}
.bridge_can dt {
    color: var(--colorOR);
    font-size: 26px;
    font-weight: 700;
}
.bridge_can dd {
    background: #fff;
    border-radius: 5px;
    padding: 1.4em;
    width: 64%;
}
.bridge_can__list {
    margin: 0 auto;
    max-width: 370px;
}
.bridge_can__list li {
    border-bottom: 1px solid var(--colorOR);
    font-weight: 500;
    padding-bottom: 4px;
    margin-bottom: 8px;
}
.bridge_merit > li {
    background: #fff4e5;
    border-radius: 10px;
    padding: 2em 3.2em;
    margin-bottom: 1.2em;
}
.bridge_merit__ttl {
    font-size: 22px;
    display: flex;
}
.bridge_merit__ttl .num {
    background: var(--colorOR);
    border-radius: 10px 0 0 10px;
    text-align: center;
    position: relative;
    width: 58px;
}
.bridge_merit__ttl .num > span {
    color: #fff;
    font-size: 145.5%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.bridge_merit__ttl .txt {
    background: #fff;
    border-radius: 0 10px 10px 0;
    color: var(--colorOR);
    font-weight: 700;
    line-height: 1.4;
    padding: 0.3em 1em;
    width: 86%;
}
.bridge_merit__txt {
    margin-top: 1em;
}
.bridge_accordion__item {
    margin-bottom: 1.4em;
}
.bridge_accordion__item .ttl {
    background: var(--colorOR);
    color: #fff;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 112.5%;
    font-weight: 700;
    position: relative;
    padding: 0.4em 1.2em;
}
.bridge_accordion__item .ttl::-webkit-details-marker {
    display: none;
}
.bridge_accordion__item .ttl::after {
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    transition: transform 0.3s;
}
.bridge_accordion__item[open] .ttl::after {
    transform: rotate(225deg);
}
.bridge_accordion__item .txt {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1.2em 0 2em;
    transition: transform 0.5s, opacity 0.5s;
}
.bridge_accordion__item[open] .txt {
    transform: none;
    opacity: 1;
}
.bridge_accordion__link {
    border-bottom: 1px solid var(--colorBL);
    color: var(--colorBL);
    display: inline-block;
    font-size: 93.8%;
    font-weight: 500;
    margin-top: 0.8em;
    padding-right: 1em;
    position: relative;
}
.bridge_accordion__link:hover {
    color: var(--colorBL);
}
.bridge_accordion__link::before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: solid 2px var(--colorBL);
    border-right: solid 2px var(--colorBL);
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 0.3em;
}
.bridge_img {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7%;
    margin: 4em 0;
}
.bridge_img__item {
    position: relative;
}
.bridge_img__item::before {
    content: '';
    background: #ffca7f;
    border-radius: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 182px;
    height: 182px;
}
.bridge_img__item > img {
    display: block;
    position: relative;
    top: -2px;
    margin: 0 auto;
    z-index: 1;
}
.bridge_img__item.is_01 > img {
    width: 265px;
}
.bridge_img__item.is_02 > img {
    width: 234px;
}
.bridge_img__item.is_03 > img {
    width: 254px;
}
@media (max-width: 1180px) {
    .bridge_box {
        padding: 4em 3em;
    }
    .bridge_box__ttl {
        font-size: 28px;
    }
    .bridge_graph__txt {
        font-size: 14px;
    }
    .bridge_q__lead p {
        font-size: 16px;
    }
    .bridge_btn {
        margin-top: 3.5em;
    }
    .bridge_bnr {
        margin: 3em auto 0;
        max-width: 480px;
    }
    .bridge_can {
        padding: 1.4em 2em;
    }
    .bridge_can dt {
        font-size: 18px;
    }
    .bridge_merit > li {
        padding: 1.6em 1.4em;
    }
    .bridge_merit__ttl {
        font-size: 18px;
    }
    .bridge_img {
        gap: 2%;
    }
    .bridge_img__item::before {
        width: 19.5vw;
        height: 19.5vw;
    }
    .bridge_img__item > img {
        top: 0px;
    }
}
@media (max-width: 768px) {
    .bridge_box {
        padding: 2.8em 1.6em;
        margin-bottom: 40px;
    }
    .bridge_box__ttl {
        font-size: 18px;
    }
    .bridge_box__ttl .num {
        width: 8em;
    }
    .bridge_item {
        margin-bottom: 4em;
    }
    .bridge_item__ttl {
        font-size: 14px;
    }
    .bridge_q {
        margin: 3.6em 0;
    }
    .bridge_q__ttl > span {
        font-size: 13px;
    }
    .bridge_q__lead p {
        font-size: 12px;
    }
    .bridge_graph.is_flex {
        flex-direction: column;
    }
    .bridge_graph.is_01 .bridge_graph__img,
    .bridge_graph.is_03 .bridge_graph__img,
    .bridge_graph.is_06 .bridge_graph__img {
        width: 40%;
    }
    .bridge_graph__txt {
        font-size: 9px;
        margin-top: 1em;
    }
    .bridge_btn__txt {
        font-size: 11px;
    }
    .bridge_btn__button {
        font-size: 13px;
        padding: 16px 30px;
    }
    .bridge_btn__button::before {
        width: 16px;
        height: 16px;
    }
    .bridge_can {
        flex-direction: column;
        padding: 1.4em 1em;
        margin-bottom: 3em;
    }
    .bridge_can dt {
        font-size: 14px;
        margin-bottom: 0.8em;
    }
    .bridge_can dd {
        width: 100%;
    }
    .bridge_can__list li {
        font-size: 11px;
    }
    .bridge_merit__ttl {
        font-size: 13px;
    }
    .bridge_merit__ttl .num {
        border-radius: 6px 0 0 6px;
        width: 30px;
    }
    .bridge_merit__ttl .txt {
        border-radius: 0 6px 6px 0;
        padding: 0.5em 1em;
    }
    .bridge_img {
        flex-direction: column;
        margin: 2.5em 0;
    }
    .bridge_img__item {
        margin-bottom: 2em;
    }
    .bridge_img__item::before {
        width: 30vw;
        height: 30vw;
    }
    .bridge_img__item.is_01 > img {
        width: 44vw;
    }
    .bridge_img__item.is_02 > img {
        width: 38vw;
    }
    .bridge_img__item.is_03 > img {
        width: 42vw;
    }
    .bridge_accordion__item {
        margin-bottom: 0.8em;
    }
    .bridge_accordion__item .ttl {
        font-size: 12px;
        padding: 0.6em 0.8em;
    }
    .bridge_accordion__item .ttl::after {
        width: 6px;
        height: 6px;
    }
    .bridge_accordion__item .txt {
        padding: 1em 0 1.6em;
    }
}
/* ---------------- bottom_cta ---------------- */
.bottom_cta {
    background: #ffaa33;
    position: relative;
    padding: 80px 0;
}
.bottom_cta__box {
    background: #fff;
    border-radius: 20px;
    margin: 0 auto;
    max-width: 1000px;
}
.bottom_cta .n_inner {
    position: relative;
    z-index: 1;
}
.bottom_cta__ttl {
    position: relative;
    text-align: center;
}
.bottom_cta__ttl .txt_top {
    border-bottom: 1px solid var(--colorBL);
    display: block;
    font-size: 22px;
    font-weight: 700;
    padding: 1.8em 1em 0.6em;
}
.bottom_cta__ttl .value {
    color: var(--colorBL);
    font-size: 172.7%;
    letter-spacing: 0.02em;
    line-height: 1;
    vertical-align: -5%;
    display: inline-block;
    margin: 0 4px;
}
.bottom_cta__ttl .txt_no1 {
    color: var(--colorBL);
    display: inline-block;
    font-size: 175%;
    line-height: 1;
    margin-left: 4px;
}
.bottom_cta__ttl .txt_no1 .num {
    display: inline-block;
    font-size: 120%;
    margin-left: -0.095em;
}
.bottom_cta__item {
    padding: 1.6em 1em;
}
.bottom_cta__logo {
    display: block;
    margin: 0 auto 20px;
    width: 287px;
}
.bottom_cta__lead {
    font-size: 16px;
    text-align: center;
}
.bottom_cta__btn_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
    margin: 24px auto;
}
.bottom_cta__btn_wrap .cta_btn {
    display: block;
    border-radius: 100px;
    font-weight: 700;
    padding: 16px;
    position: relative;
    text-align: center;
    max-width: 350px;
    width: 40%;
}
.bottom_cta__btn_wrap .cta_btn::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.bottom_cta__btn_wrap .cta_btn.btn_c01::before {
    background: url(../images/common/icon_arrow_wh.webp) no-repeat center/cover;
}
.bottom_cta__btn_wrap .cta_btn.btn_c02::before {
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/cover;
}
.bottom_cta__btn_wrap .cta_btn.btn_c04::before {
    background: url(../images/common/icon_arrow_wh_gr.webp) no-repeat center/cover;
}
.bottom_cta__btn_wrap .cta_btn.btn_c05::before {
    background: url(../images/common/icon_arrow_gr.webp) no-repeat center/cover;
}
.bottom_cta_pt02 .bottom_cta {
    background: #fff4e5;
}
.bottom_cta_pt02.is_bg_none .bottom_cta {
    background: transparent;
}
.bottom_cta_pt02 .bottom_cta .n_inner {
    padding: 0;
    max-width: none;
    width: 100%;
}
.bottom_cta_pt02 .bottom_cta__box {
    background: transparent;
    max-width: none;
}
@media (max-width: 768px) {
    .bottom_cta {
        padding: 50px 0;
    }
    .bottom_cta__ttl .txt_top {
        font-size: 14px;
        line-height: 1.8;
    }
    .bottom_cta__item {
        padding: 1.6em 1em 1.4em;
    }
    .bottom_cta__logo {
        margin: 0 auto 14px;
        width: 176px;
    }
    .bottom_cta__lead {
        font-size: 11px;
    }
    .bottom_cta__btn_wrap {
        flex-direction: column;
        margin: 16px auto 0;
    }
    .bottom_cta__btn_wrap .cta_btn {
        padding: 12px;
        max-width: 250px;
        width: 100%;
        margin-bottom: 14px;
    }
}
.bottom_cta__tel {
    color: #fff;
    text-align: center;
    margin-top: 4em;
}
.bottom_cta__tel .txt_m {
    font-size: 18px;
    font-weight: 700;
}
.bottom_cta__tel .txt_num {
    display: inline-block;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-left: 0.85em;
    position: relative;
}
.bottom_cta__tel .txt_num::before {
    content: '';
    background: url(../images/common/icon_tel.svg) no-repeat center/cover;
    position: absolute;
    left: 0;
    top: 52%;
    transform: translateY(-50%);
    width: 26px;
    height: 33px;
}
.bottom_cta__tel .txt_s {
    font-size: 87.5%;
    font-weight: 500;
    margin-top: 0.2em;
}
@media (max-width: 768px) {
    .bottom_cta__tel .txt_m {
        font-size: 13px;
    }
    .bottom_cta__tel .txt_num {
        font-size: 26px;
    }
    .bottom_cta__tel .txt_num::before {
        top: 54%;
        width: 18px;
        height: 23px;
    }
}
/* セミナー */
.seminar {
    background: #fff4e5;
}
.seminar.is_wh {
    background: #fff;
}
.seminar_head {
    background: url(../images/seminar/mv_bg.webp) no-repeat center/cover;
    position: relative;
    width: 100%;
    height: 330px;
}
.seminar_head__ttl {
    font-size: 30px;
    font-weight: 800;
    text-align: center;
    padding: 0 10px;
    position: absolute;
    top: 62%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
@media (max-width: 1180px) {
    .seminar_head__ttl {
        font-size: 26px;
    }
}
@media (max-width: 768px) {
    .seminar_head {
        background: url(../images/seminar/mv_bg_s.webp) no-repeat center/cover;
        height: 200px;
    }
    .seminar_head__ttl {
        font-size: 15px;
        top: 64%;
    }
}
.seminar_main {
    padding: 60px 0;
}
.seminar_tree {
    position: relative;
}
.seminar_tree::before {
    content: '';
    background: #e5ecf4;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 100%;
}
.seminar_tree__block {
    position: relative;
    text-align: center;
    margin-top: 100px;
}
.seminar_tree__block:first-of-type {
    margin-top: 0;
}
.seminar_tree__bubble {
    background: var(--colorBL);
    border-radius: 100px;
    display: inline-block;
    padding: 10px 50px 10px 60px;
    position: relative;
    margin-bottom: 10px;
}
.seminar_tree__bubble::before {
    content: '';
    background: var(--colorBL);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 12px;
}
.seminar_tree__bubble .icon_txt {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    position: relative;
}
.seminar_tree__bubble .icon_txt::before {
    content: '';
    background: url(../images/seminar/icon_exclamation.webp) no-repeat center/cover;
    position: absolute;
    top: 20%;
    left: -1.6em;
    transform: translateY(-50%);
    width: 17px;
    height: 52px;
}
.seminar_tree__step {
    background: #fff;
    border: 1px solid var(--colorOR);
    border-radius: 20px;
    padding: 40px 20px 34px;
    position: relative;
    margin: 40px auto;
    max-width: 800px;
}
.seminar_tree__step .num {
    background: var(--colorOR);
    border-radius: 100px;
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
    padding: 4px 4px 8px;
    position: absolute;
    top: -0.75em;
    left: 50%;
    transform: translateX(-50%);
    width: 160px;
}
.seminar_tree__step .ttl {
    font-size: 30px;
    font-weight: 800;
}
.seminar_tree__item01 {
    background: #fff;
    border-radius: 10px;
    padding: 70px 40px;
    margin-top: 40px;
}
.seminar_tree__item01 .item01_ttl {
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 0.6em;
}
.seminar_tree__item01 .lead {
    font-size: 18px;
    font-weight: 500;
}
.seminar_tree__item01 .lead > strong {
    font-weight: 800;
}
.seminar_tree__box {
    background: #fff;
    border: 1px solid var(--colorOR);
    border-radius: 10px;
    padding: 60px 50px;
    position: relative;
    overflow: hidden;
    margin: 40px auto 0;
    max-width: 1000px;
}
.seminar_tree__box::before {
    content: '';
    background: var(--colorOR);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
}
.seminar_tree__box_col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 5%;
    margin: 0 auto;
    max-width: 800px;
}
.seminar_tree__pic {
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.seminar_tree__pic img {
    display: block;
    max-width: 350px;
    width: 100%;
}
.seminar_tree__pic .tag {
    background: var(--colorOR);
    border-radius: 0 0 20px 0;
    color: #fff;
    font-weight: 600;
    text-align: center;
    padding: 3px;
    position: absolute;
    top: 0;
    left: 0;
    width: 110px;
}
.seminar_tree__detail {
    text-align: left;
}
.seminar_label {
    background: #e5ecf4;
    border-radius: 100px;
    color: var(--colorBL);
    display: inline-block;
    font-size: 13px;
    padding: 0.1em 1em;
    margin-right: 0.4em;
}
.seminar_tree__detail .detail_ttl {
    font-size: 22px;
    font-weight: 700;
    margin: 0.6em 0;
}
.seminar_tree__detail .detail_item {
    display: flex;
    align-items: flex-start;
}
.seminar_tree__detail .detail_item dt {
    margin-right: 0.2em;
    white-space: nowrap;
}
.seminar_btn {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 16px;
    position: relative;
    margin-top: 1em;
    max-width: 260px;
}
.seminar_btn.is_s {
    max-width: 240px;
}
.seminar_btn.is_l {
    font-size: 20px;
    margin: 30px auto 0;
    max-width: 380px;
}
.seminar_btn:hover {
    color: #fff;
}
.seminar_btn::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 1.6em;
}
.seminar_tree__item02 {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    margin: 40px auto;
}
.seminar_tree__item02.is_s {
    max-width: 1000px;
}
.seminar_tree__item02 .item02_ttl {
    background: #ffd599;
    font-size: 20px;
    font-weight: 800;
    padding: 0.8em;
}
.seminar_tree__item02_box {
    padding: 60px;
}
.seminar_tree__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6em;
}
.seminar_tree__list.is_col3 {
    gap: 6em 2em;
}
.seminar_tree__list li {
    max-width: 340px;
    width: 31.2%;
}
.seminar_tree__list.is_col1 li {
    max-width: 350px;
    width: 100%;
}
.seminar_tree__list .seminar_tree__detail {
    padding-top: 1.2em;
    min-height: 13em;
}
.seminar_tree__list .detail_ttl {
    font-size: 18px;
}
.seminar_tree__list .seminar_btn {
    margin: 1em auto 0;
    max-width: 300px;
}
.seminar_tree__info {
    background: #f8f8f8;
    padding: 2em 2.6em;
    text-align: left;
    margin: 60px auto;
    max-width: 800px;
}
.seminar_tree__info .ttl {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 1em;
}
.seminar_tree__info .txt {
    font-size: 12px;
    margin-bottom: 1em;
}
.seminar_tree__btn_box {
    margin: 0 auto;
    max-width: 800px;
}
.seminar_tree__btn_item {
    padding-bottom: 2.6em;
}
.seminar_tree__btn_item.pdb0 {
    padding-bottom: 0;
}
.seminar_tree__btn_item .ttl_01 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 1em;
}
.seminar_tree__btn_item .txt {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 1.4em;
}
.seminar_tree__btn_item .seminar_btn {
    margin: 0 auto;
}
.seminar_tree__btn_item .ttl_02 {
    margin-bottom: 1em;
    position: relative;
}
.seminar_tree__btn_item .ttl_02::before {
    content: '';
    background: var(--colorOR);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
}
.seminar_tree__btn_item .ttl_02 span {
    background: #fff;
    color: var(--colorOR);
    display: inline-block;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    padding: 0 1em;
}
.seminar_tree__btn_item .ttl_03 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0.8em;
}
.seminar_tree__btn_item .list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 4%;
}
.seminar_tree__btn_item .list li {
    width: 32%;
}
@media (max-width: 1180px) {
    .seminar_tree__bubble {
        padding: 12px 35px 12px 50px;
    }
    .seminar_tree__bubble .icon_txt {
        font-size: 18px;
    }
    .seminar_tree__step .ttl {
        font-size: 26px;
    }
    .seminar_tree__item01 .item01_ttl {
        font-size: 30px;
    }
    .seminar_tree__item01 .lead {
        font-size: 16px;
    }
    .seminar_tree__box_col {
        flex-direction: column;
    }
    .seminar_tree__detail {
        padding-top: 1.6em;
    }
    .seminar_tree__list,
    .seminar_tree__list.is_col3 {
        flex-wrap: wrap;
        gap: 5em 2em;
    }
    .seminar_tree__list li {
        width: 47%;
    }
    .seminar_tree__list .detail_ttl {
        font-size: 16px;
    }
    .seminar_btn {
        margin: 1em auto 0;
    }
    .seminar_tree__btn_item .list {
        flex-direction: column;
        align-items: center;
    }
    .seminar_tree__btn_item .list li {
        margin-top: 1.4em;
        width: 100%;
    }
}
@media (max-width: 768px) {
    .seminar_main {
        padding: 20px 0;
    }
    .seminar_tree::before {
        width: 10px;
    }
    .seminar_tree__block {
        margin-top: 50px;
    }
    .seminar_tree__bubble {
        padding: 6px 30px 6px 40px;
    }
    .seminar_tree__bubble::before {
        bottom: -6px;
    }
    .seminar_tree__bubble .icon_txt::before {
        width: 10px;
        height: 32px;
    }
    .seminar_tree__bubble .icon_txt {
        font-size: 11px;
    }
    .seminar_tree__step {
        border-radius: 10px;
        padding: 22px 10px 18px;
        margin: 20px auto;
    }
    .seminar_tree__step .num {
        font-size: 14px;
        top: -0.95em;
        width: 90px;
    }
    .seminar_tree__step .ttl {
        font-size: 14px;
    }
    .seminar_tree__item01 .item01_ttl {
        font-size: 18px;
    }
    .seminar_tree__item01 .lead {
        font-size: 12px;
    }
    .seminar_tree__item01 {
        border-radius: 5px;
        padding: 50px 20px;
        margin-top: 20px;
    }
    .seminar_tree__box {
        border-radius: 5px;
        padding: 40px 20px;
        margin: 20px auto 0;
    }
    .seminar_tree__box_col {
        max-width: 300px;
        margin: 0 auto;
    }
    .seminar_tree__box::before {
        height: 6px;
    }
    .seminar_label {
        font-size: 11px;
    }
    .seminar_tree__detail .detail_ttl {
        font-size: 14px;
    }
    .seminar_btn {
        font-size: 14px;
        padding: 12px;
    }
    .seminar_btn.is_l {
        font-size: 15px;
        margin-top: 20px;
        max-width: 260px;
    }
    .seminar_tree__detail {
        width: 100%;
    }
    .seminar_tree__detail .detail_item {
        font-size: 11px;
    }
    .seminar_tree__item02 .item02_ttl {
        font-size: 14px;
        padding: 0.6em;
    }
    .seminar_tree__item02 {
        border-radius: 5px;
        margin: 20px auto;
    }
    .seminar_tree__item02_box {
        padding: 50px 30px;
    }
    .seminar_tree__list,
    .seminar_tree__list.is_col3 {
        flex-direction: column;
        gap: 5em;
        margin: 0 auto;
        max-width: 270px;
    }
    .seminar_tree__list li {
        width: 100%;
    }
    .seminar_tree__pic {
        border-radius: 5px;
    }
    .seminar_tree__pic .tag {
        border-radius: 0 0 10px 0;
        width: 80px;
    }
    .seminar_tree__list .seminar_tree__detail {
        padding-top: 1.6em;
        min-height: auto;
    }
    .seminar_tree__info {
        padding: 1.4em;
        margin: 20px auto 40px;
    }
    .seminar_tree__info .ttl {
        font-size: 14px;
        margin-bottom: 0.6em;
    }
    .seminar_tree__info .txt {
        font-size: 11px;
    }
    .seminar_tree__btn_item .ttl_01 {
        font-size: 16px;
    }
    .seminar_tree__btn_item .txt {
        font-size: 12px;
    }
    .seminar_tree__btn_item .ttl_02 span {
        font-size: 14px;
    }
    .seminar_tree__btn_item .ttl_03 {
        font-size: 14px;
        margin-bottom: 0.6em;
    }
}
.seminar_panel {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 30px;
}
.seminar_panel__head {
    background: var(--colorOR);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    padding: 16px 40px;
}
.seminar_panel__main {
    background: #fff;
    font-size: 15px;
    padding: 30px 40px 50px;
}
.seminar_panel__main th,
.seminar_panel__main td {
    border-bottom: 1px solid #e3ded6;
    padding: 1.2em 0.2em;
}
.seminar_panel__main th {
    font-weight: 500;
    width: 9.5em;
}
.seminar_panel__main ul {
    list-style-type: disc;
    padding-left: 1.6em;
    margin: 0.4em 0;
}
.seminar_main .text-danger,
.wpcf7-not-valid-tip {
    color: #ef3131 !important;
    font-weight: 500;
}
.seminar_main .text-link {
    color: #ff9500 !important;
    font-weight: 500;
}
@media (max-width: 768px) {
    .seminar_panel {
        border-radius: 5px;
        margin-bottom: 20px;
    }
    .seminar_panel__head {
        font-size: 13px;
        padding: 10px 16px;
    }
    .seminar_panel__main {
        font-size: 11px;
        padding: 10px 16px 20px;
    }
    .seminar_panel__main th {
        width: 8.5em;
    }
}
/* seminar_tab */
.seminar_tab {
    display: flex;
    flex-wrap: wrap;
    gap: 0 8px;
    padding-top: 4em;
}
.seminar_tab .tab_item {
    border-radius: 24px 24px 0 0;
    background: #ffd599;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    flex: 1 1;
    order: -1;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    padding: 0.8em 0.6em;
}
.seminar_tab .tab_item:hover {
    opacity: 0.8;
}
.seminar_tab .tab_item input {
    display: none;
}
.seminar_tab .tab_contents {
    border-top: 3px solid var(--colorOR);
    display: none;
    width: 100%;
    padding: 6em 0 4em;
}
.seminar_tab .tab_item:has(:checked) {
    background: var(--colorOR);
}
.seminar_tab .tab_item:has(:checked) + .tab_contents {
    display: block;
}
@media (max-width: 1180px) {
    .seminar_tab .tab_item {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .seminar_tab {
        gap: 0 4px;
    }
    .seminar_tab .tab_item {
        border-radius: 10px 10px 0 0;
        font-size: 11px;
        line-height: 1.4;
        padding: 0.6em 0.4em;
    }
    .seminar_tab .tab_contents {
        padding: 4em 0 2em;
    }
}
/* seminar_list_block */
.seminar_list_block {
    background: #fff;
    border-radius: 10px;
    padding: 5em 3em 7em;
    margin: 0 auto;
}
.seminar_list_block .ttl_l {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 2.6em;
    text-align: center;
}
.seminar_list_block .txt_l {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}
.seminar_list_block .seminar_tree__list {
    justify-content: flex-start;
    max-width: 1086px;
    margin: 0 auto;
    gap: 6em 2em;
}
.seminar_list_block .seminar_tree__list li {
    width: 31.2%;
}
.seminar_list_block .seminar_tree__list .seminar_tree__detail {
    padding-top: 1.2em;
    min-height: 8.4em;
}
@media (max-width: 1180px) {
    .seminar_list_block .ttl_l {
        font-size: 26px;
    }
    .seminar_list_block .seminar_tree__list {
        max-width: 710px;
    }
    .seminar_list_block .seminar_tree__list li {
        width: 47.4%;
    }
}
@media (max-width: 768px) {
    .seminar_list_block {
        border-radius: 5px;
        padding: 4em 2em 5em;
    }
    .seminar_list_block .ttl_l {
        font-size: 18px;
        margin-bottom: 2em;
    }
    .seminar_list_block .txt_l {
        font-size: 12px;
    }
    .seminar_list_block .seminar_tree__list {
        flex-direction: column;
        gap: 5em;
        margin: 0 auto;
        max-width: 270px;
    }
    .seminar_list_block .seminar_tree__list li {
        width: 100%;
    }
    .seminar_list_block .seminar_tree__list .seminar_tree__detail {
        min-height: auto;
    }
}

/* 東京・刈谷・京都開催 */
.seminar_panel.seminar_panel--renewal .seminar_panel__head {
    color: #ff9226;
    background: 0 0;
    font-size: 24px;
    padding: 0 40px;
}
.seminar_panel.seminar_panel--renewal .seminar_panel__main {
    background: none;
    padding: 20px 40px 30px;
}
.seminar_panel__point {
    color: #1ea1aa;
    font-size: 18px;
    font-weight: 700;
}
.seminar_panel__row--sep {
    border-top: 1px solid #e3ded6;
}

.mb20 {
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    .seminar_panel.seminar_panel--renewal .seminar_panel__head {
        font-size: 18px;
        padding: 0 16px;
    }
    .seminar_panel.seminar_panel--renewal .seminar_panel__main {
        padding: 10px 16px 10px;
    }
    .seminar_panel__point {
        font-size: 14px;
    }
    .mb20 {
        margin-bottom: 10px;
    }
}

/* 機能ページ */
.func_gd {
    background: #fffefb;
    position: relative;
}
.func_gd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: radial-gradient(circle at 86% 35%, rgba(255, 159, 25, 0.14), rgba(255, 255, 255, 0) 24%);
    background-size: 100% 60%;
    background-repeat: repeat-y;
}
.func_gd.is_l::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: radial-gradient(circle at 86% 22%, rgba(255, 159, 25, 0.14), rgba(255, 255, 255, 0) 24%);
    background-size: 100% 50%;
    background-repeat: repeat-y;
}
.func_gd.is_l::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: radial-gradient(circle at 14% 56%, rgba(255, 159, 25, 0.14), rgba(255, 255, 255, 0) 30%);
    background-size: 100% 50%;
    background-repeat: repeat-y;
}
.func_main {
    padding: 50px 0;
    position: relative;
}
.func_main__ttl {
    color: #000;
    font-size: 40px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 1.2em;
}
.func_main__ttl .txt_irepo {
    font-weight: 700;
    font-size: 125%;
    letter-spacing: 0.04em;
}
.func_main__ttl .txt_irepo_s {
    font-weight: inherit;
    font-size: 45%;
    margin-left: 0.2em;
}
/* .func_main__ttl > img {
    display: inline-block;
    margin-right: 0.4em;
    max-width: 400px;
    width: 100%;
    vertical-align: -64%;
} */
.func_main__ttl > span {
    display: inline-block;
    font-size: 160%;
    font-weight: 800;
    padding: 0 0.1em;
}
.func_main__lead {
    font-size: 26px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 3em;
}
.func_main__menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6%;
}
.func_main__menu li {
    background: #fff;
    border: 2px solid var(--colorOR);
    border-radius: 20px;
    box-shadow: 0px 0px 16px -4px #ff9500;
    text-align: center;
    margin-bottom: 4.6em;
    width: 46.8%;
}
.func_main__menu a {
    display: block;
    padding: 3em;
}
.func_main__menu .ttl {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 1em;
}
.func_main__menu .ttl .txt_sub {
    font-size: 85%;
    font-weight: inherit;
}
.func_main__menu .ttl .num {
    font-size: 125%;
}
.func_main__menu img {
    display: block;
    margin: 0 auto;
    max-width: 250px;
    width: 100%;
}
.func_main__menu_m {
    margin: 1.6em auto 0;
    max-width: 900px;
}
.func_main__menu_m li {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 20px -4px rgba(255, 159, 25, 0.7);
    position: relative;
    margin-bottom: 3em;
}
.func_main__menu_m a {
    display: block;
    padding: 4em;
}
.func_main__menu_m .ttl {
    font-size: 28px;
    font-weight: 700;
}
.func_main__menu_m .menu_box {
    text-align: center;
    width: 62%;
}
.func_main__menu_m img {
    display: block;
    position: absolute;
    left: 65%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 180px;
    width: 100%;
}
.func_main__menu_s {
    margin: 4em auto;
    max-width: 900px;
}
.func_main__menu_s .modal_link > span {
    color: #000;
    display: block;
    position: relative;
    font-size: 20px;
    font-weight: 500;
}
.func_main__menu_s .modal_link > span::before {
    content: '';
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/cover;
    position: absolute;
    right: -2em;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
@media (max-width: 1180px) {
    .func_main__ttl {
        font-size: 32px;
    }
    /* .func_main__ttl > img {
        max-width: 310px;
    } */
    .func_main__lead {
        font-size: 20px;
    }
    .func_main__menu {
        gap: 4%;
    }
    .func_main__menu .ttl {
        font-size: 20px;
    }
    .func_main__menu li {
        margin-bottom: 2.4em;
    }
    .func_main__menu_m {
        max-width: 640px;
    }
    .func_main__menu_m .ttl {
        font-size: 20px;
    }
    .func_main__menu_m a {
        padding: 3em;
    }
    .func_main__menu_m img {
        max-width: 140px;
    }
    .func_main__menu_s li {
        text-align: center;
        padding-right: 1.6em;
    }
}
@media (max-width: 768px) {
    .func_main {
        padding: 30px 0;
    }
    .func_main__ttl {
        font-size: 20px;
    }
    /* .func_main__ttl > img {
        margin-right: 0.2em;
        max-width: 154px;
        vertical-align: -46%;
    } */
    .func_main__lead {
        font-size: 14px;
        margin-bottom: 2em;
    }
    .func_main__menu {
        align-items: center;
        flex-direction: column;
    }
    .func_main__menu li {
        border-radius: 10px;
        margin-bottom: 1.6em;
        max-width: 300px;
        width: 100%;
    }
    .func_main__menu a {
        padding: 2em;
    }
    .func_main__menu .ttl {
        font-size: 16px;
    }
    .func_main__menu_m li {
        border-radius: 10px;
        margin: 0 auto 1.6em;
        max-width: 300px;
        width: 100%;
    }
    .func_main__menu_m a {
        padding: 2em;
    }
    .func_main__menu_m .menu_box {
        width: 100%;
    }
    .func_main__menu_m .ttl {
        font-size: 15px;
        margin-bottom: 1em;
    }
    .func_main__menu_m img {
        max-width: 110px;
        position: static;
        transform: none;
        margin: 0 auto;
    }
    .func_main__menu_s {
        margin-top: 3em;
    }
    .func_main__menu_s .modal_link > span {
        font-size: 15px;
    }
    .func_main__menu_s .modal_link > span::before {
        top: 54%;
        width: 18px;
        height: 18px;
    }
}

.func_case {
    position: relative;
}
.func_case::before {
    content: '';
    background: url(../images/top/bg_case.webp) no-repeat center top / cover;
    display: block;
    height: 300px;
    position: relative;
    top: 5px;
    width: 100%;
}
.func_case__bg {
    background: rgb(255, 159, 25);
    background: rgb(255, 159, 25);
    background: linear-gradient(180deg, rgba(255, 159, 25, 1) 0%, rgba(255, 238, 216, 1) 60%, rgba(255, 254, 252, 1) 100%);
}
.func_case__ttl {
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    position: absolute;
    top: 170px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: 1;
}
.func_case__menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.4%;
    position: relative;
    margin: -2em auto 4em;
}
.func_case__menu li {
    margin-bottom: 2em;
    width: 380px;
}
.func_case__menu li.item_l {
    width: 500px;
}
.func_case__menu a {
    background: #fff;
    border: 2px solid #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 16px 0px rgba(255, 149, 0, 0.9);
    display: block;
    font-size: 15px;
    padding: 2em 4em 2em 2.2em;
    position: relative;
    overflow: hidden;
}
.func_case__menu a::before {
    content: '';
    background: var(--colorBL);
    position: absolute;
    top: 0;
    right: 0;
    width: 3.2em;
    height: 100%;
}
.func_case__menu a::after {
    content: '';
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 1.5em;
    width: 0.6em;
    height: 0.6em;
}
.func_case__menu a > strong {
    font-size: 130%;
    font-weight: 700;
}
.func_case__menu a > strong > span {
    font-weight: 500;
}
.func_case__list {
    position: relative;
    margin: 0 auto 4em;
    max-width: 900px;
}
.func_case__list li {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 20px 0px rgba(255, 149, 0, 0.3);
    position: relative;
    margin-bottom: 2.6em;
}
.func_case__list a {
    display: block;
    padding: 4em;
}
.func_case__list .item {
    text-align: center;
    margin: 0 0 0 auto;
    width: 48%;
}
.func_case__list .txt {
    font-size: 20px;
    font-weight: 700;
}
.func_case__list img {
    display: block;
    position: absolute;
    left: 6%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 355px;
    width: 42%;
}
@media (max-width: 1180px) {
    .func_case__menu li,
    .func_case__menu li.item_l {
        width: 48%;
    }
    .func_case__menu a {
        font-size: 12px;
    }
    .func_case__list a {
        padding: 3em;
    }
    .func_case__list .txt {
        font-size: 18px;
    }
    .func_case__list img {
        left: 8%;
        width: 34%;
    }
}
@media (max-width: 768px) {
    .func_case::before {
        height: 120px;
        background-size: 180%;
    }
    .func_case__bg {
        margin-top: -30px;
        padding-top: 60px;
    }
    .func_case__ttl {
        font-size: 22px;
        top: 80px;
    }
    .func_case__menu {
        margin-top: 0;
    }
    .func_case__menu li,
    .func_case__menu li.item_l {
        margin-bottom: 1em;
        max-width: 360px;
        width: 100%;
    }
    .func_case__menu a {
        border-radius: 10px;
        font-size: 12px;
        padding: 1.4em 3em 1.4em 1.8em;
    }
    .func_case__list li {
        border-radius: 10px;
        max-width: 300px;
        margin: 0 auto 1.4em;
    }
    .func_case__list a {
        padding: 2em;
    }
    .func_case__list .item {
        width: 100%;
    }
    .func_case__list .txt {
        font-size: 15px;
        margin-bottom: 1em;
    }
    .func_case__list img {
        position: static;
        transform: none;
        margin: 0 auto;
        width: 200px;
    }
}
.func_product {
    background: #fffefb;
    padding: 3.5em 0 6.5em;
    position: relative;
}
.func_product::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: radial-gradient(circle at 86% 50%, rgba(255, 159, 25, 0.14), rgba(255, 255, 255, 0) 30%);
    background-size: 100%;
    background-repeat: no-repeat;
}
.func_product__ttl {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 2em;
}
.func_product__ttl .txt_irepo {
    font-weight: 700;
    font-size: 125%;
    letter-spacing: 0.04em;
}
.func_product__ttl .txt_irepo_s {
    font-weight: inherit;
    font-size: 45%;
    margin-left: 0.2em;
}
/* .func_product__ttl img {
    display: inline-block;
    margin-right: 0.4em;
    max-width: 218px;
    width: 100%;
    vertical-align: -38%;
} */
.func_product__menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1100px;
}
.func_product__menu li {
    background: #fff;
    border-radius: 30px;
    box-shadow: 0px 0px 30px 3px rgba(255, 149, 0, 0.2);
    position: relative;
    text-align: center;
    margin-bottom: 3.8em;
    width: 47.5%;
}
.func_product__menu a {
    display: block;
    padding: 3.4em 1.4em;
}
.func_product__menu .txt_s {
    font-weight: 700;
}
.func_product__menu .txt_s .txt_irepo {
    font-weight: 700;
    font-size: 125%;
    letter-spacing: 0.04em;
}
.func_product__menu .txt_s .txt_irepo_s {
    font-weight: inherit;
    font-size: 50%;
    margin-left: 0.2em;
}
/* .func_product__menu .txt_s img {
    display: inline-block;
    max-width: 123px;
    width: 100%;
    margin-right: 0.4em;
} */
.func_product__menu .logo {
    display: block;
    margin: 2em auto;
    max-width: 300px;
    width: 100%;
}
.func_product__menu .txt_m {
    font-size: 20px;
    font-weight: 700;
    margin: 1em auto;
    min-height: 3.6em;
}
@media (max-width: 1180px) {
    .func_product__menu li {
        margin-bottom: 3em;
    }
    /* .func_product__menu .txt_s img {
        display: block;
        margin: 0 auto;
    } */
    .func_product__menu .txt_m {
        font-size: 16px;
    }
    .func_product__menu .logo {
        max-width: 200px;
    }
}
@media (max-width: 768px) {
    .func_product__ttl {
        font-size: 18px;
    }
    /* .func_product__ttl img {
        max-width: 140px;
        width: 100%;
        vertical-align: -42%;
    } */
    .func_product__menu {
        gap: 4%;
    }
    .func_product__menu li {
        border-radius: 15px;
        box-shadow: 0px 0px 20px 3px rgba(255, 149, 0, 0.3);
        margin: 0 auto 2em;
        max-width: 340px;
        width: 88%;
    }
    .func_product__menu a {
        padding: 2em;
    }
    /* .func_product__menu .txt_s img {
        display: block;
        max-width: 100px;
    } */
    .func_product__menu .txt_m {
        font-size: 15px;
        margin: 0.6em auto;
        min-height: auto;
    }
    .func_product__menu .logo {
        margin: 1em auto;
        max-width: 170px;
    }
}
.func_product#products {
    scroll-margin-top: 180px;
}
@media (max-width: 768px) {
    .func_product#products {
        scroll-margin-top: 50px;
    }
}
.func .modal-content {
    padding: 3em;
    margin: 0 auto;
    max-width: 1200px;
}
.func .modal-content__title {
    font-size: 24px;
    margin-bottom: 1em;
}
.func .modal-content__lead strong,
.func .modal-content__lead span {
    font-weight: 700;
}
.func .modal-content .img_block {
    display: block;
    margin: 2em auto 1em;
    max-width: 900px;
}
.func .modal-dialog {
    margin: 4em 0;
    padding: 0 1em;
}
.func .modal__close {
    position: absolute;
    top: -0.5em;
    right: -0.5em;
    width: 50px;
}
@media (max-width: 768px) {
    .func .modal-content {
        border-radius: 15px;
        padding: 2em 1em;
    }
    .func .modal-content__title {
        font-size: 16px;
    }
    .func .modal__close {
        position: absolute;
        top: -0.8em;
        right: 0.3em;
        width: 30px;
    }
}

/* func_menu */
.func_menu {
    padding: 3em 0;
    position: relative;
    z-index: 1;
}
.func_menu .menu_l {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.8%;
}
.func_menu .menu_l li {
    flex: 1;
}
.func_menu .menu_l a {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 20px 0px rgba(255, 149, 0, 0.3);
    color: #3a3a3a;
    display: block;
    text-align: center;
    padding: 1.6em 1em;
}
.func_menu .menu_l a:hover {
    background: var(--colorOR);
    color: #fff !important;
    opacity: 1;
}
.func_menu .menu_l .current a {
    background: radial-gradient(circle, rgba(255, 182, 80, 1) 0%, rgba(255, 170, 53, 1) 50%, rgba(255, 162, 31, 1) 100%);
    border: 2px solid #fff;
    color: #fff !important;
    pointer-events: none;
}
.func_menu .menu_l a > span {
    font-weight: 700;
}
.func_menu .menu_m {
    display: flex;
    gap: 3%;
    margin-top: 3em;
}
.func_menu .menu_m a {
    display: block;
}
.func_menu .menu_m a > span {
    color: #000;
    display: block;
    position: relative;
    font-size: 14px;
    font-weight: 500;
    padding-right: 2em;
}
.func_menu .menu_m a > span::before {
    content: '';
    background: url(../images/common/icon_arrow_or.webp) no-repeat center / cover;
    position: absolute;
    right: 0;
    top: 52%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
}
.btm_func_menu {
    border-top: 1px solid var(--colorOR);
    margin: 8em 0;
}
@media (max-width: 1180px) {
    .func_menu .menu_m {
        flex-wrap: wrap;
    }
    .func_menu .menu_m li {
        margin-bottom: 0.8em;
    }
}
@media (max-width: 768px) {
    .func_menu {
        padding: 1em 0 2em;
    }
    .func_menu .menu_l {
        flex-wrap: wrap;
    }
    .func_menu .menu_l li {
        flex: none;
        width: 48.5%;
        margin-bottom: 0.7em;
    }
    .func_menu .menu_l a {
        border-radius: 6px;
        padding: 1em;
    }
    .func_menu .menu_m {
        display: flex;
        gap: 6%;
        margin-top: 2em;
    }
    .func_menu .menu_m a > span {
        font-size: 12px;
        padding-right: 1.6em;
    }
    .func_menu .menu_m a > span::before {
        width: 13px;
        height: 13px;
    }
}

/* func_head */
.func_head {
    border-bottom: 1px solid var(--colorOR);
    position: relative;
    padding: 5em 0 7em;
    z-index: 1;
}
.func_head .item {
    width: 76%;
}
.func_head .ttl {
    color: #000;
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.4;
    margin-bottom: 0.8em;
}
.func_head .ttl > span {
    font-size: 75%;
    font-weight: 700;
}
.func_head .ttl > .txt_m {
    font-size: 85%;
    font-weight: 700;
}
.func_head .lead {
    font-size: 26px;
    font-weight: 500;
}
.func_head .lead > span {
    font-weight: 800;
}
.func_head .pic {
    position: absolute;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
    width: 230px;
}
@media (max-width: 1180px) {
    .func_head .ttl {
        font-size: 36px;
    }
    .func_head .lead {
        font-size: 22px;
    }
    .func_head .pic {
        width: 20%;
    }
}
@media (max-width: 768px) {
    .func_head {
        padding: 3em 0 4em;
    }
    .func_head .item {
        width: 100%;
    }
    .func_head .pic {
        display: block;
        margin: 3em auto 1.8em;
        position: static;
        transform: none;
        width: 150px;
    }
    .func_head .ttl {
        font-size: 22px;
        text-align: center;
    }
    .func_head .lead {
        font-size: 15px;
        text-align: center;
    }
}

/* func_contents */
.func_contents {
    position: relative;
    z-index: 1;
}
.func_point {
    margin: 7em 0 5em;
    position: relative;
}
.func_point .item {
    width: 74%;
}
.func_point .num {
    color: var(--colorOR);
    font-size: 30px;
    margin-bottom: 0.2em;
}
.func_point .ttl {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 0.8em;
}
.func_point .txt {
    font-size: 18px;
}
.func_point .pic {
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    width: 230px;
}
@media (max-width: 1180px) {
    .func_point .item {
        width: 70%;
    }
    .func_point .num {
        font-size: 26px;
    }
    .func_point .ttl {
        font-size: 24px;
    }
    .func_point .txt {
        font-size: 16px;
    }
    .func_point .pic {
        right: 2%;
        width: 20%;
    }
}
@media (max-width: 768px) {
    .func_point {
        margin: 5em 0 2em;
    }
    .func_point .item {
        width: 100%;
    }
    .func_point .num {
        font-size: 16px;
        text-align: center;
    }
    .func_point .ttl {
        font-size: 18px;
        text-align: center;
    }
    .func_point .txt {
        font-size: 13px;
    }
    .func_point .pic {
        display: block;
        margin: 2.4em auto;
        position: static;
        transform: none;
        width: 140px;
    }
}
/* func_list */
.func_list {
    padding: 3em 0;
}
.func_list__ttl {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.4em;
}
.func_list .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.func_list .list li {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 0px 16px 0px rgba(255, 149, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 4%;
    padding: 2em 1.4em 2em 1.6em;
    margin-bottom: 1.6em;
    width: 48.5%;
}
.func_list .list img {
    width: 34px;
}
.func_list .list .name {
    font-size: 16px;
    font-weight: 700;
    width: 28%;
}
.func_list .list .txt {
    font-size: 13px;
    width: 56%;
}
.func_list .list .txt .note {
    font-size: 10px;
    letter-spacing: 0;
    display: inline-block;
}
@media (max-width: 1180px) {
    .func_list .list li {
        flex-wrap: wrap;
    }
    .func_list .list .name {
        width: 80%;
    }
    .func_list .list .txt {
        margin-top: 0.4em;
        width: 100%;
    }
}
@media (max-width: 768px) {
    .func_list__ttl {
        font-size: 18px;
        margin-bottom: 2em;
    }
    .func_list .list {
        flex-direction: column;
    }
    .func_list .list li {
        border-radius: 10px;
        padding: 1.6em;
        margin-bottom: 1em;
        width: 100%;
    }
    .func_list .list .name {
        font-size: 13px;
    }
    .func_list .list .txt {
        font-size: 11px;
        margin-top: 0.6em;
    }
    .func_list .list img {
        width: 22px;
    }
}

/* func_box */
.func_box {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 0px 20px 0px rgba(255, 149, 0, 0.2);
    text-align: center;
    padding: 4em;
    margin: 5.4em 0;
}
.func_box__ttl {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 1.2em;
}
.func_box__ttl_s {
    color: var(--colorOR);
    font-size: 18px;
    font-weight: 700;
    margin: 2em 0 1.2em;
}
.func_box .lead {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 1.6em;
}
.func_box .lead > span {
    color: var(--colorOR);
    font-weight: inherit;
}
.func_box .lead > span > span {
    font-size: 150%;
    font-weight: 700;
    line-height: 1;
}
.func_box .txt > span {
    color: var(--colorOR);
}
.func_box .txt.is_note {
    font-size: 12px;
}
.func_box .txt.is_note.mgb {
    margin-bottom: 1.4em;
}
.func_box .pic_l {
    display: block;
    margin: 3em auto 0;
}
.func_box .step_list {
    display: flex;
    justify-content: center;
    gap: 6%;
    margin-top: 3em;
}
.func_box .step_list li {
    position: relative;
    max-width: 240px;
    width: 28%;
}
.func_box .step_list li:not(:last-child):before {
    content: '';
    border-style: solid;
    border-width: 11px 0 11px 18px;
    border-color: transparent transparent transparent var(--colorOR);
    position: absolute;
    right: -18%;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
}
.func_box .step_list .en {
    background: var(--colorOR);
    border-radius: 100px;
    display: block;
    color: #fff;
    font-weight: 700;
    margin: 0 auto 2em;
    width: 86px;
}
.func_box .step_list .txt {
    font-size: 14px;
    text-align: left;
    margin-top: 1em;
}
.func_box .sign_box {
    text-align: center;
    margin-top: 4em;
}
.func_box .sign_box .ttl {
    color: var(--colorBL);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 1.6em;
}
.func_box .sign_box .list {
    display: flex;
    justify-content: center;
    gap: 1.4%;
}
.func_box .sign_box .list li {
    background: #e5ecf4;
    border-radius: 10px;
    font-size: 14px;
    padding: 3em 1em;
    max-width: 214px;
    width: 100%;
}
.func_box .sign_box .list li > span {
    display: block;
    font-size: 130%;
    font-weight: 700;
}
.func_box .disc {
    max-width: 700px;
    margin: 0 auto;
}
.func_box .disc > li {
    list-style-type: none;
    position: relative;
    text-align: left;
    margin-bottom: 0.4em;
}
.func_box .disc > li span {
    color: var(--colorOR);
}
.func_box .disc > li::before {
    content: '';
    display: inline-block;
    background-color: var(--colorOR);
    border-radius: 50%;
    margin-right: 0.4em;
    width: 14px;
    height: 14px;
}
.func_box .alignment {
    display: flex;
    justify-content: center;
    margin-top: 2.6em;
}
.func_box .alignment .txt_l {
    font-weight: 700;
    margin-bottom: 2em;
}
.func_box .alignment .item01 .txt_l {
    color: #1aa1a9;
}
.func_box .alignment .item02 .txt_l {
    color: var(--colorOR);
}
.func_box .alignment .item02 .txt_m {
    font-size: 13px;
    line-height: 1.5;
    margin-top: 1em;
}
.func_box .alignment img {
    display: block;
    margin: 0 auto;
    max-width: 290px;
    width: 100%;
}
.func_box .alignment .item_arrow {
    position: relative;
    width: 210px;
}
.func_box .alignment .arrow {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 210px;
    height: 63.6px;
    background: #f2f2f2;
    clip-path: polygon(0 21.7%, 84.8% 21.7%, 84.8% 0, 100% 50%, 84.8% 100%, 84.8% 78.3%, 0 78.3%);
}
.func_box .alignment .arrow > span {
    display: block;
    padding: 1.4em 0;
    font-size: 14px;
    font-weight: 500;
    margin-left: -0.6em;
}
.func_box .dl_list {
    display: flex;
    justify-content: center;
    gap: 3.4%;
    margin-top: 4em;
}
.func_box .dl_list li {
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3em 2.5em;
    position: relative;
    max-width: 430px;
    width: 100%;
}
.func_box .dl_list .item01 {
    border: 1px solid var(--colorBL);
}
.func_box .dl_list .item02 {
    border: 1px solid var(--colorOR);
}
.func_box .dl_list .ttl {
    border-radius: 100px;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 700;
    padding: 0.3em;
    position: absolute;
    top: -1em;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    width: 265px;
}
.func_box .dl_list .item01 .ttl {
    background: var(--colorBL);
}
.func_box .dl_list .item02 .ttl {
    background: var(--colorOR);
}
.func_box .dl_list .txt {
    text-align: left;
    font-size: 14px;
}
.func_box .tag_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6em;
}
.func_box .tag_item.w800 {
    margin: 0 auto;
    max-width: 800px;
}
.func_box .tag_item > span {
    background: var(--colorOR);
    border-radius: 100px;
    color: #fff;
    font-size: 90%;
    font-weight: 700;
    display: inline-block;
    padding: 0.1em 1.6em;
}
.func_box .txt_list {
    display: flex;
    justify-content: center;
    gap: 0.8em;
    margin-top: 2em;
}
.func_box .txt_list li {
    background: #fff4e5;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 90%;
    padding: 2em 1em;
    width: 48%;
}
.func_box .txt_list p > span {
    font-weight: 700;
}
.func_box .pw_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.6em 1.2em;
}
.func_box .pw_list li {
    border: 1px solid var(--colorOR);
    border-radius: 10px;
    padding: 0.8em 1.6em 1.6em;
    width: 30%;
}
.func_box .pw_list__head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8%;
    min-height: 5em;
}
.func_box .pw_list__head > img {
    display: inline-block;
    width: auto;
    height: 50px;
}
.func_box .pw_list__head > p {
    color: var(--colorOR);
    font-size: 15px;
    font-weight: 700;
    text-align: left;
}
.func_box .pw_list__txt {
    font-size: 13px;
    text-align: left;
}
.func_box .device_list {
    max-width: 640px;
    margin: 3em auto 0;
}
.func_box .device_list li {
    font-size: 90%;
    text-align: left;
    padding-left: 30px;
    position: relative;
}
.func_box .device_list li + li {
    padding-top: 1.2em;
}
.func_box .device_list li::before {
    background-color: var(--colorOR);
    border-radius: 50%;
    content: '';
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 13px;
    height: 13px;
}
.func_box .device_list li + li::before {
    top: 22px;
}
.func_box .device_list li::after {
    background-color: var(--colorOR);
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 6px;
    width: 1px;
    height: 100%;
}
.func_box .device_list li:first-child::after {
    top: 5px;
    bottom: 0;
    height: auto !important;
}
.func_box .device_list li:last-child:after {
    top: 0;
    bottom: calc(100% - 27px);
    height: auto !important;
}
.func_box .device_list li > strong {
    font-weight: 700;
}
.func_box .device_list li .em {
    color: var(--colorOR);
}
.func_box .data_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.8em;
    margin: 2em 0 3em;
}
.func_box .data_list li {
    background: #fff4e5;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.4em 1em;
    width: 32%;
}
.func_box .data_list li > p {
    font-size: 90%;
    font-weight: 700;
}
.func_box .data_list .txt_note {
    display: block;
    font-size: 12px;
    font-weight: normal;
}
.func_box .dl_btn {
    background: var(--colorOR);
    border-radius: 100px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 16px;
    position: relative;
    margin: 3em auto 0;
    max-width: 460px;
}
.func_box .dl_btn::before {
    content: '';
    background: url(../images/common/icon_download.svg) no-repeat center / 100%;
    position: absolute;
    right: 3em;
    top: 50%;
    transform: translateY(-50%);
    width: 0.8em;
    height: 1em;
}
.func_box .dl_btn > span {
    display: block;
    font-size: 120%;
    font-weight: 700;
    line-height: 1.2;
}
@media (max-width: 1180px) {
    .func_box {
        padding: 4em 2em;
    }
    .func_box .step_list .txt {
        font-size: 12px;
    }
    .func_box .sign_box .list li {
        font-size: 11px;
    }
    .func_box .alignment img {
        max-width: 200px;
    }
    .func_box .alignment .item_arrow,
    .func_box .alignment .arrow {
        width: 170px;
    }
    .func_box .alignment .item02 .txt_m {
        font-size: 11px;
    }
    .func_box .dl_list .ttl {
        width: 200px;
    }
    .func_box .dl_list .txt {
        font-size: 12px;
    }
    .func_box .txt_list {
        flex-wrap: wrap;
    }
    .func_box .pw_list li {
        width: 48%;
    }
}
@media (max-width: 768px) {
    .func_box {
        margin: 2em 0;
    }
    .func_box__ttl {
        font-size: 16px;
    }
    .func_box__ttl_s {
        font-size: 15px;
    }
    .func_box .lead {
        font-size: 13px;
        text-align: left;
        margin-bottom: 1.2em;
    }
    .func_box .txt {
        text-align: left;
    }
    .func_box .txt.is_note {
        font-size: 10px;
    }
    .func_box .step_list {
        flex-direction: column;
        align-items: center;
        margin-bottom: -3.4em;
    }
    .func_box .step_list li {
        margin-bottom: 3.4em;
        width: 100%;
    }
    .func_box .step_list .en {
        margin-bottom: 1.4em;
    }
    .func_box .step_list .txt {
        text-align: center;
        font-size: 11px;
    }
    .func_box .step_list li:not(:last-child):before {
        border-style: solid;
        border-width: 12px 10px 0 10px;
        border-color: var(--colorOR) transparent transparent transparent;
        top: auto;
        bottom: -2.2em;
        left: 50%;
        transform: translateX(-50%);
    }
    .func_box .sign_box .ttl {
        font-size: 14px;
    }
    .func_box .sign_box .list {
        flex-wrap: wrap;
    }
    .func_box .sign_box .list li {
        border-radius: 5px;
        font-size: 10px;
        margin-bottom: 0.6em;
        padding: 1.2em 0.6em;
        width: 48%;
    }
    .func_box .disc > li::before {
        width: 8px;
        height: 8px;
    }
    .func_box .pic_l {
        max-width: 260px;
    }
    .func_box .alignment {
        flex-direction: column;
    }
    .func_box .alignment .item_arrow {
        margin: 0 auto;
        width: 140px;
        height: 70px;
    }
    .func_box .alignment .arrow {
        position: relative;
        top: 15px;
        clip-path: none;
        transform: none;
        width: 140px;
        height: 30px;
    }
    .func_box .alignment .arrow::before {
        content: '';
        position: absolute;
        bottom: -17px;
        left: 0;
        border-style: solid;
        border-width: 18px 70px 0 70px;
        border-color: #f2f2f2 transparent transparent transparent;
        width: 0;
        height: 0;
    }
    .func_box .alignment .arrow > span {
        font-size: 12px;
        padding: 5px;
        margin: 0 auto;
        text-align: center;
    }
    .func_box .dl_list {
        flex-direction: column;
    }
    .func_box .dl_list li {
        border-radius: 8px;
        padding: 2.6em 1.8em 2em;
    }
    .func_box .dl_list li:first-child {
        margin-bottom: 2.2em;
    }
    .func_box .dl_list .ttl {
        font-size: 13px;
        width: 140px;
    }
    .func_box .dl_list .txt {
        font-size: 11px;
    }
    .func_box .txt_list {
        flex-direction: column;
        gap: 0.2em;
    }
    .func_box .txt_list li {
        border-radius: 5px;
        padding: 1.4em 1em;
        margin-bottom: 0.6em;
        width: 100%;
    }
    .func_box .tag_item {
        gap: 0.6em 0.4em;
    }
    .func_box .tag_item > span {
        padding: 0.1em 1.2em;
    }
    .func_box .pw_list {
        flex-direction: column;
        gap: 0.8em;
    }
    .func_box .pw_list li {
        border-radius: 5px;
        padding: 1em 1.4em 1.4em;
        width: 100%;
    }
    .func_box .pw_list__head {
        min-height: auto;
    }
    .func_box .pw_list__head > img {
        height: 40px;
    }
    .func_box .pw_list__head > p {
        font-size: 13px;
    }
    .func_box .pw_list__txt {
        font-size: 12px;
        margin-top: 1em;
    }
    .func_box .device_list li::before {
        top: 3px;
    }
    .func_box .device_list li + li::before {
        top: 16px;
    }
    .func_box .data_list li {
        border-radius: 5px;
        padding: 1.4em 1em;
        max-width: 280px;
        width: 100%;
    }
    .func_box .data_list .txt_note {
        font-size: 10px;
    }
    .func_box .dl_btn {
        font-size: 13px;
        padding: 12px;
        max-width: 300px;
    }
    .func_box .dl_btn::before {
        right: 2.2em;
    }
}
/* func_software */
.func_software {
    padding: 6em 0 2em;
    position: relative;
}
.func_software .ttl {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.8em;
}
.func_software .pic {
    display: block;
    margin: 0 auto;
    max-width: 908px;
    width: 100%;
}
@media (max-width: 1180px) {
    .func_software .ttl {
        font-size: 28px;
    }
    .func_software .pic {
        max-width: 760px;
    }
}
@media (max-width: 768px) {
    .func_software {
        padding: 4em 0 2em;
    }
    .func_software .ttl {
        font-size: 18px;
    }
}
/* func_cat_menu */
.func_cat_menu {
    margin: 6em 0;
    position: relative;
    z-index: 1;
}
.func_cat_menu .ttl {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.2em;
}
.func_cat_menu .list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.8em;
}
.func_cat_menu .list > li {
    max-width: 380px;
    width: 31.6%;
}
.func_cat_menu .list a {
    background: #fff;
    border: 1px solid var(--colorOR);
    border-radius: 16px;
    box-shadow: 0px 0px 16px -4px #ff9500;
    display: block;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 1.2em 1em 2.6em;
    position: relative;
    width: 100%;
    height: 100%;
}
.func_cat_menu .list a::before {
    content: '';
    background: url(../images/common/icon_arrow_or_l_bottom.webp) no-repeat center / cover;
    position: absolute;
    bottom: 0.8em;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
}
.func_cat_menu .list a:hover {
    background: var(--colorOR);
    color: #fff;
    opacity: 1;
}
.func_cat_menu .list a:hover::before {
    background: url(../images/common/icon_arrow_wh_l_bottom.webp) no-repeat center / cover;
}
.func_cat_menu .list a > span {
    display: inline-block;
    font-size: 80%;
    font-weight: 700;
}
@media (max-width: 1180px) {
    .func_cat_menu .list {
        gap: 1.2em;
    }
    .func_cat_menu .list > li {
        max-width: 100%;
        width: 48.6%;
    }
    .func_cat_menu .list a {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .func_cat_menu {
        margin: 4em 0;
    }
    .func_cat_menu .ttl {
        font-size: 16px;
    }
    .func_cat_menu .list {
        gap: 0.6em;
    }
    .func_cat_menu .list a {
        border-radius: 8px;
        font-size: 11px;
        line-height: 1.5;
        padding: 1.2em 0.4em 2.6em;
    }
    .func_cat_menu .list a::before {
        width: 12px;
        height: 12px;
    }
}
/* func_cta */
.func_cta {
    text-align: center;
    margin: 8em 0;
    position: relative;
    z-index: 1;
}
.func_cta .txt {
    font-size: 18px;
    font-weight: 700;
}
.func_cta .arrow_btn {
    font-size: 120%;
    margin-top: 0.8em;
    max-width: 350px;
}
@media (max-width: 768px) {
    .func_cta {
        margin: 6em 0;
    }
    .func_cta .txt {
        font-size: 11px;
    }
    .func_cta .arrow_btn {
        max-width: 280px;
    }
}
/* func_cat_main */
.func_cat_main__box {
    background: #ffeed6;
    border-radius: 24px;
    padding: 4em 1.8em;
    margin-bottom: 5em;
    position: relative;
    z-index: 1;
}
.func_cat_main__box .ttl {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.8em;
}
.func_cat_main__box .list li {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0px 0px 27px 3px rgba(255, 149, 0, 0.1);
    display: flex;
    align-items: center;
    gap: 2%;
    padding: 2.2em 3em;
}
.func_cat_main__box .list li:not(:last-child) {
    margin-bottom: 1.6em;
}
.func_cat_main__box .list .item_01 {
    text-align: center;
    width: 26%;
}
.func_cat_main__img img {
    display: block;
    margin: 0 auto;
    max-width: 220px;
    max-height: 140px;
    width: auto;
    height: auto;
}
.func_cat_main__ttl,
.func_cat_main__ttl a {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0.6em;
}
.func_cat_main__box .list .item_02 {
    width: 72%;
}
.func_cat_main__box .list .item_02 .txt * {
    font-size: 14px;
}
.func_cat_main__box .list .item_02 .txt a {
    color: var(--colorOR);
    text-decoration: underline;
}
.func_cat_main__box .list .item_02 .more {
    font-size: 14px;
    font-weight: 500;
    color: var(--colorOR);
    margin-top: 0.8em;
    padding-right: 2em;
    position: relative;
}
.func_cat_main__box .list .item_02 .more::before {
    content: '';
    background: url(../images/common/icon_arrow_or.webp) no-repeat center / cover;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
}
.func_cat_main .txt_note {
    font-size: 14px;
    text-align: center;
}
@media (max-width: 1180px) {
    .func_cat_main__box .list li {
        padding: 2em;
    }
    .func_cat_main__box .list .item_01 {
        width: 30%;
    }
    .func_cat_main__img img {
        max-width: 140px;
        max-height: 90px;
    }
}
@media (max-width: 768px) {
    .func_cat_main__box .ttl {
        font-size: 16px;
        margin-bottom: 1.2em;
    }
    .func_cat_main__box {
        border-radius: 14px;
        padding: 3em 1.2em;
        margin-bottom: 3em;
    }
    .func_cat_main__box .list li {
        border-radius: 12px;
        flex-direction: column;
        padding: 1.6em 2em 2em;
    }
    .func_cat_main__box .list li:not(:last-child) {
        margin-bottom: 1em;
    }
    .func_cat_main__ttl,
    .func_cat_main__ttl a {
        font-size: 13px;
        margin-top: 0.6em;
    }
    .func_cat_main__img {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        min-height: 10em;
    }
    .func_cat_main__img img {
        max-width: 160px;
        max-height: 90px;
    }
    .func_cat_main__box .list .item_01,
    .func_cat_main__box .list .item_02 {
        width: 100%;
    }
    .func_cat_main__box .list .item_02 .txt *,
    .func_cat_main__box .list .item_02 .more {
        font-size: 11px;
    }
    .func_cat_main__box .list .item_02 .more::before {
        width: 13px;
        height: 13px;
    }
}

/* page */
.page_gd {
    background: #fffbf5;
    position: relative;
}
.page_gd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: radial-gradient(circle at 82% 26%, rgba(255, 159, 25, 0.18), rgba(255, 255, 255, 0) 20%);
    background-size: 100% 60%;
    background-repeat: repeat-y;
}
.page_gd::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: radial-gradient(circle at 18% 60%, rgba(255, 159, 25, 0.18), rgba(255, 255, 255, 0) 30%);
    background-size: 100% 50%;
    background-repeat: repeat-y;
}
.page_ttl {
    color: #000;
    font-size: 34px;
    font-weight: 700;
    text-align: center;
    padding: 1.8em 0 2.4em;
}
.page_ttl .txt_s {
    display: inline-block;
    font-weight: inherit;
    font-size: 65%;
    margin-left: 0.2em;
}
.page_ttl_s {
    color: #000;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    padding: 2em 0 1.6em;
}
.page_lead {
    color: #000;
    font-size: 18px;
    text-align: center;
    margin: -1.2em 0 4em;
}
@media (max-width: 768px) {
    .page_ttl {
        font-size: 20px;
    }
    .page_ttl_s {
        font-size: 20px;
    }
    .page_lead {
        font-size: 14px;
    }
}

/* template */
.template_main {
    padding-bottom: 2em;
    position: relative;
    z-index: 1;
}
.template_main .hidden-item {
    display: none !important;
}
.search_box .ttl {
    color: #000;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0.8em;
    text-align: center;
}
.search_box form {
    display: flex;
    margin: 0 auto 0;
    max-width: 540px;
}
.search_box input[type='text'] {
    border: 1px solid #ff9500;
    border-radius: 4px 0 0 4px;
    background: #fff;
    padding: 1em 1.4em;
}
.search_box button[type='submit'] {
    background: #ff9500;
    border: 1px solid #ff9500;
    border-radius: 0 4px 4px 0;
    color: #fff;
    font-size: 110%;
    font-weight: 700;
    display: block;
    width: 100px;
}
.search_box .error_txt {
    display: none;
    font-size: 90%;
    color: #ef3131;
    text-align: center;
    margin-top: 1em;
}
.cat_box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.4em 0 3em;
}
.cat_box .txt {
    font-weight: 700;
    padding-right: 1em;
}
.cat_box .item {
    display: flex;
    align-items: center;
    gap: 0.4em;
}
.cat_box .item .label {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 100px;
    color: #ff9500;
    display: block;
    font-size: 14px;
    line-height: 1.4;
    padding: 0.1em 0.6em;
    text-align: center;
}
.template_box {
    padding: 3em 0 1em;
}
.template_box .list {
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
    margin: 0 auto;
    max-width: 1050px;
}
.template_box .list li {
    margin-bottom: 2.4em;
    width: 31.3%;
}
.template_box .list a {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0px 5px 10px 0px rgba(255, 149, 0, 0.2);
    display: block;
    padding: 1.6em 1.4em 7em;
    position: relative;
    text-align: center;
    height: 100%;
}
.template_box .list img {
    max-width: 260px;
    width: 100%;
}
.template_box .cat_name {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 100px;
    color: #ff9500;
    display: inline-block;
    font-size: 75%;
    line-height: 1.4;
    padding: 0.1em 0.6em;
    text-align: center;
}
.template_box .template_name {
    font-size: 110%;
    font-weight: 700;
    margin: 0.6em 0 1.2em;
}
.template_box .template_btn {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    font-size: 90%;
    font-weight: 700;
    display: block;
    padding: 1em;
    margin: 1.8em auto 0;
    text-align: center;
    position: absolute;
    bottom: 2.2em;
    left: 50%;
    transform: translateX(-50%);
    max-width: 240px;
    width: 84%;
}
.template_box .template_btn::before {
    content: '';
    background: url(../images/common/icon_download_circle_gr.png) no-repeat center / cover;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.n_main .more_btn {
    background: #e5ecf4;
    border: 1px solid #004994;
    border-radius: 100px;
    box-shadow: 0px 3px 12px 0px rgb(2 73 148 / 20%);
    display: block;
    color: #004994;
    font-size: 95%;
    font-weight: 700;
    text-align: center;
    padding: 0.8em;
    margin: 1em auto;
    max-width: 400px;
}
.n_main .more_btn:hover {
    color: #004994;
}
.n_main .more_btn.open {
    background: #fff;
}
@media (max-width: 768px) {
    .search_box .ttl {
        font-size: 16px;
    }
    .search_box form {
        max-width: 320px;
    }
    .cat_box {
        flex-direction: column;
        gap: 0.6em;
    }
    .cat_box .txt {
        font-size: 14px;
    }
    .cat_box .item .label {
        font-size: 12px;
    }
    .template_box .list {
        flex-direction: column;
        align-items: center;
    }
    .template_box .list li {
        margin-bottom: 1.8em;
        max-width: 320px;
        width: 100%;
    }
    .template_box .cat_name {
        font-size: 12px;
    }
    .template_box .template_name {
        font-size: 16px;
        margin: 0.4em 0 1em;
    }
    .template_box .template_btn {
        bottom: 1.5em;
        font-size: 13px;
        max-width: 210px;
        width: 100%;
    }
    .n_main .more_btn {
        font-size: 100%;
        margin: 0 auto;
        max-width: 220px;
    }
}

/* rebrand2025 */
.rebrand {
    padding-top: 100px;
}
.rebrand__mv {
    padding: 120px 0;
}
.rebrand__mv .mv_block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4%;
}
.rebrand__mv .mv_block .txt {
    width: 48%;
}
.rebrand__mv .mv_block .ttl {
    font-size: 52px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin-bottom: 0.6em;
}
.rebrand__mv .mv_block .lead {
    font-size: 18px;
    font-weight: 400;
}
.rebrand__mv .mv_block .logo {
    width: 44%;
}
.rebrand__mv .mv_block .logo > img {
    display: block;
    margin: 0 auto;
    max-width: 420px;
    width: 24vw;
}
.rebrand__main {
    background: #f6f6f6;
    padding: 140px 0 160px;
}
.rebrand__main .ttl {
    border-left: 7px solid #ff9500;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    padding-left: 0.6em;
    margin-bottom: 1.2em;
}
.rebrand__main .ttl_m {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 2em;
}
.rebrand__main .main_logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4%;
    margin-bottom: 4em;
}
.rebrand__main .main_logo .txt_item {
    width: 51%;
}
.rebrand__main .main_logo .txt_item .txt {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 1.4em;
}
.rebrand__main .main_logo .logo_item {
    width: 38%;
}
.rebrand__main .main_logo .logo_item .list > li {
    display: flex;
    align-items: center;
    gap: 8%;
    margin-bottom: 4em;
}
.rebrand__main .main_logo .logo_item .name {
    font-size: 18px;
    font-weight: 400;
}
.rebrand__main .main_logo .logo_item .pic {
    width: 68%;
}
.rebrand__main .main_logo .logo_item .pic > img {
    display: block;
    max-width: 310px;
    width: 100%;
}
.rebrand__main .main_logo .logo_item .pic > img.logo_old {
    max-width: 290px;
}
.rebrand__main .product_logos {
    margin-bottom: 2em;
}
.rebrand__main .product_logos .list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8.6%;
    margin-top: 2.6em;
}
.rebrand__main .product_logos .list > li {
    margin-bottom: 4em;
    width: 18%;
}
.rebrand__main .product_logos .list > li img {
    width: 100%;
}
.rebrand__main .brand_color .color_box {
    background: #ff9500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2%;
    color: #fff;
    padding: 3em;
}
.rebrand__main .brand_color .color_box .txt_item {
    width: 70%;
}
.rebrand__main .brand_color .color_box .txt_item .name {
    color: #fff;
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    margin-bottom: 0.4em;
}
.rebrand__main .brand_color .color_box .txt_item .name > span {
    display: block;
    font-size: 35%;
    font-weight: 700;
    line-height: 1;
}
.rebrand__main .brand_color .color_box .txt_item .txt {
    font-weight: 500;
}
.rebrand__main .brand_color .color_box .code_item {
    width: 20%;
}
.rebrand__main .brand_color .color_box .code_item dl {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2em 2em;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0;
}
.rebrand__main .brand_color .color_box .code_item dt {
    width: 3em;
}
.rebrand__bottom {
    padding: 100px 0;
}
.rebrand__bottom .bottom_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5%;
}
.rebrand__bottom .bottom_box .txt_item {
    width: 65%;
}
.rebrand__bottom .bottom_box .txt_item .txt {
    font-size: 32px;
    font-weight: 700;
}
.rebrand__bottom .bottom_box .pic_item {
    width: 25%;
}
@media (max-width: 1180px) {
    .rebrand {
        padding-top: 85px;
    }
    .rebrand__mv {
        padding: 100px 0;
    }
    .rebrand__mv .mv_block .txt {
        width: 75%;
    }
    .rebrand__mv .mv_block .ttl {
        font-size: 40px;
    }
    .rebrand__main {
        padding-bottom: 120px;
    }
    .rebrand__main .main_logo {
        flex-direction: column;
        margin-bottom: 3.4em;
    }
    .rebrand__main .main_logo .txt_item {
        width: 100%;
    }
    .rebrand__main .main_logo .txt_item .txt {
        font-size: 16px;
    }
    .rebrand__main .main_logo .logo_item {
        width: 50%;
        margin-top: 2.4em;
    }
    .rebrand__main .product_logos .list {
        gap: 5%;
    }
    .rebrand__main .product_logos .list > li {
        width: 20%;
    }
    .rebrand__main .brand_color .color_box .txt_item .name {
        font-size: 40px;
    }
    .rebrand__main .brand_color .color_box .code_item {
        width: 26%;
    }
    .rebrand__bottom {
        padding: 80px 0;
    }
    .rebrand__bottom .bottom_box .txt_item .txt {
        font-size: 22px;
    }
}
@media (max-width: 768px) {
    .rebrand {
        padding-top: 60px;
    }
    .rebrand__mv {
        padding: 30px 0 50px;
    }
    .rebrand__mv .mv_block {
        flex-direction: column;
    }
    .rebrand__mv .mv_block .txt {
        display: contents;
    }
    .rebrand__mv .mv_block .ttl {
        order: 1;
        font-size: 24px;
        text-align: center;
    }
    .rebrand__mv .mv_block .logo {
        order: 2;
        width: 100%;
    }
    .rebrand__mv .mv_block .logo > img {
        margin: 1.2em auto 2em;
        width: 150px;
    }
    .rebrand__mv .mv_block .lead {
        order: 3;
        font-size: 13px;
    }
    .rebrand__main {
        padding: 60px 0;
    }
    .rebrand__main .ttl {
        font-size: 20px;
    }
    .rebrand__main .ttl_m {
        font-size: 16px;
    }
    .rebrand__main .main_logo .txt_item .txt {
        font-size: 13px;
    }
    .rebrand__main .main_logo .logo_item {
        margin-top: 1em;
        width: 100%;
    }
    .rebrand__main .main_logo .logo_item .list {
        max-width: 280px;
        margin: 0 auto;
    }
    .rebrand__main .main_logo .logo_item .list > li {
        margin-bottom: 2.2em;
    }
    .rebrand__main .main_logo .logo_item .name {
        font-size: 13px;
    }
    .rebrand__main .main_logo .logo_item .pic > img {
        max-width: 186px;
    }
    .rebrand__main .main_logo .logo_item .pic > img.logo_old {
        max-width: 170px;
    }
    .rebrand__main .product_logos .list {
        gap: 10%;
    }
    .rebrand__main .product_logos .list > li {
        margin-bottom: 2em;
        width: 35%;
    }
    .rebrand__main .product_logos .list > li img {
        max-width: 190px;
    }
    .rebrand__main .brand_color .color_box {
        flex-direction: column;
    }
    .rebrand__main .brand_color .color_box .txt_item {
        width: 100%;
    }
    .rebrand__main .brand_color .color_box .txt_item .name {
        font-size: 30px;
        margin-bottom: 0.6em;
    }
    .rebrand__main .brand_color .color_box .code_item {
        margin-top: 1.4em;
        width: 170px;
    }
    .rebrand__main .brand_color .color_box .code_item dl {
        font-size: 15px;
    }
    .rebrand__bottom {
        padding: 60px 0;
    }
    .rebrand__bottom .bottom_box {
        flex-direction: column;
    }
    .rebrand__bottom .bottom_box .txt_item {
        text-align: center;
        width: 100%;
    }
    .rebrand__bottom .bottom_box .txt_item .txt {
        font-size: 15px;
    }
    .rebrand__bottom .bottom_box .pic_item {
        width: 150px;
    }
}

/* rebrand2025 v2 */
.rebrand .txt_wrap p {
    font-size: 18px;
    margin-bottom: 1.2em;
}
.rebrand strong {
    font-weight: 700;
}
.rebrand__mv_v2 {
    display: flex;
    justify-content: space-between;
}
.rebrand__mv_v2 > div {
    padding: 120px 80px;
    width: 50%;
}
.rebrand__mv_v2 .item_inner {
    margin: 0 0 0 auto;
    max-width: 630px;
    width: 100%;
}
.rebrand__mv_v2 .item_02 .item_inner {
    margin: 0 auto 0 0;
}
.rebrand__mv_v2 .item_01 {
    background: var(--colorOR);
    color: #fff;
}
.rebrand__mv_v2 .item_01 .ttl {
    color: #fff;
    font-size: 64px;
    font-weight: 700;
    margin-bottom: 0.8em;
}
.rebrand__mv_v2 .item_01 .ttl span {
    display: block;
    font-size: 30%;
    font-weight: inherit;
    margin-bottom: 0.6em;
}
.rebrand__mv_v2 .item_01 .txt_wrap p {
    font-weight: 700;
}
.rebrand__mv_v2 .item_02 {
    display: flex;
    align-items: center;
    justify-content: center;
}
.rebrand__mv_v2 .item_02 .logo {
    margin: 0 auto;
    width: 420px;
}

.rebrand__35 {
    background: #f0f0f0;
    padding: 100px 0;
}
.rebrand__35 .columns {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.rebrand__35 .txt_item {
    width: 62%;
}
.rebrand__35 .txt_item .ttl {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 0.8em;
}
.rebrand__35 .pic_item {
    width: 32%;
}
.rebrand__35 .pic_item > img {
    display: block;
    margin: 0 auto;
    max-width: 300px;
    width: 100%;
}

.rebrand__irepo20 {
    padding: 100px 0;
}
.rebrand__irepo20 .ttl_logo .txt_s {
    display: block;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 1em;
}
.rebrand__irepo20 .ttl_logo .logo {
    display: flex;
    align-items: center;
    gap: 1.2em;
}
.rebrand__irepo20 .ttl_logo .logo img:first-child {
    width: 350px;
}
.rebrand__irepo20 .ttl_logo .logo img:last-child {
    width: 100px;
}
.rebrand__irepo20 .ttl_txt {
    font-size: 62px;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0.8em 0 0.6em;
}
.rebrand__irepo20 .txt_wrap {
    max-width: 710px;
}

.rebrand__main .columns {
    display: flex;
    justify-content: space-between;
}
.rebrand__main .item_01 {
    width: 56%;
}
.rebrand__main .item_02 {
    width: 44%;
}
.rebrand__main .brand_building {
    margin-bottom: 6em;
}
.rebrand__main .brand_building .item_02 img {
    display: block;
    margin: 0 auto;
    max-width: 498px;
    width: 100%;
}

.rebrand__main .irepochan {
    margin-top: 8em;
}
.rebrand__main .irepochan_ttl {
    color: var(--colorOR);
    font-size: 22px;
    font-weight: 700;
    margin: 1em 0 0.5em;
}
.rebrand__main .irepochan_list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.2em;
}
.rebrand__main .irepochan_list li > span {
    font-size: 18px;
    font-weight: 700;
    display: inline-block;
    width: 4.8em;
}
.rebrand__main .irepochan_list li .icon {
    color: var(--colorOR);
    display: inline-block;
    font-size: 50%;
    margin-right: 0.6em;
    position: relative;
    top: -0.4em;
}
.rebrand__main .irepochan_list li > p {
    margin: 0;
    width: 87%;
}
.rebrand__main .irepochan .item_02 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.2em;
}
.rebrand__main .irepochan .item_02 .irepochan_01 {
    display: block;
    max-width: 200px;
    width: 100%;
}
.rebrand__main .irepochan .item_02 .irepochan_01 {
    display: block;
    max-width: 250px;
    width: 100%;
}
.rebrand__main .irepochan .line_stamp {
    margin-top: 3em;
    width: 550px;
}
@media (max-width: 1180px) {
    .rebrand .txt_wrap p {
        font-size: 16px;
    }
    .rebrand__mv_v2 > div {
        padding: 80px 40px;
    }
    .rebrand__mv_v2 .item_01 .ttl {
        font-size: 48px;
    }
    .rebrand__mv_v2 .item_02 .logo {
        width: 280px;
    }
    .rebrand__35 .txt_item .ttl {
        font-size: 30px;
    }
    .rebrand__irepo20 .ttl_logo .txt_s {
        font-size: 20px;
    }
    .rebrand__irepo20 .ttl_logo .logo img:first-child {
        width: 280px;
    }
    .rebrand__irepo20 .ttl_logo .logo img:last-child {
        width: 80px;
    }
    .rebrand__irepo20 .ttl_txt {
        font-size: 40px;
    }
    .rebrand__irepo20 .txt_wrap {
        max-width: none;
    }
    .rebrand__main .columns {
        flex-direction: column;
    }
    .rebrand__main .item_01,
    .rebrand__main .item_02 {
        width: 100%;
    }
    .rebrand__mv_v2 .item_02 .item_inner {
        margin: 0 auto;
    }
    .rebrand__main .brand_building .item_02 img {
        max-width: 500px;
        margin: 1.6em auto 0;
    }
    .rebrand__main .irepochan .item_02 {
        justify-content: center;
        margin-top: 1.6em;
    }
    .rebrand__main .irepochan .line_stamp {
        margin: 4em auto 0;
        max-width: 480px;
        width: 100%;
    }
}
@media (max-width: 768px) {
    .rebrand .txt_wrap p {
        font-size: 13px;
    }
    .rebrand__mv_v2 {
        flex-direction: column;
    }
    .rebrand__mv_v2 > div {
        padding: 40px 14px;
        width: 100%;
    }
    .rebrand__mv_v2 .item_01 .ttl {
        font-size: 36px;
        margin-bottom: 0.6em;
    }
    .rebrand__mv_v2 .item_02 .logo {
        width: 230px;
        position: relative;
        left: -0.6em;
    }
    .rebrand__35 .columns {
        flex-direction: column;
    }
    .rebrand__35 .txt_item,
    .rebrand__35 .pic_item {
        width: 100%;
    }
    .rebrand__35 {
        padding: 50px 0;
    }
    .rebrand__35 .txt_item .ttl {
        font-size: 22px;
    }
    .rebrand__35 .pic_item > img {
        margin: 1em auto 0;
        max-width: 150px;
    }
    .rebrand__irepo20 .ttl_logo .txt_s {
        font-size: 14px;
    }
    .rebrand__irepo20 .ttl_logo .logo {
        gap: 0.6em;
    }
    .rebrand__irepo20 .ttl_logo .logo img:first-child {
        width: 190px;
    }
    .rebrand__irepo20 .ttl_logo .logo img:last-child {
        width: 58px;
    }
    .rebrand__irepo20 .ttl_txt {
        font-size: 22px;
        margin: 1.2em 0 0.8em;
    }
    .rebrand__irepo20 {
        padding: 50px 0;
    }
    .rebrand__main .irepochan {
        margin-top: 6em;
    }
    .rebrand__main .irepochan_ttl {
        font-size: 18px;
    }
    .rebrand__main .irepochan_list li > span {
        font-size: 13px;
    }
    .rebrand__main .irepochan .item_02 .irepochan_01,
    .rebrand__main .irepochan .item_02 .irepochan_02 {
        max-width: 110px;
    }
    .rebrand__main .irepochan .line_stamp {
        margin: 3em auto 0;
        max-width: 320px;
    }
}

/* solution_archive */
.solution_archive {
    position: relative;
    z-index: 1;
}
.solution_archive .main_ttl {
    color: #ff9500;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.7;
    text-align: center;
    padding: 1.2em 0 2em;
}
.solution_archive .main_ttl > span {
    display: inline-block;
    font-size: 108%;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.solution_archive .main_ttl > span > span {
    display: inline-block;
    font-size: 75%;
    font-weight: 700;
    margin: 0 0.1em;
}
.solution_archive .main_ttl > strong {
    color: #000;
    display: block;
    font-size: 125%;
    font-weight: 700;
}
.solution_archive .solution03 {
    margin: 0 auto 1.6em;
    max-width: 900px;
}
.solution_archive .solution03__ttl {
    background: #fff;
    border: 1px solid #ffaa33;
    border-radius: 16px;
    box-shadow: 0px 4px 14px 0px rgba(255, 149, 0, 0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 100px;
    position: relative;
    margin: 0;
    overflow: hidden;
}
.solution_archive .solution03__ttl.open {
    background: #ffaa33;
    border-radius: 16px 16px 0 0;
    box-shadow: none;
}
.solution_archive .solution03__ttl .img {
    display: block;
    text-align: center;
    position: absolute;
    left: 0.4em;
    top: 50%;
    transform: translateY(-50%);
    width: 100px;
}
.solution_archive .solution03__ttl .img > img {
    display: block;
    margin: 0 auto;
    max-width: 70px;
    width: 100%;
}
.solution_archive .solution03__ttl .text {
    display: block;
    font-size: 22px;
    font-weight: 700;
    padding: 1.3em 0.6em;
}
.solution_archive .solution03__ttl .text > strong {
    color: #ff9500;
    display: inline-block;
    font-size: 118%;
    font-weight: 700;
    margin-right: 0.06em;
}
.solution_archive .solution03__ttl .text > span {
    display: inline-block;
    font-weight: 700;
}
.solution_archive .solution03__ttl.open .text > strong,
.solution_archive .solution03__ttl.open .text > span {
    color: #fff;
}
.solution_archive .solution03__ttl .icon {
    background: #ff9500;
    border-radius: 100%;
    display: block;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
}
.solution_archive .solution03__ttl .icon::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 7px;
    width: 16px;
    height: 2px;
    transform: rotate(90deg);
    background: #fff;
    transition: all 0.3s ease-in-out;
}
.solution_archive .solution03__ttl .icon::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 7px;
    width: 16px;
    height: 2px;
    background: #fff;
    transition: all 0.2s ease-in-out;
}
.solution_archive .solution03__ttl.open .icon {
    background: #fff;
}
.solution_archive .solution03__ttl.open .icon::before {
    background: #ff9500;
    transform: rotate(180deg);
}
.solution_archive .solution03__ttl.open .icon::after {
    opacity: 0;
}
.solution_archive .solution03__box {
    background: #fff;
    border-left: 1px solid #ffaa33;
    border-right: 1px solid #ffaa33;
    border-bottom: 1px solid #ffaa33;
    border-radius: 0 0 16px 16px;
    box-shadow: 0px 4px 14px 0px rgba(255, 149, 0, 0.3);
    display: none;
    padding: 2.4em 3.2em;
}
.solution_archive .solution03__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.solution_archive .solution03__list > li {
    margin-bottom: 1em;
    width: 49%;
}
.solution_archive .solution03__link {
    background: #ffeacc;
    border-radius: 10px;
    display: flex;
    align-items: center;
    padding: 0.4em 3em 0.4em 1.6em;
    position: relative;
    min-height: 5.2em;
}
.solution_archive .solution03__link::before {
    content: '';
    width: 26px;
    height: 26px;
    background: #fff;
    border-radius: 100%;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.solution_archive .solution03__link::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #ff9500;
    border-right: solid 2px #ff9500;
    position: absolute;
    right: 26px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.solution_archive .solution03__link:hover {
    color: #ff9500;
    opacity: 0.7;
}
.solution_archive .solution03__link > span {
    display: block;
    color: #333;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}
.solution_archive .solution03__bnr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 1em;
}
.solution_archive .solution03__bnr .bnr_item {
    margin-bottom: 1em;
    width: 49%;
}
.solution_archive .solution03__bnr .bnr_item a {
    display: block;
    background: #ff9500;
    border-radius: 10px;
    box-shadow: 0px 2px 10px 0px rgba(255, 149, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 4%;
    padding: 1em 3em 1em 1em;
    position: relative;
}
.solution_archive .solution03__bnr .bnr_item a::before {
    content: '';
    width: 26px;
    height: 26px;
    background: #fff;
    border-radius: 100%;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.solution_archive .solution03__bnr .bnr_item a::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #ff9500;
    border-right: solid 2px #ff9500;
    position: absolute;
    right: 26px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.solution_archive .solution03__bnr .bnr_item a:hover {
    opacity: 0.7;
}
.solution_archive .solution03__bnr .bnr_item a > img {
    display: block;
    width: 78px;
}
.solution_archive .solution03__bnr .bnr_item a > span {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}
.solution_archive .solution03__bnr .bnr_item a > span > strong {
    background: #fff;
    border-radius: 100px;
    display: inline-block;
    color: #000;
    font-size: 120%;
    font-weight: 700;
    line-height: 1;
    padding: 0.26em 0.4em;
    margin-right: 0.2em;
}
@media (max-width: 1180px) {
    .solution_archive .main_ttl {
        font-size: 28px;
    }
    .solution_archive .solution03__ttl {
        padding: 0 70px;
    }
    .solution_archive .solution03__ttl .img {
        width: 64px;
    }
    .solution_archive .solution03__ttl .img > img {
        max-width: 50px;
    }
    .solution_archive .solution03__ttl .text {
        font-size: 18px;
        padding: 1.5em 0.2em;
    }
    .solution_archive .solution03__link {
        padding-right: 3.6em;
    }
    .solution_archive .solution03__link > span {
        font-size: 15px;
    }
    .solution_archive .solution03__bnr .bnr_item a > img {
        width: 60px;
    }
    .solution_archive .solution03__bnr .bnr_item a > span {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .solution_archive .main_ttl {
        font-size: 20px;
    }
    .solution_archive .solution03 {
        margin-bottom: 1em;
    }
    .solution_archive .solution03__ttl {
        justify-content: flex-start;
        border-radius: 10px;
        padding: 0 40px 0 50px;
        min-height: 2.8em;
    }
    .solution_archive .solution03__ttl.open {
        border-radius: 10px 10px 0 0;
    }
    .solution_archive .solution03__ttl .img {
        width: 40px;
    }
    .solution_archive .solution03__ttl .img > img {
        max-width: 30px;
    }
    .solution_archive .solution03__ttl .text {
        font-size: 12px;
        letter-spacing: 0.08em;
        line-height: 1.3;
    }
    .solution_archive .solution03__ttl .text > span {
        display: inline;
    }
    .solution_archive .solution03__ttl .icon {
        right: 0.5em;
        width: 20px;
        height: 20px;
    }
    .solution_archive .solution03__ttl .icon::before {
        right: 5px;
        width: 10px;
    }
    .solution_archive .solution03__ttl .icon::after {
        right: 5px;
        width: 10px;
    }
    .solution_archive .solution03__box {
        border-radius: 0 0 10px 10px;
        padding: 2em 1.4em 1.2em;
    }
    .solution_archive .solution03__list {
        flex-direction: column;
    }
    .solution_archive .solution03__list > li {
        margin-bottom: 0.6em;
        width: 100%;
    }
    .solution_archive .solution03__link {
        border-radius: 8px;
        min-height: 4.4em;
    }
    .solution_archive .solution03__link::before {
        width: 20px;
        height: 20px;
    }
    .solution_archive .solution03__link > span {
        font-size: 12px;
    }
    .solution_archive .solution03__link::after {
        right: 20px;
    }
    .solution_archive .solution03__bnr {
        flex-direction: column;
        align-items: center;
    }
    .solution_archive .solution03__bnr .bnr_item {
        margin-bottom: 0.6em;
        max-width: 300px;
        width: 80%;
    }
    .solution_archive .solution03__bnr .bnr_item a::before {
        width: 20px;
        height: 20px;
    }
    .solution_archive .solution03__bnr .bnr_item a::after {
        right: 20px;
    }
    .solution_archive .solution03__bnr .bnr_item a > span {
        font-size: 12px;
    }
    .solution_archive .solution03__bnr .bnr_item a > img {
        width: 50px;
    }
}

/* solution cta_btn */
.bottom_cta__btn_wrap.is_solution {
    margin: 8em auto 4em;
}
.bottom_cta__btn_wrap.is_solution .cta_btn {
    font-size: 110%;
    max-width: 400px;
    width: 50%;
}
@media (max-width: 768px) {
    .bottom_cta__btn_wrap.is_solution {
        margin: 5em auto 2em;
    }
    .bottom_cta__btn_wrap.is_solution .cta_btn {
        padding: 14px 10px;
        max-width: 300px;
        width: 100%;
    }
}
/* solution_single */
.n_main.solution {
    padding: 0;
}
.solution_single {
    position: relative;
    z-index: 1;
}
.solution_single .single_head {
    color: #000;
    font-size: 46px;
    text-align: center;
    margin: 0.8em 0 1.4em;
}
.solution_single .single_head .txt_s {
    font-size: 58%;
    font-weight: 700;
}
.solution_single .single_head .txt_s .txt_irepo {
    font-weight: 700;
    font-size: 125%;
    letter-spacing: 0.04em;
}
.solution_single .single_head .txt_s .txt_irepo_s {
    font-weight: inherit;
    font-size: 50%;
    margin-left: 0.2em;
}
/* .solution_single .single_head .txt_s .logo {
    display: inline-block;
    position: relative;
    top: -0.2em;
    margin: 0 0.6em 0 0;
    max-width: 190px;
    width: 100%;
} */
.solution_single .single_head__ttl {
    color: #000;
    font-size: inherit;
    font-weight: 700;
    margin-top: 0.3em;
}
.solution_single .solution_main {
    margin: 0 auto;
    max-width: 900px;
}
.solution_single .solution_industry {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 3.8em;
}
.solution_single .solution_industry__ttl {
    background: #ff9500;
    border-radius: 30px 30px 0 0;
    box-shadow: 0px 2px 14px 0px rgba(255, 149, 0, 0.3);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 0.4em;
    width: 200px;
}
.solution_single .solution_industry__item {
    background: #fff;
    border-radius: 100px;
    box-shadow: 0px 2px 14px 0px rgba(255, 149, 0, 0.3);
    text-align: center;
    padding: 0.6em 2em;
    min-width: 300px;
    width: auto;
}
.solution_single .solution_industry__item ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1.6em;
}
.solution_single .solution_industry__item li {
    color: #000;
    font-size: 26px;
    font-weight: 700;
    position: relative;
}
.solution_single .solution_industry__item li::after {
    content: '\002F';
    font-size: 70%;
    position: absolute;
    top: 0.4em;
    right: -1em;
}
.solution_single .solution_industry__item li:last-child::after {
    content: none;
}
.solution_single .solution_before,
.solution_single .solution_after {
    border-radius: 20px;
    padding: 2.6em 2.4em;
}
.solution_single .solution_before {
    background: #e5e5e5;
    border: 1px solid #4c4c4c;
    box-shadow: 0px 2px 16px 0px rgba(130, 130, 130, 0.3);
}
.solution_single .solution_after {
    background: #fff4e5;
    border: 1px solid #ff9500;
    box-shadow: 0px 2px 16px 0px rgba(255, 149, 0, 0.3);
    margin-top: 80px;
    position: relative;
}
.solution_single .solution_after::before {
    border: 25px solid #ff8e00;
    border-right-color: transparent;
    border-bottom-color: transparent;
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%) translateY(-80px) rotate(-135deg);
    width: 0;
    height: 0;
}
.solution_single .solution_before__box,
.solution_single .solution_after__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.solution_single .solution_before__img {
    margin-left: 1em;
    max-width: 222px;
    width: 100%;
}
.solution_single .solution_after__img {
    margin-left: 2.6em;
    max-width: 188px;
    width: 100%;
}
.solution_single .solution_before__item,
.solution_single .solution_after__item {
    max-width: 530px;
    width: 65%;
}
.solution_single .solution_before__item ul,
.solution_single .solution_after__item ul {
    margin: 0;
    padding: 0;
}
.solution_single .solution_before__item li,
.solution_single .solution_after__item li {
    align-items: center;
    background: #fff;
    border-radius: 16px;
    display: flex;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 20px;
    padding: 1.4em 2em 1.4em 8.8em;
    position: relative;
    width: 100%;
    min-height: 6em;
}
.solution_single .solution_before__item li:first-child,
.solution_single .solution_after__item li:first-child {
    margin-top: 0;
}
.solution_single .solution_before__item li::before,
.solution_single .solution_after__item li::before {
    align-items: center;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    color: #fff;
    display: flex;
    font-weight: 700;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 100%;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.solution_single .solution_before__item li::before,
.solution_single .solution_after__item li::before {
    content: '';
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 97px;
    height: 46px;
}
.solution_single .solution_before__item li::before {
    background: url(../images/solution/icon_problem.webp) no-repeat center/contain;
}
.solution_single .solution_after__item li::before {
    background: url(../images/solution/icon_solving.webp) no-repeat center/contain;
}
.solution_single .solution_after__system {
    background: #fff;
    border-radius: 16px;
    margin-top: 3em;
    padding: 1.2em;
}
.solution_single .solution_after__system .system_ttl {
    background: #ffeacc;
    border-radius: 10px;
    font-weight: 700;
    text-align: center;
    padding: 2px;
    margin-bottom: 2em;
}
.solution_single .solution_after__system figure {
    background: #fff;
    display: block;
    text-align: center;
    padding: 10px;
    max-width: 600px;
    margin: 0 auto;
}
.solution_single .solution_sub {
    margin-top: 4em;
}
.solution_single .solution_sub__item {
    display: flex;
    width: 100%;
}
.solution_single .solution_sub__item.is_form .solution_sub__txt ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em 1.6em;
}
.solution_single .solution_sub__item.is_form .solution_sub__txt li {
    background: #e5e5e5;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    padding: 0.3em 2em;
}
.solution_single .solution_sub__box {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 20px;
    box-shadow: 0px 2px 16px 0px rgba(255, 149, 0, 0.3);
    margin-top: 3.4em;
    width: 100%;
}
.solution_single .solution_sub__ttl {
    background: #ffeacc;
    border-radius: 20px 20px 0 0;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    padding: 0.6em 1em;
}
.solution_single .solution_sub__txt {
    font-size: 14px;
    padding: 2.6em;
}
.solution_single .solution_sub__txt ul strong {
    font-size: 115%;
    font-weight: 700;
}
.solution_single .solution_notice {
    background: #e5e5e5;
    border: 1px solid #4c4c4c;
    border-radius: 20px;
    box-shadow: 0px 2px 16px 0px rgba(130, 130, 130, 0.3);
    padding: 1.4em 2em;
    margin-top: 3.4em;
    width: 100%;
}
.solution_single .solution_notice__ttl {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.6em;
}
.solution_single .solution_notice__txt {
    font-size: 14px;
    margin-bottom: 0.4em;
}
@media (max-width: 1180px) {
    .solution_single .single_head {
        font-size: 38px;
    }
    .solution_single .solution_industry__ttl {
        font-size: 16px;
        width: 180px;
    }
    .solution_single .solution_industry__item li {
        font-size: 22px;
    }
    .solution_single .solution_before__img {
        max-width: 180px;
    }
    .solution_single .solution_after__img {
        max-width: 160px;
    }
    .solution_single .solution_after__system .system_ttl {
        font-size: 16px;
    }
    .solution_single .solution_sub__ttl {
        font-size: 20px;
    }
}
@media (max-width: 768px) {
    .solution_single .single_head {
        font-size: 24px;
        margin: 1em 0 2em;
    }
    /* .solution_single .single_head .txt_s .logo {
        max-width: 125px;
    } */
    .solution_single .solution_industry__ttl {
        border-radius: 20px 20px 0 0;
        font-size: 11px;
        width: 110px;
    }
    .solution_single .solution_industry__item {
        min-width: 200px;
    }
    .solution_single .solution_industry__item li {
        font-size: 12px;
    }
    .solution_single .solution_industry__item li::after {
        right: -1.4em;
    }
    .solution_single .solution_before,
    .solution_single .solution_after {
        border-radius: 14px;
        padding: 2.2em 1.6em 2em;
    }
    .solution_single .solution_after {
        margin-top: 60px;
    }
    .solution_single .solution_after::before {
        border: 16px solid #ff8e00;
        border-right-color: transparent;
        border-bottom-color: transparent;
        transform: translateX(-50%) translateY(-60px) rotate(-135deg);
    }
    .solution_single .solution_before__box,
    .solution_single .solution_after__box {
        flex-direction: column;
    }
    .solution_single .solution_before__img {
        margin-left: 0;
        max-width: 150px;
    }
    .solution_single .solution_after__img {
        margin-left: 0;
        max-width: 134px;
    }
    .solution_single .solution_before__item,
    .solution_single .solution_after__item {
        margin-top: 2em;
        width: 100%;
    }
    .solution_single .solution_before__item li,
    .solution_single .solution_after__item li {
        border-radius: 12px;
        font-size: 12px;
        margin-top: 10px;
        padding: 1em 1em 1em 6.4em;
    }
    .solution_single .solution_before__item li::before,
    .solution_single .solution_after__item li::before {
        left: 0.8em;
        width: 58px;
    }
    .solution_single .solution_after__system {
        border-radius: 10px;
    }
    .solution_single .solution_after__system .system_ttl {
        border-radius: 6px;
        font-size: 14px;
    }
    .solution_single .solution_sub {
        margin-top: 3em;
    }

    .solution_single .solution_sub__box {
        margin-top: 2em;
        border-radius: 14px;
    }
    .solution_single .solution_sub__ttl {
        border-radius: 14px 14px 0 0;
        font-size: 16px;
    }
    .solution_single .solution_sub__txt {
        font-size: 12px;
        padding: 1.6em;
    }
    .solution_single .solution_sub__item.is_form .solution_sub__txt ul {
        justify-content: flex-start;
        gap: 0.6em;
    }
    .solution_single .solution_sub__item.is_form .solution_sub__txt li {
        border-radius: 6px;
        font-size: 11px;
        padding: 0.3em 0.6em;
    }
    .solution_single .solution_notice {
        margin-top: 2em;
        border-radius: 14px;
    }
    .solution_single .solution_notice__ttl {
        font-size: 14px;
    }
    .solution_single .solution_notice__txt {
        font-size: 12px;
    }
}

/* ----- 旧デザインページの表示調整用 -----*/
.p-csl__btns a:hover,
.p-csl__dl a:hover {
    color: #fff;
}
.l-interviews {
    margin-bottom: 0;
}
.l-pageTtl a {
    font-weight: inherit;
}
.p-csl__btns a strong,
.p-csl__dl a span {
    font-weight: 700;
}
.process-box a {
    color: #148c7b;
    font-weight: inherit;
}
.p-documentMain__img {
    max-width: 210px;
    width: 100%;
}
.old_bg {
    background: #ffc85f;
}
.k-single .menu {
    margin: 1.5em 0 1.5em 1.5em;
}
.k-archive a:hover,
.k-single a:hover {
    color: #ffa807;
}
.k-single .wp-block-heading *,
.k-single a strong,
.k-single a strong * {
    font-weight: 700;
}
.k-single #primary ul,
.p-interviewSingle__content ul,
ul.wp-block-list {
    list-style-type: disc;
    padding-left: 1.5em;
}
.k-single #primary ol,
.p-interviewSingle__content ol,
ol.wp-block-list {
    list-style-type: decimal;
    padding-left: 1.5em;
}
.p-interviewSingle__head span,
.p-interviewSingle__content strong {
    font-weight: 700;
}
html:has(.l-pa2021) {
    overflow-y: visible;
}
body:has(.l-pa2021) {
    overflow: auto;
}
.p-interviewDetail__pdf-img img {
    width: 44px;
}
.l-csl ul {
    list-style: disc;
    margin: 1.5em 0 1.5em 1.5em;
}
.p-csl__dl ul {
    margin: 0 auto;
}
/* ----- interview_archive ----- */
.interview_archive .swiper-interview {
    padding: 1em 0 5em !important;
}
.interview_archive .swiper-interview .swiper-slide {
    width: 65%;
    box-sizing: border-box;
}
.interview_archive .slide_txt {
    position: relative;
}
.interview_archive .slide_txt figure {
    display: inline-block;
}
.interview_archive .slide_txt img {
    height: auto;
    width: 100%;
    max-width: 180px;
}
.interview_archive .corporate {
    display: inline-block;
}
.interview_archive .swiper-slide {
    position: relative;
}
.interview_archive .swiper-slide a {
    box-shadow: 4px 6px 24px 0px rgba(255, 149, 0, 0.5);
    border: 5px solid #ff9500;
    border-radius: 30px;
    display: block;
}
.interview_archive .swiper-slide .pic {
    border-radius: 25px;
    position: relative;
    padding-top: 52.8%;
    overflow: hidden;
}
.interview_archive .swiper-slide .pic img {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: auto;
}
.interview_archive .swiper-slide .slide_txt {
    position: absolute;
    bottom: -1.2em;
    left: -0.9em;
    width: 94%;
    z-index: 1;
}
.interview_archive .swiper-slide .client_item {
    display: inline-block;
    padding: 20px 30px 10px;
    border-radius: 20px 20px 0 0;
    background-color: #fff;
    position: relative;
}
.interview_archive .swiper-slide .client_item figure {
    margin-right: 10px;
    vertical-align: middle;
}
.interview_archive .swiper-slide .client_item figure img {
    display: inline-block;
    max-width: 160px;
    max-height: 50px;
    height: auto;
    width: 100%;
}
.interview_archive .swiper-slide .client_item .corporate {
    font-size: 18px;
    font-weight: 600;
    vertical-align: middle;
}
.interview_archive .swiper-slide .corner {
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    bottom: 0;
    right: -60px;
    transform: translateX(-100%);
}
.interview_archive .swiper-slide .corner::before {
    content: '';
    width: 200%;
    height: 200%;
    display: block;
    border-radius: 50%;
    box-shadow: -20px 20px 0 0 #fff;
    transform: translate(-50%, -50%);
}
.interview_archive .swiper-slide .slide_ttl {
    background: #fff;
    box-shadow: 8px 4px 20px 0px rgba(255, 149, 0, 0.3);
    border-radius: 0 20px 20px 20px;
    color: #ff9500;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    padding: 20px 30px;
    width: 100%;
}
.interview_archive .swiper-pagination {
    bottom: 10px !important;
}
.interview_archive .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 8px;
}
.interview_archive .swiper-pagination-bullet {
    background: #999999 !important;
    opacity: 1 !important;
}
.interview_archive .swiper-pagination-bullet-active {
    background: #ff9500 !important;
    opacity: 1 !important;
}
/* interviews_list */
.interviews_list {
    padding: 4.4em 0 2em;
    position: relative;
    z-index: 1;
}
.interviews_list .main_ttl {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    margin: 0 auto 2em;
}
.interviews_list .article {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 900px;
    margin: 0 auto;
}
.interviews_list .article .item {
    margin-bottom: 3.2em;
    max-width: 430px;
    width: 47.8%;
}
.interviews_list .article .item a {
    background: #fff;
    border-radius: 30px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    height: 100%;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
    width: 100%;
}
.interviews_list .article .item__body {
    padding: 1.2em 2em;
}
.interviews_list .article .pic {
    top: -2px;
    padding-top: 52.8%;
    position: relative;
    overflow: hidden;
}
.interviews_list .article .pic img {
    position: absolute;
    top: 50%;
    width: 100%;
    height: auto;
    transform: translateY(-50%);
}
.interviews_list .article .logo {
    margin: 0 auto 10px;
    text-align: center;
}
.interviews_list .article .logo img {
    width: auto;
    max-width: 190px;
    max-height: 40px;
}
.interviews_list .article .item__client {
    font-size: 14px;
    text-align: center;
    margin-bottom: 12px;
}
.interviews_list .article .item__ttl {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 1em;
}
.interviews_list .article .item__ttl br {
    display: none;
}
.interviews_list .article .taxonomy {
    border: 1px solid #ff9500;
    border-radius: 100px;
    display: inline-block;
    color: #ff9500;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    padding: 2px 16px;
    margin: 0 3px 3px 0;
}
@media (max-width: 1180px) {
    .interview_archive .swiper-interview .swiper-slide {
        width: 75%;
    }
    .interview_archive .swiper-slide .slide_txt {
        width: 98%;
    }
    .interview_archive .swiper-slide .client_item figure img {
        max-width: 110px;
        max-height: 40px;
    }
    .interview_archive .swiper-slide .client_item .corporate {
        font-size: 12px;
    }
    .interview_archive .swiper-slide .slide_ttl {
        font-size: 20px;
    }
    /* interviews_list */
    .interviews_list .main_ttl {
        font-size: 28px;
    }
    .interviews_list .article .logo img {
        max-width: 160px;
        max-height: 35px;
    }
    .interviews_list .article .item__client {
        font-size: 12px;
    }
    .interviews_list .article .item__ttl {
        font-size: 16px;
    }
    .interviews_list .article .taxonomy {
        font-size: 12px;
    }
}
@media (max-width: 768px) {
    .interview_archive .swiper-interview .swiper-slide {
        width: 86.5%;
    }
    .interview_archive .swiper-slide a {
        border: 4px solid #ff9500;
        border-radius: 20px;
    }
    .interview_archive .swiper-slide .pic {
        border-radius: 16px;
    }
    .interview_archive .swiper-slide .slide_txt {
        width: 106%;
    }
    .interview_archive .swiper-slide .client_item {
        padding: 6px 14px 4px;
        border-radius: 10px 10px 0 0;
    }
    .interview_archive .swiper-slide .client_item figure {
        margin-right: 6px;
    }
    .interview_archive .swiper-slide .client_item figure img {
        max-width: 80px;
        max-height: 20px;
    }
    .interview_archive .swiper-slide .client_item .corporate {
        font-size: 10px;
    }
    .interview_archive .swiper-slide .slide_ttl {
        border-radius: 0 10px 10px 10px;
        font-size: 14px;
        padding: 10px 14px;
    }
    .interview_archive .swiper-slide .corner {
        width: 12px;
        height: 12px;
        right: -36px;
    }
    .interview_archive .swiper-slide .corner::before {
        box-shadow: -10px 10px 0 0 #fff;
    }
    /* interviews_list */
    .interviews_list .main_ttl {
        font-size: 20px;
    }
    .interviews_list .article {
        flex-direction: column;
        align-items: center;
    }
    .interviews_list .article .item {
        margin-bottom: 2em;
        width: 91.5%;
    }
    .interviews_list .article .item a {
        border-radius: 20px;
    }
    .interviews_list .article .item__body {
        padding: 1.4em 1.8em;
    }
    .interviews_list .article .logo {
        margin: 0 auto 6px;
    }
    .interviews_list .article .logo img {
        max-width: 140px;
        max-height: 30px;
    }
    .interviews_list .article .item__ttl {
        font-size: 14px;
    }
    .interviews_list .article .item__client {
        margin-bottom: 8px;
    }
    .interviews_list .article .taxonomy {
        font-size: 10px;
        padding: 2px 10px;
        margin: 0 3px 1px 0;
    }
}
/* wp-pagenavi */
.n_main .wp-pagenavi {
    clear: both;
    text-align: center;
    margin-top: 35px;
}
.n_main .wp-pagenavi a,
.n_main .wp-pagenavi span {
    background: #ffeacc;
    border-radius: 100%;
    color: #000;
    font-size: 15px;
    font-weight: 500;
    display: inline-block;
    padding: 3px;
    margin: 0 5px;
    white-space: nowrap;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
    width: 36px;
    height: 36px;
}
.n_main .wp-pagenavi .current {
    background: #ff9500;
    border: 0;
    color: #fff;
    font-weight: 700;
}
.n_main .wp-pagenavi .nextpostslink {
    background: transparent;
    transform: rotate(90deg);
    margin: 0;
}
.n_main .wp-pagenavi .previouspostslink {
    background: transparent;
    transform: rotate(-90deg);
    margin: 0;
}
.n_main .wp-pagenavi .nextpostslink::before,
.n_main .wp-pagenavi .nextpostslink::after,
.n_main .wp-pagenavi .previouspostslink::before,
.n_main .wp-pagenavi .previouspostslink::after {
    content: none;
}
.n_main .wp-pagenavi .extend {
    background: transparent;
    position: relative;
    top: -0.2em;
}
.n_main .wp-pagenavi .extend::before {
    content: '...';
    display: inline-block;
}
@media (max-width: 768px) {
    .n_main .wp-pagenavi a,
    .n_main .wp-pagenavi span {
        font-size: 12px;
        margin: 0 3px;
        width: 30px;
        height: 30px;
    }
}

/* interview__single */
.l-interviewSingle {
    background: transparent;
    padding: 0;
    margin: 0;
    width: 100%;
}
.interview__single {
    padding: 3em 0;
    position: relative;
    z-index: 1;
}
.interview__single .head_ttl {
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1em;
}
.interview__single .head_ttl span {
    display: inline-block;
    font-weight: inherit;
    margin-left: 0.8em;
}
.interview__single .head_client {
    letter-spacing: 0.08em;
    text-align: center;
    margin: 40px auto 30px;
}
.interview__single .head_logo_wrap {
    text-align: center;
    margin: 0 auto 14px;
}
.interview__single .head_logo {
    width: auto;
    max-height: 70px;
    max-width: 300px;
}
.interview__single .head_name {
    font-size: 16px;
    font-weight: 500;
}
.interview__single .main_pic img {
    border-radius: 10px;
    display: block;
    margin: 0 auto;
    max-width: 710px;
    width: 100%;
}
.interview__single .main_ttl {
    color: #000;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: center;
    margin: 1.8em 0 3em;
}
.interview__single .contents_box {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0px 2px 20px 0px rgba(255, 149, 0, 0.1);
    color: #000;
    font-size: 16px;
    letter-spacing: 0.08em;
    padding: 4em 2.4em;
}
.interview__single .contents_box__inner {
    margin: 0 auto;
    max-width: 960px;
}
.interview__single .contents_box p {
    margin-bottom: 2em;
}
.interview__single .contents_box mark,
.interview__single .contents_box .mark {
    padding: 0 0.2em;
    background-color: #ffecd0;
}
.interview__single .clientSnippet {
    margin: 60px 0 0;
}
.interview__single .contents_box .clientSnippet + p {
    margin-top: 40px;
}
.interview__single .contents_box strong {
    font-weight: 700;
}
.interview__single .contents_box h2 {
    background: transparent;
    border-radius: 0;
    color: #000;
    padding: 0;
    border-bottom: 2px solid #ff9500;
    display: block;
    font-size: 26px;
    font-weight: 700;
    padding-bottom: 0.3em;
    margin: 3.8em 0 1.6em;
}
.interview__single .contents_box h3 {
    border: 0;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    margin: 3em 0 1.2em;
    position: relative;
    padding-left: 22px;
}
.interview__single .contents_box h3::before {
    content: '●';
    color: #ff9500;
    position: absolute;
    left: 0;
}
.interview__single .wp-block-image,
.interview__single .wp-block-gallery,
.interview__single .wp-block-embed {
    text-align: center;
    margin: 70px auto;
    max-width: 790px;
    width: 100%;
}
.interview__single .wp-block-columns .wp-block-image.size-full {
    margin: 0;
}
.interview__single .wp-block-columns {
    gap: 3em;
    margin-bottom: 1.8em;
}
.interview__single .company_info {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 20px;
    box-shadow: 0px 2px 16px 0px rgba(255, 149, 0, 0.2);
    margin: 8em auto 2em;
    max-width: 1000px;
}
.interview__single .company_info + .company_info {
    margin-top: 2.8em;
}
.interview__single .company_info .info_ttl {
    background: #ffeacc;
    border-radius: 20px 20px 0 0;
    border: 0;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 0.8em;
    margin: 0;
}
.interview__single .company_info .info_item {
    color: #000;
    display: flex;
    gap: 4%;
    padding: 2.8em 2.4em;
}
.interview__single .company_info .pic {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 340px;
    width: 38%;
}
.interview__single .company_info .detail {
    margin: 0 auto;
    width: 60%;
}
/* 画像が非表示の場合 */
.interview__single .company_info .detail:first-child {
    width: 96%;
}
.interview__single .company_info .detail_ttl {
    color: #000;
    border: 0;
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 16px;
    padding: 0;
}
.interview__single .company_info .detail_ttl::before {
    content: none;
}
.interview__single .company_info dl {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.6;
    margin: 0 0 8px;
}
.interview__single .company_info dt,
.interview__single .company_info dd {
    display: inline-block;
    margin: 0;
    vertical-align: top;
}
.interview__single .company_info .link {
    display: inline-block;
    font-weight: 500;
    line-height: 1.2;
    margin: 0.6em 0;
    padding-right: 28px;
    position: relative;
}
.interview__single .company_info .link::before {
    content: '';
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/contain;
    position: absolute;
    right: 0;
    width: 20px;
    height: 20px;
}
@media (max-width: 1180px) {
    .interview__single .head_ttl {
        font-size: 20px;
    }
    .interview__single .head_logo {
        max-width: 260px;
    }
    .interview__single .main_ttl {
        font-size: 26px;
    }
    .interview__single .contents_box h2 {
        font-size: 24px;
    }
    .interview__single .company_info .info_item {
        padding: 2em 1.6em;
    }
    .interview__single .company_info .detail_ttl {
        font-size: 16px;
    }
    .interview__single .company_info dl {
        font-size: 12px;
    }
    .interview__single .company_info .link {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    .interview__single .head_ttl {
        font-size: 13px;
    }
    .interview__single .head_client {
        margin: 24px auto;
    }
    .interview__single .head_logo_wrap {
        margin: 0 auto 8px;
    }
    .interview__single .head_logo {
        max-height: 40px;
        max-width: 160px;
    }
    .interview__single .head_name {
        font-size: 13px;
    }
    .interview__single .main_ttl {
        font-size: 18px;
        text-align: left;
        margin: 1.8em 0 2.4em;
    }
    .interview__single .main_ttl br {
        display: none;
    }
    .interview__single .contents_box {
        border-radius: 10px;
        font-size: 14px;
        letter-spacing: 0.04em;
        padding: 2em 1.4em;
    }
    .interview__single .contents_box h2 {
        font-size: 18px;
    }
    .interview__single .contents_box h3 {
        font-size: 16px;
        margin: 2.6em 0 1em;
    }
    .interview__single .wp-block-image,
    .interview__single .wp-block-gallery,
    .interview__single .wp-block-embed {
        margin: 40px auto;
    }
    .interview__single .wp-block-columns {
        gap: 1em;
    }
    .interview__single .clientSnippet img {
        display: block;
        margin: 0 auto;
    }
    .interview__single .company_info {
        border-radius: 14px;
        margin: 6em auto 1em;
    }
    .interview__single .company_info .info_ttl {
        border-radius: 14px 14px 0 0;
        font-size: 15px;
    }
    .interview__single .company_info .info_item {
        flex-direction: column;
        align-items: center;
    }
    .interview__single .company_info .pic {
        margin-bottom: 1.4em;
        width: 100%;
    }
    .interview__single .company_info .detail,
    .interview__single .company_info .detail:first-child {
        width: 100%;
    }
    .interview__single .company_info .detail_ttl {
        font-size: 14px;
    }
    .interview__single .company_info .link {
        font-size: 13px;
    }
    .interview__single .company_info .link::before {
        width: 18px;
        height: 18px;
    }
}

/* カイゼン効果 */
.interview__single .improvement_box {
    background: #fff;
    box-shadow: 0px 2px 20px 0px rgba(255, 149, 0, 0.3);
    border-radius: 20px;
    letter-spacing: 0.02em;
    padding: 3em 2em;
    margin: 0 auto 4em;
    max-width: 1000px;
}
.interview__single .improvement_box .box_ttl {
    color: #000;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 1.4em;
    text-align: center;
}
.interview__single .improvement_box .item {
    margin: 0 auto 1.8em;
    max-width: 830px;
}
.interview__single .improvement_box .item .before,
.interview__single .improvement_box .item .after {
    border-radius: 16px;
    padding: 1.2em 1em;
    margin: 0;
}
.interview__single .improvement_box .item .before {
    background: #e5e5e5;
    margin-bottom: 12px;
}
.interview__single .improvement_box .item .after {
    background: #fff4e5;
    border: 1px solid #ff9500;
}
.interview__single .improvement_box .item dt {
    padding-bottom: 12px;
    position: relative;
}
.interview__single .improvement_box .item .before::before {
    content: '';
    width: 28px;
    height: 28px;
    background: #ff9500;
    border-radius: 100%;
    position: absolute;
    bottom: -1.2em;
    left: 50%;
    transform: translateX(-50%);
}
.interview__single .improvement_box .item .before::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 6px 0 6px;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    bottom: -0.55em;
    left: 50%;
    transform: translateX(-50%);
}
.interview__single .improvement_box .item .before__txt,
.interview__single .improvement_box .item .after__txt {
    position: relative;
    padding-left: 110px;
}
.interview__single .improvement_box .item .before__txt {
    color: #000;
    font-weight: 500;
}
.interview__single .improvement_box .item .after__txt {
    color: #ff9500;
    font-weight: 700;
}
.interview__single .improvement_box .item .before__txt::before,
.interview__single .improvement_box .item .after__txt::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 96px;
    height: 40px;
}
.interview__single .improvement_box .item .before__txt::before {
    background: url(../images/interview/icon_problem.webp) no-repeat center / contain;
}
.interview__single .improvement_box .item .after__txt::before {
    background: url(../images/interview/icon_solving.webp) no-repeat center / contain;
}
@media (max-width: 1180px) {
    .interview__single .improvement_box .item .before::before {
        bottom: -1.3em;
        width: 24px;
        height: 24px;
    }
    .interview__single .improvement_box .item .before__txt,
    .interview__single .improvement_box .item .after__txt {
        font-size: 14px;
    }
    .interview__single .improvement_box .item .before__txt::before,
    .interview__single .improvement_box .item .after__txt::before {
        width: 80px;
        height: 35px;
    }
}
@media (max-width: 768px) {
    .interview__single .improvement_box {
        border-radius: 12px;
        padding: 2.2em 1.4em;
    }
    .interview__single .improvement_box .box_ttl {
        font-size: 16px;
    }
    .interview__single .improvement_box .item .before,
    .interview__single .improvement_box .item .after {
        border-radius: 10px;
    }
    .interview__single .improvement_box .item .before__txt::before,
    .interview__single .improvement_box .item .after__txt::before {
        width: 58px;
    }
    .interview__single .improvement_box .item .before__txt,
    .interview__single .improvement_box .item .after__txt {
        padding-left: 70px;
    }
    .interview__single .improvement_box .item .before__txt,
    .interview__single .improvement_box .item .after__txt {
        font-size: 12px;
    }
}
/* 話者 */
.interview__single .speaker_list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2%;
    letter-spacing: 0.02em;
    margin: 4.5em 0 3em;
}
.interview__single .speaker_list li {
    list-style-type: none;
    margin-bottom: 2.5em;
    text-align: center;
    width: 21%;
}
.interview__single .speaker_list .icon {
    width: 130px;
}
.interview__single .speaker_list .name {
    color: #000;
    padding-top: 0.8em;
    line-height: 1.5;
}
.interview__single .speaker_list .name > span {
    display: block;
    font-size: 12px;
}
.interview__single .speaker_list .name > strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .interview__single .speaker_list li {
        margin-bottom: 2em;
        max-width: 180px;
        width: 44%;
    }
    .interview__single .speaker_list .icon {
        width: 110px;
    }
    .interview__single .speaker_list .name > span {
        font-size: 11px;
    }
    .interview__single .speaker_list .name > strong {
        font-size: 15px;
    }
}

/* 事例資料 */
.interview__single .download_box {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 16px;
    text-align: center;
    padding: 1.2em;
    margin-bottom: 4.6em;
}
.interview__single .download_box .icon {
    display: block;
    margin: 0 auto 0.6em;
    width: 40px;
    height: 40px;
}
.interview__single .download_box .box_ttl {
    font-size: 16px;
    font-weight: 700;
}
.interview__single .bottom_cta__btn_wrap {
    margin: 1em auto 0.4em;
}
@media (max-width: 768px) {
    .interview__single .download_box {
        border-radius: 10px;
        margin-bottom: 3.8em;
        padding: 1.4em 1.2em 0.6em;
    }
    .interview__single .download_box .icon {
        width: 30px;
        height: 30px;
    }
    .interview__single .download_box .box_ttl {
        font-size: 14px;
    }
    .interview__single .bottom_cta__btn_wrap .cta_btn {
        max-width: 270px;
    }
}

.interview_voice {
    margin: 4em 0 6.8em;
}

/* column_archive */
.column_archive {
    padding: 80px 0 60px;
    position: relative;
    z-index: 1;
}
.column_archive.is_top {
    padding-top: 4em;
}
.column_archive .main_ttl {
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 1.4em;
}
.column_archive .sub_ttl {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 0.4em;
}
.column_archive .cat_ttl {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 1.2em;
}
.column_archive .cat_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8em;
    margin: 1em auto 3em;
    max-width: 894px;
}
.column_archive .cat_block .cat_link {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 100px;
    color: #ff9500;
    display: inline-block;
    font-size: 14px;
    line-height: 1.4;
    padding: 0.3em 1.2em;
    text-align: center;
}
.column_archive .column_list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4%;
    margin: 4em auto 0;
}
.column_archive .column_list.is_category {
    gap: 4%;
    margin-top: 3em;
}
.column_archive .column_list__box {
    margin-bottom: 3em;
    max-width: 380px;
    width: 31.6%;
}
.column_archive .column_list.is_category .column_list__box {
    max-width: 420px;
    width: 48%;
}
.column_archive .column_list__box > a {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    cursor: pointer;
    display: block;
    overflow: hidden;
    text-decoration: none;
    width: 100%;
    height: 100%;
}
.column_archive .column_list__box .thumb {
    padding-top: 55%;
    position: relative;
}
.column_archive .column_list__box .thumb > img {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 100%;
    transform: translateY(-50%);
}
.column_archive .column_list__box .item {
    padding: 1.6em 2em 2em;
}
.column_archive .column_list__box .item_ttl {
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 1.8em;
}
.column_archive .column_list__box .item_date {
    font-size: 13px;
}
.column_archive .column_btn {
    display: block;
    border-radius: 100px;
    font-weight: 700;
    padding: 12px;
    position: relative;
    text-align: center;
    margin: 0.6em auto;
    max-width: 400px;
    width: 100%;
}
@media (max-width: 1180px) {
    .column_archive .main_ttl {
        font-size: 44px;
    }
    .column_archive .column_list {
        gap: 3%;
        max-width: 780px;
    }
    .column_archive .column_list__box {
        width: 48.5%;
    }
}
@media (max-width: 768px) {
    .column_archive {
        padding: 45px 0 30px;
    }
    .column_archive .main_ttl {
        font-size: 30px;
    }
    .column_archive .sub_ttl {
        font-size: 24px;
    }
    .column_archive .cat_ttl {
        font-size: 18px;
    }
    .column_archive .cat_block {
        gap: 0.6em;
    }
    .column_archive .cat_block .cat_link {
        font-size: 12px;
    }
    .column_archive .column_list {
        margin: 2.2em auto 0;
        align-items: center;
        flex-direction: column;
    }
    .column_archive .column_list__box,
    .column_archive .column_list.is_category .column_list__box {
        margin-bottom: 2em;
        width: 91.5%;
    }
    .column_archive .column_list__box .item_ttl {
        font-size: 14px;
    }
    .column_archive .column_list__box .item_date {
        font-size: 11px;
    }
    .column_archive .column_btn {
        font-size: 14px;
        max-width: 240px;
    }
}

/* column_article */
.column_row {
    display: flex;
    justify-content: space-between;
    gap: 5%;
    margin: 2em 0 4em;
    position: relative;
    z-index: 1;
}
.column_row #primary,
.column_row #secondary {
    margin: 0;
    padding: 0;
}
.column_row #primary {
    width: 73%;
}
.column_row #secondary {
    max-width: 260px;
    width: 22%;
}
.column_row #primary article {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    padding: 4em 3em;
}
.column_row #primary .single_ttl {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-bottom: 1.2em;
}
.column_row #primary .cat_links {
    margin-bottom: 1em;
}
.column_row #primary .cat_links > a {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 100px;
    color: #ff9500;
    display: inline-block;
    font-size: 12px;
    line-height: 1.2;
    padding: 0.4em 1.2em;
    margin-right: 0.3em;
    text-align: center;
}
.column_row mark {
    background: #ffecd0;
}
/* single_content */
.column_single .single_content .wp-block-heading *,
.column_single .single_content a strong,
.column_single .single_content a strong * {
    font-weight: 700;
}
.column_single .single_content ul {
    list-style-type: disc;
    padding-left: 1.5em;
    margin-bottom: 1.6em;
}
.column_single .single_content ol {
    list-style-type: decimal;
    padding-left: 1.5em;
    margin-bottom: 1.6em;
}
.column_single .single_content p {
    margin-bottom: 1.6em;
}
.column_single .single_content h2 {
    border-bottom: 2px solid #ff9500;
    font-size: 26px;
    font-weight: 700;
    margin: 2.4em 0 1.2em;
    padding-bottom: 0.4em;
}
.column_single .single_content h2 * {
    font-weight: 700;
}
.column_single .single_content h3 {
    border: 0;
    color: #000;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    margin: 2.2em 0 1em;
    position: relative;
    padding-left: 26px;
}
.column_single .single_content h3 * {
    font-weight: 700;
}
.column_single .single_content h3 ::before {
    content: '●';
    color: #ff9500;
    position: absolute;
    left: 0;
}
.column_single .single_content h4 {
    color: #000;
    font-size: 18px;
    font-weight: 700;
    margin: 2.2em 0 1em;
}
.column_single .single_content a {
    color: #ff9500;
}
.column_single .single_content a:hover {
    color: #ff9500;
}
.column_single .single_content pre {
    background: #f2f2f2;
    padding: 1em;
    font-size: 85%;
}
.column_single .single_content pre a {
    color: #000;
    text-decoration: underline;
}
.column_single .single_content strong {
    font-weight: 700;
}
.column_single .single_content figure.wp-block-gallery {
    margin: 3em 0;
}
.column_single .wp-block-image {
    margin: 3em 0;
}
.column_single .saboxplugin-wrap {
    margin: 3em auto;
}
.column_single .saboxplugin-wrap .sab-edit-settings {
    display: none;
}
.toggle-code-btn,
.toggle-code-btn:hover {
    background-color: var(--colorBL);
}
/* navigation */
.single .post-navigation {
    border: 0;
    padding: 2.2em 0 0;
}
.column_single .single_navigation .nav-links {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.column_single .single_navigation .nav-next > a,
.column_single .single_navigation .nav-previous > a {
    display: block;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    background: #fff;
    border-radius: 100px;
    color: #ff9500;
    font-weight: 700;
    line-height: 1;
    padding: 1.2em;
    max-width: 200px;
    height: auto;
}
.column_single .single_navigation .nav-next > a {
    margin: 0 0 0 auto;
}
.column_single .single_navigation .icon {
    position: relative;
}
.column_single .single_navigation .icon::before {
    content: '';
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/contain;
    position: absolute;
    top: -0.1em;
    width: 26px;
    height: 26px;
}
.column_single .single_navigation .icon.right_arrow::before {
    right: -3em;
}
.column_single .single_navigation .icon.left_arrow::before {
    left: -3em;
    transform: rotate(180deg);
}
/* widget */
.column_single #secondary .widgettitle {
    border-bottom: 2px solid #ff9500;
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 0.4em;
    margin: 3.8em 0 1.2em;
}
.column_single #secondary .cat-item {
    font-size: 14px;
    margin: 0.2em 0;
}
.column_single #secondary .wpp-thumbnail {
    border-radius: 10px;
    border: 0;
    margin: 0 0 0.5em;
    width: 100%;
}
.column_single .wpp-list a {
    display: block;
}
/* column_category */
.column_category .navigation .nav-links {
    color: #ff9500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2%;
    width: 100%;
}
.column_category .navigation .nav-links * {
    font-weight: 700;
}
.column_category .navigation .nav-links .prev {
    margin-right: 3em;
}
.column_category .navigation .nav-links .next {
    margin-left: 3em;
}
/* column_top_bnr */
.column_top_bnr {
    background: #fff;
    box-shadow: 0px 2px 12px 0px rgba(255, 149, 0, 0.3);
    border-radius: 20px;
    display: block;
    padding: 4em;
    margin: 2.4em 0;
    position: relative;
    text-align: center;
    width: 100%;
}
.column_top_bnr .item {
    text-align: center;
    margin: 0 0 0 auto;
    width: 48%;
}
.column_top_bnr .txt {
    font-size: 20px;
    font-weight: 700;
}
.column_top_bnr img {
    display: block;
    position: absolute;
    left: 6%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 355px;
    width: 42%;
}
@media (max-width: 1180px) {
    .column_row #primary .single_ttl {
        font-size: 26px;
    }
    .column_single .single_content h2 {
        font-size: 22px;
    }
    .column_single .single_content h3 {
        font-size: 18px;
    }
    .column_single .single_content h4 {
        font-size: 16px;
    }
    .column_single #secondary .cat-item {
        font-size: 12px;
    }
    /* column_top_bnr */
    .column_top_bnr {
        padding: 2em;
    }
    .column_top_bnr .item {
        width: 60%;
    }
    .column_top_bnr .txt {
        font-size: 18px;
    }
    .column_top_bnr img {
        width: 36%;
    }
    .column_top_bnr .arrow_btn.is_l {
        padding: 12px;
        margin-top: 20px;
        max-width: 220px;
    }
}
@media (max-width: 768px) {
    .column_row {
        flex-direction: column;
        align-items: center;
    }
    .column_row #primary,
    .column_row #secondary {
        max-width: 460px;
        width: 100%;
    }
    .column_row #primary {
        margin-bottom: 7em;
    }
    .column_row #primary article {
        padding: 3em 2em;
    }
    .column_row #primary .cat_links > a {
        font-size: 10px;
    }
    .column_row #primary .single_ttl {
        font-size: 20px;
    }
    .column_single .single_content h2 {
        font-size: 18px;
    }
    .column_single .single_content h3 {
        font-size: 16px;
        padding-left: 20px;
    }
    .column_single .single_content h4 {
        font-size: 14px;
    }
    /* navigation */
    .column_single .single_navigation .nav-next > a,
    .column_single .single_navigation .nav-previous > a {
        font-size: 12px;
        max-width: 130px;
    }
    .column_single .single_navigation .icon::before {
        width: 20px;
        height: 20px;
    }
    .column_single .single_navigation .icon.left_arrow::before {
        left: -2.6em;
    }
    .column_single .single_navigation .icon.right_arrow::before {
        right: -2.6em;
    }
    /* widget */
    .column_single .sidebar-main ul.menu {
        margin: 0 30px;
    }
    .column_single #secondary .widgettitle {
        font-size: 18px;
    }
    .column_single .wpp-list a {
        display: block;
    }
    /* column_category */
    .column_category .navigation {
        padding: 0 20px;
    }
    /* column_top_bnr */
    .column_top_bnr {
        border-radius: 20px;
        padding: 2em;
        margin: 3em auto 2.2em;
        max-width: 420px;
        width: 91.5%;
    }
    .column_top_bnr .item {
        width: 100%;
    }
    .column_top_bnr .txt {
        font-size: 16px;
        margin-bottom: 1em;
    }
    .column_top_bnr img {
        position: static;
        transform: none;
        margin: 0 auto;
        width: 200px;
    }
}
/* 目次 */
.column_single #ez-toc-container {
    background: #fffaf2;
    border: none;
    border-radius: 20px;
    box-shadow: none;
    margin: 4em 0 3em;
    padding: 0;
    position: relative;
}
.column_single #ez-toc-container .ez-toc-title {
    background: #ffa930;
    border-radius: 20px 20px 0 0;
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 22px;
}
.column_single #ez-toc-container label {
    width: 100%;
    display: block;
}
.column_single #ez-toc-container .ez-toc-cssicon {
    border: 1px solid #ffffff;
    left: auto;
    top: -44px;
    right: 22px;
}
.column_single #ez-toc-container svg {
    fill: #fff !important;
    color: #fff !important;
}
.column_single #ez-toc-container .ez-toc-list-level-1 {
    padding: 0 2em 2em;
}
.column_single #ez-toc-container .ez-toc-list-level-1 > li {
    margin-bottom: 0.4em;
}
.column_single #ez-toc-container .ez-toc-list-level-1 > li > a {
    font-weight: 500;
}
@media (max-width: 768px) {
    .column_single #ez-toc-container {
        border-radius: 10px;
    }
    .column_single #ez-toc-container .ez-toc-title {
        border-radius: 10px 8px 0 0;
        font-size: 13px;
    }
    .column_single #ez-toc-container .ez-toc-cssicon {
        top: -41px;
        right: 18px;
    }
    .column_single #ez-toc-container .ez-toc-list-level-1 {
        padding: 0 1.6em 1.6em;
    }
}

/* process */
.process {
    position: relative;
    z-index: 1;
    padding-bottom: 100px;
}
.process_list li {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.1);
    position: relative;
    margin-bottom: 90px;
}

.process_list li::after {
    content: '';
    position: absolute;
    bottom: -65px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 38px 37px 0 37px;
    border-color: #999999 transparent transparent transparent;
    width: 0;
    height: 0;
}
.process_list li:last-of-type {
    margin-bottom: 0;
}
.process_list li:last-of-type:after {
    content: none;
}
.process_list .list_ttl {
    background: var(--colorOR);
    border-radius: 20px 20px 0 0;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    padding: 0.6em;
}
.process_list .box {
    padding: 3.6em 1em 3em;
}
.process_list .item {
    background: #fff4e5;
    border-radius: 16px;
    padding: 1.4em 1em 1.4em 15em;
    position: relative;
    margin: 0 auto;
    max-width: 900px;
    width: 100%;
}
.process_list .item .pic {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0.8em;
    max-width: 210px;
    width: 100%;
}
.process_list .item .txt_box {
    font-size: 20px;
}
.process_list a {
    color: var(--colorOR);
    font-weight: 700;
}
.process_list .tips {
    border: 1px solid var(--colorOR);
    border-radius: 10px;
    font-size: 15px;
    padding: 1em 1em 1em 4.8em;
    position: relative;
    margin: 2em auto 0;
    max-width: 900px;
    width: 100%;
}
.process_list .tips::before {
    content: '';
    background: url(../images/process/icon_light.webp) no-repeat center/contain;
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
}
@media (max-width: 1180px) {
    .process_list .item {
        padding-left: 180px;
    }
    .process_list .item .pic {
        max-width: 150px;
    }
    .process_list .item .txt_box {
        font-size: 18px;
    }
    .process_list .tips {
        padding: 1em 1em 1em 4.2em;
    }
    .process_list .tips::before {
        width: 30px;
        height: 30px;
    }
}
@media (max-width: 768px) {
    .process {
        padding-bottom: 40px;
    }
    .process_list li {
        border-radius: 16px;
        margin-bottom: 50px;
    }
    .process_list li::after {
        bottom: -38px;
        border-width: 20px 22px 0 22px;
    }
    .process_list .list_ttl {
        border-radius: 16px 16px 0 0;
        font-size: 18px;
        padding: 0.8em;
    }
    .process_list .box {
        padding: 2.2em 1.6em;
    }
    .process_list .item {
        border-radius: 10px;
        padding: 20px 24px 0;
    }
    .process_list .item .txt_box {
        font-size: 14px;
    }
    .process_list .item .pic {
        position: static;
        margin: 2px auto 0;
        max-width: 135px;
    }
    .process_list .tips::before {
        left: 1.2em;
        width: 24px;
        height: 24px;
    }
    .process_list .tips {
        font-size: 12px;
        margin-top: 1.4em;
    }
}

/* event */
.event {
    position: relative;
    z-index: 1;
    padding-bottom: 100px;
}
.event_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 900px;
    margin: 0 auto;
}
.event_list .item {
    margin-bottom: 3.2em;
    max-width: 430px;
    width: 47.8%;
}
.event_list .item.no_event {
    font-size: 120%;
    font-weight: 700;
    text-align: center;
    max-width: none;
    width: 100%;
}
.event_list .item a {
    background: #fff;
    border-radius: 30px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    height: 100%;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
    width: 100%;
}
.event_list .pic {
    top: -2px;
    padding-top: 52.8%;
    position: relative;
    overflow: hidden;
}
.event_list .pic img {
    position: absolute;
    top: 50%;
    width: 100%;
    height: auto;
    transform: translateY(-50%);
}
.event_list .item__body {
    padding: 1.2em 2em;
}
.event_list .item__ttl {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 0.8em;
}
.event_list .item__cat {
    border-radius: 100px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 14px;
    margin-bottom: 10px;
}
.event_list .item__cat.is_webinar {
    background: var(--colorOR);
}
.event_list .item__cat.is_event {
    background: var(--colorBL);
}
.event_list .item__cat.is_done {
    background: #888;
}
.event_list .item__date {
    color: #888;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0.6em;
}
@media (max-width: 1180px) {
    .event_list .item__ttl {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .event {
        padding-bottom: 40px;
    }
    .event_list {
        flex-direction: column;
        align-items: center;
    }
    .event_list .item {
        margin-bottom: 2em;
        width: 91.5%;
    }
    .event_list .item a {
        border-radius: 20px;
    }
    .event_list .item__body {
        padding: 1.4em 1.8em;
    }
    .event_list .item__ttl {
        font-size: 14px;
    }
    .event_list .item__cat {
        font-size: 11px;
        padding: 1px 10px;
    }
    .event_list .item__date {
        font-size: 12px;
    }
}

/* cloud-service-level */
.csl_area {
    position: relative;
    z-index: 1;
    padding-bottom: 100px;
}
.csl_area .page_ttl .txt_sub {
    display: block;
    font-size: 70%;
    font-weight: inherit;
    margin-top: 0.6em;
}
.csl_btns {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4em;
}
.csl_btns.is_bottom {
    margin: 4em 0 6em;
}
.csl_btns li {
    width: 48.5%;
}
.csl_btns li > a {
    background: #fff;
    border: 2px solid var(--colorBL);
    border-radius: 16px;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.2);
    color: var(--colorBL);
    display: block;
    text-align: center;
    padding: 1em 1em 1.4em;
    position: relative;
    width: 100%;
    height: 100%;
}
.csl_btns li > a::before {
    content: '';
    background: url(../images/common/icon_arrow_bl_02.webp) no-repeat center/contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
}
.csl_btns li.irepo > a {
    border-color: var(--colorOR);
    color: var(--colorOR);
    padding: 1.2em 1em 1.4em;
}
.csl_btns li.irepo > a::before {
    content: '';
    background: url(../images/common/icon_arrow_or.webp) no-repeat center/contain;
}
.csl_btns li strong {
    display: block;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.csl_btns li.irepo strong {
    font-size: 32px;
}
.csl_btns li strong > span {
    display: block;
    font-size: 60%;
    font-weight: 500;
    line-height: 1.45;
    margin-top: 2px;
}
.csl_box {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    font-size: 15px;
    margin-bottom: 40px;
}
.csl_box a {
    color: var(--colorOR);
    display: inline;
    word-break: break-all;
}
.csl_box .box_ttl {
    background: var(--colorOR);
    border-radius: 14px 14px 0 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    padding: 18px 40px;
}
.csl_box .item {
    padding: 2.6em;
}
.csl_box .item_ttl {
    font-size: 18px;
    font-weight: 700;
    margin: 2em 0 1em;
}
.csl_box .item_lead {
    font-size: 100%;
    font-weight: 700;
    margin-bottom: 1em;
}
.csl_box ul {
    list-style: disc;
    margin: 1.2em 0 1.2em 1.6em;
}
.csl_box .item_ttl:first-of-type {
    margin-top: 0;
}
.csl_box .pic {
    margin: 2em auto 0;
    max-width: 240px;
}
.csl_box .tbl {
    border: 2px solid #ddd;
    font-size: 14px;
}
.csl_box .tbl dl {
    align-items: center;
    display: flex;
    position: relative;
}
.csl_box .tbl dl + dl {
    border-top: 1px solid #ddd;
}
.csl_box .tbl dl:after {
    background-color: #ddd;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 240px;
    width: 1px;
    height: 100%;
}
.csl_box .tbl dt,
.csl_box .tbl dd {
    padding: 1em 1.4em;
}
.csl_box .tbl dt {
    font-weight: 400;
    width: 240px;
}
.csl_box .tbl dd {
    width: calc(100% - 240px);
}
.csl_box .tbl_director {
    align-items: center;
    display: flex;
}
.csl_box .tbl_director p:first-child {
    width: 11em;
}
.csl_area .btn_wrap {
    margin: 4em auto 0;
}
.csl_area .btn_wrap .csl_btn {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 16px;
    position: relative;
    margin: 0 auto;
    max-width: 380px;
}
.csl_area .btn_wrap .csl_btn:hover {
    color: #fff;
}
.csl_area .btn_wrap .csl_btn::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 1.6em;
}
.csl_checklist {
    margin: 100px 0 60px;
}
.csl_checklist .checklist_ttl {
    color: #000;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.8em;
}
.csl_checklist .note_box {
    font-size: 12px;
    margin-top: 1em;
}
/* checklist_tbl */
.checklist_tbl_wrap {
    background: #fff;
    overflow: auto;
}
.checklist_tbl {
    font-size: 14px;
}
.checklist_tbl table {
    border-collapse: collapse;
}
.checklist_tbl thead {
    text-align: center;
}
.checklist_tbl thead th {
    background-color: #707070;
    border: 1px solid #ddd;
    color: #fff;
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
    line-height: 1.4;
    padding: 8px 4px;
}
.checklist_tbl tbody th {
    background-color: var(--colorOR);
    border: 1px solid var(--colorOR);
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 8px 6px;
}
.checklist_tbl tbody td {
    border: 1px solid #ddd;
    letter-spacing: 0;
    line-height: 1.5;
    padding: 8px;
}
.checklist_tbl.is_meti tbody td:nth-last-child(2) {
    text-align: center;
}
.checklist_tbl.is_meti tbody td:nth-last-child(4) {
    width: 240px;
}
.checklist_tbl.is_meti tbody td:nth-last-child(5) {
    white-space: nowrap;
}
.checklist_tbl.is_meti tbody td:first-child {
    background-color: #f3f3f3;
    text-align: center;
}
.checklist_tbl.is_soumu tbody td:nth-last-child(2) {
    text-align: center;
}
.checklist_tbl.is_soumu tbody td:nth-last-child(5) {
    min-width: 80px;
    width: 160px;
}
.checklist_tbl.is_soumu tbody td:first-child {
    background-color: #f1f1f1;
    text-align: center;
    width: auto;
    min-width: 1em;
}
.checklist_tbl.is_soumu tbody .is-row td:first-child {
    background: none;
    text-align: left;
    width: auto;
}
/* csl_download */
.csl_download {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    padding: 1.8em 1em 2.6em;
    margin-bottom: 4em;
}
.csl_download .ttl {
    color: #000;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.2em;
}
.csl_download .list {
    display: flex;
    justify-content: center;
    gap: 2.8%;
}
.csl_download .list li {
    max-width: 320px;
    width: 100%;
}
.csl_download .dl_btn {
    background: #ff9500;
    border-radius: 100px;
    display: block;
    padding: 1em;
    margin: 0 auto;
    text-align: center;
    position: relative;
    max-width: 320px;
    width: 100%;
}
.csl_download .dl_btn::before {
    content: '';
    position: absolute;
    left: 1.8em;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 30px;
}
.csl_download .dl_btn.is_pdf::before {
    background: url(../images/csl/icon_pdf.webp) no-repeat center / contain;
}
.csl_download .dl_btn.is_excel::before {
    background: url(../images/csl/icon_excel.webp) no-repeat center / contain;
}
.csl_download .dl_btn::after {
    content: '';
    background: url(../images/common/icon_download_circle.png) no-repeat center / contain;
    position: absolute;
    right: 1.2em;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.csl_download .dl_btn > span {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    display: inline-block;
    padding-left: 0.4em;
}
@media (max-width: 1180px) {
    .csl_btns li strong {
        font-size: 24px;
    }
    .csl_btns li.irepo strong {
        font-size: 28px;
    }
    .csl_box .box_ttl {
        font-size: 20px;
    }
}
@media (max-width: 768px) {
    .csl_area {
        padding-bottom: 40px;
    }
    .csl_btns,
    .csl_btns.is_bottom {
        flex-direction: column;
        margin-bottom: 2em;
    }
    .csl_btns li {
        margin-bottom: 1.2em;
        width: 100%;
    }
    .csl_btns li > a {
        border-radius: 12px;
        padding: 0.6em 1em 0.8em;
    }
    .csl_btns li.irepo > a {
        padding: 0.8em 1em 1.4em;
    }
    .csl_btns li > a::before {
        right: 16px;
        width: 30px;
        height: 30px;
    }
    .csl_btns li strong {
        font-size: 18px;
    }
    .csl_btns li.irepo strong {
        font-size: 20px;
    }
    .csl_btns li strong > span {
        font-size: 70%;
    }
    .csl_box {
        border-radius: 10px;
        font-size: 13px;
        margin-bottom: 30px;
    }
    .csl_box .box_ttl {
        border-radius: 10px 10px 0 0;
        font-size: 16px;
        padding: 10px 20px;
    }
    .csl_box .item {
        padding: 2em 1.4em;
    }
    .csl_box .item_ttl {
        font-size: 14px;
    }
    .csl_box .tbl {
        font-size: 12px;
    }
    .csl_box .tbl dl:after {
        left: 90px;
    }
    .csl_box .tbl dt,
    .csl_box .tbl dd {
        padding: 0.8em 1em;
    }
    .csl_box .tbl dt {
        width: 90px;
    }
    .csl_box .tbl dd {
        width: calc(100% - 90px);
    }
    .csl_box .tbl_director {
        align-items: center;
        display: flex;
    }
    .csl_box .tbl_director p:first-child {
        width: 9em;
    }
    .csl_box .pic {
        max-width: 180px;
    }
    .csl_area .btn_wrap .csl_btn {
        font-size: 15px;
        padding: 12px;
        max-width: 260px;
    }
    .csl_checklist {
        margin: 40px 0;
    }
    .csl_checklist .checklist_ttl {
        font-size: 18px;
        margin-bottom: 1.4em;
    }
    /* checklist_tbl */
    .checklist_tbl {
        font-size: 12px;
    }
    .checklist_tbl tbody th,
    .checklist_tbl tbody td {
        padding: 4px;
    }
    /* csl_download */
    .csl_download {
        padding: 1.6em 1em 2em;
    }
    .csl_download .ttl {
        font-size: 16px;
    }
    .csl_download .list {
        flex-direction: column;
        align-items: center;
        gap: 1em;
    }
    .csl_download .list li {
        max-width: 240px;
    }
    .csl_download .dl_btn > span {
        font-size: 14px;
    }
    .csl_download .dl_btn::before {
        width: 18px;
        height: 25px;
    }
    .csl_download .dl_btn::after {
        width: 20px;
        height: 20px;
    }
}

/* document */
.document_main {
    padding-bottom: 80px;
    position: relative;
    z-index: 1;
}
.document_main .hidden-item {
    display: none !important;
}
.document .recommend_item {
    margin-bottom: 80px;
}
.document .recommend_item .list {
    display: flex;
    justify-content: center;
    gap: 6%;
}
.document .recommend_item .list li {
    max-width: 410px;
    width: 100%;
}
.document .recommend_item .bubble {
    background: var(--colorOR);
    border-radius: 100px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    padding: 0.2em 1em;
    position: relative;
    margin: 0 auto 1em;
    width: 100%;
    max-width: 370px;
}
.document .recommend_item .bubble::before {
    content: '';
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 12px 10px 0 10px;
    border-color: var(--colorOR) transparent transparent transparent;
    width: 0;
    height: 0;
}
.document .recommend_item .list a {
    background: #fff;
    border: 1px solid var(--colorOR);
    border-radius: 10px;
    display: block;
    padding: 2.6em 1em;
    text-align: center;
    width: 100%;
}
.document .recommend_item .list .pic {
    border: 1px solid #ddd;
    display: block;
    margin: 0 auto;
    max-width: 260px;
    width: 100%;
}
/* .document .recommend_item .list .pic.pic_side {
  max-width: 300px;
  margin: 13px auto;
} */
.document .recommend_item .list .list_ttl {
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin: 1.2em 0 0.4em;
}
.document .recommend_item .list .list-txt {
    list-style-type: disc;
    padding-left: 1.8em;
}
.document .recommend_item .list .list-txt li {
    font-size: 13px;
    letter-spacing: 0.06em;
    line-height: 1.5;
    text-align: left;
}
.document .recommend_item .list .document_point_ttl {
    color: var(--colorOR);
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    margin: 1em 0 0.6em;
}
.document .cat_ttl {
    color: #000;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin: 5em 0 1.6em;
}
.document_box .list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4%;
    margin: 0 auto;
}
.document_box .list > li {
    margin-bottom: 2.4em;
    width: 31.7%;
}
.document_box .list a {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0px 5px 10px 0px rgba(255, 149, 0, 0.2);
    display: block;
    padding: 1.6em 1.4em 7em;
    position: relative;
    text-align: center;
    height: 100%;
}
.document_box .list img {
    max-width: 260px;
    width: 100%;
}
.document_box .document_point_ttl {
    color: var(--colorOR);
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    margin: 1em 0 0.6em;
}
.document_box .document_point ul {
    list-style-type: disc;
    padding-left: 1.8em;
}
.document_box .document_point li {
    font-size: 13px;
    letter-spacing: 0.06em;
    line-height: 1.5;
    text-align: left;
}
.document_box .cat_name {
    background: #fff;
    border: 1px solid #ff9500;
    border-radius: 100px;
    color: #ff9500;
    display: inline-block;
    font-size: 75%;
    line-height: 1.4;
    padding: 0.1em 0.6em;
    text-align: center;
}
.document_box .document_name {
    font-size: 110%;
    font-weight: 700;
    margin: 0.6em 0 1.2em;
}
.download_btn {
    background: var(--colorGR);
    border-radius: 100px;
    color: #fff;
    font-size: 90%;
    font-weight: 700;
    display: block;
    padding: 1em;
    margin: 1.8em auto 0;
    text-align: center;
    position: relative;
    max-width: 240px;
    width: 100%;
}
.download_btn::before {
    content: '';
    background: url(../images/common/icon_download_circle_gr.png) no-repeat center / cover;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.document_box .list .download_btn {
    position: absolute;
    bottom: 2.4em;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
}
@media (max-width: 1180px) {
    .document .recommend_item .list {
        gap: 3%;
    }
    .document .recommend_item .bubble {
        font-size: 18px;
    }
    .document .recommend_item .list .list_ttl {
        font-size: 20px;
    }
    .document_box .list > li {
        width: 48.8%;
    }
}
@media (max-width: 768px) {
    .document .recommend_item {
        margin-bottom: 40px;
    }
    .document .recommend_item .list {
        flex-direction: column;
        align-items: center;
    }
    .document .recommend_item .list li {
        margin-bottom: 3em;
        max-width: 320px;
        width: 80%;
    }
    .document .recommend_item .list li:last-of-type {
        margin-bottom: 0;
    }
    .document .recommend_item .bubble {
        font-size: 14px;
        max-width: 300px;
    }
    .document .recommend_item .bubble::before {
        bottom: -8px;
        border-width: 10px 8px 0 8px;
    }
    .document .recommend_item .list a {
        padding: 2em 1em;
    }
    .document .recommend_item .list .pic {
        max-width: 200px;
    }
    .document .recommend_item .list .pic.pic_side {
        max-width: 200px;
        margin: 0 auto;
    }
    .document .cat_ttl {
        font-size: 18px;
        margin: 3.8em 0 1.2em;
    }
    .document_box .list {
        flex-direction: column;
        align-items: center;
    }
    .document .recommend_item .list .list_ttl {
        font-size: 16px;
    }
    .document .recommend_item .list .list-txt li {
        margin-bottom: 0;
        width: 100%;
    }
    .document_box .list > li {
        margin-bottom: 1.8em;
        max-width: 320px;
        width: 100%;
    }
    .document_box .cat_name {
        font-size: 12px;
    }
    .document_box .document_name {
        font-size: 16px;
        margin: 0.4em 0 1em;
    }
    .document_box .document_point_ttl {
        font-size: 13px;
        margin: 0.8em 0 0.4em;
    }
    .document_box .document_point li {
        font-size: 11px;
        letter-spacing: 0;
    }
    .download_btn {
        font-size: 13px;
        margin: 1.4em auto 0;
        max-width: 210px;
    }
    .document_box .list .download_btn {
        bottom: 1.5em;
    }
}

/* -------- agent -------- */
.agent_cont {
    padding-bottom: 40px;
    position: relative;
    z-index: 1;
}
/* pa_bnr */
.agent_cont .pa_bnr {
    margin-bottom: 80px;
}
.agent_cont .pa_bnr a:hover {
    opacity: 0.5;
}
.agent_cont .pa_bnr a img {
    border-radius: 20px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 768px) {
    .agent_cont .pa_bnr {
        margin: -20px 0 40px;
    }
    .agent_cont .pa_bnr a img {
        border-radius: 10px;
    }
}
/* agent_partner */
.agent_partner {
    background: #fff;
}
.agent_partner_ttl {
    background: #707070;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 0.6em;
    text-align: center;
}
.agent_partner_box {
    background: #fff;
    border: 1px solid #ddd;
    font-size: 15px;
    padding: 24px;
}
.agent_partner_txt {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.agent_partner_txt p {
    padding-right: 1em;
}
.agent_partner_txt img {
    width: 250px;
}
.agent_partner_menu {
    margin-top: 1em;
}
.agent_partner_menu .ttl {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 14px;
}
.agent_partner_menu dl {
    color: #fff;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    margin-top: 1px;
    margin-bottom: 0;
}
.agent_partner_menu dl.menu_head dt,
.agent_partner_menu dl.menu_head dd {
    font-weight: 700;
    justify-content: center;
}
.agent_partner_menu dl + dl {
    color: inherit;
}
.agent_partner_menu dl + dl dt,
.agent_partner_menu dl + dl dd {
    background-color: #f6f6f6;
    padding: 1em 1.4em;
}
.agent_partner_menu dt,
.agent_partner_menu dd {
    align-items: center;
    background-color: #999;
    display: flex;
    margin: 0;
    padding: 0.5em 1em;
}
.agent_partner_menu dt {
    margin-right: 1px;
    width: 26%;
}
.agent_partner_menu dd {
    width: 74%;
}
.agent_partner_bottom img {
    display: block;
    margin: 2em auto 1.2em;
    max-width: 160px;
    width: 100%;
}
.partner_btn {
    background: var(--colorOR);
    border-radius: 100px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 16px;
    position: relative;
    margin: 0.6em auto;
    max-width: 360px;
}
.partner_btn::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 1.4em;
}
.partner_btn:hover,
.partner_btn:active,
.partner_btn:focus {
    color: #fff;
}
@media (max-width: 1180px) {
    .agent_partner_menu dl {
        font-size: 12px;
    }
}
@media (max-width: 768px) {
    .agent_partner_ttl {
        font-size: 15px;
    }
    .agent_partner_box {
        font-size: 12px;
        padding: 18px;
    }
    .agent_partner_txt {
        flex-direction: column;
    }
    .agent_partner_txt p {
        padding-right: 0;
        margin-bottom: 1em;
    }
    .agent_partner_txt img {
        width: 180px;
    }
    .agent_partner_menu {
        margin-top: 2em;
    }
    .agent_partner_menu .ttl {
        font-size: 16px;
    }
    .agent_partner_menu dt {
        width: 40%;
    }
    .agent_partner_menu dd {
        width: 60%;
    }
    .agent_partner_menu dl + dl dt,
    .agent_partner_menu dl + dl dd {
        padding: 0.6em 0.8em;
    }
    .partner_btn {
        font-size: 13px;
        padding: 14px;
        max-width: 275px;
    }
}
/* agent_area */
.agent_area {
    margin: 3em 0;
}
.agent_area_list {
    display: flex;
    gap: 3px;
    width: 100%;
}
.agent_area_list .list_item,
.agent_area_list .list_item_active {
    text-align: center;
    list-style-type: none;
    width: 100%;
}
.agent_area_list .list_item a {
    background: #e5ecf4;
    color: var(--colorBL);
}
.agent_area_list .list_item_active a {
    background: var(--colorBL);
    color: #fff;
}
.agent_area_list .list_item a,
.agent_area_list .list_item_active a {
    font-size: 15px;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 4px;
    height: 100%;
}
@media (max-width: 1180px) {
    .agent_area_list {
        flex-wrap: wrap;
    }
    .agent_area_list .list_item,
    .agent_area_list .list_item_active {
        width: 19.5%;
    }
    .agent_area_list .list_item a,
    .agent_area_list .list_item_active a {
        font-size: 14px;
        padding: 8px 4px;
    }
}
@media (max-width: 768px) {
    .agent_area_list {
        gap: 2px;
    }
    .agent_area_list .list_item,
    .agent_area_list .list_item_active {
        width: 32.8%;
    }
    .agent_area_list .list_item a,
    .agent_area_list .list_item_active a {
        font-size: 12px;
    }
}
/* agent_box */
.agent_box {
    margin-top: 2em;
}
.agent_box .txt_note {
    font-size: 14px;
    margin: 2em 0;
}
.agent_box .tbl {
    background: #fff;
    border-collapse: collapse;
    border: 1px solid #ddd;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-word;
    width: 100%;
}
.agent_box .tbl th {
    background: #707070;
    border: 1px solid #ddd;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 0.6em;
    text-align: center;
}
.agent_box .name_label {
    width: 85%;
}
.agent_box .area_label {
    width: 15%;
}
.agent_box .tbl td {
    border: 1px solid #ddd;
    font-size: 14px;
    line-height: 1.6;
    padding: 24px;
    position: relative;
}
.agent_box .tbl td:first-child {
    padding-right: 240px;
}
.agent_box .tbl td .img {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    width: 200px;
}
.agent_box .tbl td .img > img {
    max-width: 200px;
    max-height: 110px;
    width: auto;
    height: auto;
}
.agent_box .tbl td .name {
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 6px;
}
.agent_box .tbl td .homepage,
.agent_box .tbl td .contact {
    font-weight: 500;
    text-decoration: underline;
    color: var(--colorOR);
    margin: 0.2em 0;
}
@media (max-width: 1180px) {
    .agent_box .tbl td {
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.5;
    }
    .agent_box .tbl td .name {
        font-size: 16px;
    }
    .agent_box .tbl td .img {
        width: 140px;
    }
    .agent_box .tbl td .img > img {
        max-width: 140px;
        max-height: 80px;
    }
}
@media (max-width: 768px) {
    .agent_box .name_label {
        width: 80%;
    }
    .agent_box .area_label {
        width: 20%;
    }
    .agent_box .tbl th {
        font-size: 13px;
    }
    .agent_box .tbl td,
    .agent_box .tbl td:first-child {
        padding: 14px 10px;
    }
    .agent_box .tbl td .img {
        position: static;
        margin: 0 auto 1em;
        display: block;
        transform: none;
        width: 100px;
    }
    .agent_box .tbl td .img > img {
        max-width: 100px;
        max-height: 60px;
    }
    .agent_box .tbl td .name {
        font-size: 14px;
    }
    .agent_box .txt_note {
        font-size: 12px;
    }
}

/* -------- movie -------- */
.movie {
    padding-bottom: 80px;
}
.movie .movie_block {
    margin-bottom: 140px;
}
.movie .movie_head {
    padding-bottom: 60px;
}
.movie .cat_ttl {
    color: #000;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.6em;
}
.movie .cat_lead {
    text-align: center;
    margin-bottom: 3em;
}
.movie_head,
.movie_cta,
.movie .cat_ttl,
.movie .p-movieItem {
    position: relative;
    z-index: 1;
}
.movie .movie_block_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.4%;
    margin: 0 auto;
}
.movie .movie_block_row .movie_item {
    margin-bottom: 2.4em;
    width: 31.7%;
}
.movie .movie_item {
    padding: 0;
}
.movie .p-movieItem__wrapper {
    height: 100%;
}
.movie .p-movieItem__wrapper a {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0px 5px 10px 0px rgba(255, 149, 0, 0.2);
    display: block;
    padding: 1.8em 1.8em 1.6em;
    position: relative;
    text-align: center;
    height: 100%;
}
.movie .p-movieItem__img {
    left: 0;
}
.movie .movie_item_ttl {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.2em;
}
.movie .movie_item_txt {
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
    margin: 0.8em 0 1em;
    min-height: 5em;
}
.movie .movie_item_btn {
    background: #ff9500;
    border-radius: 100px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    display: block;
    padding: 0.8em;
    margin: 1.2em auto 0;
    text-align: center;
    position: relative;
    max-width: 220px;
    width: 100%;
}
.movie .movie_item_btn::before {
    content: '';
    background: url(../images/common/icon_arrow_wh.webp) no-repeat center / contain;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
}
.movie .movie_cta {
    margin-top: 180px;
}
.movie .movie_cta_row {
    display: flex;
    justify-content: center;
    gap: 4%;
}
.movie .p-movieIntroItem__img--wrapper {
    max-width: 380px;
    margin: 0 auto;
}
.movie .movie_cta_btn {
    background: #fff;
    border: 2px solid var(--colorBL);
    border-radius: 100px;
    box-shadow: 0px 2px 12px 0px rgba(0, 73, 148, 0.2);
    color: var(--colorBL);
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 14px;
    position: relative;
    max-width: 360px;
    margin: 40px auto 0;
}
.movie .movie_cta_btn::before {
    content: '';
    background: url(../images/common/icon_arrow_bl_02.webp) no-repeat center / contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
}
.movie .close__youtube {
    width: 35px;
}
.movie .modal__close {
    margin-left: 0;
}
@media (max-width: 1180px) {
    .movie .movie_block_row .movie_item {
        width: 46.6%;
    }
    .movie .movie_item_ttl {
        font-size: 16px;
    }
    .movie .movie_cta_btn {
        font-size: 18px;
        max-width: 320px;
    }
    .movie .modal-dialog {
        max-width: 720px;
    }
}
@media (max-width: 768px) {
    .movie {
        padding-bottom: 60px;
    }
    .movie .movie_head {
        padding-bottom: 0;
    }
    .movie .cat_ttl {
        font-size: 18px;
        padding: 0 1em;
    }
    .movie .cat_lead {
        font-size: 13px;
        padding: 0 1em;
        margin-bottom: 2.4em;
    }
    .movie .movie_block {
        margin-bottom: 60px;
    }
    .movie .movie_block_row .movie_item {
        margin-bottom: 1.8em;
        max-width: 320px;
        width: 100%;
    }
    .movie .movie_item_ttl {
        font-size: 14px;
    }
    .movie .movie_item_txt {
        font-size: 12px;
        min-height: auto;
    }
    .movie .movie_item_btn {
        font-size: 14px;
        max-width: 180px;
    }
    .movie .movie_item_btn::before {
        width: 18px;
        height: 18px;
    }
    .movie .movie_cta {
        margin-top: 80px;
    }
    .movie .movie_cta_row {
        flex-direction: column;
        gap: 5em 0;
    }
    .movie .p-movieIntroItem__img--wrapper {
        max-width: 280px;
    }
    .movie .movie_cta_btn {
        font-size: 15px;
        margin-top: 24px;
        max-width: 260px;
    }
    .movie .movie_cta_btn::before {
        right: 16px;
        width: 20px;
        height: 20px;
    }
    .movie .close__youtube {
        left: 90%;
    }
}

/* notfound search_results */
.notfound {
    background: #fffbf5;
}
.notfound .l-error-404 {
    background: transparent;
    padding: 6em 2em;
}
.notfound .error-404-ttl {
    color: var(--colorOR);
    font-weight: 700;
}
.notfound .search-form {
    overflow: hidden;
    height: 4em;
}
.notfound .search-form label {
    max-width: 300px;
    width: 100%;
    height: 100%;
}
.notfound .error-404-search .search-field {
    border: 1px solid var(--colorOR);
    border-radius: 4px 0 0 4px;
    background: #fff;
    height: 100%;
}
.notfound .error-404-search .search-submit {
    border: 1px solid var(--colorOR);
    border-left: 0;
    border-radius: 0 4px 4px 0;
    background: var(--colorOR);
    font-weight: 700;
    padding: 1.2em;
    height: 4.5em;
}
.notfound .search_results {
    padding-bottom: 60px;
}
.notfound .search_results .list li {
    font-size: 95%;
    padding: 0.2em 0;
}
@media (max-width: 768px) {
    .notfound .search-form label {
        width: auto;
    }
}

/* news */
.news_main {
    padding-bottom: 80px;
    position: relative;
    z-index: 1;
}
.news_main .news {
    padding: 0;
}
.news_main .news,
.news_main .news__ul {
    border: 0;
}
.news_main .news__li {
    border-bottom: 1px solid #000;
    padding: 2.6em 0em;
}
.news_main .news__left,
.news_main .news__ttl,
.news_main .news__txt {
    color: #000;
}
.news_main .news__txt {
    font-size: 15px;
    line-height: 1.6;
}
.news_main .news__ttl {
    font-size: 18px;
    font-weight: 700;
    margin: 10px 0 20px;
}
.news_main .news__link {
    color: var(--colorOR);
    text-decoration: underline;
    font-weight: 500;
}
.news_main .news__date {
    display: inline-block;
    font-family: 'Figtree';
}
.news_main .news__cat > span {
    background: var(--colorBL);
    border-radius: 100px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    display: inline-block;
    padding: 0.1em 1em;
    margin-top: 10px;
}
.news_main .news__img-wrap {
    border: none;
    padding: 0;
    margin-bottom: 1.2em;
}
@media (max-width: 1180px) {
    .news_main .news__date {
        padding-right: 0.8em;
    }
}
@media (max-width: 768px) {
    .news_main .news__left {
        font-size: 14px;
    }
    .news_main .news__cat > span {
        font-size: 11px;
    }
    .news_main .news__ttl {
        font-size: 16px;
        margin: 4px 0 18px;
    }
    .news_main .news__txt {
        font-size: 12px;
    }
}

/* partner award 共通 */
.p-pa2021-agent__ir {
    background-color: #fff;
    border: 2px solid var(--colorOR);
    color: var(--colorOR);
}
.p-pa2021-agent__ir:hover {
    background: #fff;
    color: var(--colorOR);
}
.p-pa2021-agent__ir span:before {
    background: url(../../../i-repo/assets_new/images/common/logo_en.svg) no-repeat center;
}

/* partner award　２０２５ */
.pa2025 .p-pa2021-main {
    padding-top: 40px;
    min-height: 630px;
    background-color: transparent;
    background-image: url(../../../i-repo/assets_new/images/pa2025/main_bg.webp);
}
.pa2025 .p-pa2021-main__title {
    filter: none;
    margin: 0 auto;
    max-width: 510px;
}
.pa2025 .p-pa2021-main__about {
    bottom: 26px;
}
.pa2025 .p-pa2021-main__lead {
    margin: 0 0 0.2em;
}
.pa2025 .p-pa2021-main__lead {
    font-size: 116%;
}
.pa2025 .p-pa2021-main__lead span,
.pa2025 .p-pa2021-main__text {
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
    font-weight: 700;
    line-height: 1.6;
}
.pa2025 .p-pa2021-company__container.is_boder {
    border-top: 1px solid #a57c1e;
}
.pa2025 .p-pa2021-company__title {
    background: radial-gradient(circle, #f1d290 0%, #cbaa5c 100%);
    color: #1a2e50;
}
.pa2025 .p-pa2021-company__award-lead {
    padding: 0 0.8em;
    letter-spacing: 0.06em;
}
@media (max-width: 767px) {
    .pa2025 .p-pa2021-main {
        padding-top: 30px;
        min-height: 660px;
        background-image: url(../../../i-repo/assets_new/images/pa2025/main_bg_s.webp);
        background-position-y: center;
    }
    .pa2025 .p-pa2021-main:before {
        content: none;
    }
    .pa2025 .p-pa2021-main__title {
        max-width: 370px;
    }
    .pa2025 .p-pa2021-main__about {
        bottom: 20px;
    }
    .pa2025 .p-pa2021-main__lead span {
        line-height: 1.3;
    }
    .pa2025 .p-pa2021-company__award-lead {
        padding: 0;
    }
    .pa2025 .p-pa2021-company__company-comment {
        line-height: 1.6;
    }
}

/* ------ question ------ */
/* FAQ 一覧 */
.question_cont {
    padding-bottom: 40px;
    position: relative;
    z-index: 1;
}
.question_cat {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    position: relative;
    margin-bottom: 60px;
}
.question_cat .cat_ttl {
    background: var(--colorOR);
    border-radius: 20px 20px 0 0;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    padding: 16px 30px;
    position: relative;
    text-align: center;
}
.question_cat .cat_item {
    padding: 26px 40px;
}
.question_cat .list li {
    display: flex;
    align-items: center;
    gap: 0.8em;
    margin: 1em 0;
}
.question_cat .list a {
    color: #000;
    display: block;
    font-size: 110%;
    padding-right: 1.2em;
    position: relative;
    width: 96%;
}
.question_cat .list a::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px var(--colorOR);
    border-right: solid 2px var(--colorOR);
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 0.4em;
}
.question_cat .list .icon {
    background: #fff4e5;
    border-radius: 50%;
    color: var(--colorOR);
    display: block;
    font-size: 20px;
    text-align: center;
    line-height: 40px;
    width: 40px;
    height: 40px;
}
@media (max-width: 768px) {
    .question_cont {
        padding-bottom: 0;
    }
    .question_cat {
        border-radius: 16px;
        margin-bottom: 30px;
    }
    .question_cat .cat_ttl {
        border-radius: 16px 16px 0 0;
        font-size: 16px;
        padding: 10px;
    }
    .question_cat .cat_item {
        padding: 10px 14px;
    }
    .question_cat .list a {
        font-size: 100%;
        line-height: 1.5;
        width: 86%;
    }
    .question_cat .list a::before {
        right: 0;
    }
    .question_cat .list .icon {
        font-size: 16px;
        line-height: 26px;
        width: 26px;
        height: 26px;
    }
}
/* FAQ 詳細 */
.question_details {
    position: relative;
    z-index: 1;
}
.question_details .faq_block {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    padding: 54px 60px 60px;
    position: relative;
    margin-bottom: 60px;
}
.question_details .faq_ttl {
    border-bottom: 2px solid var(--colorOR);
    display: flex;
    align-items: center;
    gap: 0.6em;
    padding-bottom: 0.8em;
    margin-bottom: 1.2em;
}
.question_details .faq_ttl .icon {
    background: #fff4e5;
    border-radius: 50%;
    color: var(--colorOR);
    display: block;
    font-size: 30px;
    text-align: center;
    line-height: 50px;
    width: 50px;
    height: 50px;
}
.question_details .faq_ttl .txt {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
    width: 96%;
}
.question_details .faq_answer {
    background: #fff4e5;
    border-radius: 16px;
    display: flex;
    gap: 1.2em;
    padding: 2.2em;
}
.question_details .faq_answer .icon {
    background: #fff;
    border-radius: 50%;
    color: var(--colorOR);
    display: block;
    font-size: 22px;
    text-align: center;
    line-height: 38px;
    width: 38px;
    height: 38px;
}
.question_details .faq_answer .txt {
    display: block;
    font-size: 18px;
    width: 94%;
}
.question_details .faq_answer .txt > strong {
    color: var(--colorOR);
    font-weight: 700;
}
.question_details .answer_item {
    margin-top: 2.4em;
}
.question_details .answer_ttl {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0.8em;
    padding-left: 1.4em;
    position: relative;
}
.question_details .answer_ttl::before {
    content: '●';
    color: #ff9500;
    position: absolute;
    left: 0;
}
.question_details .answer_ttl_s {
    font-size: 18px;
    font-weight: 700;
    margin: 1em 0 0.4em;
}
.question_details .answer_txt {
    font-size: 15px;
    line-height: 1.6;
}
.question_details .answer_txt strong {
    font-weight: 700;
}
.question_details .answer_txt a {
    color: #ff9500;
    text-decoration: underline;
}
/* 質問CTA */
.question_details .cta_item {
    color: #000;
    text-align: center;
    margin: 100px 0;
}
.question_details .cta_item .ttl {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0.6em;
}
@media (max-width: 768px) {
    .question_details .faq_block {
        border-radius: 16px;
        padding: 30px 24px 34px;
    }
    .question_details .faq_ttl {
        gap: 0.4em;
        padding-bottom: 0.6em;
        margin-bottom: 0.8em;
    }
    .question_details .faq_ttl .txt {
        font-size: 15px;
        width: 88%;
    }
    .question_details .faq_ttl .icon {
        font-size: 18px;
        line-height: 34px;
        width: 34px;
        height: 34px;
    }
    .question_details .faq_answer {
        border-radius: 12px;
        gap: 1em;
        padding: 2em 1.4em;
    }
    .question_details .faq_answer .txt {
        font-size: 12px;
    }
    .question_details .faq_answer .icon {
        font-size: 16px;
        line-height: 26px;
        width: 26px;
        height: 26px;
    }
    .question_details .answer_ttl {
        font-size: 15px;
    }
    .question_details .answer_ttl_s {
        font-size: 14px;
    }
    .question_details .answer_txt {
        font-size: 12px;
    }
    /* 質問CTA */
    .question_details .cta_item {
        margin: 60px 0;
    }
    .question_details .cta_item .ttl {
        font-size: 16px;
    }
}
/* 関連する質問 */
.question_details .related_box {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 4px 16px 0px rgba(255, 149, 0, 0.3);
    padding: 46px 40px;
    position: relative;
    margin-bottom: 80px;
}
.question_details .related_box .ttl {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.4em;
}
.question_details .related_box .list li {
    display: flex;
    align-items: center;
    gap: 0.8em;
    margin: 1em 0;
}
.question_details .related_box .list a {
    display: block;
    font-size: 110%;
    padding-right: 1.2em;
    position: relative;
    width: 96%;
}
.question_details .related_box .list a::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px var(--colorOR);
    border-right: solid 2px var(--colorOR);
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 0.4em;
}
.question_details .related_box .list .icon {
    background: #fff4e5;
    border-radius: 50%;
    color: var(--colorOR);
    display: block;
    font-size: 20px;
    text-align: center;
    line-height: 40px;
    width: 40px;
    height: 40px;
}
@media (max-width: 768px) {
    .question_details .related_box {
        border-radius: 16px;
        padding: 30px 14px;
        margin-bottom: 40px;
    }
    .question_details .related_box .ttl {
        font-size: 16px;
    }
    .question_details .related_box .list a {
        font-size: 100%;
        line-height: 1.5;
        width: 86%;
    }
    .question_details .related_box .list a::before {
        right: 0;
    }
    .question_details .related_box .list .icon {
        font-size: 16px;
        line-height: 26px;
        width: 26px;
        height: 26px;
    }
}

/* 導入企業ロゴ一覧 */
.company_logo {
    padding: 5.4em 0 2em;
    position: relative;
    z-index: 1;
}