@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

:root {
    --main-color: #263B6E;
    --sub-color: #EFBE46;
}

html,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", sans-serif;
}

/* 追加webフォント */
@font-face {
    font-family: "Inter";
    src: url("/wp-content/themes/child/fonts/Inter-VariableFont_slnt,wght.ttf") format("truetype");
}

.f_en {
    font-family: "Inter", sans-serif;
}

@font-face {
    font-family: "Helvetica";
    src: url("/wp-content/themes/child/fonts/Helvetica.ttf") format("truetype");
}

.f_hel {
    font-family: "Helvetica", sans-serif;
}

.f_zen {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 900;
}

@font-face {
    font-family: "DIN-2014";
    src: url("/wp-content/themes/child/fonts/DIN-2014_Bold.otf") format("opentype");
    font-weight: 700;
}

.f_din {
    font-family: "DIN-2014", sans-serif;
}

body {
    color: #151515;
    font-size: 14px;
    line-height: 1.7;
    padding-top: 100px;
    position: relative;
}

a[href $='.pdf'] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: underline;
    color: #000;
    line-height: 1.5;
}

a[href $='.pdf']::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    background-image: url(/wp-content/themes/child/image/icon/icon_pdf.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 15px;
}

a[href $='.pdf']:hover {
    text-decoration: none;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

/* ヘッダー */
#pc_header {
    background-color: var(--main-color);
    padding: 30px 50px 25px;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    min-width: 1200px;
    box-shadow: 0 1px 3px #DDD;
}

.hd_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hd_box .list_box {
    display: flex;
    align-items: center;
    gap: 25px;
}

.hd_box .list_box nav ul {
    display: flex;
    align-items: center;
    gap: 0 24px;
}

.hd_box .list_box .other_menu {
    display: flex;
    align-items: center;
    padding-left: 29.5px;
    gap: 0 30px;
    position: relative;
}

.hd_box .list_box .other_menu .language_btn a {
    display: block;
}

.hd_box .logo a {
    display: block;
    width: 100%;
    height: 100%;
}

.hd_box .logo a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hd_box .logo {
    width: 314px;
}

.hd_box .list_box nav li a {
    color: #FFF;
    display: block;
    width: 100%;
    height: 100%;
    transition: .3s;
}

.hd_box .list_box .other_menu::before {
    content: "";
    top: 10px;
    bottom: 10px;
    background-color: #FFF;
    width: 1px;
    position: absolute;
    left: 0;
}

.hd_box .list_box .other_menu .language_btn a {
    display: flex;
    gap: 0 12px;
    color: #FFF;
    align-items: center;
}

.hd_box .list_box .other_menu .language_btn a .text {
    font-size: 17px;
    font-weight: 400;
    cursor: pointer !important;
}

.hd_box .list_box .other_menu .language_btn a svg {
    width: 19px;
}

.common_cta_btn a {
    display: flex;
    padding: 3px 20px;
    align-items: center;
    width: 170px;
    min-block-size: 40px;
    background-color: var(--sub-color);
    border-radius: 4px;
    gap: 0 9.7px;
    transition: .3s;
}

.common_cta_btn a .text {
    color: var(--main-color);
    font-weight: 700;
    letter-spacing: .03em;
}

.common_cta_btn a:hover {
    opacity: 0.8;
}

/* TOP メインビジュアル */
/* .top_mv .cont {
    padding-block: 464px 73px;
    position: relative;
    width: 1360px;
    margin: 0 auto;
    translate: 10px 0;
}

.top_mv {
    background-color: var(--main-color);
}

.top_mv .cont .bg_pc .img1 {
    position: absolute;
    top: 36px;
    left: 0;
    width: 350px;
    z-index: 0;
}

.top_mv .cont .bg_pc img {
    width: 100%;
    object-fit: cover;
}

.top_mv .cont .bg_pc .img1 img {
    aspect-ratio: 175 / 131;
}

.top_mv .cont .bg_pc .img2 {
    position: absolute;
    top: 43px;
    left: 400px;
    width: 250px;
    z-index: 0;
}

.top_mv .cont .bg_pc .img2 img {
    aspect-ratio: 125/112;
}

.top_mv .cont .bg_pc .img3 {
    position: absolute;
    width: 460px;
    top: -17px;
    right: 160px;
    z-index: 0;
}

.top_mv .cont .bg_pc .img3 img {
    aspect-ratio: 230/149;
}

.top_mv .cont .bg_pc .img4 {
    position: absolute;
    width: 188px;
    left: 197px;
    bottom: 120px;
}

.top_mv .cont .bg_pc .img4 img {
    aspect-ratio: 1/1;
}

.top_mv .cont .bg_pc .img5 {
    position: absolute;
    width: 191px;
    bottom: 132px;
    left: 448px;
}

.top_mv .cont .bg_pc .img5 img {
    aspect-ratio: 1/1;
}

.top_mv .cont .bg_pc .img6 {
    position: absolute;
    width: 266px;
    bottom: 103px;
    right: 432px;
}

.top_mv .cont .bg_pc .img6 img {
    aspect-ratio: 133/117;
}

.top_mv .cont .bg_pc .img7 {
    position: absolute;
    width: 397px;
    bottom: 85px;
    right: 0;
    z-index: 0;
}

.top_mv .cont .bg_pc .img7 img {
    aspect-ratio: 397/224;
}

.top_mv .cont .bg_text {
    position: relative;
    width: 970px;
}

.top_mv .cont .bg_text img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top_mv .cont .bg_pc .img1::before {
    content: "";
    width: 350px;
    aspect-ratio: 175/131;
    min-width: 0;
    position: absolute;
    top: 10px;
    left: -10px;
    border: solid 1px #FFF;
    z-index: -1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

.top_mv .cont .bg_pc .img2::before,
.top_mv .cont .bg_pc .img2::after {
    content: "";
    aspect-ratio: 1/1;
    min-width: 0;
    background-color: #FFF;
    position: absolute;
    z-index: -1;
}

.top_mv .cont .bg_pc .img2::after {
    width: 80px;
    bottom: -43px;
    left: -10px;
}

.top_mv .cont .bg_pc .img2::before {
    width: 110px;
    top: -33px;
    left: -25px;
}

.top_mv .cont .bg_pc .img3::before,
.top_mv .cont .bg_pc .img3::after {
    content: "";
    width: 118px;
    aspect-ratio: 1/1;
    min-width: 0;
    background-color: #FFF;
    position: absolute;
    z-index: -1;
}

.top_mv .cont .bg_pc .img3::after {
    bottom: -28px;
    right: -90px;
}

.top_mv .cont .bg_pc .img3::before {
    top: -5px;
    right: -40px;
}

.top_mv .cont .bg_pc .img7::before {
    content: "";
    width: 405px;
    aspect-ratio: 405/246;
    min-width: 0;
    position: absolute;
    bottom: -6px;
    right: 4px;
    border: solid 1px #FFF;
    z-index: 1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

.mv_bg_slider.sp {
    display: none;
} */

.top_mv {
    height: 92vh;
    background-image: url(/wp-content/themes/child/image/top_mv_back.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.top_mv .cont {
    /* padding-block: 32vh 73px; */
    position: relative;
    /* width: 1360px; */
    height: 100%;
    margin: 0 auto;
    /* translate: 10px 0; */
    width: 94.4%;
    padding-block: 28vh 8.5vh;
    translate: 0.7vw 0;
}

.top_mv .cont .bg_pc .img1 {
    position: absolute;
    top: 3vh;
    /* left: 215px; */
    /* width: 320px; */
    height: 22vh;
    z-index: 0;
    width: 22.2vw;
    left: 14.9vw;
}

.top_mv .cont .bg_pc img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}

.top_mv .cont .bg_pc .img1 img {
    aspect-ratio: 175 / 131;
    object-position: bottom;
}

.top_mv .cont .bg_pc .img2 {
    position: absolute;
    top: 1vh;
    /* left: 570px; */
    /* width: 250px; */
    z-index: 0;
    height: 25vh;
    left: 39.5vw;
    width: 17.3vw;
}

.top_mv .cont .bg_pc .img2 img {
    aspect-ratio: 125/112;
}

.top_mv .cont .bg_pc .img3 {
    position: absolute;
    /* width: 460px; */
    top: 6vh;
    /* right: 46px; */
    z-index: 0;
    height: 34vh;
    width: 27.9vw;
    right: 3.1vw;
}

.top_mv .cont .bg_pc .img3 img {
    aspect-ratio: 230/149;
    object-position: bottom;
}

.top_mv .cont .bg_pc .img4 {
    position: absolute;
    /* width: 380px; */
    left: 0;
    bottom: 16vh;
    height: 26.5vh;
    width: 26.3vw;
}

.top_mv .cont .bg_pc .img4 img {
    aspect-ratio: 3/2;
}

.top_mv .cont .bg_pc .img5 {
    position: absolute;
    /* width: 220px; */
    bottom: 19vh;
    height: 25vh;
    /* left: 412px; */
    width: 15.2vw;
    left: 28.6vw;
}

.top_mv .cont .bg_pc .img5 img {
    aspect-ratio: 1/1;
}

.top_mv .cont .bg_pc .img6 {
    position: absolute;
    /* width: 246px; */
    bottom: 20.5vh;
    /* right: 452px; */
    height: 25.7vh;
    width: 17vw;
    right: 31.3vw;
}

.top_mv .cont .bg_pc .img6 img {
    aspect-ratio: 1/1;
}

.top_mv .cont .bg_pc .img7 {
    position: absolute;
    /* width: 427px; */
    bottom: 16vh;
    right: 0;
    z-index: 0;
    height: 29.7vh;
    width: 29.6vw;
}

.top_mv .cont .bg_pc .img7 img {
    aspect-ratio: 3/2;
}

.top_mv .cont .bg_text {
    position: relative;
    /* width: 670px; */
    padding: 5px;
    width: 46.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 297/65;
}

.top_mv .cont .bg_text img {
    width: 90%;
    height: auto;
    object-fit: contain;
}


.top_mv .cont .bg_pc .img2::before,
.top_mv .cont .bg_pc .img2::after {
    /* content: ""; */
    /* aspect-ratio: 1/1; */
    /* min-width: 0; */
    /* background-color: #263b6e; */
    /* position: absolute; */
    /* z-index: -1; */
}

.top_mv .cont .bg_pc .img2::after {
    width: 80px;
    bottom: -43px;
    left: -10px;
}

.top_mv .cont .bg_pc .img2::before {
    width: 110px;
    top: -33px;
    left: -25px;
}

.top_mv .cont .bg_pc .img3::before,
.top_mv .cont .bg_pc .img3::after {
    /* content: ""; */
    /* width: 118px; */
    /* aspect-ratio: 1/1; */
    /* min-width: 0; */
    /* background-color: #263b6e; */
    /* position: absolute; */
    /* z-index: -1; */
}

.top_mv .cont .bg_pc .img3::after {
    bottom: -28px;
    right: -90px;
}

.top_mv .cont .bg_pc .img3::before {
    top: -5px;
    right: -40px;
}

.mv_bg_slider.sp {
    display: none;
}

.top_mv .cont .scroll_box {
    position: absolute;
    top: 80.5vh;
    left: 49%;
    translate: 0 -50%;
    color: var(--main-color);
}

.top_mv .cont .scroll_box a {
    color: var(--main-color);
    /* font-size: 16px; */
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    position: relative;
    font-size: 1.1vw;
}

.top_mv .cont .scroll_box a::before {
    content: "";
    position: absolute;
    bottom: -4vh;
    left: 50%;
    translate: -50% 0;
    background-image: url(/wp-content/themes/child/image/icon_arrow_blue.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    /* width: 18px; */
    aspect-ratio: 1 / 2;
    animation: scroll_icon 1s linear infinite;
    width: 1.2vw;
}

@keyframes scroll_icon {
    from {
        transform: translateY(0);
        opacity: 1;
    }

    to {
        transform: translateY(10px);
        opacity: 0;
    }
}

/* ヘッダー&MVのnewデザイン */
#pc_header.new_header {
    background-color: #fff;
}

.new_header .hd_box .list_box nav li a {
    position: relative;
    transition: .3s;
    color: var(--main-color);
    z-index: 1;
    font-size: 17px;
    border-bottom: 2px solid #b2c3df;
}

.new_header .hd_box .list_box nav li a::after {
    content: "";
    position: absolute;
    left: -10px;
    transition: .3s;
    height: calc(100% + 3px);
    top: 0;
    width: 0%;
    background-color: var(--main-color);
    z-index: -1;
    border-bottom: 3px solid #476ecf;
}

.new_header .hd_box .list_box nav li a:hover::after {
    width: calc(100% + 18px);
}

.new_header .hd_box .list_box nav li a:hover {
    color: #fff;
}

.new_header .hd_box .list_box .other_menu::before {
    background-color: var(--main-color);
}

.new_header .hd_box .list_box .other_menu .language_btn a {
    color: var(--main-color);
}

.new_header .hd_box .list_box nav li a {
    font-weight: 600;
}

.new_header .hd_box .list_box .other_menu .language_btn a .text {
    font-weight: 600;
}

.new_header .hd_box .list_box .other_menu .language_btn a svg path {
    fill: var(--main-color);
}

/* 共通バナー */
.top_whats {
    padding-block: 105px;
    background-color: var(--main-color);
}

.common_whats_banner {
    width: 1140px;
    margin: 0 auto;
    background-image: url(/wp-content/themes/child/image/about_banner_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.common_whats_banner a {
    width: 100%;
    height: 100%;
    padding: 29px 50px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: .3s;
}

.common_whats_banner a .circle {
    width: 120px;
    aspect-ratio: 1/1;
    border: solid 2px #FFF;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    display: none;
}

.common_whats_banner a .circle::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 21px solid #ffffff;
    border-right: 0;
    position: absolute;
    top: 50%;
    left: 50px;
    translate: 0 -50%;
}

.common_whats_banner a .cont .logo {
    width: 235px;
    margin: 0 0 25px 12px;
}

.common_whats_banner a .cont .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.common_whats_banner a .cont .text_box .en {
    font-size: 50px;
    color: #FFF;
    font-style: oblique;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0.1em;
    position: relative;
}

.common_whats_banner a .cont .text_box .ttl {
    color: #FFF;
    font-size: 18px;
    letter-spacing: .11em;
}

.common_whats_banner a .cont .text_box .en .color {
    color: var(--sub-color);
    font-size: 76px;
    display: inline-block;
    position: relative;
}

.common_whats_banner a .cont .text_box .en .trans_text {
    display: inline-block;
    margin-left: 12px;
    width: 261px;
    margin-bottom: 0.2em;
    position: relative;
}

.common_whats_banner a .cont .text_box .en .trans_text img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.common_whats_banner a .cont .text_box .en .trans_text::before {
    content: "";
    background-color: #263B6E;
    width: 120px;
    aspect-ratio: 1/1;
    border-radius: 10px;
    position: absolute;
    top: 0;
    left: 0;
    rotate: -20deg;
    mix-blend-mode: soft-light;
}

/* TOP お知らせ */
.top_news {
    background-color: #E8E8E8;
    padding-block: 70px 70px;
}

.common_sec_ttl .en {
    font-size: 60px;
    font-weight: 800;
    color: var(--main-color);
    line-height: 1.2;
}

.common_sec_ttl .ttl {
    font-size: 20px;
    letter-spacing: .07em;
    font-weight: 900;
    color: #151515;
}

.common_more_btn a {
    display: block;
    min-height: 50px;
    padding: 10px 38px;
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #FFF;
    background-color: var(--main-color);
    border-radius: 30px;
    position: relative;
    transition: .3s;
    border: solid 1px currentColor;
}

.common_more_btn {
    width: 210px;
}

.common_more_btn a::after {
    content: "";
    width: 8px;
    aspect-ratio: 1/1;
    min-width: 0;
    border: solid 2px #FFF;
    border-width: 2px 2px 0 0;
    position: absolute;
    rotate: 45deg;
    top: 50%;
    right: 30px;
    translate: 0 -50%;
    transition: .3s;
}

.common_more_btn a:hover {
    background-color: #FFF;
    color: var(--main-color);
}

.common_more_btn a:hover::after {
    border-color: var(--main-color);
}

.top_news .ttl_area {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 52px;
}

.top_news .ttl_area .common_more_btn {
    margin-bottom: 12px;
}

.top_news .cont .tab_box ul {
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: solid 1px #AAA;
    padding-bottom: 19px;
    position: relative;
}

.top_news .cont .tab_box li {
    padding: 0 45px;
    cursor: pointer;
    color: #AAA;
    position: relative;
    transition: .3s;
}

.top_news .cont .tab_box li:last-child::after {
    content: "";
    width: 1px;
    height: 16px;
    background-color: #AAA;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

.top_news .cont .tab_box li.active {
    color: #151515;
}

.top_news .cont .tab_box li::before {
    content: "";
    width: 1px;
    height: 16px;
    background-color: #AAA;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
}

.top_news .cont .tab_box li .text {
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 700;
    position: relative;
}

.top_news .cont .tab_box li.active .text::after {
    content: "";
    width: 95px;
    height: 2px;
    background-color: var(--main-color);
    position: absolute;
    bottom: -20px;
    left: 50%;
    translate: -50% 0;
}

.top_news .cont .tab_box {
    margin-bottom: 20px;
}

.top_news .cont .panel_box .panel .list li a {
    display: flex;
    align-items: center;
    padding: 20px 80px 20px 20px;
    color: #151515;
    letter-spacing: .04em;
    font-size: 16px;
    font-weight: 600;
    position: relative;
}

.top_news .cont .panel_box .panel .list li a .data {
    padding-right: 40px;
    font-size: 14px;
    flex-shrink: 0;
}

.top_news .cont .panel_box .panel .list li a .category {
    background-color: #F4F4F4;
    width: 180px;
    font-weight: 700;
    text-align: center;
    padding-block: 7px 6px;
    flex-shrink: 0;
}

.top_news .cont .panel_box .panel .list li a .ttl {
    padding-left: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.top_news .cont .panel_box .panel .list li {
    border-bottom: solid 1px #E0E0E0;
}

.top_news .cont .panel_box .panel .list li a::after {
    content: "";
    width: 8px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    border: solid 2px var(--main-color);
    border-width: 2px 2px 0 0;
    position: absolute;
    rotate: 45deg;
    top: 50%;
    right: 39px;
    translate: 0 -50%;
    transition: .3s;
}

.top_news .cont .panel_box .panel .list li a:hover::after {
    right: 19px;
}

.top_news .cont .panel_box .panel .list li a::before {
    content: "";
    width: 0;
    height: 2px;
    background-color: var(--main-color);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: .3s;
}

.top_news .cont .panel_box .panel .list li a:hover::before {
    width: 100%;
}

.top_news .cont .panel_box .panel .list ul {
    min-height: 324px;
}

.top_news .cont .panel_box .panel .list li.none {
    padding: 20px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .04em;
}

.js_pdf_text {
    display: inline-block;
    color: #ED0000;
    text-decoration: underline;
}

/* TOP トピックス */
.top_topics {
    padding-block: 90px;
    background-color: var(--main-color);
}

.top_topics .list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 015px;
}

.top_topics .list li a .img {
    position: relative;
    margin-bottom: 14px;
    overflow: hidden;
}

.top_topics .list li a {
    display: block;
    width: 100%;
    height: 100%;
    color: #FFF;
    letter-spacing: .04em;
    padding-inline: 1vw;
}

.top_topics .list li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.top_topics .list li a .img .category {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: var(--sub-color);
    width: 140px;
    min-height: 40px;
    text-align: center;
    padding: 8px;
}

.top_topics .list li a .img .category .text {
    font-size: 14px;
    font-weight: 700;
    color: var(--main-color);
}

.top_topics .sec_ttl {
    text-align: center;
    margin-bottom: 24px;
}

.top_topics .sec_ttl .ttl {
    font-size: 28px;
    letter-spacing: .16em;
    font-weight: 800;
    color: #FFF;
}

.top_topics .list li a .data {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
}

.top_topics .list li a .ttl {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.top_topics .list li a:hover .img img {
    scale: 1.2;
}

/* TOP 製品情報 */
.top_products {
    padding-block: 120px 122px;
}

.common_sec_ttl.center {
    text-align: center;
}

.top_products .catch {
    text-align: center;
    margin-bottom: 30px;
}

.top_products .catch .text {
    font-size: 20px;
    letter-spacing: .06em;
    font-weight: 800;
    color: #151515;
}

.top_products .common_sec_ttl {
    margin-bottom: 34px;
}

.top_products .products_list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
}

.top_products .products_list li a {
    display: block;
    width: 100%;
    height: 100%;
}

.top_products .products_list li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.top_products .products_list li a .text_area {
    background-color: var(--main-color);
    padding: 17px;
    text-align: center;
}

.top_products .products_list li a .text_area .text {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: .11em;
    color: #FFF;
    line-height: 1.5;
}

.top_products .products_list li {
    border-radius: 10px;
    overflow: hidden;
}

.top_products .products_list {
    margin-bottom: 40px;
}

.top_products .common_more_btn {
    margin: 0 auto;
}

.top_products .products_list li a .img {
    overflow: hidden;
    height: 220px;
}

.en-US .top_products .products_list li a .text_area .text {
    font-size: 24px;
}

/* TOP グループ拠点 */
.top_group {
    padding-block: 108px 81px;
    background-color: #E8E8E8;
}

/* TOP IR情報 採用 */
.top_corporate .cont {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 2px;
}

.top_corporate .cont .link_item {
    width: 50%;
}

.top_corporate .cont .link_item a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 76px 50px 75px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 0;
    color: #FFF;
    transition: .3s;
}

.top_corporate .cont .link_item.ir a {
    background-image: url(/wp-content/themes/child/image/top_invester_img.jpg);
}

.top_corporate .cont .link_item.recruit a {
    background-image: url(/wp-content/themes/child/image/top_recruit_img.jpg);
}

.top_corporate .cont .link_item a::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--main-color);
    opacity: .6;
    mix-blend-mode: multiply;
    z-index: -1;
}

.top_corporate .cont .link_item a .ttl_box .en {
    font-size: 50px;
    line-height: 1.4;
}

.top_corporate .cont .link_item a .ttl_box .ttl {
    font-size: 20px;
    letter-spacing: .06em;
}

.top_corporate .cont .link_item a .ttl_box {
    font-weight: 800;
    margin-bottom: 27px;
}

.top_corporate .cont .link_item a .ttl_box::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background-color: #FFF;
    margin-top: 27px;
}

.top_corporate .cont .link_item a .text_box .text {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: .06em;
}

.en-US .top_corporate .cont {
    align-items: unset;
    text-align: center;
}

.en-US .top_corporate .cont .link_item a .ttl_box::after {
    margin: 27px auto 0;
}

/* TOP グループ拠点 */
.top_group .cont {
    display: flex;
    gap: 0 41px;
}

.top_group .cont .text_area .ttl_box .ttl {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .06em;
    color: #151515;
    margin-left: 7px;
    margin-bottom: 5px;
}

.top_group .cont .text_area .ttl_box .en {
    font-size: 37px;
    font-weight: 800;
    letter-spacing: .012em;
}

.top_group .cont .text_area .ttl_box .en .color {
    display: inline-block;
    font-size: 66px;
    letter-spacing: .25em;
    color: var(--main-color);
    line-height: 1.2;
}

.top_group .cont .text_area .ttl_box .en .border {
    display: inline-block;
    border-top: solid 4px #151515;
    line-height: 1.6;
}

.top_group .cont .text_area .ttl_box {
    margin-bottom: 31px;
}

.top_group .cont .text_area .catch {
    margin-bottom: 50px;
}

.top_group .cont .text_area .catch .text {
    font-size: 15px;
    font-weight: 600;
}

.top_group .cont .text_area .common_more_btn {
    width: 220px;
}

.top_group .cont .common_map_area {
    flex-shrink: 0;
}

.common_map_area {
    width: 740px;
}

.common_map_area .group_link a .pin path {
    transition: .3s;
}

.common_map_area .group_link a:hover .pin path {
    fill: var(--main-color);
}

/* 共通グループセクション */
.common_group_sec {
    padding-block: 116px;
}

.common_group_sec .ttl_box .ttl {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .16em;
    color: #151515;
}

.common_group_sec .ttl_box {
    text-align: center;
    margin-bottom: 34px;
}

.common_group_sec .group_list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
}

.common_group_sec .group_list li a {
    width: 100%;
    height: 100%;
    display: block;
}

.common_group_sec .group_list li a .text_area {
    text-align: center;
}

.common_group_sec .group_list li a .text_area .ttl {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .01em;
    color: #151515;
    transition: .3s;
}

.common_group_sec .group_list li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* フッター */
.top_footer {
    background-color: var(--main-color);
    padding-block: 106px 120px;
}

.top_footer .ft_link_list {
    display: grid;
    grid-template-columns: repeat(5, 196px);
    padding-left: 56px;
    justify-content: space-between;
    margin-bottom: 34px;
}

.top_footer .ft_link_list .item a {
    color: #FFF;
}

.top_footer .ft_link_list .item .ttl_box .ttl a {
    display: inline-block;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .1em;
    transition: .3s;
}

.top_footer .ft_link_list .item .list li a {
    font-size: 14px;
    letter-spacing: .02em;
    font-weight: 400;
    display: inline-block;
    transition: .3s;
}

.top_footer .ft_link_list .item .list li+li {
    margin-top: 6px;
}

.top_footer .ft_link_list .item .ttl_box {
    margin-bottom: 9px;
}

.top_footer .ft_logo a .img {
    margin-bottom: 3px;
}

.top_footer .ft_logo a {
    width: 100%;
    height: 100%;
    display: block;
}

.top_footer .ft_logo {
    width: 338px;
    margin-bottom: 55px;
}

.top_footer .ft_logo a .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top_footer .ft_logo a .ttl {
    font-size: 14px;
    font-weight: 700;
    color: #FFF;
    text-align: right;
}

.top_footer .ft_end {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top_footer .ft_end .list ul {
    display: flex;
    gap: 0 30px;
    align-items: center;
}

.top_footer .ft_end .list li a {
    display: inline-block;
    color: #FFF;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .02em;
}

.top_footer .ft_end .copyright small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #FFF;
}

.en-US .top_footer .ft_link_list {
    grid-template-columns: repeat(3, 1fr);
}

/* IR情報 投稿一覧 */
.page_archive .year_filter,
.page_archive .child_category {
    font-size: 14px;
    font-weight: 600;
    border: solid 1px #151515;
    padding: .2em;
}

.page_archive .year_filter {
    margin-right: 15px;
}

.archive_list li a .text_box .inner {
    display: flex;
    align-items: center;
    gap: 0 30px;
}

.archive_list li a .text_box .inner .child_categories {
    background-color: var(--main-color);
    padding: 0.1em 1em;
    color: #FFF;
    letter-spacing: .04em;
    border-radius: 30px;
    font-size: 14px;
}

.page_archive .filter_form {
    margin-bottom: 30px;
}

.archive_list li a[href $='.pdf']::before {
    display: none;
}

.archive_list li a[href $='.pdf'] {
    text-decoration: none;
    color: initial;
    line-height: 1.7;
}

/* 決算短信 */
.ir_common_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

.ir_common_list .item .year {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .04em;
    background-color: var(--main-color);
    color: #FFF;
    padding: 0.2em 1em 0.3em 0.8em;
    text-align: center;
    margin-bottom: 1.5em;
}

.ir_common_list .item .list li+li {
    margin-top: 1.5em;
}

.ir_common_list .item .list li a {
    font-size: 14px;
    letter-spacing: .04em;
}

.ir_common_list .item .list li a::before {
    width: 16px;
    aspect-ratio: 28/33;
    height: auto;
    min-width: 0;
    margin-right: 0.6em;
}

.ir_common_list .list_wrap {
    display: flex;
    border: solid 1px var(--main-color);
    padding: 30px;
    justify-content: center;
    width: 920px;
    margin: 0 auto;
}

.ir_common_list .list_wrap .ttl {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .06em;
    border-left: solid 5px var(--main-color);
    padding-left: 0.5em;
    line-height: 1.4;
    margin-bottom: 1em;
}

.ir_common_list .list_wrap .zip_list {
    border-right: dashed 1px var(--main-color);
    padding-inline: 50px;
    text-align: center;
    width: 100%;
}

.ir_common_list .list_wrap .zip_list li+li {
    margin-top: 25px;
}

.ir_common_list .list_wrap .zip_list li .btn a {
    display: grid;
    place-content: center;
    min-block-size: 45px;
    background-color: var(--main-color);
    border-radius: 100vmax;
    color: #FFF;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .04em;
    width: 300px;
    border: solid 2px var(--main-color);
    transition: .3s;
    padding: .1em 1em;
}

.ir_common_list .list_wrap .zip_list li .name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0.6em;
    letter-spacing: .04em;
    display: flex;
    align-items: center;
}

.ir_common_list .list_wrap .zip_list li .btn a:hover {
    color: var(--main-color);
    background-color: #FFF;
}

.ir_common_list .list_wrap .individual_list li+li {
    margin-top: 15px;
    border-top: dashed 1px #DDD;
    padding-top: 15px;
}

.ir_common_list .list_wrap .individual_list li a {
    font-size: 16px;
    letter-spacing: .04em;
}

.ir_common_list .list_wrap .individual_list {
    padding-inline: 50px;
    width: 100%;
}

.ir_common_list .list_wrap .zip_list li .name::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    background-image: url(/wp-content/themes/child/image/icon_zip.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 15px;
}

/* IRカレンダー */
.page_ir_calendar .calendar_area .item_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 30px;
}

.page_ir_calendar .calendar_area .item .ttl {
    background-color: var(--main-color);
    text-align: center;
    margin-bottom: 0.5em;
    padding: 0.3em;
}

.page_ir_calendar .calendar_area .item .ttl .text {
    color: #FFF;
}

.page_ir_calendar .calendar_area .item .list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: solid 1px #DDD;
}

.page_ir_calendar .calendar_area .item .list li+li {
    border-left: solid 1px #DDD;
}

.page_ir_calendar .calendar_area .item .list li {
    text-align: center;
    padding: 2em 1em;
    font-size: 15px;
    font-weight: 600;
}

.page_ir_calendar .ir_common_list {
    grid-template-columns: repeat(2, 1fr);
}

.page_ir_calendar .ir_common_list .item .date_outer {
    display: flex;
}

.page_ir_calendar .ir_common_list .item .date_outer .date {
    flex-shrink: 0;
    border-right: dashed 2px var(--sub-color);
    padding-right: 15px;
}

.page_ir_calendar .ir_common_list .item .date_outer .list {
    padding-left: 15px;
}

.page_ir_calendar .ir_common_list .item .date_outer+.date_outer {
    margin-top: 30px;
}

.page_ir_calendar .ir_common_list .item .date_outer .date .num {
    font-size: 15px;
    font-weight: 600;
}

.page_ir_calendar .calendar_area .item {
    position: relative;
}

.page_ir_calendar .calendar_area .item .note {
    position: absolute;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
}

.page_ir_calendar .calendar_area .item1 .note1 {
    bottom: -35px;
    left: 50%;
    translate: -50% 0;
}

.page_ir_calendar .calendar_area .item1 .note2 {
    bottom: -50px;
    right: -14px;
}

.page_ir_calendar .calendar_area .item .note::before,
.page_ir_calendar .calendar_area .item .note::after {
    content: "";
    position: absolute;
    background-color: var(--sub-color);
    left: 50%;
    translate: -50% 0;
}

.page_ir_calendar .calendar_area .item .note::after {
    width: 1px;
}

.page_ir_calendar .calendar_area .item .note::before {
    width: 10px;
    aspect-ratio: 1/1;
    min-width: 0;
}

.page_ir_calendar .calendar_area .item1 .note1::before {
    top: -16px;
}

.page_ir_calendar .calendar_area .item1 .note1::after {
    height: 15px;
    top: -11px;
}

.page_ir_calendar .calendar_area .item1 .note2::after {
    height: 30px;
    top: -26px;
}

.page_ir_calendar .calendar_area .item1 .note2::before {
    top: -31px;
}

.page_ir_calendar .calendar_area .item2 .note::after {
    height: 15px;
    top: -11px;
}

.page_ir_calendar .calendar_area .item2 .note {
    bottom: -35px;
    left: 50%;
    translate: -50% 0;
    white-space: nowrap;
}

.page_ir_calendar .calendar_area .item2 .note::before {
    top: -16px;
}

.page_ir_calendar .calendar_area .item3 .note::after {
    height: 15px;
    top: -11px;
}

.page_ir_calendar .calendar_area .item3 .note::before {
    top: -16px;
}

.page_ir_calendar .calendar_area .item3 .note {
    bottom: -35px;
    left: 50%;
    translate: -50% 0;
    white-space: nowrap;
}

.page_ir_calendar .calendar_area .item4 .note {
    bottom: -35px;
    left: 50%;
    translate: -50% 0;
    white-space: nowrap;
}

.page_ir_calendar .calendar_area .item4 .note::before {
    top: -16px;
}

.page_ir_calendar .calendar_area .item4 .note::after {
    height: 15px;
    top: -11px;
}

.page_ir_calendar .calendar_area {
    margin-bottom: 150px;
}

/* 株主通信 */
.page_ir_notes .ir_common_list {
    display: block;
}

.page_ir_notes .ir_common_list .list li .img_link {
    display: block;
    flex-shrink: 0;
}

.page_ir_notes .ir_common_list .list .img_link::before {
    content: none;
}

.page_ir_notes .ir_common_list .list li {
    display: flex;
    align-items: center;
    gap: 0 30px;
    font-size: 16px;
}

.page_ir_notes .ir_common_list .list li .img {
    width: 250px;
    border: 1px solid #000;
}

.page_ir_notes .ir_common_list .list li .img img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.page_ir_notes .ir_common_list .list ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
}

.page_ir_notes .sec_ttl .ttl {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.4;
}

.page_ir_notes .sec_ttl {
    margin-bottom: 2em;
    border-left: solid 5px;
    padding-left: 0.7em;
}

/* 企業理念 */
.philosophy_main_sec .cont {
    display: flex;
    align-items: center;
    gap: 0 70px;
}

.philosophy_main_sec .cont .img {
    width: 450px;
    flex-shrink: 0;
    box-shadow: 15px 15px 0 var(--main-color);
}

.philosophy_main_sec .cont .text_box {
    width: 100%;
}

.philosophy_main_sec .cont .text_box .text {
    font-size: 18px;
    letter-spacing: .1em;
    font-weight: 400;
}

.philosophy_main_sec .cont .text_box .text+.text {
    margin-top: 1em;
}

.philosophy_main_sec .cont .img img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
}

.philosophy_catch_sec .ttl_box {
    margin-top: 80px;
}

.philosophy_catch_sec .ttl_box .catch_en_text img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.philosophy_catch_sec .ttl_box .catch_en_text {
    width: 620px;
    margin: 0 auto 2em;
}

.philosophy_main_sec {
    margin-bottom: 100px;
}

.philosophy_catch_sec .ttl_box .catch {
    font-size: 20px;
    letter-spacing: .08em;
    text-align: center;
}

.philosophy_catch_sec .cont .list ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}

.philosophy_catch_sec .cont .list li {
    border: solid 2px var(--main-color);
    padding: 1em 0.8em 1.8em;
}

.philosophy_catch_sec .cont .list li .theme {
    padding: 0.1em 3em 0.2em;
    background-color: var(--main-color);
    color: #FFF;
    width: fit-content;
    font-size: 21px;
    margin: -34px 0 15px;
    border-radius: 100vmax;
}

.philosophy_catch_sec .cont .list li .text {
    font-size: 16px;
    letter-spacing: .04em;
}

p.text_mission {
    font-size: 28px;
    font-weight: 600;
    text-align: center;
}

/* 会社概要 */
.profile_group_sec .sec_ttl .ttl {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: .04em;
}

.profile_group_sec {
    margin-top: 100px;
}

.profile_group_sec .cont .sec_ttl {
    border-left: solid 5px var(--main-color);
    margin-bottom: 2em;
    padding-left: 1em;
}

.profile_group_sec .cont .group_list ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 50px;
}

.profile_group_sec .cont .group_list li a {
    display: flex;
    gap: 0 20px;
    color: #151515;
    padding-bottom: 30px;
    width: 100%;
    height: 100%;
}

.profile_group_sec .cont .group_list li a .ttl_box {
    width: 47%;
    flex-shrink: 0;
}

.profile_group_sec .cont .group_list li a .text_box {
    width: 100%;
}

.profile_group_sec .cont .group_list li a .ttl_box .ttl {
    font-size: 15px;
    letter-spacing: .04em;
    font-weight: 600;
}

.profile_group_sec .cont .group_list li {
    border-bottom: dashed 1px var(--main-color);
}

.profile_group_sec .cont .group_list li a .text_box dl {
    font-size: 14px;
    letter-spacing: .04em;
}

.profile_group_sec .cont .group_list li a .text_box dl+dl {
    margin-top: 1em;
}

.profile_group_sec .cont .group_list li a .ttl_box .logo {
    width: 80%;
    margin-top: 10px;
}

.profile_group_sec .cont .group_list li a .ttl_box .logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile_group_sec .cont .group_list li a .text_box dl dt {
    color: #000000;
    display: flex;
    align-items: center;
    gap: 0 .5em;
}

.profile_group_sec .cont .group_list li a .text_box dl dt::before {
    /* content: ""; */
    width: 8px;
    aspect-ratio: 1/1;
    min-width: 0;
    background-color: var(--sub-color);
}

/* 所在地 */
.page_sec_ttl .ttl {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: .04em;
}

.page_sec_ttl {
    border-left: solid 5px var(--main-color);
    padding-left: 1em;
}

.common_access_sec .page_sec_ttl {
    margin-bottom: 3em;
}

.common_access_sec .item_list li {
    border-bottom: dashed 1px #DDD;
    padding-bottom: 20px;
    display: grid;
    grid-template-columns: 30% 60% 10%;
}

.common_access_sec .item_list li+li {
    margin-top: 20px;
}

.common_access_sec+.common_access_sec {
    margin-top: 80px;
}

.common_access_sec .item_list li .ttl_box .ttl {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .04em;
}

.common_access_sec .item_list li .text_box .text {
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 400;
}

.common_access_sec .item_list li .text_box .text .weight {
    display: inline-block;
}

.common_map_link a {
    width: 100px;
    display: flex;
    min-block-size: 30px;
    padding: 0.2em;
    background-color: var(--main-color);
    color: #FFF;
    font-size: 14px;
    letter-spacing: .04em;
    justify-content: center;
}

.common_map_link {
    display: grid;
    place-content: center;
}

/* 神戸事業所 */
.kobe_catch_sec {
    margin-bottom: 100px;
}

.kobe_catch_sec .catch_box {
    text-align: center;
    margin-bottom: 40px;
}

.kobe_catch_sec .catch_box .text {
    font-size: 34px;
    letter-spacing: .08em;
    color: var(--main-color);
    font-weight: 600;
    line-height: 1.6;
}

.kobe_catch_sec .text_box .text {
    font-size: 16px;
    letter-spacing: .04em;
    text-align: center;
    font-weight: 600;
    line-height: 2;
}

.common_kobe_sec .page_sec_ttl {
    margin-bottom: 30px;
}

.common_kobe_movie_sec .page_sec_ttl {
    margin-bottom: 30px;
}

.common_kobe_sec .cont {
    display: flex;
    align-items: center;
    gap: 0 70px;
}

.common_kobe_sec .cont .img {
    width: 320px;
    flex-shrink: 0;
}

.common_kobe_sec .cont .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_kobe_sec .cont .kobe_detail_img {
    width: 100%;
    aspect-ratio: 5/3;
    margin: 0 auto 20px;
}

.common_kobe_sec .cont .kobe_detail_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_kobe_sec .cont .kobe_detail_img.tate {
    width: 60%;
    aspect-ratio: 3/4;
}

.common_kobe_sec .cont .text_box dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0 30px;
    padding-block: 0.3em;
}

.common_kobe_sec .cont .text_box dl dt {
    font-size: 16px;
    letter-spacing: .04em;
}

.common_kobe_sec .cont .text_box dl dd {
    font-size: 16px;
    letter-spacing: .04em;
}

.common_kobe_sec.kobe_area .text_box {
    width: 350px;
    border: solid 1px var(--main-color);
    padding: 1em;
    position: relative;
    background-color: #FFF;
}

.common_kobe_sec.kobe_area .text_box .inner {
    background-color: #FAFAFA;
    padding-inline: 0.5em;
    margin-left: 0.5em;
}

.common_kobe_sec .cont .text_box dl+dl {
    border-top: dashed 1px #E0E0E0;
}

.common_kobe_sec.kobe_area .cont .img {
    width: 530px;
}

.common_kobe_sec.kobe_area .cont {
    justify-content: center;
}

.common_kobe_sec .cont .text_box .text+.text {
    margin-top: 1.5em;
}

.common_kobe_sec .cont .text_box .text {
    line-height: 2;
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 500;
}

.common_kobe_sec .cont .text_box .text:first-child::first-letter {
    /* font-size: 200%;
    color: var(--main-color);
    margin-right: 0.1em; */
}

.common_kobe_sec.reverse .cont {
    flex-direction: row-reverse;
}

.common_kobe_sec.slide_sec .cont {
    display: block;
    position: relative;
}

.company_sec_slider .slick-arrow {
    position: absolute;
    top: 50%;
    background-color: var(--sub-color);
    width: 50px;
    aspect-ratio: 1/1;
    z-index: 1;
    translate: 0 -50%;
    border-radius: 50%;
    cursor: pointer;
}

.company_sec_slider .next.slick-arrow {
    right: -25px;
}

.company_sec_slider .prev.slick-arrow {
    left: -25px;
}

.common_kobe_sec.slide_sec .page_sec_ttl .text {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: .04em;
}

.common_kobe_sec.slide_sec .list li {
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 0 0.5em;
}

.common_kobe_sec.slide_sec .list li+li {
    margin-top: 0.7em;
}

.company_sec_slider .slick-dots button {
    background-color: #DDD;
    border-radius: 50%;
    width: 10px;
    height: auto;
    aspect-ratio: 1/1;
}

.company_sec_slider .slick-dots .slick-active button {
    background-color: var(--sub-color);
}

.company_sec_slider .slick-dots button::before {
    content: none;
}

.company_sec_slider .slick-dots li {
    width: 10px;
    margin: 0 10px;
}

.company_sec_slider .prev.slick-arrow::before {
    content: "";
    position: absolute;
    border: solid 3px #FFF;
    border-width: 3px 3px 0 0;
    width: 14px;
    aspect-ratio: 1/1;
    min-width: 0;
    top: 50%;
    left: 40%;
    rotate: -135deg;
    translate: 0 -50%;
}

.company_sec_slider .next.slick-arrow::before {
    content: "";
    position: absolute;
    border: solid 3px #FFF;
    border-width: 3px 3px 0 0;
    width: 14px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 40%;
    rotate: -135deg;
    translate: 0 -50%;
}

.company_sec_slider .prev.slick-arrow::before,
.company_sec_slider .next.slick-arrow::before {
    content: "";
    position: absolute;
    border: solid 3px #FFF;
    border-width: 3px 3px 0 0;
    width: 14px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 40%;
    rotate: -135deg;
    translate: 0 -50%;
}

.company_sec_slider .next.slick-arrow::before {
    rotate: 45deg;
    left: 30%;
}

.common_kobe_sec.slide_sec .text_box {
    text-align: left;
    background-color: #FAFAFA;
    padding: 20px;
}

.common_kobe_sec.slide_sec .text_box .text {
    font-size: 15px;
    letter-spacing: .04em;
}

.slide_sec_area .slide_sec_inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px 50px;
}

.common_kobe_sec.kobe_area {
    margin-bottom: 100px;
}

.common_kobe_sec.slide_sec .list {
    background-color: #FAFAFA;
    padding: 20px;
}

.common_kobe_sec.slide_sec .list li::before {
    content: "";
    width: 0.5em;
    aspect-ratio: 1/1;
    min-width: 0;
    background-color: #000;
    border-radius: 50%;
    flex-shrink: 0;
    translate: 0 0.5em;
}

.page_company_kobe .slide_sec_area {
    margin-bottom: 100px;
}

.common_kobe_movie_sec .movie {
    width: 60%;
    aspect-ratio: 16/9;
    margin: 0 auto;
}

/* 財務情報 */
.page_ir_indicator .indicator_graph {
    width: 700px;
    margin: 0 auto 60px;
}

.page_ir_indicator .indicator_graph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_ir_indicator .indicator_table table td {
    padding: 1em;
}

.page_ir_indicator .indicator_table table th {
    border: solid 1px var(--main-color);
    padding: 1em;
}

.page_ir_indicator .indicator_table table thead {
    background-color: var(--main-color);
    color: #FFF;
}

.page_ir_indicator .indicator_table table thead th {
    color: var(--sub-color);
    border: none;
}

.page_ir_indicator .indicator_table table thead td {
    border-left: solid 1px #FFF;
    text-align: center;
}

.page_ir_indicator .indicator_table table tbody td {
    border: solid 1px var(--main-color);
    text-align: center;
}

.page_ir_indicator .indicator_table table {
    border: solid 1px var(--main-color);
    font-size: 16px;
    letter-spacing: .04em;
    width: 100%;
}

.page_ir_indicator .indicator_table table tbody th {
    background-color: #FAFAFA;
}

.common_code_link_list {
    border: solid 1px var(--main-color);
    padding: 1.5em;
}

.page_ir_indicator .indicator_table {
    margin-bottom: 70px;
}

.common_code_link_list li a {
    display: inline-flex;
    color: #151515;
    align-items: center;
    gap: 0 0.4em;
    font-size: 16px;
    border-bottom: dashed 1px var(--sub-color);
    letter-spacing: .04em;
}

.common_code_link_list li a::before {
    content: "";
    width: 6px;
    aspect-ratio: 1/1;
    min-width: 0;
    display: block;
    background-color: var(--main-color);
    flex-shrink: 0;
    border-radius: 50%;
}

.common_code_link_list li a::after {
    content: "";
    width: 18px;
    aspect-ratio: 14/13;
    min-width: 0;
    background: url(/wp-content/themes/child/image/icon_link.svg) no-repeat;
    background-position: center;
    background-size: contain;
    display: block;
    flex-shrink: 0;
}

.common_code_link_list li+li {
    margin-top: 1.5em;
}

/* IR資料室 */
.page_ir_materials .materials_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 30px;
}

.page_ir_materials .materials_list li a {
    display: block;
    width: 100%;
    height: 100%;
}

.page_ir_materials .materials_list li a .img img {
    width: 100%;
    aspect-ratio: 2/1;
    object-fit: cover;
    transition: .3s;
}

.page_ir_materials .materials_list li a .img {
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
}

.page_ir_materials .materials_list li a .img .ttl_box {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: var(--sub-color);
    padding: 0.2em 1em;
}

.page_ir_materials .materials_list li a .img .ttl_box .ttl {
    color: var(--main-color);
    font-weight: 600;
    font-size: 16px;
    letter-spacing: .04em;
}

.page_ir_materials .materials_list li a .text_box .text {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .04em;
    color: #151515;
}

.page_ir_materials .materials_list li a:hover .img img {
    scale: 1.2;
}

.page_ir_materials .materials_list li a .text_box {
    padding-inline: 10px;
}

/* 有価証券報告書 */
.securities_edinet_sec .catch_area .text {
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 600;
    line-height: 2;
}

.securities_edinet_sec .catch_area {
    margin-bottom: 30px;
    text-align: center;
}

.securities_edinet_sec .cont .list_theme .text {
    font-size: 16px;
    font-weight: 600;
    color: var(--main-color);
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    letter-spacing: .04em;
}

.securities_edinet_sec .cont .list_theme {
    margin-bottom: 0.5em;
}

.securities_edinet_sec .cont .list_theme .text::before {
    content: "";
    display: block;
    width: 10px;
    aspect-ratio: 1/1;
    min-width: 0;
    background-color: var(--sub-color);
    rotate: 45deg;
    flex-shrink: 0;
}

.securities_edinet_sec .cont .list li .num {
    color: var(--main-color);
    font-size: 120%;
    display: inline-block;
}

.securities_edinet_sec .cont .list li {
    font-size: 15px;
    letter-spacing: .04em;
}

.securities_edinet_sec .cont .list {
    margin-bottom: 30px;
}

.securities_edinet_sec .cont .link_box a {
    display: flex;
    align-items: center;
    gap: 0 15px;
    box-shadow: 0 0 5px #DDD;
    padding: 1em;
    transition: .3s;
}

.securities_edinet_sec .cont .link_box a .icon {
    display: block;
    width: 24px;
    aspect-ratio: 1/1;
    background-color: var(--main-color);
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}

.securities_edinet_sec .cont .link_box a .icon::before {
    content: "";
    width: 7px;
    aspect-ratio: 1/1;
    border: solid 2px #FFF;
    border-width: 0 2px 2px 0;
    min-width: 0;
    position: absolute;
    top: 50%;
    left: 35%;
    translate: 0 -50%;
    rotate: -45deg;
}

.securities_edinet_sec .cont .link_box a .ttl_box .text {
    font-size: 20px;
    font-weight: 900;
    color: var(--main-color);
}

.securities_edinet_sec .cont .link_box a .text_box .text {
    font-size: 15px;
    letter-spacing: .04em;
    color: #151515;
}

.securities_edinet_sec {
    margin-bottom: 80px;
}

.securities_edinet_sec .cont .link_box a:hover .text_box .text {
    color: var(--main-color);
}

.securities_link_sec .page_sec_ttl {
    margin-bottom: 20px;
}

.securities_edinet_sec .cont .list li+li {
    margin-top: 0.4em;
}

/* グループ会社紹介 */
.page_company_group .common_map_area {
    margin: 0 auto;
}

.company_sec_slider .slide_item {
    width: 470px;
}

.company_sec_slider {
    width: 470px;
    position: relative;
    margin: 0 auto 50px;
}

.company_sec_slider .slide_item img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}

/* 共通ライブラリページ */
.common_library_sec .head_box .text_box {
    position: relative;
    margin-bottom: 50px;
    padding: 50px;
    background-color: #F0FAFF;
}

.common_library_sec .head_box .year {
    font-size: 34px;
    font-weight: 700;
    position: absolute;
    top: -50px;
    left: 0;
    color: #cedcff;
}

.common_library_sec .head_box .year .num {
    display: inline-block;
    font-size: 60px;
    margin-right: 5px;
}

.common_library_sec .head_box .ttl {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .06em;
    margin-bottom: .4em;
    color: var(--main-color);
}

.common_library_sec .head_box .text {
    text-align: center;
}

.common_library_sec .head_box .text_box .text {
    font-size: 16px;
    letter-spacing: .03em;
    font-weight: 500;
}

.common_library_sec .head_box .img {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.common_library_sec .head_box .img img {
    aspect-ratio: 2/.9;
    object-fit: cover;
    width: 100%;
}

.common_library_sec .head_box .img::before {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0px 0px 15px 15px #fff;
    width: 100%;
    height: 100%;
}

.common_library_sec .head_box {
    margin-bottom: 50px;
}

.common_library_sec .library_list ul li .library_box .theme .weight {
    font-size: 120%;
    display: inline-flex;
    gap: 0 0.3em;
    align-items: center;
}

.common_library_sec .library_list ul li .library_box .theme .weight::before {
    content: "";
    display: block;
    width: 5px;
    height: 20px;
    background-color: var(--main-color);
    flex-shrink: 0;
}

.common_library_sec .library_list ul li .library_box .text_box .img.long img {
    aspect-ratio: auto;
}

.common_library_sec .library_list ul li .library_box .text_box .img.long {
    width: 250px;
}

.common_library_sec .library_list ul li .library_box .text_box.contain {
    flex-direction: column;
    gap: 20px 0;
}

.common_library_sec .library_list ul li .library_box .text_box.contain .img {
    width: 100%;
}

.common_library_sec .library_list ul li .library_box .text_box.contain .img img {
    object-fit: contain;
    aspect-ratio: auto;
}

.common_library_sec .library_list ul li .library_box .text_box+.text_box {
    margin-top: 50px;
}

.common_library_sec .library_list ul li .library_box .text_box .img.middle {
    width: 300px;
}

.common_library_sec .library_list ul li .library_box .text_box .img.middle img {
    aspect-ratio: auto;
}

.common_library_sec .library_list ul li {
    display: flex;
    gap: 0 50px;
    background-color: #f6f6f6;
    position: relative;
}

.common_library_sec .library_list ul li::after {
    content: "";
    position: absolute;
    width: 3px;
    height: 100%;
    background-color: var(--main-color);
    top: 100px;
    left: 100px;
    z-index: 1;
}

.common_library_sec .library_list ul li:last-child::after {
    content: unset;
}

.common_library_sec .library_list ul li+li {
    margin-top: 70px;
}

.common_library_sec .library_list ul li .num_box {
    background-color: #E8E8E8;
    width: 220px;
    padding: 30px;
    flex-shrink: 0;
}

.common_library_sec .library_list ul li .num_box .year {
    font-size: 22px;
    margin-bottom: .2em;
    text-align: right;
    color: var(--main-color);
    font-weight: 700;
    text-align: center;
}

.common_library_sec .library_list ul li .num_box .year .num {
    display: inline-block;
    font-size: 42px;
}


.common_library_sec .library_list ul li .library_box {
    padding: 45px 30px 50px 0;
}

.common_library_sec .library_list ul li .library_box .text_box {
    display: flex;
    gap: 0 50px;
}

.common_library_sec .library_list ul li .library_box .text_box .img {
    flex-shrink: 0;
    width: 350px;
}

.common_library_sec .library_list ul li .library_box .text_box .img img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.common_library_sec .library_list ul li .library_box .img_box .img img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
}

.common_library_sec .library_list ul li .library_box .img_box {
    display: grid;
    grid-template-columns: 350px 350px;
    gap: 30px 20px;
    margin-bottom: 30px;
}

.common_library_sec .library_list ul li .library_box .cont {
    display: flex;
    gap: 0 20px;
    margin-bottom: 30px;
    justify-content: center;
}

.common_library_sec .library_list ul li .library_box .theme {
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 500;
}

.common_library_sec .library_list ul li .library_box .theme+.theme {
    margin-top: 15px;
}

.common_library_sec .library_list ul li .library_box .theme a {
    display: inline-block;
    color: var(--main-color);
    transition: .3s;
    border-bottom: solid 1px currentColor;
    line-height: 1.2;
}

.common_library_sec .library_list ul li .library_box .theme a:hover {
    color: var(--sub-color);
}

/* 豊富な実績 */
.page_library01 .library_index_sec .list li {
    display: flex;
    gap: 0 30px;
}

.page_library01 .library_index_sec .list li .img {
    width: 400px;
    flex-shrink: 0;
}

.page_library01 .library_index_sec .list li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_library01 .library_index_sec .list li+li {
    margin-top: 80px;
}

.page_library01 .library_index_sec .list li .inner .ttl_box .ttl {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .08em;
}

.page_library01 .library_index_sec .list li .inner .ttl_box {
    margin-bottom: 10px;
}

.page_library01 .library_index_sec .list li .inner .ttl_box {
    border-left: solid 5px var(--main-color);
    padding-left: 0.5em;
}

.page_library01 .library_index_sec .list li .inner .text_box .catch {
    font-size: 18px;
    letter-spacing: .04em;
    margin-bottom: 0.8em;
    font-weight: 400;
}

.page_library01 .library_index_sec .list li .inner .text_box .inbox {
    padding: 1em;
    background-color: rgba(184, 200, 239, .2);
}

.page_library01 .library_index_sec .list li .inner .text_box .inbox .item .theme {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .04em;
    margin-bottom: 0.3em;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
}

.page_library01 .library_index_sec .list li .inner .text_box .inbox .item+.item {
    margin-top: 15px;
}

.page_library01 .library_index_sec .list li .inner .text_box .inbox .item .theme::before {
    content: "";
    width: 10px;
    aspect-ratio: 1/1;
    display: block;
    background-color: var(--sub-color);
    border-radius: 50%;
    flex-shrink: 0;
}

.page_library01 .library_index_sec .list li .inner .text_box .inbox .item .text {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 400;
}

/* TOPホバー効果 */
.top_news .cont .tab_box li:hover {
    color: #151515;
}

.top_products .products_list li a:hover .img img {
    scale: 1.2;
}

.top_corporate .cont .link_item a:hover {
    opacity: .8;
}

.common_group_sec .group_list li a:hover .text_area .ttl {
    color: var(--sub-color);
}

.top_footer .ft_link_list .item .ttl_box .ttl a:hover {
    color: var(--sub-color);
}

.top_footer .ft_link_list .item .list li a:hover {
    color: var(--sub-color);
}

/* サイトマップ */
#sitemap_list li.home-item a {
    color: var(--main-color) !important;
    line-height: 32px !important;
}

#sitemap_list li.home-item {
    border-color: var(--main-color) !important;
}

#sitemap_list li a {
    line-height: 50px !important;
}

/* クッキー */
.cookie_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 14px;
    color: #fff;
    background: #151515;
    padding: 10px 50px;
    box-sizing: border-box;
    visibility: hidden;
    line-height: 1.2;
    font-weight: 500;
    z-index: 99;
}

.cookie_content.is_show {
    visibility: visible;
}

.cookie_content .cookie_text a {
    color: #fff;
    display: inline-block;
    border-bottom: solid 1px currentColor;
}

.cookie_agree {
    color: #151515;
    background: #FFF;
    font-weight: 600;
    min-block-size: 40px;
    display: grid;
    place-content: center;
    width: 200px;
    border-radius: 4px;
    padding: .5em;
}

.cookie_agree:hover {
    cursor: pointer;
}

.cc_hide {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
}

.cookie_agree.sp {
    display: none;
}

@keyframes hide {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        visibility: hidden;
    }
}

/* PC固定ページ 共通設定 */
.common_page_main {
    background: var(--main-color);
    position: relative;
    padding: 42px 0 16px;
}

.archive .common_page_main {
    padding: 0 0 16px;
}

.page-template-page-company-kobe .common_page_main .common_fv_img,
.page-template-page-company-group .common_page_main .common_fv_img {
    /* width: 100%; */
    /* height: 100%; */
    /* inset: 0; */
    /* position: absolute; */
}

.page-template-page-company-kobe .common_page_main::after,
.page-template-page-company-group .common_page_main::after {
    /* content: ""; */
    /* position: absolute; */
    /* inset: 0; */
    /* width: 100%; */
    /* height: 100%; */
    /* background: linear-gradient(to bottom, transparent 60%, rgb(51, 51, 51, 0.49)); */
    /* mix-blend-mode: multiply; */
}

.page-template-page-company-kobe .common_page_main .common_fv_img img,
.page-template-page-company-group .common_page_main .common_fv_img img {
    /* width: 100%; */
    /* height: 100%; */
    /* object-position: top center; */
    /* object-fit: cover; */
    /* aspect-ratio: unset; */
}

.common_page_main.plan .common_fv_img img {
    object-position: center;
}

.common_page_main .title_box {
    text-align: center;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}

.common_page_main .title_box .title {
    font-size: 40px;
    letter-spacing: .16em;
    font-weight: 800;
    line-height: 1.4;
    color: #FFF;
}

.company_fv .common_page_main {
    padding: 0 0 16px;
}

.page-template-page-company-kobe .company_fv .common_page_main,
.page-template-page-company-group .company_fv .common_page_main {
    /* padding: 424px 0 45px; */
    /* padding: 68vh 0 7vh; */
}

.company_fv .common_page_main .title_box {
    text-align: left;
    margin-bottom: 0;
    padding-top: 10px;
}

.company_fv .common_page_main .title_box .en_title {
    font-size: 40px;
    color: #fff;
    line-height: 1.5;
    text-transform: capitalize;
    font-weight: 800;
}

.company_fv .common_page_main .title_box .title {
    font-size: 35px;
}

.common_page_wrap {
    padding: 100px 0;
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}


/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
    position: relative;
    z-index: 1;
}

.breadcrumb a {
    text-decoration: none;
    color: #333;
}

.common_page_main .breadcrumb .cont {
    display: flex;
    align-items: flex-end;
    gap: 0 13px;
}

.common_page_main .breadcrumb .cont .icon {
    width: 16px;
}

.common_page_main .breadcrumb .cont .icon img {
    aspect-ratio: 16/17;
    width: 100%;
}

.common_page_main .breadcrumb .cont span {
    color: #fff;
    font-size: 12px;
    line-height: 1;
}

.common_page_main .breadcrumb .cont .text_box {
    line-height: 1;
    color: #fff;
}

.company_fv .breadcrumb {
    line-height: 1.2;
    padding-top: 1.5em;
}

.company_fv .breadcrumb .cont {
    display: flex;
    align-items: flex-end;
    gap: 0 13px;
    justify-content: flex-end;
}

.company_fv .breadcrumb .cont .icon {
    width: 16px;
}

.company_fv .breadcrumb .cont .icon img {
    aspect-ratio: 16/17;
    width: 100%;
    filter: brightness(0);
}

.company_fv .breadcrumb .cont span {
    color: #3E3E3E;
    font-size: 12px;
    line-height: 1.2;
}

.company_fv .breadcrumb .cont .text_box {
    line-height: 1.2;
    color: #3E3E3E;
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
    color: #3E3E3E;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    margin-block: 0 3.8em;
}

.contact_form_disc .text {
    font-size: 16px;
    margin-block: 0 1em;
}

.contact_form_disc .caution {
    font-size: 14px;
}

.common_contact_form .form_box {
    margin-block: 0 50px;
}

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    align-items: center;
    gap: 80px;
}

.common_contact_form .form_box dl.start {
    align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
    margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
    display: flex;
    align-items: center;
    gap: 1.3em;
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    padding-inline: 0 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dt .label {
    flex-shrink: 0;
    color: #3E3E3E;
    font-size: 12px;
    letter-spacing: .2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
    background: #C70000;
    color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
    background: #E0E0E0;
}

.common_contact_form .form_box dl dt::after {
    content: "";
    width: 1px;
    height: 30px;
    background: var(--main-color);
    position: absolute;
    top: 0;
    right: 0;
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
    width: 100%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

.common_contact_form textarea {
    width: 100%;
    height: 180px;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    padding: 1em;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
    color: #C7C4C4;
}

.common_contact_form select {
    width: 47.5%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    padding: 1.1em 1em;
}

.common_contact_form select.empty {
    color: #C7C4C4;
}

.page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
}

.page_contact #btn_wrap button {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 310px;
    line-height: 60px;
    font-size: 18px;
    font-weight: 900;
    transition: .3s;
    text-align: center;
    letter-spacing: .08em;
    margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
    background: #333;
    margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
    opacity: .8;
}

.privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    font-size: 13px;
    border-left: solid 3px var(--main-color);
    padding-left: 1em;
    margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 20px;
}

.privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0;
    border: solid var(--sub-color);
    border-width: 2px 2px 0 0;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 135deg;
    display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #E6E6E6;
    background: #F8F8F8;
    border-radius: 50%;
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0px;
    left: 5px;
    border: none;
    background: #5A5A5A;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field label {
    cursor: pointer;
}

.mwform-checkbox-field-text {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #333 #333;
    border-style: solid;
    width: 20px;
    aspect-ratio: 2/1;
    min-width: 0;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 4px;
    font-size: 16px;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover {
    opacity: .8;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0 3em;
}

.page_contact .progressbar .item {
    color: #3E3E3E;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

.page_contact .progressbar .item+.item::before {
    content: "";
    width: 50px;
    height: 1px;
    background: #E6E6E6;
    position: absolute;
    top: 64%;
    left: -5em;
}

.page_contact .progressbar .item .mark {
    width: 36px;
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid #AFAFAF;
    border-radius: 50%;
    display: block;
    margin: 0 auto 0.5em;
    position: relative;
}

.page_contact .progressbar .item .mark::before {
    content: "";
    width: 41%;
    aspect-ratio: 1;
    background: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
    opacity: 1;
}

.page_contact .progressbar .item .en {
    display: block;
    color: #A7A7A7;
    letter-spacing: 0;
    font-family: 'Helvetica', 'Arial', sans-serif;
}

.privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: #c70200;
    color: #fff;
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0;
}

/* PC固定ページ 個人情報保護方針 */
.page_privacy .main_text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 3em;
}

.page_privacy dl {
    margin-bottom: 50px;
}

.page_privacy dl:last-child {
    margin-bottom: 0;
}

.page_privacy dl dt {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: .5em;
    border-left: 3px solid var(--main-color);
    padding-left: 1em;
    margin-top: 15px;
}

.page_privacy dl dd {
    font-size: 14px;
    line-height: 2;
}

.page_privacy dl dd a {
    display: inline-block;
    color: var(--main-color);
    font-weight: 600;
    border-bottom: solid 1px currentColor;
    line-height: 1.2;
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list>article {
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 1px dashed #eee;
    padding-right: 30px;
}

.archive_page_list>article:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    right: 5px;
    bottom: 0;
    margin: auto;
    border: solid #ccc;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.archive_page_list>article .date {
    font-weight: bold;
    font-size: 80%;
    width: 100px;
}

.archive_page_list>article .content_area {
    width: calc(100% - 100px);
}

.archive_page_list>article .content_area .ttl {
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.archive_page_list>article .content_area .content {
    font-size: 80%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
    text-align: center;
    margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: #999;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 8px 15px;
    margin: 0 2px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.wp-pagenavi a:hover {
    color: #FFF;
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.wp-pagenavi .current {
    color: #FFF;
    background-color: var(--main-color);
    border-color: var(--main-color);
    font-weight: bold;
}

.page_guide .guide_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 20px;
}

.page_guide .guide_list li {
    border-bottom: 1px solid #AAA;
}

.page_guide .guide_list li .link {
    display: block;
    padding-bottom: 20px;
}

.page_guide .guide_list li .link .img {
    width: 100%;
    margin-bottom: 18px;
    overflow: hidden;
}

.page_guide .guide_list li .link .img img {
    width: 100%;
    aspect-ratio: 800/429;
    object-fit: cover;
    transition: .3s;
}

.page_guide .guide_list li .link:hover .img img {
    transform: scale(1.1);
}

.page_guide .guide_list li .link .text_box .ttl {
    font-size: 18px;
    letter-spacing: .13em;
    font-weight: 600;
    position: relative;
    display: flex;
    align-items: center;
    gap: 0 19px;
    color: var(--main-color);
    margin-bottom: .6em;
    line-height: 1.4;
}

.page_guide .guide_list li .link .text_box .ttl::after {
    content: "";
    display: block;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    width: 10px;
    rotate: 45deg;
    aspect-ratio: 1/1;
}

.page_guide .guide_list li .link .text_box .text {
    font-size: 14px;
    color: #333;
    line-height: 1.4;
}

.common_group_sec.color {
    background-color: #FAFAFA;
    padding: 57px 0;
}

.common_group_sec.color .text_area .ttl {
    padding-top: 8px;
}

.common_group_sec.color .ttl_box {
    margin-bottom: 17px;
}

.common_group_sec.color .group_list ul a .text_area .ttl {
    font-size: 14px;
    line-height: 1.4;
}

.common_group_sec.color .ttl_box .ttl {
    line-height: 1.6;
}

.common_group_sec.color .common_page_wrap {
    padding-bottom: 110px;
}

.common_group_sec.color .group_list .img.pc {
    margin-bottom: 8px;
}

/* サステナビリティー */


.page_sustainability .head_sec {
    margin-bottom: 81px;
}

.page_sustainability .head_sec .logo {
    width: 751px;
    margin: 0 auto 29px;
}

.page_sustainability .head_sec .logo img {
    width: 100%;
}

.page_sustainability .head_sec .text {
    text-align: center;
    font-size: 23px;
    letter-spacing: .01em;
    font-weight: 600;
}

.page_sustainability .common_news_sec .ttl_box {
    margin-bottom: 29px;
}

.page_sustainability .common_news_sec .ttl_box .ttl {
    align-items: center;
    font-size: 16px;
    letter-spacing: .07em;
    font-weight: 900;
    position: relative;
    display: flex;
    gap: 0 10px;
    margin-bottom: 12px;
    line-height: 1.5;
}

.page_sustainability .common_news_sec .ttl_box .ttl::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background-color: #000;
    border-radius: 50%;
    flex-shrink: 0;
}

.page_sustainability .common_news_sec .ttl_box .en.f_en {
    font-size: 40px;
    font-weight: 800;
    color: #0089D2;
    line-height: 1.2;
}

.page_sustainability .technology_sec .text_box .text .border {
    display: inline-block;
    border-bottom: dashed 2px currentColor;
}

.page_sustainability .esg_sec .common_more_btn a[href $='.pdf']::before {
    display: none;
}

.common_news_sec .news_list ul li:nth-child(2) .link .cont .category {
    background-color: var(--sub-color);
}

.common_news_sec .news_list ul li:nth-child(3) .link .cont .category {
    background-color: #ED0000;
}

.common_news_sec .news_list ul li .link {
    display: flex;
    padding: 20px 60px 20px 20px;
    align-items: center;
    gap: 0 20px;
    border-bottom: 1px solid #E0E0E0;
    position: relative;
}

.common_news_sec .news_list ul li .link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background-color: #0089D2;
    width: 0;
    transition: .3s;
}

.common_news_sec .news_list ul li .link:hover::before {
    width: 100%;
}

.common_news_sec .news_list ul li .link::after {
    content: "";
    position: absolute;
    border-top: 2px solid #151515;
    border-right: 2px solid #151515;
    width: 10px;
    aspect-ratio: 1 / 1;
    rotate: 45deg;
    top: 50%;
    right: 40px;
    transition: .3s;
    translate: 0 -50%;
}

.common_news_sec .news_list ul li .link:hover::after {
    right: 25px;
}

.common_news_sec .news_list ul li .link .cont .data {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 600;
    color: #151515;
    flex-shrink: 0;
}

.common_news_sec .news_list ul li .link .cont {
    display: flex;
    gap: 0 40px;
    align-items: center;
    flex-shrink: 0;
}

.common_news_sec .news_list ul li .link .cont .category {
    background-color: #0089D2;
    color: #fff;
    font-size: 14px;
    letter-spacing: .03em;
    font-weight: 700;
    width: 180px;
    min-block-size: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
}

.common_news_sec .news_list ul li .link .ttl {
    font-size: 14px;
    letter-spacing: .04em;
    font-weight: 600;
    color: #151515;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.page_sustainability .technology_sec {
    padding: 0 0 51px;
}

.page_sustainability .technology_sec .ttl_box {
    text-align: center;
}

.page_sustainability .technology_sec .ttl_box .ttl {
    font-size: 38px;
    letter-spacing: .01em;
    font-weight: 700;
    color: var(--main-color);
    margin-bottom: 35px;
}

.page_sustainability .technology_sec .ttl_box .text {
    font-size: 23px;
    letter-spacing: .01em;
    margin-bottom: 39px;
    font-weight: 600;
}

.page_sustainability .technology_sec .btn_box {
    display: flex;
    gap: 0 22px;
}

.page_sustainability .technology_sec .btn_box .link {
    width: 365px;
    min-block-size: 80px;
    background-color: #FAFAFA;
    color: #000;
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 600;
    border-radius: 6px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 20px;
    transition: .3s;
}

.page_sustainability .technology_sec .btn_box .link::after {
    content: "";
    position: absolute;
    border-top: 2px solid #151515;
    border-right: 2px solid #151515;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    right: 30px;
    translate: 0 -50%;
    rotate: 45deg;
    transition: .3s;
}

.page_sustainability .technology_sec .btn_box .link:hover {
    background-color: #0089D2;
    color: #fff;
}

.page_sustainability .technology_sec .btn_box .link:hover::after {
    border-color: #fff;
}

.page_sustainability .esg_sec {
    margin-bottom: 80px;
    padding-top: 100px;
}

.page_sustainability .esg_sec .ttl_box .ttl {
    font-size: 22px;
    letter-spacing: .04em;
    font-weight: 700;
    color: #0089D2;
    margin-bottom: 1.3em;
}

.page_sustainability .esg_sec .cont .inbox {
    display: flex;
    align-items: flex-end;
}

.page_sustainability .esg_sec .cont .img {
    width: 630px;
    flex-shrink: 0;
}

.page_sustainability .esg_sec .cont .img img {
    width: 100%;
    aspect-ratio: 63/32;
    border-radius: 10px;
    object-fit: cover;
    border-radius: 20px;
}

.page_sustainability .esg_sec .cont .text_box {
    position: relative;
    background-color: #FFFFFF;
    padding: 44px 50px;
    margin: 80px 0 0 -120px;
    border-radius: 10px;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
}

.page_sustainability .esg_sec .cont .text_box .theme_box {
    margin-bottom: 14px;
}

.page_sustainability .esg_sec .cont .text_box .theme_box .en_text {
    font-size: 18px;
    font-weight: 800;
    color: #0089D2;
    line-height: 1.1;
}

.page_sustainability .esg_sec .cont .text_box .theme_box .theme {
    font-size: 22px;
    letter-spacing: .04em;
    font-weight: 800;
    margin-top: -12px;
}

.page_sustainability .esg_sec .cont .text_box .theme_box .theme .color {
    display: inline-block;
    font-size: 50px;
    color: #0089D2;
    line-height: 1;
}

.page_sustainability .esg_sec .cont .text_box .theme_box .theme .size {
    font-size: 30px;
    color: #0089D2;
}

.page_sustainability .esg_sec .cont .text_box .text {
    font-size: 14px;
    letter-spacing: .01em;
    line-height: 1.43;
    margin-bottom: 20px;
    font-weight: 500;
}

.page_sustainability .esg_sec .common_more_btn {
    width: 190px;
}

.page_sustainability .esg_sec .common_more_btn a {
    padding: 15px 30px;
    text-align: left;
    background-color: #0089D2;
    line-height: 1.3;
    font-weight: 600;
    border: solid 1px #0089D2;
    text-decoration: none;
}

.page_sustainability .esg_sec .common_more_btn a:hover {
    color: #0089D2;
    background-color: #fff;
}

.page_sustainability .esg_sec .common_more_btn a:hover::after {
    border-color: #0089D2;
}

.page_sustainability .esg_sec .cont+.cont {
    margin-top: 60px;
}

.page_sustainability .esg_sec .cont:nth-child(even) {
    flex-direction: row-reverse;
    align-items: start;
}

.page_sustainability .esg_sec .cont:nth-child(even) .text_box {
    margin: 0 -120px 0 0;
}

.page_sustainability .esg_sec .cont:nth-child(even) .img {
    margin-top: 80px;
}

.page_sustainability .esg_sec .cont:nth-child(even) .text_box .theme_box .theme {
    margin-top: 6px;
}

.page_sustainability .esg_sec .esg_box {
    position: relative;
    margin-bottom: 80px;
}

.page_sustainability .esg_sec .img_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 15px;
    border-radius: 10px;
}

.page_sustainability .esg_sec .img_list ul li {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
}

.page_sustainability .esg_sec .img_list ul .link .img {
    overflow: hidden;
}

.page_sustainability .esg_sec .img_list ul .link .img img {
    width: 100%;
    aspect-ratio: 37/20;
    object-fit: cover;
    transition: .3s;
}

.page_sustainability .esg_sec .img_list ul .link:hover .img img {
    transform: scale(1.1);
}

.page_sustainability .esg_sec .img_list ul .link .text_box {
    display: flex;
    padding: 16px 20px;
    gap: 0 17px;
    justify-content: space-between;
    align-items: center;
}

.page_sustainability .esg_sec .img_list ul .link .text_box .text {
    font-size: 16px;
    letter-spacing: .06em;
    font-weight: 800;
    line-height: 1.5;
    color: #151515;
}

.page_sustainability .esg_sec .img_list ul .link .text_box .arrow_box {
    position: relative;
    width: 43px;
    min-block-size: 43px;
    border-radius: 50%;
    background-color: #0089D2;
    flex-shrink: 0;
}

.page_sustainability .esg_sec .img_list ul .link .text_box .arrow_box::before {
    content: "";
    position: absolute;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 9px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 45deg;
    top: 50%;
    left: 50%;
    translate: -70% -50%;
}

.esg_sec .common_table_list .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 15px;
    margin-bottom: 10px;
}

.esg_sec .common_table_list .icon img {
    width: 80px;
}

.esg_sec .common_table_list td:nth-child(2) {
    text-align: left;
    padding-left: 15px;
    line-height: 1.7;
}

.page_sustainability .common_group_sec {
    background-color: #D6D6D6;
}

.page_sustainability .technology_sec .image_box .img {
    width: 844px;
    margin: 0 auto;
}

.page_sustainability .technology_sec .image_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_sustainability .technology_sec .text_box {
    padding-top: 30px;
}

.page_sustainability .technology_sec .text_box .text {
    font-size: 22px;
    color: var(--main-color);
    font-weight: 700;
    line-height: 2;
    letter-spacing: .04em;
}

.common_fv_img .img_sp {
    display: none;
}

.common_fv_img .img_pc {
    display: block;
    width: 100%;
    aspect-ratio: 72/25;
    object-fit: cover;
}

.page_sustainability .esg_sec .esg_box .top_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 270px;
}

.page_sustainability .esg_sec .esg_box .top_box .img_area {
    width: 470px;
    flex-shrink: 0;
}

.page_sustainability .esg_sec .esg_box .top_box .img_area img {
    width: 100%;
    aspect-ratio: 470/313;
    object-fit: cover;
    border-radius: 13px;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .sec_ttl {
    position: relative;
    margin-bottom: 20px;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .sec_ttl .ttl {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: .01em;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .sec_ttl .num {
    position: absolute;
    top: -49px;
    left: -49px;
    font-size: 105px;
    font-weight: 800;
    line-height: 1;
    color: rgb(145 215 251);
    z-index: -1;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .catch {
    margin-bottom: 30px;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .catch .text {
    font-size: 23px;
    font-weight: 600;
    letter-spacing: .01em;
    color: var(--main-color);
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .text_list li {
    font-size: 22px;
    letter-spacing: .01em;
    font-weight: 500;
    display: flex;
    align-items: flex-start;
    gap: 0 .5em;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .text_list li::before {
    content: "";
    width: 13px;
    aspect-ratio: 1/1;
    min-width: 0;
    border-radius: 50%;
    background-color: #0089D2;
    flex-shrink: 0;
    translate: 0 13px;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area .text_list li+li {
    margin-top: 0.1em;
}

.page_sustainability .esg_sec .esg_box::before {
    content: "";
    width: 100%;
    position: absolute;
    background-image: url(/wp-content/themes/child/image/sustainability_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: -225px;
    left: 0;
    z-index: -1;
    aspect-ratio: 5/3;
    min-width: 0;
}

.page_sustainability .esg_sec .esg_box .top_box .text_area {
    padding-left: 49px;
}

.page_sustainability .esg_sec .esg_box+.esg_box {
    margin-top: 190px;
}

/* メッセージ */
.common_page_message .message_sec .cont .img {
    width: 540px;
    flex-shrink: 0;
}

.common_page_message .message_sec .cont .img img {
    width: 100%;
    aspect-ratio: 28/37;
    object-fit: cover;
}

.common_page_message .message_sec .cont .text_box .ttl_box {
    margin-bottom: 50px;
}

.common_page_message .message_sec .cont .text_box .ttl_box .theme {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .01em;
    margin-bottom: 1.4em;
    line-height: 1.5;
}

.common_page_message .message_sec .cont .text_box .ttl_box .icon_name {
    width: 306px;
}

.common_page_message .message_sec .cont .text_box .ttl_box .icon_name img {
    width: 100%;
}

.common_page_message .message_sec .cont .text_box .text {
    font-size: 14px;
    line-height: 1.9;
}

.common_page_message .message_sec .cont .text_box .text+.text {
    margin-top: 1.5em;
}

.common_page_message .message_sec .cont .common_sec_fv {
    display: flex;
    align-items: center;
    gap: 0 50px;
    margin: 0 auto 50px;
    width: fit-content;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text {
    font-size: 30px;
    margin-bottom: 0.7em;
    letter-spacing: .04em;
    position: relative;
    font-weight: 500;
    padding-bottom: .3em;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .theme {
    font-size: 20px;
    margin-bottom: 0.8em;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .company_name {
    margin: 10px 0 0 auto;
    width: fit-content;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box {
    width: 100%;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text::before,
.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text::after {
    content: "";
    height: 3px;
    position: absolute;
    bottom: 0;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text::before {
    width: 100%;
    background-color: var(--main-color);
    left: 0;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text::after {
    right: 0;
    width: 41%;
    background-color: var(--sub-color);
}

.common_page_message .deliver_sec .cont .sec_ttl .ttl {
    font-size: 24px;
    letter-spacing: .04em;
    border-left: solid 5px var(--sub-color);
    padding-left: 0.2em;
    font-weight: 700;
    color: var(--main-color);
}

.common_page_message .deliver_sec .cont .sec_ttl {
    margin-bottom: 25px;
}

.common_page_message .deliver_sec .cont .text_box .text {
    font-size: 16px;
    letter-spacing: .04em;
    line-height: 1.9;
}

.common_page_message .deliver_sec .cont .text_box .text+.text {
    margin-top: 1em;
}

.common_page_message .deliver_sec .cont .text_box {
    margin-bottom: 30px;
}

.common_page_message .deliver_sec .cont .img_box {
    width: 75%;
    margin: 0 auto;
}

.common_page_message .deliver_sec .cont .img_box img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 3/2;
}

.common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text .small {
    display: block;
}

.common_page_message.ir_message .message_sec .cont .common_sec_fv .fv_text_box .text .small {
    font-size: 81%;
}

.common_page_message.ir_message .message_sec .cont .icon_name {
    margin-left: auto;
    width: 300px;
}

.common_page_message.ir_message .message_sec .cont .icon_name img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.common_page_message .message_sec .cont .page_ir_notes.ir .ir_common_list .list_wrap {
    background-color: #FAFAFA;
}

.common_page_message .message_sec .cont .page_ir_notes.ir {
    margin-bottom: 0;
}

.common_page_message .message_sec .cont .message_list li {
    display: flex;
    align-items: center;
    gap: 0 30px;
}

.common_page_message .message_sec .cont .message_list li .img_box {
    width: 45%;
    flex-shrink: 0;
    background-color: #DDD;
}

.common_page_message .message_sec .cont .message_list li .text_box .text {
    font-size: 14px;
    letter-spacing: .04em;
}

.common_page_message .message_sec .cont .message_list li+li {
    margin-top: 80px;
}

.common_page_message .message_sec .cont .message_list li:nth-child(2) {
    flex-direction: row-reverse;
}

.common_page_message .message_sec .cont .message_list {
    margin-bottom: 50px;
}

.common_page_message .message_sec .cont .sign_box {
    text-align: right;
}

.common_page_message .message_sec .cont .sign_box .name {
    font-weight: 400;
    font-size: 20px;
    letter-spacing: .04em;
    line-height: 1.3;
}

.common_page_message .message_sec .cont .message_list li .img_box img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}

.company_message .message_sec .cont {
    display: flex;
    align-items: flex-start;
    gap: 0 20px;
}

.common_page_message.company_message .message_sec .cont .text_box .name {
    font-size: 20px;
    text-align: right;
    margin-top: 1em;
}

/* テキスト部分の幅を広めに設定 */
.company_message .message_sec .cont .text_box {
    flex: 1 1 70%;
    /* 幅の目安を70%に */
}

/* 画像部分の幅を狭めに設定 */
.company_message .message_sec .cont .img {
    flex: 0 0 30%;
    /* 幅を30%に固定 */
    max-width: 300px;
    /* 必要なら最大幅も設定 */
}

.common_page_message.company_message .message_sec .cont .text_box .name .strong {
    font-size: 130%;
    font-weight: 700;
    display: inline-block;
    margin-left: 0.2em;
}

/* 歴史・沿革 */

.page_library .library_sec ul li+li {
    margin-top: 80px;
}

#common_main .library_sec .link_box {
    text-align: center;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0 10px;
    justify-content: center;
    margin-bottom: 80px;
}

#common_main .library_sec .link_box .link {
    color: var(--main-color);
    font-size: 17px;
    letter-spacing: .06em;
    padding: 40px 10px 40px;
    position: relative;
    transition: .3s;
    font-weight: 700;
    background-color: #F0FAFF;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 5px 0;
}

#common_main .library_sec .link_box .link:nth-child(even) {
    background-color: #FAFAFA;
}

#common_main .library_sec .link_box .link:hover {
    opacity: .7;
}

#common_main .library_sec .link_box .link::after {
    content: "";
    display: 2px solid #A0A0A0;
    border-right: 2px solid #A0A0A0;
    width: 6px;
    aspect-ratio: 1 / 1;
    rotate: 45deg;
}

#common_main .library_sec .link_box .link::after {
    content: "";
    display: block;
}

#common_main .library_sec .link_box .link::after {
    content: "";
    display: block;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    width: 8px;
    aspect-ratio: 1 / 1;
    rotate: 135deg;
    margin: 0 auto;
}

.page_library .library_sec ul .img {
    width: 1000px;
    margin: 0 auto 30px;
    position: relative;
}

.page_library .library_sec ul .img img {
    width: 100%;
    aspect-ratio: 2/1;
    object-fit: cover;
}

.page_library .library_sec ul .img::before {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0px 0px 15px 15px #fff;
    width: 100%;
    height: 100%;
}

.page_library .library_sec ul .ttl {
    text-align: center;
    font-size: 28px;
    letter-spacing: .07em;
    font-weight: 700;
    margin-bottom: .4em;
}

.page_library .library_sec ul .text_box .text {
    font-size: 16px;
    letter-spacing: .03em;
    margin-bottom: 30px;
}

.page_library .library_sec ul li .text_box {
    padding: 0 160px;
}

.page_library .library_sec ul li .text_box .common_more_btn {
    margin: 0 auto;
}

/* 万博で大活躍 */
.page_expo .common_library_sec .library_box .cont {
    display: grid;
    grid-template-columns: 720px 400px;
    gap: 0 20px;
    justify-content: space-between;
    align-items: center;
}

.page_expo .common_library_sec .library_box .cont .youtube {
    height: 470px;
}

.page_expo .common_library_sec .library_box .cont .youtube iframe {
    width: 100%;
    height: 100%;
}

.page_expo .common_library_sec .library_box .cont .img img {
    width: 100%;
    aspect-ratio: 3/1.7;
    object-fit: cover;
}

.page_expo .common_library_sec .library_box .cont .img+.img {
    margin-top: 20px;
}

/* Bogo */
.bogo-language-switcher {
    position: absolute;
    z-index: 100;
    top: 25px;
    right: 0;
    background-color: rgba(0, 0, 0, 0.1);
    padding: 5px 10px;
}

.hd_box .list_box .other_menu .language_btn .bogo-language-switcher li a.f_hel {
    display: none;
}

.hd_box .list_box .other_menu .language_btn .bogo-language-switcher li .bogoflags {
    display: none;
}

.hd_box .list_box .other_menu .language_btn .bogo-language-switcher li a.current {
    display: block;
    font-family: "Helvetica", sans-serif;
}

.hd_box .list_box .other_menu .language_btn .bogo-language-switcher li.ja a {
    display: block;
}

.hd_box .list_box .other_menu .language_btn .bogo-language-switcher li.en a {
    display: block;
}

.bogo-language-switcher li+li {
    margin-top: 2px;
}

.bogo-language-switcher li.current {
    display: none;
}

/* 納入実績検索ページ */
.common_search_box {
    background-color: #f0f0f0;
    padding: 30px;
}

.common_search_box .select_search_box {
    display: flex;
    justify-content: space-between;
}

.common_search_box .select_search_box .select_box {
    width: 100%;
}

.common_search_box .select_search_box .select_box .select_sec {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.common_search_box .select_search_box .select_box .free_box {
    width: 100%;
    margin-top: 4px;
}

.common_search_box .select_search_box .select_box .free_box input {
    background-color: #fff;
    border: 1px solid #ccc;
    font-size: 14px;
    padding: 8px 10px;
    width: 100%;
    letter-spacing: 0.04em;
}

.common_search_box .select_search_box .search_btn {
    width: 8.2%;
    flex-shrink: 0;
    margin-left: 4px;
}

.common_search_box .select_search_box .search_btn button {
    background-color: #263b6e;
    color: #fff;
    width: 100%;
    height: 100%;
    text-align: center;
    padding-top: 16px;
    position: relative;
    font-size: 12px;
    font-weight: 600;
    transition: .3s;
}

.common_search_box .select_search_box .search_btn button:hover {
    opacity: 0.8;
}

.common_search_box .select_search_box .search_btn button::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/child/image/icon_search.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 13px;
    aspect-ratio: 1;
    top: 29%;
    left: 50%;
    translate: -50% -50%;
}

.common_search_box .select_search_box .select_box .select_list {
    background-color: #fff;
    border: 1px solid #ccc;
    font-size: 14px;
    padding: 8px 10px;
    letter-spacing: 0.04em;
}

.js_none_select {
    background-color: #d9d9d9 !important;
    pointer-events: none;
}

.archive_record .common_record_list {
    margin-top: 80px;
}

.common_record_list {
    position: relative;
    z-index: 0;
}

.common_record_list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.common_record_list ul li {
    height: 300px;
}

.common_record_list ul li a {
    display: flex;
    position: relative;
    z-index: 1;
    height: 100%;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

.common_record_list ul li a:hover .img {
    transform: scale(1.2);
}

.common_record_list ul li a .img {
    position: absolute;
    inset: 0;
    z-index: -1;
    transition: .5s;
}

.common_record_list ul li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_record_list ul li a .text_box {
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    margin-top: auto;
    width: 100%;
    padding: 10px 5px;
}

.common_record_list ul li a .ttl {
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.01em;
    font-weight: 600;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.common_back_btn {
    width: 300px;
    text-align: center;
    margin: 50px auto 0;
}

.common_back_btn a {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    background-color: #263b6e;
    display: block;
    padding: 18px 0;
    letter-spacing: 0.05em;
    border: 1px solid #263b6e;
    transition: .3s;
}

.common_back_btn a:hover {
    background-color: #fff;
    color: #263b6e;
}

.result_ttl_box {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #cacaca;
}

.result_ttl_box ul {
    display: flex;
    gap: 10px;
}

.result_ttl_box ul li {
    font-size: 14px;
    padding: 0px 15px;
    border-radius: 4px;
    background-color: #263b6e;
    color: #fff;
    letter-spacing: 0.04em;
    line-height: 2;
    font-weight: 600;
}

/* 納入実績詳細ページ */
.single_record .single_ttl .ttl {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 5px;
}

.single_record .single_ttl .category_box ul {
    display: flex;
    gap: 10px;
}

.single_record .single_ttl .category_box ul li {
    line-height: 2;
    padding: 0 10px;
    background-color: #263b6e;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.04em;
    font-size: 15px;
    border-radius: 4px;
}

.single_record .single_ttl {
    margin-bottom: 26px;
    padding-bottom: 22px;
    border-bottom: 1px dashed #cbcbcb;
}

.single_record .record_ttl_box {}

.single_record .record_ttl_box .slider_sec_box {
    width: 65%;
    margin: 0 auto;
}

.single_record .record_ttl_box .slider_sec_box .slider_box {
    margin-bottom: 20px;
}

.single_record .record_ttl_box .slider_sec_box .slider_box ul {
    width: 100%;
}

.single_record .record_ttl_box .slider_sec_box .slider_box ul li {
    width: 100%;
    height: 400px;
}

.single_record .record_ttl_box .slider_sec_box .slider_box ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box {
    width: 100%;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul {
    width: 100%;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul .slick-track {
    display: grid;
    transform: unset !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    width: 100% !important;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul .slick-track::before,
.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul .slick-track::after {
    display: none;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul li {
    width: 100% !important;
    height: 100px;
    cursor: pointer;
    transition: .3s;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul li.slick-current {
    opacity: 0.5;
}

.single_record .record_ttl_box .slider_sec_box .thumbnail_box ul li:hover {
    opacity: 0.5;
}

.single_record .record_ttl_box .text_sec_box {
    width: 100%;
    margin-top: 50px;
}

.single_record .record_ttl_box .text_sec_box .cp_ttl {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 25px;
}

.single_record .record_ttl_box .text_sec_box .free_area {
    font-size: 15px;
    letter-spacing: 0.04em;
    line-height: 1.8;
}

.single_record .record_contents_box {
    background-color: #f1f1f1;
    padding: 100px;
    margin-top: 100px;
}

.single_record .record_contents_box .record_movie {
    width: 100%;
    margin-bottom: 70px;
}

.single_record .record_contents_box .record_contents ul li {
    display: flex;
    gap: 50px;
    padding: 0 10px;
}

.single_record .record_contents_box .record_contents ul li .theme {
    width: 200px;
    font-size: 16px;
    font-weight: 600;
    flex-shrink: 0;
    letter-spacing: 0.04em;
    line-height: 1.5;
}

.single_record .record_contents_box .record_contents ul li .cont {
    font-size: 16px;
    letter-spacing: 0.04em;
}

.single_record .record_contents_box .record_contents ul li+li {
    margin-top: 14px;
    padding-top: 15px;
    border-top: 1px dashed#ccc;
}

.single_record .record_contents_box .record_movie .video_note {
    font-size: 14px;
    letter-spacing: .04em;
    text-align: right;
    line-height: 1.3;
}

.single_record .record_ttl_box .slider_sec_box .slider_box .slider_note {
    font-size: 14px;
    letter-spacing: .04em;
    text-align: right;
    line-height: 1.3;
}

.archive_record .catch_text {
    text-align: center;
    margin-bottom: 80px;
}

.archive_record .catch_text .theme {
    font-weight: 600;
    font-size: 20px;
    letter-spacing: .04em;
}

.archive_record .catch_text .comment {
    font-size: 15px;
    margin-top: 10px;
    line-height: 2;
    letter-spacing: 0.04em;
}

/* 事業一覧 */
.page_business .business_list ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.page_business .business_list ul li a {
    display: block;
    position: relative;
    transition: .3s;
}

/* top2 */
@font-face {
    font-family: "High Summit";
    src: url("/wp-content/themes/child/fonts/HighSummit.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

#top_fv {
    position: relative;
    height: calc(100dvh - 100px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 185px 0 187px;
}

#top_fv .box {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    z-index: 1;
}

#top_fv .sub_title {
    position: relative;
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 24px;
    width: fit-content;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
    margin-left: 5px;
}

#top_fv .sub_title::before {
    content: "";
    width: 130px;
    height: 2px;
    position: absolute;
    top: calc(50% - 2px);
    right: -152px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
}

#top_fv .main_title {
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 85px;
    font-weight: 400;
    line-height: 0.6;
    letter-spacing: 0.22em;
    color: #fff;
    margin-top: 102px;
}

#top_fv .main_title .accent {
    font-family: "High Summit", sans-serif;
    font-size: 165px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0em;
    color: #efbe46;
    -webkit-transform: rotate(-7deg);
    transform: rotate(-7deg);
}

#top_fv .swiper-container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#top_fv .swiper {
    position: relative;
    height: inherit;
}

#top_fv .swiper-slide {
    position: relative;
    height: inherit;
}

#top_fv .swiper-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

#top_fv .swiper-slide::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(21, 21, 21, 0.4)), to(rgba(98, 98, 98, 0)));
    background: -webkit-linear-gradient(left, rgba(21, 21, 21, 0.4) 0%, rgba(98, 98, 98, 0) 100%);
    background: linear-gradient(to right, rgba(21, 21, 21, 0.4) 0%, rgba(98, 98, 98, 0) 100%);
    z-index: 1;
}

#top_fv .pagination-bullets,
#top_fv .swiper-pagination-bullets.swiper-pagination-horizontal,
#top_fv .swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 23px;
}

#top_fv .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
#top_fv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 12px;
}

#top_fv .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #d6d6d6;
    opacity: 1;
}

#top_fv .swiper-pagination-bullet-active {
    background: #263b6e;
}

/* IR情報ページ */
.api_sec_box {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 450px;
}

.api_info .api {
    position: absolute;
    top: -47px;
    left: 0;
}

.api_sec_box .box {
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.8);
}

.api_sec_box .box ul li a {
    display: block;
    letter-spacing: 0.04em;
}

.api_sec_box .box ul li a .day {
    color: #333;
    font-weight: 600;
}

.api_sec_box .box ul li a .title {
    color: #333;
    font-size: 18px;
    font-weight: 800;
    margin-top: 5px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    transition: .3s;
}

.api_sec_box .box ul li a:hover .title {
    color: var(--main-color);
}

.api_sec_box .box .common_more_btn {
    margin: 10px 0 0 auto;
}

.api_sec_box .box .theme {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
}

.api_sec_box .box .api_info {
    height: 40px;
    overflow: hidden;
    pointer-events: none;
    position: relative;
    width: 100%;
}

.page_ir_related .common_related_sec ul li.none_intro {
    display: none;
}

.page_ir_related .common_related_sec ul li.block_intro {
    display: block !important;
}

.common_page_ttl .ttl {
    font-size: 34px;
    font-weight: 600;
    letter-spacing: 0.04em;
    position: relative;
    padding-bottom: 18px;
    text-align: center;
    color: var(--main-color);
}

.common_page_ttl .ttl::after {
    position: absolute;
    content: "";
    width: 40px;
    height: 2px;
    background-color: var(--main-color);
    left: 50%;
    translate: -50% 0;
    bottom: 0px;
}

.page_ir_information .everyone_sec {
    padding-bottom: 20px;
}

.page_ir_information .everyone_sec .list {
    margin: 50px auto 0;
    max-width: 1000px;
    display: flex;
    justify-content: center;
}

.page_ir_information .everyone_sec .list ul {
    display: flex;
    justify-content: center;
    gap: 60px;
    /* ボックス間の余白 */
    padding: 0;
    list-style: none;
}

.page_ir_information .everyone_sec .list ul li {
    width: 400px;
    /* 横幅をやや広く */
}

.page_ir_information .everyone_sec .list ul li a {
    display: block;
    transition: .3s;
}

.page_ir_information .everyone_sec .list ul li a .img {
    width: 100%;
    height: 260px;
    /* ← 高さを大きくする（元180pxから拡大） */
    margin-bottom: 18px;
    overflow: hidden;
}

.page_ir_information .everyone_sec .list ul li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page_ir_information .everyone_sec .list ul li a .text_box {
    text-align: left;
    /* ← テキスト左寄せ */
}

.page_ir_information .everyone_sec .list ul li a .text_box .theme {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
    color: var(--main-color);
    display: flex;
    align-items: center;
}

.page_ir_information .everyone_sec .list ul li a .text_box .theme::after {
    content: "";
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    rotate: 45deg;
}

.page_ir_information .everyone_sec .list ul li a .text_box .text {
    font-size: 14px;
    color: #333;
}

.page_ir_information .everyone_sec .list ul li a:hover {
    opacity: 0.7;
}

.common_link_list {
    padding: 80px 0 0;
}

.common_link_list .link_list .four_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* ← 3列に変更 */
    gap: 0 40px;
    /* 適宜余白も広げてバランス調整 */
    justify-content: center;
    /* ← 中央寄せの追加ポイント */
}

.common_link_list .link_list .four_list li .link {
    display: block;
}

.common_link_list .link_list .four_list li .link .img {
    width: 100%;
    height: 200px;
}

.common_link_list .link_list .four_list li .link .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_link_list .link_list .four_list li .link .theme {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 10px 0;
    color: #333;
    border-bottom: 1px solid #707070;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.common_link_list .link_list .four_list li .box a:hover {
    opacity: .7;
}

.common_link_list .link_list .four_list li .box a {
    display: block;
    font-size: 16px;
    color: var(--main-color);
    line-height: 1;
    letter-spacing: 0.03em;
    transition: .3s;
}

.common_link_list .link_list .four_list li .box a+a {
    margin-top: 10px;
}

.common_link_list .link_list .four_list_en {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
}

.common_link_list .link_list .four_list_en li .link {
    display: block;
}

.common_link_list .link_list .four_list_en li .link .img {
    width: 100%;
    height: 200px;
}

.common_link_list .link_list .four_list_en li .link .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_link_list .link_list .four_list_en li .link .theme {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 10px 0;
    color: #333;
    border-bottom: 1px solid #707070;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.common_link_list .link_list .four_list_en li .box a:hover {
    opacity: .7;
}

.common_link_list .link_list .four_list_en li .box a {
    display: block;
    font-size: 16px;
    color: var(--main-color);
    line-height: 1;
    letter-spacing: 0.03em;
    transition: .3s;
}

.common_link_list .link_list .four_list_en li .box a+a {
    margin-top: 10px;
}

.common_link_list .link_list .three_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 66px;
    margin-top: 50px;
}

.common_link_list .link_list .three_list li a {
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    transition: .3s;
    padding: 20px;
}

.common_link_list .link_list .three_list li a:hover {
    opacity: 0.7;
}

.common_link_list .link_list .three_list li a .name {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--main-color);
}

.common_link_list .link_list .three_list li a::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    rotate: 45deg;
    top: 50%;
    translate: 0 -50%;
    right: 20px;
    position: absolute;
}

.en-US .common_link_list .link_list .four_list {
    grid-template-columns: repeat(2, 370px);
    justify-content: center;
}

.common_cta_box {
    padding: 80px 0;
}

.common_cta_box .sec_box .link {
    background-color: var(--main-color);
    padding: 60px 0 60px 70px;
    position: relative;
    display: block;
}

.common_cta_box .sec_box .link::before {
    content: "";
    position: absolute;
    background-color: #EDEDED;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0% 100%);
    top: 0;
    height: 100%;
    right: 0;
    width: 45%;
    transition: .5s;
}

.common_cta_box .sec_box .link:hover::before {
    width: 0%;
}

.common_cta_box .sec_box .link .text_box {
    position: relative;
    z-index: 1;
}

.common_cta_box .sec_box .link .text_box .ttl_box {
    position: relative;
}

.common_cta_box .sec_box .link .text_box .ttl_box::before {
    position: absolute;
    width: 50px;
    height: 2px;
    background-color: #fff;
    left: -70px;
    top: 28%;
    content: "";
}

.common_cta_box .sec_box .link .text_box .ttl_box .box {
    display: flex;
    align-items: center;
    gap: 0 10px;
    margin-bottom: 20px;
}

.common_cta_box .sec_box .link .text_box .ttl_box .box .en {
    color: #fff;
    font-size: 50px;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
}

.common_cta_box .sec_box .link .text_box .ttl_box .box .jp {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
}

.common_cta_box .sec_box .link .text_box .ttl_box .text {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
}

.common_related_sec .ttl_sec {
    font-size: 34px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 40px;
    margin-top: 30px;
}

.common_related_sec ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 15px;
}

.common_related_sec ul li a {
    display: block;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    transition: .3s;
}

.common_related_sec ul li a:hover {
    opacity: 0.7;
}

.common_related_sec ul li a .img {
    width: 100%;
    height: 200px;
}

.common_related_sec ul li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_related_sec ul li a .theme {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 10px 0;
    color: #151515;
    text-align: center;
    position: relative;
}

.common_related_sec ul li a .theme::after {
    content: "";
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    rotate: 45deg;
    right: 20px;
    top: 50%;
    translate: 0 -50%;
    position: absolute;
}

/* コーポレートガバナンス */
.page_corporate .contents_box .box .sec_text {
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.8;
    font-size: 16px;
}

.page_corporate .contents_box .box .pdf_btn {
    width: 420px;
    margin: 30px auto 0;
}

.page_corporate .contents_box .box .pdf_btn a {
    border: 2px solid var(--main-color);
    background-color: #fff;
    color: var(--main-color);
    text-decoration: none;
    transition: .3s;
    font-size: 18px;
    justify-content: center;
    line-height: 65px;
    font-weight: 600;
}

.page_corporate .contents_box .box .pdf_btn a:hover {
    color: #fff;
    background-color: var(--main-color);
}

.common_ex_box .ttl {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
    color: var(--main-color);
}

.common_ex_box+.common_ex_box {
    margin-top: 45px;
    padding-top: 45px;
    border-top: 2px dashed #cacaca;
}

.common_ex_box .text {
    letter-spacing: 0.04em;
    line-height: 1.7;
    font-size: 15px;
}

.box_sec.summary .common_ex_box .text+.text {
    margin-top: 1em;
}

.box_sec.summary .common_ex_box {
    margin-bottom: 40px;
}

.box_sec.summary .common_table_list {
    margin-bottom: 40px;
}

.box_sec.summary .graph_img {
    width: 75%;
    margin: 0 auto;
}

.box_sec.summary .graph_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_corporate .contents_box .box+.box {
    margin-top: 60px;
}

.summary_box .common_tab_box .tab_box_sec .box_sec .box .table_tani {
    text-align: right;
    font-size: 16px;
    letter-spacing: .04em;
}

/* 中期経営計画 */
.page_management .management_box .box .sec_ttl {
    font-size: 27px;
    font-weight: 800;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--main-color);
    margin-bottom: 40px;
    padding: 0 0 10px 30px;
}

.page_management .management_box .box .sec_img {
    width: 100%;
    margin: 30px 0 0;
}

.page_management .management_box .box+.box {
    margin-top: 70px;
}

.page_management .management_box .box .sec_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.page_management .management_box .box .sec_list li {
    text-align: center;
    background-color: var(--main-color);
    color: #fff;
    padding: 10px 0;
    font-weight: 600;
    letter-spacing: 0.04em;
    font-size: 20px;
}

.page_management .management_box .box .list {
    margin-top: 30px;
    padding-inline: 50px;
}

.page_management .management_box .box .list ul li {
    display: flex;
    align-items: center;
    gap: 120px;
}

.page_management .management_box .box .list ul li .img {
    width: 450px;
    height: 250px;
    flex-shrink: 0;
    position: relative;
}

.page_management .management_box .box .list ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_management .management_box .box .list ul li+li {
    margin-top: 80px;
}

.page_management .management_box .box .list ul li .text_box .ttl {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 22px;
}

.page_management .management_box .box .list ul li .text_box .text {
    font-size: 16px;
    line-height: 1.8;
}

.page_management .management_box .box .list ul li .img::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border: 1px solid var(--main-color);
    left: -20px;
    bottom: -20px;
    z-index: -1;
}

.page_management .management_box .box .list ul li .img.sas {
    height: unset;
    width: 620px;
}

.page_management .management_box .box .list ul li .img.sas::after {
    display: none;
}

.page_management .management_box .box .list ul li .img.sas img {
    height: unset;
    object-fit: unset;
}

.page_management .management_box .box .list_sec {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 45px;
}

.page_management .management_box .box .list_sec .sec {
    border: 1px solid #238B8D;
    padding: 15px 30px;
    position: relative;
}

.page_management .management_box .box .list_sec .sec .theme {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
}

.page_management .management_box .box .list_sec .sec .cont_box .cont {
    font-size: 18px;
    letter-spacing: 0.04em;
    list-style: initial;
    margin-left: 35px;
    padding-left: 20px;
    font-weight: 600;
}

.page_management .management_box .box .list_sec .sec .cont_box .cont+.cont {
    margin-top: 3px;
}

.page_management .management_box .box .sec_list.three {
    margin-top: 30px;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

.page_management .management_box .box .img_result {
    margin-top: 80px;
    position: relative;
}

.page_management .management_box .box .img_result::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 180px 0 180px;
    border-color: var(--main-color) transparent transparent transparent;
    left: 50%;
    translate: -50% 0;
    top: -60px;
    opacity: 0.2;
}

.page_management .management_box .box .img_result .text {
    font-size: 18px;
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.page_management .management_box .box .img_result .text .big {
    font-size: 25px;
    font-weight: 800;
    display: block;
}

.page_ir_notes.ir {
    margin-bottom: 80px;
}

.page_ir_notes.ir .common_page_ttl {
    margin-bottom: 40px;
}

.page_management .catch_link_sec .cont .catch {
    width: fit-content;
    margin: 0 auto 20px;
}

.page_management .catch_link_sec .cont .link_box {
    border: solid 1px var(--main-color);
    padding: 30px;
}

.page_management .catch_link_sec .cont .catch .text {
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    font-weight: 900;
}

.page_management .catch_link_sec .cont .link_box {
    border: solid 2px var(--main-color);
    padding: 25px 50px;
    margin: 0 auto 80px;
    width: 90%;
}

.page_management .catch_link_sec .cont .link_box ul {
    display: flex;
    gap: 10px 40px;
    flex-wrap: wrap;
}

.page_management .catch_link_sec .cont .link_box ul li a {
    display: flex;
    font-size: 19px;
    letter-spacing: .04em;
    color: var(--main-color);
    font-weight: 900;
    align-items: center;
    gap: 0.5em;
}

.page_management .catch_link_sec .cont .link_box ul li a::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13px calc(20px / 2) 0 calc(20px / 2);
    border-color: #263B6E transparent transparent transparent;
    flex-shrink: 0;
}

.page_management .management_box .box .business_plan_cont li .en_ttl {
    background-color: var(--main-color);
    padding: 2px 10px;
    text-align: center;
    margin-bottom: 20px;
}

.page_management .management_box .box .business_plan_cont li .en_ttl .theme {
    font-size: 22px;
    font-weight: 700;
    color: #FFF;
}

.page_management .management_box .box .business_plan_cont li .text_box {
    text-align: center;
}

.page_management .management_box .box .business_plan_cont li .text_box .main {
    font-size: 35px;
    letter-spacing: .04em;
    color: var(--sub-color);
    font-weight: 700;
    line-height: 1.4;
}

.page_management .management_box .box .business_plan_cont li .text_box .sub {
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 700;
    color: var(--main-color);
}

.page_management .management_box .box .business_plan_cont li+li {
    margin-top: 50px;
}

.page_management .management_box .box .business_plan_cont li .target_table {
    width: 90%;
    border-collapse: collapse;
    background: #fff;
    margin: 0 auto;
}

.page_management .management_box .box .business_plan_cont li .target_table th,
.page_management .management_box .box .business_plan_cont li .target_table td {
    border: 1px solid #DDD;
    padding: 0.5em;
    text-align: center;
}

.page_management .management_box .box .business_plan_cont li .target_table th {
    font-weight: 700;
    background-color: #E8E8E8;
    font-size: 20px;
    letter-spacing: .04em;
    color: var(--main-color);
    line-height: 1.3;
}

.page_management .management_box .box .business_plan_cont li .target_table tr:nth-child(even) td {
    background: #fafbfc;
}

.page_management .management_box .box .business_plan_cont li .target_table table {
    width: 100%;
}

.page_management .management_box .box .business_plan_cont li .target_table td {
    font-size: 20px;
    letter-spacing: .04em;
    font-weight: 500;
    line-height: 1.3;
}

.page_management .management_box .box .business_plan_cont li .target_table th.color,
.page_management .management_box .box .business_plan_cont li .target_table td.color {
    background-color: var(--main-color);
    color: #FFF;
}

.page_management .management_box .box .common_pdf_btn a {
    font-size: 18px;
    letter-spacing: .04em;
    color: var(--main-color);
    font-weight: 700;
}

.page_management .management_box .box .common_pdf_btn a::before {
    width: 45px;
    height: auto;
    aspect-ratio: 28/33;
}

.page_management .management_box .box .business_plan_cont li .plan_img {
    width: 90%;
    margin: 0 auto;
}

.page_management .management_box .box .business_plan_cont li .plan_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_management .management_box .box .sec_ttl.center {
    border: none;
    text-align: center;
    padding-bottom: 0;
    color: var(--main-color);
    margin-bottom: 20px;
}

.page_management .management_box .box.sustainability .list li {
    gap: 40px;
}

.page_management .management_box .box.sustainability .list {
    margin-top: 70px;
    padding-inline: 30px;
}

.page_management .management_box .box.sustainability .list_sec {
    padding-inline: 30px;
}

.page_management .management_box .box .list_sec .sec .cont_box .cont::marker {
    color: #238B8D;
}

.page_management .management_box .box .list_sec .sec::after {
    content: "";
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-bottom-color: #238B8D;
    border-right-color: #238B8D;
    position: absolute;
    bottom: 0;
    right: 0;
}

.page_management .catch_link_sec .cont .catch .date {
    font-size: 22px;
    color: var(--main-color);
    font-weight: 900;
}

.page_management .catch_link_sec .cont .catch .ttl {
    font-size: 35px;
    font-weight: 900;
    color: var(--main-color);
    letter-spacing: .04em;
}

.page_management .management_box .box.policy .list ul li {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.page_management .management_box .box.policy .list ul li .img::after {
    left: auto;
    right: -20px;
}

.page_management .management_box .box.policy .list {
    padding-inline: 50px;
}

.page_management .management_box .box.policy .list ul li .text_box .ttl {
    color: var(--main-color);
    font-weight: 900;
}

.page_management .management_box .box.policy .list ul li .text_box .text {
    font-size: 19px;
    font-weight: 600;
    padding-inline: 0.5em 0;
}

.common_box_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 50px;
}

.page_management .management_box .box.policy .common_box_list {
    margin-top: 60px;
    padding-inline: 50px;
}

.common_box_list ul li {
    border: solid 1px var(--main-color);
    display: grid;
    place-content: center;
    text-align: center;
    padding: 25px 5px;
    position: relative;
    min-height: 142px;
}

.common_box_list ul li .text {
    font-size: 20px;
    font-weight: 900;
    color: var(--main-color);
    line-height: 1.5;
}

.common_box_list ul li::after {
    content: "";
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-bottom-color: var(--main-color);
    border-right-color: var(--main-color);
    position: absolute;
    bottom: 0;
    right: 0;
}

.page_management .management_box .box .sec_ttl .date {
    font-size: 70%;
}

.page_management .management_box .box.growth .item_list {
    padding-inline: 50px;
}

.page_management .management_box .box.growth .item_list .item .ttl_box .ttl {
    font-size: 23px;
    font-weight: 900;
    color: var(--main-color);
    letter-spacing: .04em;
}

.page_management .management_box .box.growth .item_list .item .ttl_box {
    margin-bottom: 30px;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 30px;
    margin: 0 auto 40px;
    width: 75%;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .icon {
    width: 140px;
    flex-shrink: 0;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .icon img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 10px;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box {
    width: 100%;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .ttl {
    font-size: 18px;
    font-weight: 700;
    color: var(--main-color);
    letter-spacing: .04em;
    border-bottom: dashed 1px #AAA;
    padding-bottom: 0.3em;
    margin-bottom: 0.4em;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .text_list li {
    display: flex;
    align-items: center;
    font-size: 16px;
    gap: 0 .5em;
    letter-spacing: .04em;
    font-weight: 500;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .text_list li {
    display: flex;
    align-items: flex-start;
    /* ポイント：⚫︎を項目の上に揃える */
    gap: 8px;
    /* ⚫︎とテキストの間隔 */
    position: relative;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .text_list li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #151515;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 9px;
    /* テキストの高さに応じて微調整 */
}

.page_management .management_box .box.growth .item_list .item .main_cont .catch {
    text-align: center;
    background-color: #E8E8E8;
    border-radius: 100vmax;
    margin: 0 auto 30px;
    min-block-size: 45px;
    display: grid;
    place-content: center;
    width: 75%;
}

.page_management .management_box .box.growth .item_list .item .main_cont .catch .text {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .04em;
}

.page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .text_list li+li {
    margin-top: 0.2em;
}

.page_management .management_box .box.growth .item_list .item+.item {
    margin-top: 60px;
}

.page_management .management_box .box.growth .item_list .item.game .common_box_list ul li {
    border-color: #6891c1;
}

.page_management .management_box .box.growth .item_list .item.game .common_box_list ul li::after {
    border-bottom-color: #6891c1;
    border-right-color: #6891c1;
}

.page_management .management_box .box.growth .item_list .item.game .common_box_list ul li .text {
    color: #6891c1;
}

.page_management .management_box .box.growth .item_list .item.stage .common_box_list ul li {
    border-color: #d99694;
}

.page_management .management_box .box.growth .item_list .item.stage .common_box_list ul li::after {
    border-bottom-color: #d99694;
    border-right-color: #d99694;
}

.page_management .management_box .box.growth .item_list .item.stage .common_box_list ul li .text {
    color: #d99694;
}

.page_management .management_box .box.growth .item_list .item.elevator .common_box_list ul li {
    border-color: #66b48d;
}

.page_management .management_box .box.growth .item_list .item.elevator .common_box_list ul li::after {
    border-bottom-color: #66b48d;
    border-right-color: #66b48d;
}

.page_management .management_box .box.growth .item_list .item.elevator .common_box_list ul li .text {
    color: #66b48d;
}

.page_management .management_box .common_ex_box {
    padding-inline: 30px;
}

.page_management .management_box .box.execution .sec_list.three {
    padding-inline: 90px;
    gap: 20px;
    margin-top: 0;
}

.page_management .management_box .box.pdf .common_pdf_btn {
    padding-inline: 30px;
}

.page_management .management_box .box.execution {
    margin-top: 40px;
}

/* 決算サマリー */
.common_tab_box .tab_btn_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 10px;
}

.common_tab_box .tab_btn_box.single {
    grid-template-columns: 565px;
    justify-content: center;
}

.common_tab_box .tab_btn_box .tab {
    line-height: 50px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--main-color);
    background-color: #fff;
    border: 1px solid var(--main-color);
    text-align: center;
    transition: .1s;
    cursor: pointer;
}

.common_tab_box .tab_btn_box .tab:hover {
    color: #fff;
    background-color: var(--main-color);
}

.common_tab_box .tab_btn_box .tab.show {
    color: #fff;
    background-color: var(--main-color);
}

.common_tab_box .tab_box_sec .box_sec {
    display: none;
    padding-top: 65px;
}

.common_tab_box .tab_box_sec .box_sec.show {
    display: block;
}

.common_graph_box .theme {
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
    line-height: 1;
}

.page_summary .box_sec .graph_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    border: 1px solid #E6E6E6;
    padding: 20px 10px;
    align-items: flex-end;
}

.page_summary .box_sec .graph_box .graph+.graph {
    position: relative;
}

.page_summary .box_sec .graph_box .graph+.graph::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 100%;
    background-color: #ececec;
    left: -17px;
    bottom: 0;
}

.common_graph_box .color_box {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 14px;
}

.common_graph_box .color_box .color {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: #6b6b6b;
    padding-left: 10px;
    line-height: 1.4;
}

.common_graph_box .color_box .color.color1 {
    border-left: 6px solid var(--main-color);
}

.common_graph_box .color_box .color.color2 {
    border-left: 6px solid #ff4e46;
}

.common_graph_box .color_box .color.color3 {
    border-left: 6px solid var(--sub-color);
}

.page_summary .box_sec .box .graph_box .graph ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.page_summary .box_sec .box .graph_box .graph ul li {
    display: flex;
    flex-direction: column;
}

.page_summary .box_sec .box .graph_box .graph ul li+li {
    border-left: 1px solid #E6E6E6;
}

.page_summary .box_sec .box .graph_box .graph ul li .border_box {
    padding: 0 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    align-items: flex-end;
    margin-top: auto;
}

.page_summary .box_sec .box .graph_box .graph ul li .border_box .border .num {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 5px;
    text-align: center;
}

.page_summary .box_sec .box .graph_box .graph ul li .border_box .border .free {
    width: 100%;
    margin-top: auto;
}

.page_summary .box_sec .box .graph_box .graph ul li .border_box .border .free.free1 {
    background-color: var(--main-color);
}

.page_summary .box_sec .box .graph_box .graph ul li .border_box .border .free.free2 {
    background-color: #ff4e46;
}

.page_summary .box_sec .box .graph_box .graph ul li .border_box .border .free.free3 {
    background-color: var(--sub-color);
}

.page_summary .box_sec .box .graph_box .graph ul li .time {
    display: block;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}

.page_summary .box_sec .box .graph_box .graph .period {
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    font-size: 20px;
    text-align: center;
    margin-top: 20px;
}

.page_summary .summary_box .tab_box_sec .box_sec .box+.box {
    margin-top: 80px;
}

.common_table_list table {
    width: 100%;
    border-collapse: collapse;
}

.common_table_list table th,
.common_table_list table td {
    border: 1px solid #ccc;
    text-align: center;
    padding: 15px 0;
    line-height: 1.4;
    letter-spacing: 0.04em;
    vertical-align: middle;
}

.common_table_list table th {
    font-size: 18px;
    background-color: #263b6e;
    color: #fff;
}

.common_table_list table td.type {
    font-size: 16px;
    font-weight: 600;
    background-color: aliceblue;
}

.common_table_list+.common_table_list {
    margin-top: 30px;
}

.page_summary .box_sec .graph_box .attention {
    text-align: center;
    font-size: 25px;
    font-weight: 600;
}

.page_summary .summary_box .tab_box_sec .box_sec .box .graph_img_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 30px;
}

.page_summary .summary_box .tab_box_sec .box_sec .box .graph_img_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.summary_box .common_tab_box .tab_box_sec .box_sec .catch_text {
    margin-bottom: 50px;
}

.summary_box .common_tab_box .tab_box_sec .box_sec .catch_text .text {
    font-size: 16px;
    letter-spacing: .04em;
}

.summary_box .common_tab_box .tab_box_sec .box_sec .box .table_note {
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 700;
    text-align: right;
}

/* セグメント情報 */
.page_financial .financial_sec .graph ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 60px;
    padding: 50px 100px;
    border: 1px solid #dddddd;
    border-top: none;
}

.page_financial .financial_sec .graph ul li {
    display: flex;
    flex-direction: column;
    position: relative;
}

.page_financial .financial_sec .graph ul li .num {
    text-align: center;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: auto;
    margin-bottom: 5px;
}

.page_financial .financial_sec .graph ul li .border {
    background-color: var(--main-color);
    position: relative;
    width: 38%;
    margin: 0 auto;
}

.page_financial .financial_sec .graph ul li .border .ten_box {
    position: absolute;
    left: 50%;
    translate: -50% 0;
}

.page_financial .financial_sec .graph ul li .border .ten_box .rieki {
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #fff;
}

.page_financial .financial_sec .graph ul li .border .ten_box .ten {
    width: 10px;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--sub-color);
    display: block;
    margin: 4px auto 0;
}

.page_financial .financial_sec .graph ul li .period {
    margin-top: 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}

.page_financial .financial_sec .graph ul li+li::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background-color: #cacaca;
    bottom: 0;
    left: -65px;
}

.page_financial .financial_sec .graph {
    margin: 90px 0 50px;
}

.page_financial .financial_sec .graph ul li+li::after {
    position: absolute;
    content: "";
    width: 1px;
    background-color: #cacaca;
    bottom: -35px;
    left: -30px;
    height: 129%;
}

.page_financial .financial_sec .graph {
    margin-bottom: 50px;
}

.page_financial .financial_sec .graph .tani {
    font-size: 14px;
    line-height: 1;
    margin-top: 8px;
    font-weight: 500;
}

.page_financial .financial_sec .graph .color_box {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 10px;
}

.page_financial .financial_sec .graph .color_box .color {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 1.6;
    font-weight: 500;
    padding-left: 10px;
}

.page_financial .financial_sec .graph .color_box .color.color1 {
    border-left: 6px solid var(--sub-color);
}

.page_financial .financial_sec .graph .color_box .color.color2 {
    border-left: 6px solid var(--main-color);
}

.page_financial .financial_sec .segment_box .segment_graph {
    display: flex;
    margin-top: 40px;
}

.page_financial .financial_sec .segment_box .segment_graph .segment {
    padding: 20px 10px;
}

.page_financial .financial_sec .segment_box .segment_graph .segment.segment1 {
    background-color: #2a71bb;
}

.page_financial .financial_sec .segment_box .segment_graph .segment .num {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1;
}

.page_financial .financial_sec .segment_box .segment_graph .segment.segment2 {
    background-color: #37b396;
}

.page_financial .financial_sec .segment_box .segment_graph .segment.segment3 {
    background-color: #81c155;
}

.page_financial .financial_sec .segment_box .list {
    /* margin-top: 35px; */
    width: 100%;
}

.page_financial .financial_sec .segment_box .list ul li .theme {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin-bottom: 10px;
    padding-left: 10px;
}

.page_financial .financial_sec .segment_box .list ul li .theme .num {
    margin-left: 5px;
    font-size: 14px;
}

.page_financial .financial_sec .segment_box .list ul li .theme .num .big {
    font-size: 25px;
    margin-right: 4px;
}

.page_financial .financial_sec .segment_box .list ul li .theme.theme1 {
    border-left: 5px solid #2a71bb;
}

.page_financial .financial_sec .segment_box .list ul li .theme.theme2 {
    border-left: 5px solid #d99694;
}

.page_financial .financial_sec .segment_box .list ul li .theme.theme3 {
    border-left: 5px solid #66b48d;
}

.page_financial .financial_sec .segment_box .list ul li+li {
    margin-top: 25px;
    padding-top: 30px;
    border-top: 2px dashed #ccc;
}

.page_financial .financial_sec .segment_box .list ul li .text {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.page_financial .financial_sec .segment_box .inner {
    display: flex;
    /* align-items: center; */
    gap: 0 30px;
    margin-top: 50px;
    align-items: flex-start;
}

.page_financial .financial_sec .segment_box .inner .circle_graph {
    /* width: 500px; */
    /* flex-shrink: 0; */
}

.page_financial .financial_sec .segment_box .inner .ttl {
    font-size: 23px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--main-color);
    margin-bottom: 2em;
    text-align: center;
}

.page_financial .financial_sec .segment_box .inner .circle_graph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_financial .financial_sec .segment_box .inner .graph_box {
    width: 500px;
    flex-shrink: 0;
}

.page_financial .financial_sec .segment_box .inner .graph_box .circle_graph {
    width: 350px;
    margin: 0 auto;
}

.page_financial .financial_sec .graph .graph_ttl {
    margin-bottom: 30px;
}

.page_financial .financial_sec .graph .graph_ttl .ttl {
    font-size: 23px;
    font-weight: 700;
    letter-spacing: .04em;
    border-left: solid 5px var(--main-color);
    padding-left: 0.5em;
}

.page_financial .financial_sec .graph .graph_img {
    width: 1040px;
    margin: 0 auto;
}

.page_financial .financial_sec .graph .graph_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.situation_table_box .table_note {
    font-size: 18px;
    letter-spacing: .04em;
    font-weight: 700;
    color: var(--main-color);
    text-align: right;
}

.situation_table_box .common_table_list table td.color {
    background-color: #f1f8ff;
}

.common_table_list table td {
    font-size: 18px;
}

.situation_table_box .common_table_list table td.none {
    width: 5%;
    position: relative;
}

.situation_table_box .common_table_list table td.head {
    font-weight: 700;
}

.situation_table_box .common_table_list table td.none::before {
    content: "";
    height: 1px;
    background-color: #f1f8ff;
    width: 100%;
    position: absolute;
    top: -1px;
    left: 0;
}


/* 連結財務諸表 */
.page_statements .statements_box .box_sec .box+.box {
    margin-top: 50px;
}

.page_statements .statements_box .graph_statements ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 40px;
    border: 1px solid #ccc;
    border-top: none;
    padding: 10px 30px 10px;
}

.page_statements .statements_box .graph_statements ul li {
    display: flex;
    flex-direction: column;
    position: relative;
}

.page_statements .statements_box .graph_statements ul li .graph_box {
    display: flex;
    gap: 5px;
    align-items: flex-end;
    justify-content: center;
    margin-top: auto;
}

.page_statements .statements_box .graph_statements ul li .graph_box.graph_box_single {
    display: block;
}

.page_statements .statements_box .graph_statements ul li .graph_box .graph .num {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

.page_statements .statements_box .graph_statements ul li .graph_box .graph .border {
    width: 95%;
    margin: 10px auto 8px;
}

.page_statements .statements_box .graph_statements ul li .graph_box .graph .border.border1 {
    background-color: #437bbe;
}

.page_statements .statements_box .graph_statements ul li .graph_box .graph .border.border2 {
    background-color: #fb4e46;
}

.page_statements .statements_box .graph_statements ul li .period {
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
}

.page_statements .statements_box .graph_statements ul li+li::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 90%;
    bottom: 23px;
    background-color: #ccc;
    left: -23px;
}

.financial_graph_wrapper {
    position: relative;
}

.financial_graph_list {
    position: relative;
    z-index: 1;
}

.financial_graph_svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
}

.page_statements .tab_box_sec .situation_table_box {
    margin-bottom: 80px;
}

.page_statements .tab_box_sec .graph+.graph {
    margin-top: 50px;
}

.page_statements .tab_box_sec .graph .graph_ttl {
    margin-bottom: 30px;
}

.page_statements .tab_box_sec .graph .graph_ttl .ttl {
    font-size: 23px;
    font-weight: 700;
    letter-spacing: .04em;
    border-left: solid 5px var(--main-color);
    padding-left: 0.5em;
}

.page_statements .tab_box_sec .graph .graph_img {
    width: 1040px;
    margin: 0 auto;
}

.page_statements .tab_box_sec .graph .graph_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 株式基本情報 */
.page_ir_stock .stock_info_sec {
    margin-top: 60px;
}

.page_ir_stock .stock_info_sec .cont .about_box .ttl {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .04em;
    border-left: solid 5px var(--main-color);
    padding-left: 0.5em;
    margin-bottom: 0.6em;
}

.page_ir_stock .stock_info_sec .cont .about_box .text {
    font-size: 16px;
    letter-spacing: .04em;
}

.page_ir_stock .stock_info_sec .cont .table_box {
    margin: 25px 0 50px;
}

.page_ir_stock .stock_info_sec .cont .table_box dl {
    display: flex;
}

.page_ir_stock .stock_info_sec .cont .table_box dl dt {
    width: 40%;
    padding: 1em 1em 1em 2.5em;
    flex-shrink: 0;
    font-size: 16px;
    letter-spacing: .04em;
    background-color: #eef3ff;
    display: grid;
    place-content: center;
    justify-content: left;
}

.page_ir_stock .stock_info_sec .cont .table_box dl dd {
    width: 60%;
    padding: 1em;
    font-size: 16px;
    letter-spacing: .04em;
}

.page_ir_stock .stock_info_sec .cont .table_box dl+dl {
    border-top: solid 1px #DDD;
}

.page_ir_stock .stock_info_sec .cont .table_box dl dd a {
    color: var(--main-color);
    display: block;
}

.common_page_group .catch_sec .ttl_logo {
    width: 400px;
    margin: 0 auto 50px;
}

.common_page_group.page_vekoma .catch_sec .ttl_logo,
.common_page_group.page_forrec .catch_sec .ttl_logo {
    width: 240px;
}

.common_page_group .catch_sec .ttl_logo img {
    width: 100%;
}

.common_page_group.page_telmic .about_sec .info_box dl::before {
    background-color: #b44092;
}

.common_page_group.page_vekoma .about_sec .info_box dl::before {
    background-color: #9ea1a2;
}

.common_page_group.page_forrec .about_sec .info_box dl::before {
    background-color: #ed1556;
}

.common_page_group.page_ss .about_sec .info_box dl::before {
    background-color: #F5CF24;
}

.common_page_group.page_ss .link_sec,
.common_page_group.page_ss .about_sec {
    background-color: #EA012E;
}

.common_page_group.page_telmic .link_sec,
.common_page_group.page_telmic .about_sec {
    background-color: #001C50;
}

.common_page_group.page_vekoma .link_sec,
.common_page_group.page_vekoma .about_sec {
    background-color: #003A70;
}

.common_page_group.page_forrec .link_sec,
.common_page_group.page_forrec .about_sec {
    background-color: #000000;
}

.common_group_fv.forrec .fv_area .group_fv_slider .img::before,
.common_page_group.page_forrec .service_sec .cont .list li .img_area::before,
.common_page_group.page_forrec .record_sec .list ul li .img::before {
    content: "Courtesy of FORREC";
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    font-size: 14px;
    color: #FFF;
    min-width: 0;
    letter-spacing: .04em;
    line-height: 1;
}

.common_group_fv.forrec .fv_area .group_fv_slider .img,
.common_page_group.page_forrec .service_sec .cont .list li .img_area,
.common_page_group.page_forrec .record_sec .list ul li .img {
    position: relative;
}

section.elevator_newly_detail h2 {
    margin-bottom: 15px;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.5;
    color: #263B6E;
    width: 100%;
    margin-bottom: 30px;
}

section.elevator_newly_detail .diagram {
    width: 35%;
}

section.elevator_newly_detail .detail {
    width: 65%;
    padding-left: 40px;
}

section.elevator_newly_detail h3 {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #263B6E;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 15px;
}

section.elevator_newly_detail h3:after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #263B6E;
}

section.elevator_newly_detail .detail table th,
section.elevator_newly_detail .detail table td {
    border: 1px solid #ccc;
    text-align: center;
    padding: 7px 5px;
    line-height: 1.4;
    letter-spacing: 0.04em;
    vertical-align: middle;
    font-size: 12px;
}

section.elevator_newly_detail .detail table {
    width: 100%;
    margin-bottom: 10px;
}

section.elevator_newly_detail .detail table th {
    background-color: #263b6e;
    color: #fff;
}

section.elevator_newly_detail .detail table td {
    background: #fff;
}

section.elevator_newly_detail .detail table th span {
    font-size: 80%;
}

section.elevator_newly_detail .detail .supplementary .note {
    font-weight: bold;
    margin-bottom: 5px;
}

section.elevator_newly_detail+section.elevator_newly_detail {
    margin-top: 50px;
}

section.elevator_newly_detail .detail .table_wrap+h3 {
    margin-top: 30px;
}

.graph_ttl_zaimu {
    margin-bottom: 30px;
}

h3.ttl_zaimu {
    font-size: 23px;
    font-weight: 700;
    letter-spacing: .04em;
    border-left: solid 5px var(--main-color);
    padding-left: 0.5em;
    margin-bottom: 30px;
}

.stage_safety .flex_text_img_box {
    display: flex;
    gap: 20px;
}

.stage_safety .flex_text_img_box>* {
    flex: 1;
}

.stage_safety .flex_text_img_box .column_img_flex {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.stage_safety .flex_text_img_box .box_img {
    height: 440px;
}

.stage_safety .flex_text_img_box .column_img_flex .box_img {
    height: 240px;
}

.stage_safety .flex_text_img_box .box_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.stage_safety .flex_text_img_box .box_text {
    text-align: center;
    font-size: 18px;
    margin-top: 0.8em;
}

.common_page_group.page_telmic .service_sec .cont .list li .text_area .ttl_box .ttl {
    color: #001C50;
}

.common_page_group.page_vekoma .service_sec .cont .list li .text_area .ttl_box .ttl {
    color: #003A70;
}

.common_page_group.page_forrec .service_sec .cont .list li .text_area .ttl_box .ttl {
    color: #000000;
}

.common_page_group.page_ss .service_sec .cont .list li .text_area .ttl_box .ttl {
    color: #EA012E;
}

.common_page_group.page_telmic .service_sec .cont .list li .text_area .ttl_box .en {
    color: #b44092;
}

.common_page_group.page_vekoma .service_sec .cont .list li .text_area .ttl_box .en {
    color: #9ea1a2;
}

.common_page_group.page_forrec .service_sec .cont .list li .text_area .ttl_box .en {
    color: #ed1556;
}

.common_page_group.page_ss .service_sec .cont .list li .text_area .ttl_box .en {
    color: #F5CF24;
}

/* 全体検索 */
/* .common_search_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.common_search_list ul li a .text_box .ttl {
    font-size: 18px;
    letter-spacing: .04em;
    color: var(--main-color);
    font-weight: 500;
}

.common_search_list ul li a {
    display: inline-flex;
    align-items: center;
    gap: 0 0.8em;
}

.common_search_list ul li a::before {
    content: "";
    width: 8px;
    aspect-ratio: 1/1;
    min-width: 0;
    background-color: var(--main-color);
    border-radius: 50%;
    flex-shrink: 0;
} */

.hd_search_form form {
    display: flex;
    align-items: center;
    gap: 0 8px;
}

.hd_search_form form button {
    width: 20px;
    flex-shrink: 0;
}

.hd_search_form form button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hd_search_form form input[type="text"] {
    width: 100px;
    padding: 0 0.5em;
}

@media (max-width: 750px) {

    .wrap {
        max-width: 90%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 13px;
        padding-top: 70px;
        min-width: 100%;
    }

    /* SPヘッダー */
    /* #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: var(--main-color);
        z-index: 1000;
        height: 70px;
        padding: 25px 64px 21px 20px;
    }

    #sp_header .logo {
        width: 171px;
    }

    #sp_header .logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #sp_header .icon {
        color: #000;
        position: absolute;
    }

    #sp_header .mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    #sp_header .tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }

    .sp_hd_box {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    #sp_header .logo a {
        display: block;
    }

    .sp_hd_box .other_menu {
        display: flex;
        align-items: center;
        gap: 0 14px;
    }

    .sp_hd_box .other_menu .ico_mail a svg path {
        fill: var(--sub-color);
    }

    .sp_hd_box .other_menu .ico_mail a {
        display: block;
        line-height: 1;
    }

    .sp_hd_box .other_menu .icon_language a {
        display: block;
        color: #FFF;
        font-size: 3.4vw;
        white-space: nowrap;
    } */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        z-index: 1000;
        height: 70px;
        padding: 25px 64px 21px 20px;
    }

    #sp_header .logo {
        width: 171px;
    }

    #sp_header .logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #sp_header .icon {
        color: #000;
        position: absolute;
    }

    #sp_header .mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    #sp_header .tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }

    .sp_hd_box {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    #sp_header .logo a {
        display: block;
    }

    .sp_hd_box .other_menu {
        display: flex;
        align-items: center;
        gap: 0 14px;
    }

    .sp_hd_box .other_menu .ico_mail a svg path {
        fill: var(--sub-color);
    }

    .sp_hd_box .other_menu .ico_mail a {
        display: block;
        line-height: 1;
    }

    .sp_hd_box .other_menu .icon_language a {
        display: block;
        color: #FFF;
        font-size: 3.4vw;
        white-space: nowrap;
    }

    .sp_hd_box .other_menu .icon_language svg path {
        fill: var(--main-color);
        display: block;
        color: var(--main-color);
        font-size: 3.4vw;
        white-space: nowrap;
    }

    /* TOP メインビジュアル */
    /* .mv_bg_slider {
        position: absolute;
        inset: 0;
    }

    .mv_bg_slider.sp {
        display: block;
    }

    .top_mv .cont .bg_text {
        width: 89.74vw;
        position: absolute;
        top: -10.77vw;
        left: 50%;
        translate: -50% 0;
    }

    .top_mv .cont {
        padding-block: 73.14vw;
        margin: 0;
        width: 100%;
        translate: none;
    }

    .top_mv .cont .bg_text img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .top_mv {
        padding-top: 15.9vw;
    } */

    .mv_bg_slider {
        position: absolute;
        inset: 0;
    }

    .mv_bg_slider.sp {
        display: block;
    }

    .top_mv .cont .bg_text {
        width: 95%;
        position: absolute;
        top: 1.23vw;
        left: 50%;
        translate: -50% 0;
        z-index: 1;
        background-color: #fff;
        aspect-ratio: 119/26;
    }

    .top_mv .cont {
        margin: 0;
        width: 100%;
        translate: none;
    }

    .top_mv .cont .bg_text img {
        width: 100%;
        /* height: 100%; */
        object-fit: contain;
    }

    .top_mv {
        padding-top: 2vw;
        height: 172vw;
    }

    .top_mv .cont .scroll_box {
        display: none;
    }

    /* 共通バナー */
    .top_whats {
        padding-block: 15.13vw 12.05vw;
    }

    .common_whats_banner {
        width: 89.74vw;
        background-image: url(/wp-content/themes/child/image/about_banner_bg_sp.jpg);
    }

    .common_whats_banner a {
        display: block;
        padding: 2.56vw 2.56vw 7.24vw 5.13vw;
    }

    .common_whats_banner a .circle {
        display: none;
    }

    .common_whats_banner a .cont .logo {
        width: 34.42vw;
        margin: 0 0 6.33vw auto;
    }

    .common_whats_banner a .cont .text_box .en {
        font-size: 6.15vw;
    }

    .common_whats_banner a .cont .text_box .en .trans_text {
        width: 35.05vw;
        margin-left: 1.5vw;
    }

    .common_whats_banner a .cont .text_box .en .trans_text::before {
        width: 20.51vw;
        top: 2vw;
    }

    .common_whats_banner a .cont .text_box .en .color {
        font-size: 10.26vw;
        margin-bottom: 1vw;
    }

    .common_whats_banner a .cont .text_box .ttl {
        font-size: 3.59vw;
        letter-spacing: .09em;
    }

    /* お知らせ */
    /* TOP お知らせ */
    .top_news {
        padding-block: 16.4vw 14.1vw;
    }

    .common_sec_ttl .en {
        font-size: 7.69vw;
    }

    .common_sec_ttl .ttl {
        font-size: 3.33vw;
    }

    .common_more_btn a {
        min-height: 11.79vw;
        padding: 2.8vw 7vw;
        font-size: 3.59vw;
    }

    .common_more_btn {
        width: 48.71vw;
    }

    .common_more_btn a::after {
        width: 1.9vw;
        right: 7vw;
    }

    .common_more_btn a:hover {
        background-color: var(--main-color);
        color: #FFF;
    }

    .common_more_btn a:hover::after {
        border-color: #FFF;
    }

    .top_news .ttl_area {
        margin-bottom: 3.59vw;
    }

    .top_news .cont .tab_box ul {
        padding-bottom: 3.87vw;
    }

    .top_news .cont .tab_box li {
        padding: 0 4.69vw;
        white-space: nowrap;
    }

    .top_news .cont .tab_box li:last-child::after {
        content: none;
    }

    .top_news .cont .tab_box li:first-child::before {
        content: none;
    }

    .top_news .cont .tab_box li .text {
        font-size: 3.33vw;
    }

    .top_news .cont .tab_box li.active .text::after {
        content: none;
    }

    .top_news .cont .tab_box {
        margin-bottom: 5.13vw;
    }

    .top_news .cont .panel_box .panel .list li a {
        padding: 5.13vw 0;
        font-size: 3.59vw;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 2.1vw 0;
    }

    .top_news .cont .panel_box .panel .list li a .data {
        padding-right: 0;
        font-size: 3.33vw;
    }

    .top_news .cont .panel_box .panel .list li a .category {
        width: 38.46vw;
        padding-block: 1.69vw 1.38vw;
        font-size: 3.08vw;
        line-height: 1.5;
    }

    .top_news .cont .panel_box .panel .list li a .ttl {
        padding-left: 0;
        -webkit-line-clamp: 2;
    }

    .top_news .cont .panel_box .panel .list li a::after {
        content: none;
    }

    .top_news .cont .panel_box .panel .list ul {
        min-height: auto;
    }

    .top_news .cont .panel_box .panel .list li.none {
        padding: 5.13vw 0;
        font-size: 3.59vw;
    }

    .top_news .cont .tab_box li::before {
        height: 3.08vw;
    }

    .top_news .cont .panel_box {
        margin-bottom: 7.69vw;
    }

    .top_news .cont .common_more_btn.sp {
        margin: 0 auto;
    }

    .top_news .cont .tab_box ul .prev,
    .top_news .cont .tab_box ul .next {
        aspect-ratio: 1 / 1;
        min-width: 0;
        border: solid 1px #151515;
        border-width: 1px 1px 0 0;
        position: absolute;
        top: 19%;
        width: 1.9vw;
    }

    .top_news .cont .panel_box .panel .list li a:hover::before {
        width: 0;
    }

    .top_news .cont .tab_box ul .prev {
        left: -2vw;
        rotate: -135deg;
    }

    .top_news .cont .tab_box ul .next {
        right: -1.5vw;
        rotate: 45deg;
    }

    .top_news .cont .tab_box ul .prev.slick-disabled {
        opacity: 0;
        visibility: hidden;
    }

    .top_news .cont .tab_box ul .next.slick-disabled {
        opacity: 0;
        visibility: hidden;
    }

    /* TOP トピックス */
    .top_topics {
        padding-block: 15.38vw 24.13vw;
    }

    .top_topics .sec_ttl {
        text-align: left;
        margin-bottom: 7.18vw;
    }

    .top_topics .sec_ttl .ttl {
        font-size: 4.62vw;
    }

    .top_topics .list ul {
        display: block;
    }

    .top_topics .list .slick-dots li button {
        background-color: #FFF;
        width: 2.56vw;
        height: 2.56vw;
        border-radius: 50%;
        padding: 0;
    }

    .top_topics .list .slick-dots li button::before {
        width: 2.56vw;
        height: 2.56vw;
        border-radius: 50%;
        content: "";
    }

    .top_topics .list .slick-dots li.slick-active button::before {
        background-color: var(--sub-color);
    }

    .top_topics .list li a .img img {
        height: auto;
        aspect-ratio: 35/18;
    }

    .top_topics .list li a:hover .img img {
        scale: none;
    }

    .top_topics .list li a .data {
        font-size: 3.85vw;
        margin-bottom: 0;
    }

    .top_topics .list li a .inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 3vw;
    }

    .top_topics .list li a .category {
        font-size: 3.08vw;
        font-weight: 700;
        background-color: var(--sub-color);
        width: 23.08vw;
        min-height: 7.69vw;
        text-align: center;
        padding: 1.24vw;
        color: var(--main-color);
    }

    .top_topics .list li a .ttl {
        font-size: 4.1vw;
        letter-spacing: .03em;
    }

    .top_topics .list .slick-dots {
        bottom: -11vw;
    }

    .top_topics .list .slick-dots li {
        width: 2.56vw;
        height: 2.56vw;
        margin: 0 2.56vw;
    }

    .top_topics .list li a .img {
        margin-bottom: 2.6vw;
    }

    /* TOP 製品情報 */
    .top_products {
        padding-block: 13.59vw 17.95vw;
    }

    .top_products .common_sec_ttl {
        margin-bottom: 6.49vw;
        text-align: left;
    }

    .top_products .common_sec_ttl .en {
        font-size: 10.26vw;
    }

    .top_products .common_sec_ttl .ttl {
        font-size: 4.16vw;
    }

    .top_products .catch {
        text-align: left;
        margin-bottom: 5.4vw;
    }

    .top_products .catch .text {
        font-size: 3.85vw;
    }

    .top_products .products_list {
        margin-bottom: 0;
    }

    .top_products .products_list ul {
        grid-template-columns: 1fr;
        gap: 5.13vw 0;
    }

    .top_products .products_list li a .text_area .text {
        font-size: 5.64vw;
    }

    .top_products .products_list li a .text_area {
        padding: 4.5vw;
    }

    .top_products .products_list li a .img img {
        height: auto;
        aspect-ratio: 175/112;
    }

    /* TOP グループ拠点 */
    .top_group .cont {
        flex-direction: column;
    }

    .common_map_area {
        width: 100%;
    }

    .common_map_area .img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .top_group {
        padding-block: 17.95vw 19.49vw;
    }

    .top_group .cont .text_area .ttl_box {
        text-align: center;
        margin-bottom: 15.64vw;
    }

    .top_group .cont .text_area .ttl_box .ttl {
        margin: 0;
        font-size: 3.85vw;
    }

    .top_group .cont .text_area .ttl_box .en {
        font-size: 6.41vw;
    }

    .top_group .cont .text_area .ttl_box .en .color {
        font-size: 11.28vw;
        margin-left: 0.2em;
    }

    .top_group .cont .text_area .ttl_box .en .border {
        border-width: 3px 0 0;
    }

    .top_group .cont .text_area .catch {
        text-align: center;
        margin-bottom: 13.3vw;
    }

    .top_group .cont .text_area .catch .text {
        font-size: 3.59vw;
    }

    .top_group .cont .common_map_area {
        margin-bottom: 7.69vw;
    }

    .top_group .cont .group_list ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2.56vw;
    }

    .top_group .cont .group_list {
        margin-bottom: 7.69vw;
    }

    .top_group .cont .common_more_btn {
        margin: 0 auto;
    }

    .top_group .cont .common_more_btn a {
        background-color: #151515;
    }

    /* TOP IR情報 採用 */
    .top_corporate .cont {
        flex-direction: column;
        gap: .51vw 0;
        padding: .51vw;
    }

    .top_corporate .cont .link_item {
        width: 100%;
        height: 53.85vw;
    }

    .top_corporate .cont .link_item a {
        padding: 16.92vw 4.62vw 5.13vw;
    }

    .top_corporate .cont .link_item a .ttl_box {
        margin-bottom: 4.2vw;
    }

    .top_corporate .cont .link_item a .ttl_box .en {
        font-size: 7.69vw;
    }

    .top_corporate .cont .link_item a .ttl_box .ttl {
        font-size: 3.85vw;
    }

    .top_corporate .cont .link_item a .ttl_box::after {
        width: 7.69vw;
        margin-top: 4.27vw;
    }

    .top_corporate .cont .link_item a .text_box .text {
        font-size: 3.33vw;
        font-weight: 400;
    }

    .top_corporate .cont .link_item.ir a {
        background-image: url(/wp-content/themes/child/image/top_invester_img_sp.jpg);
    }

    .top_corporate .cont .link_item.recruit a {
        background-image: url(/wp-content/themes/child/image/top_recruit_img_sp.jpg);
    }

    /* 共通グループセクション */
    .common_group_sec {
        padding-block: 12.82vw 9.95vw;
    }

    .common_group_sec .ttl_box {
        margin-bottom: 4.36vw;
    }

    .common_group_sec .ttl_box .ttl {
        font-size: 4.1vw;
    }

    /* フッター */
    .top_footer .ft_link_list {
        grid-template-columns: repeat(2, 1fr);
        padding-left: 0;
        margin-bottom: 7.69vw;
        border-top: solid 1px #516491;
    }

    .common_group_sec .group_list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.56vw;
    }

    .top_footer {
        padding-block: 18.97vw 38.46vw;
    }

    .top_footer .ft_logo {
        width: 70.94vw;
        margin: 0 auto 10vw;
    }

    .top_footer .ft_logo a .ttl {
        font-size: 3.08vw;
        text-align: center;
    }

    .top_footer .ft_logo a .img {
        margin-bottom: 0.4vw;
    }

    .top_footer .wrap {
        max-width: 100%;
        width: 100%;
    }

    .top_footer .ft_link_list .item {
        border-bottom: solid 1px #516491;
    }

    .top_footer .ft_link_list .item:nth-child(odd) {
        border-right: solid 1px #516491;
    }

    .top_footer .ft_link_list .item .ttl_box {
        margin-bottom: 0;
    }

    .top_footer .ft_link_list .item .ttl_box .ttl a::after {
        content: "";
        width: 2.05vw;
        aspect-ratio: 1/1;
        min-width: 0;
        border: solid 2px #FFF;
        border-width: 2px 2px 0 0;
        rotate: 45deg;
        display: block;
    }

    .top_footer .ft_link_list .item .ttl_box .ttl a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 3.59vw;
        padding: 5.13vw;
    }

    .ft_link_sp {
        padding-inline: 5.13vw;
        margin-bottom: 10.26vw;
    }

    .ft_link_sp li a {
        color: #FFF;
        display: inline-flex;
        align-items: center;
        gap: 0 2.56vw;
    }

    .ft_link_sp li a .name {
        font-size: 3.33vw;
    }

    .ft_link_sp li+li {
        margin-top: 4.87vw;
    }

    .top_footer .ft_end {
        justify-content: center;
        border-top: solid 1px #516491;
        padding-top: 5.13vw;
        text-align: center;
    }

    .top_footer .ft_end .copyright small {
        font-size: 3.08vw;
    }

    .en-US .top_footer .ft_link_list {
        grid-template-columns: repeat(2, 1fr);
    }

    /* IR情報 投稿一覧 */
    .page_archive .year_filter,
    .page_archive .child_category {
        font-size: 3.2vw;
    }

    .page_archive .year_filter {
        margin-right: 3vw;
    }

    .page_archive .filter_form {
        margin-bottom: 2vw;
    }

    .archive_list li a .text_box .inner .child_categories {
        font-size: 3vw;
    }

    .archive_list li a .text_box .inner {
        gap: 0 3vw;
    }

    /* 決算短信 */
    .ir_common_list {
        grid-template-columns: 1fr;
        gap: 10vw 0;
    }

    .ir_common_list .item .year {
        font-size: 4vw;
        margin-bottom: 5.5vw;
    }

    .ir_common_list .item .list li a {
        font-size: 3.4vw;
    }

    .ir_common_list .item .list li a::before {
        width: 4.2vw;
    }

    .ir_common_list .list_wrap {
        flex-direction: column;
        width: 100%;
        padding: 7vw 5vw;
    }

    .ir_common_list .list_wrap .zip_list {
        padding-inline: 0;
        border-width: 0 0 1px;
        border-bottom: dashed 1px var(--main-color);
        padding-bottom: 7vw;
        text-align: left;
    }

    .ir_common_list .list_wrap .individual_list {
        padding: 7vw 0 0;
    }

    .ir_common_list .list_wrap .ttl {
        font-size: 4.6vw;
        border-left: solid 3px var(--main-color);
    }

    .ir_common_list .list_wrap .zip_list li .name {
        font-size: 3.6vw;
    }

    .ir_common_list .list_wrap .zip_list li .name::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    .ir_common_list .list_wrap .zip_list li .btn a {
        min-block-size: 11vw;
        font-size: 3.6vw;
        width: 65vw;
    }

    .ir_common_list .list_wrap .zip_list li+li {
        margin-top: 5vw;
    }

    .ir_common_list .list_wrap .individual_list li a {
        font-size: 3.6vw;
    }

    /* IRカレンダー */
    .page_ir_calendar .calendar_area {
        overflow-x: scroll;
        width: 100%;
        margin-bottom: 10vw;
    }

    .page_ir_calendar .calendar_area .item_list {
        width: 300%;
        padding-bottom: 20vw;
    }

    .page_ir_calendar .ir_common_list {
        grid-template-columns: 1fr;
        gap: 10vw 0;
    }

    /* 株主通信 */
    .page_ir_notes .sec_ttl .ttl {
        font-size: 5vw;
    }

    .page_ir_notes .ir_common_list .list ul {
        grid-template-columns: 1fr;
        gap: 5vw 0;
    }

    .page_ir_notes .ir_common_list .list li {
        gap: 0 3vw;
    }

    .page_ir_notes .ir_common_list .list li .img {
        width: 30vw;
    }

    /* 企業理念 */
    .philosophy_main_sec .cont {
        flex-direction: column;
        gap: 6vw 0;
    }

    .philosophy_main_sec .cont .img {
        width: 100%;
        box-shadow: 1.8vw 1.8vw 0 var(--main-color);
    }

    .philosophy_main_sec .cont .text_box .text {
        font-size: 3.6vw;
    }

    .philosophy_catch_sec .ttl_box {
        margin-bottom: 10vw;
    }

    .philosophy_catch_sec .ttl_box .catch_en_text {
        width: 100%;
    }

    .philosophy_main_sec {
        margin-bottom: 10vw;
    }

    .philosophy_catch_sec .ttl_box .catch {
        font-size: 3.8vw;
    }

    .philosophy_catch_sec .cont .list ul {
        grid-template-columns: 1fr;
        gap: 8vw 0;
    }

    .philosophy_catch_sec .cont .list li {
        border: solid 1px var(--main-color);
    }

    .philosophy_catch_sec .cont .list li .theme {
        font-size: 4.2vw;
        margin: -7vw auto 3vw;
    }

    .philosophy_catch_sec .cont .list li .text {
        font-size: 3.6vw;
    }

    .philosophy_catch_sec .cont .list li .text_mission {
        font-size: 4vw;
    }


    /* 会社概要 */
    .profile_group_sec {
        margin-top: 12vw;
    }

    .profile_group_sec .cont .sec_ttl {
        border-left: solid 3px var(--main-color);
    }

    .profile_group_sec .sec_ttl .ttl {
        font-size: 5vw;
    }

    .profile_group_sec .cont .group_list ul {
        grid-template-columns: 1fr;
        gap: 6vw 0;
    }

    .profile_group_sec .cont .group_list li a {
        flex-direction: column;
        gap: 3vw 0;
        padding-bottom: 6vw;
    }

    .profile_group_sec .cont .group_list li a .ttl_box {
        width: 100%;
    }

    .profile_group_sec .cont .group_list li a .ttl_box .ttl {
        font-size: 4vw;
    }

    .profile_group_sec .cont .group_list li a .text_box dl {
        font-size: 3.6vw;
    }

    .profile_group_sec .cont .group_list li a .text_box dl dt::before {
        width: 2vw;
    }

    .profile_group_sec .cont .group_list li a .ttl_box .logo {
        width: 45vw;
        margin-top: 1vw;
    }

    /* 所在地 */
    .page_sec_ttl .ttl {
        font-size: 4.5vw;
    }

    .page_sec_ttl {
        border-left: solid 3px var(--main-color);
    }

    .common_access_sec .page_sec_ttl {
        margin-bottom: 5vw;
    }

    .common_access_sec .item_list li {
        grid-template-columns: 1fr;
        gap: 2.5vw 0;
        padding-bottom: 5vw;
    }

    .common_access_sec .item_list li .ttl_box .ttl {
        font-size: 4vw;
    }

    .common_access_sec .item_list li .ttl_box .ttl::before {
        width: 2vw;
    }

    .common_access_sec .item_list li .text_box .text {
        font-size: 3.6vw;
    }

    .common_access_sec .item_list li .common_map_link {
        place-content: flex-start;
    }

    .common_access_sec .item_list li+li {
        margin-top: 5vw;
    }

    .common_access_sec+.common_access_sec {
        margin-top: 15vw;
    }

    /* 神戸事業所 */
    .kobe_catch_sec .catch_box {
        margin-bottom: 6vw;
    }

    .kobe_catch_sec .catch_box .text {
        font-size: 5vw;
    }

    .kobe_catch_sec .text_box .text {
        font-size: 3.6vw;
        text-align: left;
    }

    .kobe_catch_sec {
        margin-bottom: 15vw;
    }

    .common_kobe_sec .cont {
        flex-direction: column;
    }

    .common_kobe_sec.kobe_area .cont .img {
        width: 100%;
        margin-bottom: 7vw;
    }

    .common_kobe_sec .cont .img {
        width: 100%;
        margin-bottom: 2vw;
    }

    .common_kobe_sec .page_sec_ttl {
        margin-bottom: 4vw;
    }

    .common_kobe_movie_sec .page_sec_ttl {
        margin-bottom: 4vw;
    }

    .common_kobe_sec .cont .kobe_detail_img {
        margin-bottom: 3.5vw;
    }

    .common_kobe_sec .cont .img img {
        aspect-ratio: 2/1;
        height: auto;
    }

    .common_kobe_sec.kobe_area .text_box {
        width: 100%;
    }

    .common_kobe_sec .cont .text_box dl dt {
        font-size: 3.6vw;
    }

    .common_kobe_sec .cont .text_box dl dd {
        font-size: 3.6vw;
    }

    .common_kobe_sec+.common_kobe_sec {
        margin-top: 0;
    }

    .common_kobe_sec .cont .text_box .text {
        font-size: 3.6vw;
    }

    .common_kobe_sec .cont .text_box .text:first-child::first-letter {
        /* font-size: 170%; */
    }

    .common_kobe_sec.reverse .cont {
        flex-direction: column;
    }

    .common_kobe_sec .cont .text_box .text+.text {
        margin-top: 3.5vw;
    }

    .company_sec_slider .slick-arrow {
        width: 7vw;
    }

    .company_sec_slider .next.slick-arrow {
        right: -3vw;
    }

    .company_sec_slider .prev.slick-arrow {
        left: -3vw;
    }

    .common_kobe_sec.slide_sec .page_sec_ttl .text {
        font-size: 3.6vw;
    }

    .common_kobe_sec.slide_sec .list li {
        font-size: 3.4vw;
    }

    .company_sec_slider .slick-dots button {
        width: 2vw;
    }

    .company_sec_slider .slick-dots li {
        width: 2vw;
        margin: 0 3vw;
    }

    .company_sec_slider .prev.slick-arrow::before {
        border: solid 2px #FFF;
        border-width: 2px 2px 0 0;
        width: 3vw;
    }

    .company_sec_slider .next.slick-arrow::before {
        border: solid 2px #FFF;
        border-width: 2px 2px 0 0;
        width: 3vw;
    }

    .company_sec_slider .prev.slick-arrow::before,
    .company_sec_slider .next.slick-arrow::before {
        border: solid 2px #FFF;
        border-width: 2px 2px 0 0;
        width: 2vw;
    }

    .common_kobe_sec.slide_sec .text_box {
        padding: 3vw;
    }

    .common_kobe_sec.slide_sec .text_box .text {
        font-size: 3.4vw;
    }

    .slide_sec_area .slide_sec_inner {
        grid-template-columns: 1fr;
        gap: 12vw;
    }

    .common_kobe_sec.kobe_area {
        margin-bottom: 10vw;
    }

    .common_kobe_sec.slide_sec .list {
        padding: 3vw;
    }

    .page_company_kobe .slide_sec_area {
        margin-bottom: 10vw;
    }

    .common_kobe_movie_sec .movie {
        width: 100%;
    }

    .company_sec_slider {
        width: 80vw;
        margin: 0 auto 9vw;
    }

    .company_sec_slider .slide_item {
        width: 80vw;
    }

    .company_sec_slider .slick-dots {
        bottom: -8vw;
    }

    .common_kobe_sec.slide_sec .list li::before {
        width: 1.2vw;
    }

    /* 財務情報 */
    .page_ir_indicator .indicator_graph {
        width: 100%;
        margin: 0 0 10vw;
    }

    .page_ir_indicator .indicator_table {
        overflow-x: scroll;
        margin-bottom: 10vw;
    }

    .page_ir_indicator .indicator_table table {
        font-size: 3.6vw;
    }

    .common_code_link_list li a {
        font-size: 3.6vw;
    }

    .common_code_link_list li a::before {
        width: 1.5vw;
    }

    .common_code_link_list li a::after {
        width: 3.5vw;
    }

    .page_ir_indicator .indicator_table table th {
        white-space: nowrap;
    }

    /* IR資料室 */
    .page_ir_materials .materials_list ul {
        grid-template-columns: 1fr;
        gap: 10vw;
    }

    .page_ir_materials .materials_list li a .img {
        margin-bottom: 1vw;
    }

    .page_ir_materials .materials_list li a .img .ttl_box .ttl {
        font-size: 3.8vw;
    }

    .page_ir_materials .materials_list li a .text_box {
        padding-inline: 2vw;
    }

    .page_ir_materials .materials_list li a .text_box .text {
        font-size: 3.6vw;
    }

    .page_ir_materials .materials_list li a:hover .img img {
        scale: none;
    }

    /* 有価証券報告書 */
    .securities_edinet_sec .catch_area .text {
        font-size: 3.8vw;
    }

    .securities_edinet_sec .catch_area {
        margin-bottom: 6vw;
        text-align: left;
    }

    .securities_edinet_sec .cont .list_theme .text {
        font-size: 3.6vw;
    }

    .securities_edinet_sec .cont .list_theme .text::before {
        width: 2.4vw;
    }

    .securities_edinet_sec .cont .list li {
        font-size: 3.4vw;
        text-indent: -1em;
        padding-left: 2em;
    }

    .securities_edinet_sec .cont .list {
        margin-bottom: 7vw;
    }

    .securities_edinet_sec .cont .link_box a {
        gap: 0 3vw;
        box-shadow: 0 0 2px #DDD;
    }

    .securities_edinet_sec .cont .link_box a .icon {
        width: 6vw;
    }

    .securities_edinet_sec .cont .link_box a .icon::before {
        width: 1.7vw;
        border: solid 1px #FFF;
        border-width: 0 1px 1px 0;
        left: 30%;
    }

    .securities_edinet_sec .cont .link_box a .ttl_box .text {
        font-size: 5vw;
    }

    .securities_edinet_sec .cont .link_box a .text_box .text {
        font-size: 3vw;
    }

    .securities_edinet_sec {
        margin-bottom: 14vw;
    }

    .securities_link_sec .page_sec_ttl {
        margin-bottom: 5vw;
    }

    .securities_edinet_sec .cont .link_box a:hover .text_box .text {
        color: #151515;
    }

    /* グループ会社紹介 */
    .page_company_group .common_page_wrap {
        padding: 15vw 0 13vw;
    }

    /* 共通ライブラリページ */
    .common_library_sec .head_box {
        margin-bottom: 10vw;
    }

    .common_library_sec .head_box .text_box {
        margin-bottom: 10vw;
        padding: 5vw 4vw;
    }

    .common_library_sec .head_box .year {
        font-size: 5vw;
        top: -7.5vw;
    }

    .common_library_sec .head_box .year .num {
        font-size: 8.7vw;
        margin-right: 1vw;
    }

    .common_library_sec .head_box .ttl {
        font-size: 5.2vw;
    }

    .common_library_sec .head_box .text_box .text {
        font-size: 3.4vw;
    }

    .common_library_sec .head_box .img img {
        aspect-ratio: 2/1;
    }

    .common_library_sec .library_list ul li .num_box {
        width: 100%;
        padding: 2vw 0;
    }

    .common_library_sec .library_list ul li {
        flex-direction: column;
        gap: 7vw 0;
    }

    .common_library_sec .library_list ul li::after {
        content: unset;
    }

    .common_library_sec .library_list ul li .num_box .year {
        font-size: 5vw;
        margin-bottom: unset;
    }

    .common_library_sec .library_list ul li .num_box .year .num {
        font-size: 7.5vw;
    }

    .common_library_sec .library_list ul li .library_box {
        padding: 0 4vw 7vw;
    }

    .common_library_sec .library_list ul li .library_box .img_box {
        gap: 3vw;
        margin-bottom: 4vw;
        grid-template-columns: repeat(2, 1fr);
    }

    .common_library_sec .library_list ul li .library_box .theme {
        font-size: 3.6vw;
    }

    .common_library_sec .library_list ul li::before {
        content: "";
        position: absolute;
    }

    .common_library_sec .library_list ul li+li {
        position: relative;
        margin-top: 15vw;
    }

    .common_library_sec .library_list ul li+li::before {
        content: "";
        position: absolute;
        width: 18vw;
        height: 5vw;
        top: -38px;
        left: 50%;
        translate: -50% 0;
        background-color: var(--main-color);
        clip-path: polygon(50% 100%, 0 0, 100% 0);
    }

    .common_library_sec .library_list ul li .library_box .text_box {
        flex-direction: column;
        gap: 3vw 0;
    }

    .common_library_sec .library_list ul li .library_box .theme+.theme {
        margin-top: 3vw;
    }

    .common_library_sec .library_list ul li .library_box .text_box .img {
        width: 100%;
    }

    .common_library_sec .library_list ul li .library_box .text_box .img.long {
        width: 100%;
    }

    .common_library_sec .library_list ul li .library_box .theme .weight::before {
        width: 1vw;
        height: 4.8vw;
        translate: 0 0.8vw;
    }

    .common_library_sec .library_list ul li .library_box .theme .weight {
        align-items: baseline;
        line-height: 1.5;
        margin-bottom: 2vw;
    }

    .common_library_sec .library_list ul li .library_box .text_box+.text_box {
        margin-top: 10vw;
    }

    .common_library_sec .library_list ul li .library_box .text_box .img.middle {
        width: 100%;
    }

    .common_library_sec .library_list ul li .library_box .theme a:hover {
        color: var(--main-color);
    }

    /* 豊富な実績 */
    .page_library01 .library_index_sec .list li {
        flex-direction: column;
        gap: 4vw 0;
    }

    .page_library01 .library_index_sec .list li .img {
        width: 100%;
    }

    .page_library01 .library_index_sec .list li .img img {
        height: auto;
        aspect-ratio: 2/1;
    }

    .page_library01 .library_index_sec .list li .inner .ttl_box {
        border-width: 0 0 0 3px;
    }

    .page_library01 .library_index_sec .list li .inner .ttl_box .ttl {
        font-size: 4.5vw;
        line-height: 1.4;
    }

    .page_library01 .library_index_sec .list li .inner .text_box .catch {
        font-size: 3.8vw;
    }

    .page_library01 .library_index_sec .list li .inner .text_box .inbox .item .theme {
        font-size: 3.8vw;
    }

    .page_library01 .library_index_sec .list li .inner .text_box .inbox .item .theme::before {
        width: 2.4vw;
    }

    .page_library01 .library_index_sec .list li .inner .text_box .inbox .item .text {
        font-size: 3.4vw;
    }

    .page_library01 .library_index_sec .list li .inner .text_box .inbox .item+.item {
        margin-top: 4vw;
    }

    .page_library01 .library_index_sec .list li+li {
        margin-top: 12vw;
    }

    /* TOPホバー効果 */
    .hd_box .list_box nav li a:hover {
        color: #FFF;
    }

    .top_news .cont .tab_box li:hover {
        color: #AAA;
    }

    .top_products .products_list li a:hover .img img {
        scale: 1;
    }

    .top_corporate .cont .link_item a:hover {
        opacity: 1;
    }

    .common_group_sec .group_list li a:hover .text_area .ttl {
        color: #151515;
    }

    .top_footer .ft_link_list .item .ttl_box .ttl a:hover {
        color: #FFF;
    }

    .top_footer .ft_link_list .item .list li a:hover {
        color: #FFF;
    }

    .top_news .cont .tab_box li.active:hover {
        color: #151515;
    }

    /* クッキー */
    .cookie_content {
        font-size: 3.1vw;
        padding: 4.7vw 5.12vw 9.7vw;
        display: block;
        z-index: 100;
    }

    .cookie_text {
        line-height: 1.75;
    }

    .cookie_agree.sp {
        display: grid;
        font-size: 3.6vw;
        position: absolute;
        min-block-size: 7.7vw;
        width: 25.7vw;
        right: 2.62vw;
        bottom: 5.12vw;
        z-index: 100;
    }

    .cookie_agree.pc {
        display: none;
    }

    .common_fv_img .img_pc {
        display: none;
        /* PC用画像はSPで非表示 */
        aspect-ratio: 155/54;
        height: 0;
    }

    .common_fv_img .img_sp {
        display: block;
        /* SP用画像はSPで表示 */
        width: 100%;
        object-fit: cover;
        aspect-ratio: 155/54;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding: 7.6vw 0;
    }

    .archive .common_page_main {
        padding: 0 0 7.6vw;
    }

    .common_page_main .title_box .title {
        font-size: 6.5vw;
    }

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    .common_page_main .title_box {
        margin: unset;
    }

    .common_page_main::before {
        background-image: url(/wp-content/themes/child/image/page_fv_overview_sp.jpg);
    }

    .page-template-page-company-kobe .company_fv .common_page_main,
    .page-template-page-company-group .company_fv .common_page_main {
        /* padding: 30vw 0 7vw; */
    }

    .company_fv .common_page_main .title_box .en_title {
        font-size: 7.5vw;
    }

    .company_fv .common_page_main .title_box .title {
        font-size: 4vw;
    }

    .page-id-620 .common_page_main::after,
    .page-template-page-company-kobe .common_page_main::after,
    .page-template-page-company-group .common_page_main::after {
        background: linear-gradient(to bottom, transparent 42%, rgb(51, 51, 51, 0.49));
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw !important;
    }

    .breadcrumb .cont .icon {
        width: 4vw !important;
    }

    .breadcrumb .cont {
        align-items: flex-start !important;
    }

    /* SP固定ページ お問い合わせ */
    .contact_form_disc {
        margin-block: 0 2em;
    }

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: .06em;
    }

    .common_contact_form .form_box {
        margin-block: 0 10vw;
    }

    .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

    .common_contact_form .form_box dl+dl {
        margin-block: 1.3em 0;
    }

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form input[type="text"],
    .common_contact_form input[type="email"],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

    .common_contact_form textarea {
        height: 33vw;
        font-size: 3.6vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        width: 83%;
        line-height: 15.5vw;
        font-size: 4.6vw;
    }

    .page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    }

    .privacy_term_outer .privacy_term_inner dl dd a {
        display: inline-block;
        color: var(--main-color);
        font-weight: 700;
    }

    /* サンクスページ */
    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
        margin-top: 25px;
    }

    /* ステップバー デザイン */
    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

    .page_contact .progressbar .item .mark {
        width: 7.7vw;
        margin: 0 auto 0.4em;
    }

    /* SP固定ページ 個人情報保護方針 */
    .page_privacy .main_text {
        font-size: 3.5vw;
    }

    .page_privacy dl {
        margin-bottom: 10vw;
    }

    .page_privacy dl dt {
        font-size: 4vw;
    }

    .page_privacy dl dd {
        font-size: 3.5vw;
        margin-left: 5vw;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP投稿ページ アーカイブページ */
    .archive_page_list>article {
        padding-right: 20px;
    }

    .archive_page_list>article .date {
        width: 80px;
    }

    .archive_page_list>article .content_area {
        width: calc(100% - 80px);
    }

    .archive_page_list>article:after {
        width: 7px;
        height: 7px;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* 企業情報 */

    .page_guide .guide_list ul {
        grid-template-columns: 1fr;
        gap: 3vw 0;
    }

    .page_guide .guide_list li {
        border: unset;
    }

    .page_guide .guide_list li .link {
        display: flex;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
        gap: 0 4.5vw;
        padding-bottom: unset;
    }

    .page_guide .guide_list li .link .img {
        width: 29.4vw;
        min-height: 29.4vw;
        flex-shrink: 0;
        margin-bottom: unset;
        background-color: #ccc;
    }

    .page_guide .guide_list li .link .img img {
        height: 100%;
    }

    .page_guide .guide_list li .link .img img.contain {
        object-fit: contain;
    }

    .page_guide .guide_list li .link:hover .img img {
        transform: unset;
    }

    .page_guide .guide_list li .link .text_box {
        padding: 5.1vw 4.5vw 5.1vw 0;
    }

    .page_guide .guide_list li .link .text_box .ttl {
        font-size: 4.2vw;
        gap: 0 1.8vw;
        letter-spacing: .02em;
    }

    .page_guide .guide_list li .link .text_box .ttl::after {
        width: 8px;
    }

    .page_guide .guide_list li .link .text_box .text {
        font-size: 3.4vw;
    }

    .common_group_sec.color .common_page_wrap {
        padding-bottom: 18vw;
    }

    .common_group_sec.color .common_group_sec {
        padding: 12.3vw 0 10vw;
    }

    .common_group_sec.color .common_group_sec .ttl_box .ttl {
        line-height: 1.4;
    }

    .common_group_sec.color .common_group_sec .ttl_box {
        margin-bottom: 4.6vw;
    }

    /* サスティナビリティ- */

    .page_sustainability .common_page_wrap {
        padding-bottom: 18vw;
    }

    .page_sustainability .head_sec .logo {
        width: 67.7vw;
        margin: 0 auto 6.7vw;
    }

    .page_sustainability .head_sec .text {
        font-size: 3.3vw;
    }

    .page_sustainability .head_sec {
        margin-bottom: 12.8vw;
    }

    .common_news_sec .ttl_box {
        margin-bottom: 2.5vw;
    }

    .common_news_sec .ttl_box .en.f_en {
        font-size: 7.6vw;
    }

    .common_news_sec .ttl_box .ttl {
        font-size: 3.4vw;
        gap: 0 2.5vw;
        margin-bottom: 2.1vw;
    }

    .common_news_sec .news_list {
        margin-bottom: 40px;
    }

    .common_news_sec .news_list ul li .link {
        padding: 5.2vw 0;
        justify-content: space-between;
        gap: 2.7vw 0;
        flex-direction: column;
        align-items: unset;
    }

    .common_news_sec .news_list ul li .link:hover::before {
        width: unset;
    }

    .common_news_sec .news_list ul li .link .cont .data {
        font-size: 3.3vw;
    }

    .common_news_sec .news_list ul li .link .cont {
        justify-content: space-between;
    }

    .common_news_sec .news_list ul li .link::after {
        content: unset;
    }

    .common_news_sec .news_list ul li .link .cont .category {
        font-size: 3.1vw;
        padding: 1.2vw 2.7vw;
        min-block-size: 4vw;
        width: 38.5vw;
    }

    .common_news_sec .news_list ul li .link .ttl {
        font-size: 3.6vw;
        -webkit-line-clamp: 2;
        line-height: 1.4;
    }

    .common_news_sec .common_more_btn {
        margin: 0 auto;
    }

    .common_news_sec .common_more_btn a {
        background-color: #0089D2;
        text-align: left;
    }

    .page_sustainability .technology_sec {
        padding: 0 0 12.4vw;
    }

    .page_sustainability .technology_sec .ttl_box {
        text-align: left;
    }

    .page_sustainability .technology_sec .ttl_box .ttl {
        font-size: 4.6vw;
        margin-bottom: 5.9vw;
    }

    .page_sustainability .technology_sec .ttl_box .text {
        font-size: 3.3vw;
        font-weight: 600;
        letter-spacing: .04em;
        margin-bottom: 6.2vw;
    }

    .page_sustainability .technology_sec .btn_box {
        flex-direction: column;
        gap: 3vw 0;
    }

    .page_sustainability .technology_sec .btn_box .link {
        background-color: #0089D2;
        color: #fff;
        width: 100%;
        min-block-size: 15.4vw;
        font-size: 3.6vw;
        gap: 0 5vw;
    }

    .page_sustainability .technology_sec .btn_box .link::after {
        border-color: #fff;
    }

    .page_sustainability .esg_sec {
        margin-bottom: 0;
        padding-top: 0;
    }

    .page_sustainability .esg_sec .ttl_box .ttl {
        font-size: 4.6vw;
    }

    .page_sustainability .esg_sec .cont .img {
        width: 100%;
    }

    .page_sustainability .esg_sec .esg_box {
        margin-bottom: 10.3vw;
    }

    .page_sustainability .esg_sec .cont .text_box {
        margin: unset;
        padding: unset;
        box-shadow: unset;
    }

    .page_sustainability .esg_sec .cont .text_box .theme_box {
        margin-bottom: 3.8vw;
    }

    .page_sustainability .esg_sec .cont .text_box .theme_box .en_text {
        font-size: 3.6vw;
    }

    .page_sustainability .esg_sec .cont .text_box .theme_box .theme {
        font-size: 4.1vw;
        margin-top: -2vw;
    }

    .page_sustainability .esg_sec .cont .text_box .theme_box .theme .color {
        font-size: 8.7vw;
    }

    .page_sustainability .esg_sec .cont .text_box .theme_box .theme .size {
        font-size: 5.1vw;
    }

    .page_sustainability .esg_sec .cont .text_box .text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
        font-size: 3.3vw;
        margin-bottom: 5.7vw;
        font-weight: 600;
    }

    .page_sustainability .esg_sec .common_more_btn a {
        padding: 2.6vw 7.5vw;
        min-height: 7.5vw;
    }

    .page_sustainability .esg_sec .common_more_btn a:hover {
        color: #fff;
        background-color: #0089D2;
    }

    .page_sustainability .esg_sec .common_more_btn a:hover::after {
        border-color: #fff;
    }

    .page_sustainability .esg_sec .cont:nth-child(even) {
        flex-direction: column;
    }

    .page_sustainability .esg_sec .cont+.cont {
        margin-top: 7.7vw;
    }

    .page_sustainability .esg_sec .cont:nth-child(even) .img {
        margin-top: unset;
    }

    .page_sustainability .esg_sec .cont .img img {
        border-radius: 6px;
    }

    .page_sustainability .esg_sec .cont:nth-child(even) .text_box .theme_box .theme {
        margin-top: 1vw;
    }

    .page_sustainability .esg_sec .common_more_btn {
        width: 48.7vw;
    }

    .page_sustainability .esg_sec .img_list ul {
        grid-template-columns: 1fr;
        gap: 3vw 0;
    }

    .page_sustainability .esg_sec .cont:nth-child(even) .text_box {
        margin: unset;
    }

    .page_sustainability .esg_sec .img_list ul .link .img {
        width: 35.9vw;
        flex-shrink: 0;
    }

    .page_sustainability .esg_sec .img_list ul .link:hover .img img {
        transform: unset;
    }

    .page_sustainability .esg_sec .img_list ul .link {
        display: flex;
    }

    .page_sustainability .esg_sec .img_list ul .link .img img {
        height: 100%;
        border-radius: 6px 0 0 6px;
    }

    .page_sustainability .esg_sec .img_list ul .link .text_box {
        flex-direction: column;
        padding: 5.1vw 2.8vw 2.8vw 2.8vw;
        width: 100%;
        border-radius: 0 10px 10px 0;
        align-items: unset;
        gap: 0;
    }

    .page_sustainability .esg_sec .img_list ul .link .text_box .text {
        font-size: 3.6vw;
        line-height: 1.4;
        letter-spacing: 0;
    }

    .page_sustainability .esg_sec .img_list ul .link .text_box .arrow_box {
        margin-left: auto;
        width: 7.7vw;
        min-block-size: 7.7vw;
    }

    .page_sustainability .esg_sec .img_list ul li {
        width: 100%;
    }

    .page_sustainability .technology_sec .image_box .img {
        width: 100%;
    }

    .page_sustainability .technology_sec .text_box {
        padding-top: 0;
        text-align: center;
        margin: 0 auto;
    }

    .page_sustainability .technology_sec .text_box .text {
        font-size: 4.4vw;
    }

    .page_sustainability .technology_sec .text_box .text .border {
        border-bottom: dashed 1px currentColor;
    }

    .esg_sec .common_table_list .icon img {
        width: 15vw;
    }

    .esg_sec .common_table_list td:nth-child(2) {
        padding-left: 4vw;
    }

    .esg_sec .common_table_list .text {
        text-align: left;
    }

    /* メッセージ */
    .common_page_message .message_sec .cont .img {
        width: 66.7vw;
        margin: 0 auto;
    }

    .common_page_message .message_sec .cont .img img {
        aspect-ratio: 26/29;
    }

    .common_page_message .message_sec .cont .text_box .ttl_box {
        margin: 0 0 10vw 11.4vw;
    }

    .common_page_message .message_sec .cont .text_box .ttl_box .theme {
        font-size: 3.6vw;
        margin-bottom: 0.9em;
    }

    .common_page_message .message_sec .cont .text_box .ttl_box .icon_name {
        width: 61.6vw;
    }

    .common_page_message .message_sec .cont .text_box .text {
        font-size: 3.4vw;
    }

    .common_page_message .message_sec .cont .common_sec_fv {
        display: block;
        padding-left: 0;
        margin: 0 auto 6vw;
    }

    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text {
        font-size: 5vw;
        padding-bottom: 0.5em;
        margin-bottom: 1em;
        text-align: center;
    }

    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text .small {
        font-size: 70%;
    }

    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text::before,
    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .text::after {
        height: 2px;
    }

    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .company_name {
        margin: 0 auto;
    }

    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .theme {
        font-size: 4vw;
        text-align: center;
    }

    .common_page_message .message_sec .cont .common_sec_fv .fv_text_box .company_name .icon_name {
        width: 65vw;
    }

    .common_page_message .deliver_sec .cont .sec_ttl {
        margin-bottom: 3vw;
    }

    .common_page_message .deliver_sec .cont .sec_ttl .ttl {
        font-size: 4.7vw;
        padding-left: 0.8em;
        border-left: solid 3px var(--sub-color);
    }

    .common_page_message .deliver_sec .cont .text_box {
        margin-bottom: 5vw;
    }

    .common_page_message .deliver_sec .cont .text_box .text {
        font-size: 3.4vw;
    }

    .common_page_message .deliver_sec .cont .img_box {
        width: 100%;
    }

    .common_page_message .message_sec .cont .message_list {
        margin-bottom: 6vw;
    }

    .common_page_message .message_sec .cont .message_list li {
        flex-direction: column-reverse;
        gap: 3vw 0;
    }

    .common_page_message .message_sec .cont .message_list li .img_box {
        width: 100%;
    }

    .common_page_message .message_sec .cont .message_list li .text_box .text {
        font-size: 3.4vw;
    }

    .common_page_message .message_sec .cont .message_list li+li {
        margin-top: 12vw;
    }

    .common_page_message .message_sec .cont .message_list li:nth-child(2) {
        flex-direction: column-reverse;
    }

    .common_page_message .message_sec .cont .sign_box .name {
        font-size: 5vw;
    }

    .company_message .message_sec .cont {
        flex-direction: column-reverse;
        gap: 3vw 0;
    }

    .common_page_message.company_message .message_sec .cont .text_box .name {
        font-size: 4vw;
    }

    .common_page_message.ir_message .message_sec .cont .icon_name {
        width: 50vw;
    }

    /* 歴史と沿革 */
    .page_library .library_secult li {
        display: unset;
        grid-row: unset;
    }

    .page_library .library_sec ul li+li {
        margin-top: 10vw;
    }

    .page_library .library_sec ul .img {
        width: 100%;
        margin: 0 auto 3.5vw;
    }

    .page_library .library_sec ul li .text_box {
        padding: unset;
    }

    .page_library .library_sec ul .ttl {
        font-size: 4.6vw;
        margin-bottom: 0.3em;
    }

    .page_library .library_sec ul .text_box .text {
        font-size: 3.6vw;
        letter-spacing: .04em;
        margin-bottom: 4vw;
    }

    #common_main .library_sec .link_box {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5vw;
        margin-bottom: 10vw;
        align-items: center;
    }

    #common_main .library_sec .link_box .link {
        font-size: 3.2vw;
        letter-spacing: 0;
        padding: 4vw 3vw;
        grid-template-rows: unset;
        grid-row: span 2;
        gap: 5px 0;
        height: 23vw;
        align-items: center;
    }

    #common_main .library_sec .link_box .link:hover {
        opacity: 1;
    }

    /* 万博で大活躍 */
    .page_expo .common_library_sec .library_box .cont {
        grid-template-columns: 1fr;
        gap: 5vw 0;
    }

    .page_expo .common_library_sec .library_box .cont .youtube {
        width: 100%;
        height: 50vw;
    }

    .page_expo .common_library_sec .library_box .cont .img_box {
        display: flex;
        align-items: baseline;
        gap: 0 2vw;
    }

    .page_expo .common_library_sec .library_box .cont .img_box .img {
        width: 100%;
    }

    .page_expo .common_library_sec .library_box .cont .img_box .img+.img {
        margin-top: unset;
    }

    /* Bogo */
    .bogo-language-switcher {
        display: none;
        top: 7vw;
        padding: 1vw 2vw 1.7vw;
        background: #ccc;
    }

    .bogo-language-switcher.active {
        display: block;
        color: #FFF;
    }

    .sp_hd_box .other_menu .icon_language {
        position: relative;
    }

    .bogo-language-switcher li.en .bogoflags {
        display: none;
    }

    .bogo-language-switcher li.ja .bogoflags {
        display: none;
    }

    /* 納入実績検索ページ */
    .common_search_box {
        padding: 5vw 2vw;
    }

    .common_search_box .select_search_box {
        display: block;
    }

    .common_search_box .select_search_box .select_box .select_sec {
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .common_search_box .select_search_box .select_box .free_box {
        margin-top: 2vw;
    }

    .common_search_box .select_search_box .select_box .free_box input {
        font-size: 3.6vw;
        padding: 3.5vw 1.5vw;
    }

    .common_search_box .select_search_box .search_btn {
        width: 100%;
        margin-left: 0;
        margin-top: 2vw;
    }

    .common_search_box .select_search_box .search_btn button {
        height: 14vw;
        padding-top: 0;
        font-size: 4.5vw;
    }

    .common_search_box .select_search_box .search_btn button:hover {
        opacity: 1;
    }

    .common_search_box .select_search_box .search_btn button::after {
        width: 5.2vw;
        top: 49%;
        left: 64%;
        translate: -50% -50%;
    }

    .common_search_box .select_search_box .select_box .select_list {
        font-size: 3.6vw;
        padding: 3.5vw 1.5vw;
    }

    .archive_record .common_record_list {
        margin-top: 12vw;
    }

    .common_record_list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw 1vw;
    }

    .common_record_list ul li {
        height: 45vw;
    }

    .common_record_list ul li a:hover .img {
        transform: scale(1);
    }

    .common_record_list ul li a .text_box {
        padding: 2vw 1vw;
    }

    .common_record_list ul li a .ttl {
        font-size: 3.3vw;
    }

    /* 納入実績詳細ページ */
    .single_record .single_ttl .ttl {
        font-size: 5.2vw;
        margin-bottom: 2vw;
        line-height: 1.4;
    }

    .single_record .single_ttl .category_box ul {
        gap: 1vw;
    }

    .single_record .single_ttl .category_box ul li {
        padding: 0 2vw;
        font-size: 3.2vw;
        border-radius: 1vw;
    }

    .single_record .single_ttl {
        margin-bottom: 5vw;
        padding-bottom: 5vw;
    }

    .single_record .record_ttl_box {
        display: block;
    }

    .single_record .record_ttl_box .slider_sec_box {
        width: 100%;
    }

    .single_record .record_ttl_box .slider_sec_box .slider_box {
        margin-bottom: 3vw;
    }

    .single_record .record_ttl_box .slider_sec_box .slider_box ul li {
        height: 50vw;
    }

    .single_record .record_ttl_box .slider_sec_box .thumbnail_box ul .slick-track {
        grid-template-columns: repeat(3, 1fr);
        gap: 2vw;
    }

    .single_record .record_ttl_box .slider_sec_box .thumbnail_box ul li {
        height: 17vw;
    }

    .single_record .record_ttl_box .slider_sec_box .thumbnail_box ul li:hover {
        opacity: 1;
    }

    .single_record .record_ttl_box .text_sec_box {
        margin-top: 10vw;
    }

    .single_record .record_ttl_box .text_sec_box .cp_ttl {
        font-size: 4.4vw;
        margin-bottom: 3vw;
    }

    .single_record .record_ttl_box .text_sec_box .free_area {
        font-size: 3.4vw;
    }

    .single_record .record_contents_box {
        padding: 10vw 5vw;
        margin-top: 10vw;
    }

    .single_record .record_contents_box .record_movie {
        margin-bottom: 7vw;
    }

    .single_record .record_contents_box .record_contents ul li {
        display: block;
        padding: 0 1vw;
    }

    .single_record .record_contents_box .record_contents ul li .theme {
        width: 100%;
        font-size: 3.8vw;
    }

    .single_record .record_contents_box .record_contents ul li .cont {
        font-size: 3.6vw;
        margin-top: 0.8vw;
    }

    .single_record .record_contents_box .record_contents ul li+li {
        margin-top: 4vw;
        padding-top: 4vw;
    }

    .single_record .record_contents_box .record_movie .video_note {
        font-size: 3.1vw;
    }

    .single_record .record_ttl_box .slider_sec_box .slider_box .slider_note {
        font-size: 3.1vw;
    }

    .common_back_btn {
        width: 100%;
        margin: 10vw auto 0;
    }

    .common_back_btn a {
        font-size: 4vw;
        padding: 5vw 0;
    }

    .common_back_btn a:hover {
        background-color: #263b6e;
        color: #fff;
    }

    .archive_record .catch_text {
        margin-bottom: 10vw;
    }

    .archive_record .catch_text .theme {
        font-size: 4.5vw;
    }

    .archive_record .catch_text .comment {
        font-size: 3.2vw;
        margin-top: 2.5vw;
    }

    /* 事業一覧 */
    .page_business .business_list ul {
        grid-template-columns: 100%;
        gap: 5vw;
    }

    /* グループ会社の画像調整（スマホ用） */
    @media screen and (max-width: 768px) {
        .business_list .img {
            height: auto;
            aspect-ratio: 3 / 2;
            /* または必要に応じて調整 */
            overflow: visible;
        }

        .business_list .img img {
            width: 100%;
            height: 240px;
            object-fit: contain;
            /* 画像が見切れず縮小表示 */
            display: block;
        }
    }

    .page_business .business_list ul li a {}

    .page_business .business_list ul li a:hover::after {
        opacity: 0.6;
    }

    /* top2 */
    #top_fv {
        height: calc(100svh - 55px);
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding: 25.64vw 0 20vw;
    }

    #top_fv .sub_title {
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        font-size: 4.1vw;
        padding-right: 6.5vw;
        padding-right: 11.53vw;
        margin-left: 0;
    }

    #top_fv .sub_title::before {
        top: calc(50% - 0.51vw);
        right: 0;
        width: 10.26vw;
        height: 0.26vw;
    }

    #top_fv .main_title {
        font-size: 10.3vw;
        margin-top: 9.28vw;
        line-height: 1.1;
    }

    #top_fv .main_title .accent {
        font-size: 20.1vw;
    }

    #top_fv .swiper-slide::before {
        background: -webkit-gradient(linear, left top, right top, from(rgba(21, 21, 21, 0.4)), to(rgba(98, 98, 98, 0)));
        background: -webkit-linear-gradient(left, rgba(21, 21, 21, 0.4) 0%, rgba(98, 98, 98, 0) 100%);
        background: linear-gradient(to top, rgba(21, 21, 21, 0.2) 0%, rgba(98, 98, 98, 0) 100%);
        z-index: 1;
    }

    #top_fv .pagination-bullets,
    #top_fv .swiper-pagination-bullets.swiper-pagination-horizontal,
    #top_fv .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: 3.85vw;
    }

    #top_fv .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    #top_fv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 1.28vw;
        margin: 0 2vw;
    }

    #top_fv .swiper-pagination-bullet {
        width: 2.56vw;
        height: 2.56vw;
    }

    /* IR情報ページ */
    .api_sec_box {
        bottom: unset;
        right: 0;
        width: 100%;
        top: -41vw;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 2vw;
    }

    .api_sec_box .box+.box {
        margin-top: 2vw;
        padding-top: 3vw;
        border-top: 1vw dashed #bfbfbf;
    }

    .api_sec_box .box {
        padding: 0;
        background-color: unset;
    }

    .api_sec_box .box ul li a .day {
        font-size: 2.7vw;
        line-height: 1;
    }

    .api_sec_box .box ul li a .title {
        font-size: 3.6vw;
        margin-top: 1vw;
    }

    .api_sec_box .box ul li a:hover .title {
        color: var(--main-color);
    }

    .api_sec_box .box .common_more_btn {
        display: none;
    }

    .api_sec_box .box .theme {
        font-size: 4vw;
        margin-bottom: 2vw;
    }

    .api_sec_box .box .api_info {
        height: 11vw;
    }

    .page_ir_related .common_related_sec ul li.none_intro {
        display: none;
    }

    .page_ir_related .common_related_sec ul li.block_intro {
        display: block !important;
    }

    .common_page_ttl .ttl {
        font-size: 5.2vw;
        padding-bottom: 3vw;
    }

    .common_page_ttl .ttl::after {
        width: 11vw;
    }

    .page_ir_information .everyone_sec {
        padding-bottom: 15vw;
    }

    .page_ir_information .everyone_sec .list ul {
        display: grid;
        justify-content: center;
        gap: 60px;
        /* ボックス間の余白 */
        padding: 0;
        list-style: none;
    }

    .page_ir_information .everyone_sec .list ul li {
        width: auto;
        /* 横幅をやや広く */
    }

    .page_ir_information .everyone_sec .list {
        margin: 5vw 0 0;
        width: 100%;
    }

    .page_ir_information .everyone_sec .list ul {
        gap: 5vw 2vw;
        grid-template-columns: repeat(2, 1fr);
    }

    .page_ir_information .everyone_sec .list ul li a .img {
        height: 30vw;
        margin-bottom: 4.5vw;
    }

    .page_ir_information .everyone_sec .list ul li a .text_box .theme {
        font-size: 3.8vw;
        margin-bottom: 2vw;
        line-height: 1;
    }

    .page_ir_information .everyone_sec .list ul li a .text_box .theme::after {
        width: 2vw;
        height: 2vw;
        margin-left: 3vw;
    }

    .page_ir_information .everyone_sec .list ul li a .text_box .text {
        font-size: 3vw;
        margin-top: 3vw;
    }

    .page_ir_information .everyone_sec .list ul li a:hover {
        opacity: 0.7;
    }

    .company_fv .common_page_main.ir .common_fv_img img {
        width: 100%;
        aspect-ratio: 2/1;
        object-fit: cover;
    }

    .common_link_list {
        padding: 15vw 0 0;
    }

    .common_link_list .link_list .four_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 7vw 2vw;
    }

    .common_link_list .link_list .four_list li .link .img {
        height: 30vw;
    }

    .common_link_list .link_list .four_list li .link .theme {
        font-size: 4vw;
        padding: 2vw 0;
        margin-bottom: 3vw;
    }

    .common_link_list .link_list .four_list li .link .theme::after {
        width: 2vw;
        height: 2vw;
        margin-left: 3vw;
    }

    .common_link_list .link_list .four_list li .box a:hover {
        opacity: .7;
    }

    .common_link_list .link_list .four_list li .box a {
        font-size: 3vw;
    }

    .common_link_list .link_list .four_list li .box a+a {
        margin-top: 4vw;
    }

    .common_link_list .link_list .three_list {
        grid-template-columns: 100%;
        gap: 3vw;
        margin-top: 10vw;
    }

    .common_link_list .link_list .three_list li a {
        gap: 6vw;
        padding: 4vw 6vw;
    }

    .common_link_list .link_list .three_list li a:hover {
        opacity: 0.7;
    }

    .common_link_list .link_list .three_list li a .name {
        font-size: 4vw;
    }

    .common_link_list .link_list .three_list li a::after {
        width: 2vw;
        height: 2vw;
        right: 7vw;
    }

    .common_link_list .link_list .three_list li a .icon {
        width: 7vw;
    }

    .common_link_list .link_list .three_list li a .icon svg {
        width: 100%;
        height: unset;
    }

    .en-US .common_link_list .link_list .four_list {
        grid-template-columns: repeat(2, 1fr);
    }

    .common_cta_box {
        padding: 15vw 0;
    }

    .common_cta_box .sec_box .link {
        padding: 10vw 5vw;
    }

    .common_cta_box .sec_box .link::before {
        clip-path: polygon(100% 70%, 100% 0, 100% 100%, 0% 100%);
        width: 10%;
    }

    .common_cta_box .sec_box .link:hover::before {
        width: 10%;
    }

    .common_cta_box .sec_box .link .text_box .ttl_box::before {
        width: 15vw;
        left: 0;
        top: 18vw;
    }

    .common_cta_box .sec_box .link .text_box .ttl_box .box {
        display: block;
        margin-bottom: 12vw;
    }

    .common_cta_box .sec_box .link .text_box .ttl_box .box .en {
        font-size: 8vw;
        margin-bottom: 2vw;
    }

    .common_cta_box .sec_box .link .text_box .ttl_box .box .jp {
        font-size: 3.6vw;
    }

    .common_cta_box .sec_box .link .text_box .ttl_box .text {
        font-size: 3.4vw;
        line-height: 1.5;
    }

    .common_related_sec .ttl_sec {
        font-size: 6vw;
        text-align: center;
        margin-bottom: 5vw;
    }

    .common_related_sec ul {
        grid-template-columns: 100%;
        gap: 3vw;
    }

    .common_related_sec ul li a:hover {
        opacity: 0.7;
    }

    .common_related_sec ul li a .img {
        height: 40vw;
    }

    .common_related_sec ul li a .theme {
        font-size: 4.5vw;
        padding: 2.5vw 0;
    }

    .common_related_sec ul li a .theme::after {
        width: 2vw;
        height: 2vw;
        right: 6vw;
    }

    .company_fv .common_page_main {
        padding: 0 0 2.6vw;
    }

    .company_fv .common_page_main.ir {
        padding: 0 0 7vw;
    }

    .company_fv .common_page_main .title_box {
        padding-top: 2vw;
    }

    .top_products .products_list li a .img {
        height: 50vw;
    }

    /* コーポレートガバナンス */
    .page_corporate .contents_box .box .sec_text {
        font-size: 3.4vw;
    }

    .page_corporate .contents_box .box .pdf_btn {
        width: 100%;
        margin: 3vw 0 0;
    }

    .page_corporate .contents_box .box .pdf_btn a {
        font-size: 3.6vw;
        line-height: 13vw;
    }

    .page_corporate .contents_box .box .pdf_btn a:hover {
        color: var(--main-color);
        background-color: #fff;
    }

    .common_ex_box .ttl {
        font-size: 4.8vw;
        margin-bottom: 1vw;
    }

    .common_ex_box+.common_ex_box {
        margin-top: 5vw;
        padding-top: 5vw;
    }

    .common_ex_box .text {
        font-size: 3.4vw;
    }

    .box_sec.summary .common_ex_box {
        margin-bottom: 8vw;
    }

    .box_sec.summary .common_table_list {
        margin-bottom: 8vw;
    }

    .box_sec.summary .graph_img {
        width: 100%;
    }

    .page_corporate .contents_box .box+.box {
        margin-top: 12vw;
    }

    /* 中期経営計画 */
    .page_management .management_box .box .sec_ttl {
        font-size: 5.5vw;
        margin-bottom: 3.5vw;
        padding: 0 0 1vw;
        line-height: 1.4;
    }

    .page_management .management_box .box .sp_box {
        margin: 5vw 0 0;
        overflow-x: scroll;
    }

    .page_management .management_box .box .sec_img {
        margin: 0;
        width: 200vw;
    }

    .page_management .management_box .box+.box {
        margin-top: 12vw;
    }

    .page_management .management_box .box .sec_list {
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .page_management .management_box .box .sec_list li {
        padding: 2.5vw 0;
        font-size: 4.2vw;
    }

    .page_management .management_box .box .list {
        margin-top: 3vw;
        padding-inline: 0;
    }

    .page_management .management_box .box .list ul li {
        display: block;
    }

    .page_management .management_box .box .list ul li .img {
        width: 100%;
        height: 48vw;
        margin-bottom: 3vw;
    }

    .page_management .management_box .box .list ul li+li {
        margin-top: 7vw;
    }

    .page_management .management_box .box .list ul li .text_box .ttl {
        font-size: 4.4vw;
        margin-bottom: 2vw;
    }

    .page_management .management_box .box .list ul li .text_box .text {
        font-size: 3.4vw;
    }

    .page_management .management_box .box .list ul li .img::after {
        left: -2vw;
        bottom: -2vw;
    }

    .page_management .management_box .box .list_sec {
        margin-top: 4vw;
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .page_management .management_box .box .list_sec .sec {
        padding: 3vw 3vw;
    }

    .page_management .management_box .box .list_sec .sec .theme {
        font-size: 3.8vw;
        margin-bottom: 2vw;
    }

    .page_management .management_box .box .list_sec .sec .cont_box .cont {
        font-size: 3.5vw;
        margin-left: 4.5vw;
        padding-left: 0;
    }

    .page_management .management_box .box .list_sec .sec .cont_box .cont+.cont {
        margin-top: 1.2vw;
    }

    .page_management .management_box .box .sec_list.three {
        margin-top: 2vw;
        grid-template-columns: 100%;
        gap: 2vw;
    }

    .page_management .management_box .box .img_result {
        margin-top: 15vw;
    }

    .page_management .management_box .box .img_result::before {
        border-width: 8vw 14vw 0 14vw;
        top: -10vw;
    }

    .page_management .management_box .box .img_result .text {
        font-size: 3.8vw;
    }

    .page_management .management_box .box .img_result .text .big {
        font-size: 5.2vw;
        line-height: 1.5;
        margin: 2vw 0;
    }

    .page_management .management_box .box .list ul li .img.sas {
        margin-top: 0;
        width: 100%;
    }


    .page_ir_notes.ir {
        margin-bottom: 12vw;
    }

    .page_ir_notes.ir .common_page_ttl {
        margin-bottom: 7vw;
    }

    .page_management .catch_link_sec .cont .catch {
        margin-bottom: 7vw;
    }

    .page_management .catch_link_sec .cont .catch .text {
        font-size: 3.4vw;
    }

    .page_management .catch_link_sec .cont .link_box {
        padding: 5vw;
    }

    .page_management .catch_link_sec .cont .link_box {
        border: solid 1px var(--main-color);
        padding: 3vw;
        margin-bottom: 0;
        width: 100%;
    }

    .page_management .catch_link_sec .cont .link_box ul {
        gap: 1vw 3vw;
    }

    .page_management .catch_link_sec .cont .link_box ul li a {
        font-size: 3.4vw;
        align-items: flex-start;
    }

    .page_management .catch_link_sec .cont .link_box ul li a::before {
        border-width: 2vw calc(3vw / 2) 0 calc(3vw / 2);
        translate: 0 2vw;
    }

    .page_management .management_box .box .business_plan_cont li .en_ttl {
        padding: 1vw 5vw;
        margin-bottom: 3vw;
    }

    .page_management .management_box .box .business_plan_cont li .en_ttl .theme {
        font-size: 4vw;
        line-height: 1.4;
    }

    .page_management .management_box .box .business_plan_cont li .text_box .main {
        font-size: 5vw;
        margin-bottom: 0.4em;
    }

    .page_management .management_box .box .business_plan_cont li .text_box .sub {
        font-size: 3.2vw;
    }

    .page_management .management_box .box .business_plan_cont li+li {
        margin-top: 4vw;
    }

    .page_management .management_box .box .business_plan_cont li .target_table th {
        font-size: 3.4vw;
        white-space: nowrap;
    }

    .page_management .management_box .box .business_plan_cont li .target_table td {
        font-size: 3.4vw;
        white-space: nowrap;
    }

    .page_management .management_box .box .common_pdf_btn a {
        font-size: 3.4vw;
    }

    .page_management .management_box .box .common_pdf_btn a::before {
        width: 8vw;
    }

    .page_management .management_box .box .business_plan_cont li .plan_img {
        width: 100%;
    }

    .page_management .management_box .box .business_plan_cont li .target_table {
        width: 100%;
    }

    .page_management .catch_link_sec .cont .catch .date {
        font-size: 4vw;
    }

    .page_management .catch_link_sec .cont .catch .ttl {
        font-size: 5vw;
    }

    .page_management .catch_link_sec {
        margin-bottom: 10vw;
    }

    .page_management .management_box .box.policy .list {
        padding-inline: 0;
        margin-top: 0;
    }

    .page_management .management_box .box.policy .list ul li .img::after {
        right: -2vw;
    }

    .page_management .management_box .box.policy .list ul li .text_box .text {
        padding-inline: 0;
        font-size: 3.6vw;
    }

    .page_management .management_box .box.policy .common_box_list {
        margin-top: 5vw;
        padding-inline: 0;
    }

    .common_box_list ul {
        gap: 0 1vw;
    }

    .common_box_list ul li {
        min-height: auto;
        padding: 3vw 1vw;
    }

    .common_box_list ul li .text {
        font-size: 3.2vw;
    }

    .common_box_list ul li::after {
        border: 2vw solid transparent;
        border-bottom-color: var(--main-color);
        border-right-color: var(--main-color);
    }

    .page_management .management_box .box.growth .item_list {
        padding-inline: 0;
    }

    .page_management .management_box .box.growth .item_list .item .ttl_box {
        margin-bottom: 4vw;
    }

    .page_management .management_box .box.growth .item_list .item .ttl_box .ttl {
        font-size: 4.4vw;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .inbox {
        width: 100%;
        gap: 3vw;
        margin-bottom: 5vw;
        align-items: flex-start;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .inbox .icon {
        width: 20vw;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .ttl {
        font-size: 4vw;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .text_list li {
        font-size: 3.4vw;
        align-items: baseline;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .inbox .text_box .text_list li::before {
        width: 1.5vw;
        translate: 0 -0.6vw;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .catch {
        margin: 0 auto 5vw;
        min-block-size: 10vw;
        width: 100%;
        padding: 1.5vw 5vw;
    }

    .page_management .management_box .box.growth .item_list .item .main_cont .catch .text {
        font-size: 4vw;
    }

    .page_management .management_box .box.growth .item_list .item+.item {
        margin-top: 10vw;
    }

    .page_management .management_box .box.sustainability .list {
        margin-top: 0;
        padding-inline: 0;
    }

    .page_management .management_box .box.sustainability .list_sec {
        padding-inline: 0;
    }

    .page_sustainability .esg_sec .esg_box .top_box {
        flex-direction: column-reverse;
        gap: 10vw;
        margin-bottom: 10vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .img_area {
        width: 100%;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area {
        padding-left: 0;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .sec_ttl {
        margin-bottom: 3vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .sec_ttl .ttl {
        font-size: 5vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .sec_ttl .num {
        font-size: 11vw;
        top: -3.7vw;
        left: -3.7vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .catch {
        margin-bottom: 3vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .catch .text {
        font-size: 3.8vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .text_list li {
        font-size: 3.6vw;
    }

    .page_sustainability .esg_sec .esg_box .top_box .text_area .text_list li::before {
        width: 2vw;
        translate: 0 2.2vw;
    }

    .page_sustainability .esg_sec .cont .inbox {
        flex-direction: column;
        gap: 4.8vw 0;
    }

    .page_sustainability .esg_sec .esg_box+.esg_box {
        margin-top: 15vw;
    }

    .page_sustainability .esg_sec .esg_box::before {
        top: 62vw;
    }

    .page_management .management_box .box .list_sec .sec::after {
        border: 3vw solid transparent;
        border-bottom-color: #238B8D;
        border-right-color: #238B8D;
    }

    .page_management .management_box .common_ex_box {
        padding-inline: 0;
    }

    .page_management .management_box .box.execution .sec_list.three {
        padding-inline: 0;
        gap: 2vw;
    }

    .page_management .management_box .box.pdf .common_pdf_btn {
        padding-inline: 0;
    }

    .page_management .management_box .box.execution {
        margin-top: 6vw;
    }

    /* 決算サマリー */
    .common_tab_box .tab_btn_box {
        gap: 2vw;
    }

    .common_tab_box .tab_btn_box .tab {
        line-height: 12vw;
        font-size: 4.2vw;
        transition: 0s;
    }

    .common_tab_box .tab_box_sec .box_sec {
        padding-top: 8vw;
    }

    .common_tab_box .tab_box_sec .box_sec.show {
        display: block;
    }

    .common_tab_box .tab_btn_box.single {
        grid-template-columns: 1fr;
    }

    .page_summary .box_sec .theme {
        font-size: 5vw;
        margin-bottom: 2vw;
    }

    .page_summary .box_sec .graph_box {
        display: none;
    }

    .page_summary .summary_box .tab_box_sec .box_sec .box .graph_img_box {
        grid-template-columns: 1fr;
        gap: 5vw 0;
    }

    .common_graph_box .color_box {
        display: none;
    }

    .common_tab_box .tab_box_sec .box_sec .box+.box {
        margin-top: 5vw;
    }

    .common_table_list table {
        width: 210vw;
    }

    .common_table_list table th,
    .common_table_list table td {
        padding: 4vw 2vw;
        font-size: 3.8vw;
    }

    .common_table_list table th {
        font-size: 4vw;
    }

    .common_table_list table td.type {
        font-size: 3.8vw;
    }

    .common_table_list+.common_table_list {
        margin-top: 5vw;
    }

    .common_table_list {
        overflow-x: scroll;
    }

    /* セグメント情報 */
    .page_financial .financial_sec .segment_box .segment_graph {
        display: none;
    }

    .page_financial .financial_sec .segment_box .list {
        margin-top: 7vw;
    }

    .page_financial .financial_sec .segment_box .list ul li .theme {
        font-size: 4.5vw;
        margin-bottom: 2.5vw;
        padding-left: 1.5vw;
        line-height: 1.2;
    }

    .page_financial .financial_sec .segment_box .list ul li .theme .num {
        margin-left: 1vw;
        font-size: 3.3vw;
    }

    .page_financial .financial_sec .segment_box .list ul li .theme .num .big {
        font-size: 6vw;
        margin-right: 1vw;
    }

    .page_financial .financial_sec .segment_box .list ul li+li {
        margin-top: 5vw;
        padding-top: 5vw;
    }

    .page_financial .financial_sec .segment_box .list ul li .text {
        font-size: 3.5vw;
    }

    .page_financial .financial_sec .segment_box .list {
        margin-bottom: 10vw;
    }

    .common_tab_box .tab_btn_box.three {
        grid-template-columns: 100%;
    }

    .page_financial .financial_sec .segment_box .inner {
        flex-direction: column-reverse;
        gap: 0;
        margin-top: 0;
    }

    .page_financial .financial_sec .segment_box .inner .circle_graph {
        width: 100%;
    }

    .page_financial .financial_sec .box_sec .common_page_ttl {
        margin-bottom: 10vw;
    }

    .page_summary .summary_box .tab_box_sec .box_sec .box+.box {
        margin-top: 5vw;
    }

    .graph_ttl_zaimu {
        margin-bottom: 5vw;
    }

    h3.ttl_zaimu {
        font-size: 5vw;
    }

    .summary_box .common_tab_box .tab_box_sec .box_sec .catch_text {
        margin-bottom: 5vw;
    }

    .summary_box .common_tab_box .tab_box_sec .box_sec .catch_text .text {
        font-size: 3.6vw;
    }

    .summary_box .common_tab_box .tab_box_sec .box_sec .box .table_note {
        font-size: 3.2vw;
    }

    .summary_box .common_tab_box .tab_box_sec .box_sec .box .table_tani {
        font-size: 3.2vw;
    }

    .en-US .page_summary .common_tab_box .tab_btn_box .tab,
    .en-US .page_financial .common_tab_box .tab_btn_box .tab {
        line-height: 1.4;
        padding: 0.2em 0;
    }

    .page_financial .financial_sec .segment_box .inner .ttl {
        font-size: 4.5vw;
        margin-bottom: 1em;
    }

    .page_financial .financial_sec .segment_box .inner .graph_box {
        width: 100%;
    }

    .page_financial .financial_sec .graph .graph_img {
        width: 100%;
    }

    .page_financial .financial_sec .graph .graph_ttl {
        margin-bottom: 5vw;
    }

    .page_financial .financial_sec .graph {
        margin: 0;
    }

    .page_financial .financial_sec .graph+.graph {
        margin-top: 10vw;
    }

    .page_financial .financial_sec .graph .graph_ttl .ttl {
        font-size: 4.3vw;
    }

    .situation_table_box .table_note {
        font-size: 3.4vw;
    }

    .situation_table_box .common_table_list table td {
        font-size: 3.6vw;
    }

    .common_tab_box .tab_box_sec .situation_box .situation_table_box {
        margin-bottom: 12vw;
    }

    /* リーフレット一覧 */
    .leaflet_list_sec .leaflet_list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw;
    }

    .leaflet_list_sec .leaflet_list li a {
        padding: 3.5vw;
    }

    .leaflet_list_sec .leaflet_list li a .img {
        margin-bottom: 2vw;
    }

    .leaflet_list_sec .leaflet_list li a .name {
        font-size: 3.2vw;
    }

    .leaflet_list_sec .leaflet_list li a:hover {
        translate: 0;
        box-shadow: none;
    }

    /* 株式基本情報 */
    .page_ir_stock .stock_info_sec {
        margin-top: 10vw;
    }

    .page_ir_stock .stock_info_sec .cont .about_box .ttl {
        font-size: 4.4vw;
        border-left: solid 3px var(--main-color);
    }

    .page_ir_stock .stock_info_sec .cont .about_box .text {
        font-size: 3.4vw;
    }

    .page_ir_stock .stock_info_sec .cont .table_box {
        margin: 5vw 0;
    }

    .page_ir_stock .stock_info_sec .cont .table_box dl dt {
        font-size: 3.4vw;
        padding: 1em;
        width: 100%;
    }

    .page_ir_stock .stock_info_sec .cont .table_box dl dd {
        font-size: 3.4vw;
        width: 100%;
        padding: 1em 0.5em;
    }

    .page_ir_stock .stock_info_sec .cont .table_box dl {
        flex-direction: column;
    }

    .page_statements .tab_box_sec .situation_table_box {
        margin-bottom: 12vw;
    }

    .page_statements .tab_box_sec .graph .graph_ttl {
        margin-bottom: 5vw;
    }

    .page_statements .tab_box_sec .graph .graph_ttl .ttl {
        font-size: 4.3vw;
    }

    .page_statements .tab_box_sec .graph .graph_img {
        width: 100%;
    }

    .page_statements .tab_box_sec .graph+.graph {
        margin-top: 10vw;
    }

    .common_page_group .catch_sec .ttl_logo {
        width: 60vw;
        margin: 0 auto 7vw;
    }

    .common_page_group.page_vekoma .catch_sec .ttl_logo,
    .common_page_group.page_forrec .catch_sec .ttl_logo {
        width: 36vw;
    }

    .common_group_fv.forrec .fv_area .group_fv_slider .img::before,
    .common_page_group.page_forrec .service_sec .cont .list li .img_area::before,
    .common_page_group.page_forrec .record_sec .list ul li .img::before {
        font-size: 3.2vw;
    }

    section.elevator_newly_detail .diagram {
        width: 100%;
        margin-bottom: 5vw;
    }

    section.elevator_newly_detail h2 {
        margin-bottom: 3vw;
        font-size: 5.1vw;
    }

    section.elevator_newly_detail .detail {
        width: 100%;
        padding: 0;
    }

    section.elevator_newly_detail h3 {
        font-size: 3.8vw;
        gap: 2.5vw;
    }

    section.elevator_newly_detail .table_wrap {
        overflow-x: scroll;
    }

    section.elevator_newly_detail .table_wrap table {
        width: 800px;
        margin-bottom: 5vw;
    }

    section.elevator_newly_detail .detail .supplementary ul li {
        padding-left: 1em;
        text-indent: -1em;
    }

    section.elevator_newly_detail .detail .supplementary ul li+li {
        margin-top: 3px;
    }

    section.elevator_newly_detail+section.elevator_newly_detail {
        margin-top: 15vw;
    }

    .stage_safety .flex_text_img_box,
    .stage_safety .flex_text_img_box .column_img_flex {
        flex-direction: column;
        gap: 4vw;
    }

    .stage_safety .flex_text_img_box .box_img {
        height: 70vw;
    }

    .stage_safety .flex_text_img_box .column_img_flex .box_img {
        height: auto;
    }

    .stage_safety .flex_text_img_box .box_text {
        text-align: center;
        font-size: 3.6vw;
    }

    /* 全体検索 */
    .common_search_list ul {
        grid-template-columns: 1fr;
        gap: 3vw;
    }

    .common_search_list ul li a .text_box .ttl {
        font-size: 3.6vw;
    }

    .common_search_list ul li a::before {
        width: 1vw;
    }

    .hd_search_form {
        margin-bottom: 7vw;
    }

    .hd_search_form form button {
        width: 6vw;
    }

    .hd_search_form form input[type="text"] {
        width: 83%;
        text-align: left;
        border: solid 1px var(--main-color);
        font-size: 3.6vw;
    }
}