@charset "UTF-8"; @media screen and (max-width: 768px) {
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */p.complete_btn a {
    }

    p.complete_btn a:hover {
    }

    :root:root .cmn_page_btn {
        width: 100%;
        max-width: none;
    }

    :root:root .cmn_page_btn {
        width: 100%;
        max-width: none;
    }

    .cmn_page_btn button ,p.cmn_page_btn a {
        width: 43rem;
        font-size: 2.4rem;
        padding: 4rem;
        height: 8rem;
        border-radius: 0;
    }

    .return {
    }

    .return a {
    }

    .return a::before {
    }

    .return a:hover {
    }

    .return a:hover::before {
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    プロモ
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page_promo {
        padding: 10rem 0 0;
    }

    .page_promo .promo_inner .ttl_wrap {
        margin: 0;
    }

    .page_promo .promo_inner h1 .slug, .page_promo .promo_inner p .slug {
        font-size: 10rem;
    }

    .page_promo .promo_inner h1 .ja, .page_promo .promo_inner p .ja {
        font-size: 3rem;
        padding: 0;
    }

    .page_main_img {
        padding: 8vw 0;
        width: calc(100% - 30px);
    }

    .page_main_img img {
        border-radius: 2.66666666vw;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VISION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .promo_vision {
        background: url("../images/page/vision/vision_promo_sp.jpg");
        height: 130rem;
        background-size: contain;
    }

    .promo_vision .base_width {
    }

    .promo_vision .promo_ttl_wrap {
        top: 52%;
        right: 3rem;
    }

    .promo_vision .promo_ttl_wrap p.lead {
        font: 2.4rem;
    }

    .promo_vision .promo_ttl_wrap h2.main_ttl {
        font-size: 8rem;
    }

    .page_vision > .page_width {
        padding: 12rem 0 0;
        width: 100%;
    }

    .page-vision .message {
        margin-bottom: 18rem;
        width: calc(100% - 12rem);
        margin: 0 auto;
    }

    .page-vision .message h2.main_ttl {
        font-size: 4.4rem;
        text-align: left;
    }

    .page-vision .message .cmn_txt_wrap {
    }

    .page-vision .message .cmn_txt_wrap p {
        font-size: 3.2rem;
        line-height: 2;
    }

    .page-vision .vision_about {
    }

    .page-vision .vision_about::after {
        content: none;
    }

    .page-vision .vision_about ul.items.grid {
        display: flex;
        flex-wrap: wrap;
        gap: 12rem;
    }

    .page-vision .vision_about ul.items.grid::before, .page-vision .vision_about ul.items.grid::after {
        content: none;
    }

    .page-vision .vision_about ul.items.grid::before {
    }

    .page-vision .vision_about ul.items.grid::after {
    }

    .page-vision .vision_about ul.items.grid li {
        width: 100%;
        position: relative;
    }

    .page-vision .vision_about ul.items.grid li:not(:nth-child(2)) {
        padding-bottom: 15rem;
    }

    .page-vision .vision_about ul.items.grid li:not(:nth-child(2))::before, .page-vision .vision_about ul.items.grid li:not(:nth-child(2))::after {
        position: absolute;
        content: "";
        height: 1px;
        background: #000;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        z-index: 1;
        width: 25rem;
    }

    .page-vision .vision_about ul.items.grid li:not(:nth-child(2))::before {
        transform: rotate(45deg);
    }

    .page-vision .vision_about ul.items.grid li:not(:nth-child(2))::after {
        transform: rotate(-45deg);
    }

    /* 1つ目の要素（T）：1行目の「中央（2マスぶち抜き）」に配置 */
    .page-vision .vision_about ul.items.grid li:nth-child(1) {
        order: 1;
    }

    /* 2つ目の要素（H）：2行目の「左側」に配置 */
    .page-vision .vision_about ul.items.grid li:nth-child(2) {
        order: 4;
    }

    /* 3つ目の要素（E）：2行目の「右側」に配置 */
    .page-vision .vision_about ul.items.grid li:nth-child(3) {
        order: 2;
        margin: 0;
    }

    /* 4つ目の要素（C）：3行目の「中央（2マスぶち抜き）」に配置 */
    .page-vision .vision_about ul.items.grid li:nth-child(4) {
        order: 3;
    }

    .page-vision .vision_about ul.items.grid li p.initial {
        font-size: 24rem;
        margin-bottom: 1rem;
    }

    .page-vision .vision_about ul.items.grid li h2.main_ttl {
        font-size: 5.2rem;
        margin-bottom: 1.5rem;
    }

    .page-vision .vision_about ul.items.grid li p.main_txt {
        font-size: 3.2rem;
    }

    .page-vision .vision_about ul.bnr_items {
        min-height: auto;
        flex-direction: column;
    }

    .page-vision .vision_about ul.bnr_items li {
        grid-template-columns: 1fr;
        min-height: 60rem;
    }

    .page-vision .vision_about ul.bnr_items li.emotion {
        background-image: url("../images/page/vision/vision_img01_sp.jpg");
    }

    .page-vision .vision_about ul.bnr_items li.innovation {
        background-image: url("../images/page/vision/vision_img02_sp.jpg");
        
    }

    .page-vision .vision_about ul.bnr_items li.innovation h2 {
        font-size: 6rem;
    }

    .page-vision .vision_about ul.bnr_items li.innovation p.btn {
    }

    .page-vision .vision_about ul.bnr_items li.innovation p.btn a {
    }

    .page-vision .vision_about ul.bnr_items li.innovation p.btn a::after {
    }

    .page-vision .vision_about ul.bnr_items li.creation {
        background-image: url("../images/page/vision/vision_img03_sp.jpg");
    }
    
    .page-vision .vision_about ul.bnr_items li .hover0 {
    display: none;
}

    .page-vision .vision_about ul.bnr_items li .hover_txt {
        opacity: 1;
    }
    
    .page-vision .vision_about ul.bnr_items li .hover_txt h3.ttl a {
    color: #fff;
}

.page-vision .vision_about ul.bnr_items li .hover_txt h3.ttl span {
    display: block;
}

.page-vision .vision_about ul.bnr_items li .hover_txt h3.ttl .ja {
    font-size: 6rem;
}

.page-vision .vision_about ul.bnr_items li .hover_txt h3.ttl .en {
    font-size: 3.2rem;
}
    
.page-vision .vision_about ul.bnr_items li::before, .page-vision .vision_about ul.bnr_items li:not(:last-child)::after {
    position: absolute;
    content: "";
    width: 21rem;
    height: 1px;
    background: #fff;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
}

.page-vision .vision_about ul.bnr_items li:not(:last-child)::before {
    transform: rotate(45deg);
}

.page-vision .vision_about ul.bnr_items li:not(:last-child)::after {
    transform: rotate(-45deg);
}
    
    .page-vision .vision_about ul.bnr_items li .arrow_sp::after {
            position: absolute;
    content: "";
    background: url("../images/common/arrow02.svg") no-repeat 50% /1.6rem .7rem;
    bottom: 4rem;
    right: 4rem;
    width: 3rem;
    height: 3rem;
    border: 1px solid #fff;
    transition: .2s ease-in;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VALUE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page-value-creation .page_promo .promo_inner .promo_ttl {
        font-size: 5.2rem;
    }
    .page_value-creation > .base_width {
        width: 100%;
        min-width: none;
        padding-bottom: 0;
    }

    .page-value-creation .value_sec:not(:last-child) {
        margin-bottom: 35rem;
    }

    .page-value-creation .value_sec .main_bg {
        min-height: 120rem;
        margin-bottom: 10.5rem;
    }

    .page-value-creation .value_sec01 .main_bg {
        background-image: url("../images/page/value/value_main_img01_sp.jpg");
    }

    .page-value-creation .value_sec02 .main_bg {
        background-image: url("../images/page/value/value_main_img02_sp.jpg");
    }

    .page-value-creation .value_sec03 .main_bg {
        background-image: url("../images/page/value/value_main_img03_sp.jpg");
    }

    .page-value-creation .value_sec .main_bg h2.main_ttl {
    }

    .page-value-creation .value_sec .main_bg h2.main_ttl > span {
    }

    .page-value-creation .value_sec .main_bg h2.main_ttl span.en_txt {
        font-size: 3.6rem;
    }

    .page-value-creation .value_sec .main_bg h2.main_ttl span.en span.num {
        font-size: 3.2rem;
    }

    .page-value-creation .value_sec .main_bg h2.main_ttl span.ja {
        font-size: 5.2rem;
    }

    .page-value-creation .value_sec {
        overflow: hidden;
    }

    .page-value-creation .value_sec > .base_width {
        max-width: none;
        min-width: auto;
    }

    .page-value-creation .value_sec .contents {
        padding: 0 1rem;
        margin-bottom: 15.5rem;
    }

    .page-value-creation .value_sec .contents p {
        line-height: 2;
        text-align: left;
    }

    .page-value-creation .value_sec .inner {
        padding: 0 0 0 1rem;
    }

    .page-value-creation .value_sec .inner .ttl_wrap {
    }

    .page-value-creation .value_sec .inner .ttl_wrap h2.main_ttl {
        font-size: 4rem;
        margin-bottom: 3rem;
    }

    .page-value-creation .value_sec .inner .ttl_wrap p.txt {
    }

    .page-value-creation .value_sec .inner ul.items {
        grid-template-columns: 1fr;
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink {
        max-width: none;
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink p.img {
        margin-bottom: 0rem;
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink p.img::after {
        bottom: 3.5rem;
        right: 3.5rem;
        width: 3.2rem;
        height: 3.2rem;
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink p.img img {
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink h3.ttl {
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink h3.ttl a {
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink h3.ttl a span.en {
        font-size: 2.4rem;
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink h3.ttl a span.en::after {
    }

    .page-value-creation .value_sec .inner ul.items li.biggerlink h3.ttl a span.ja {
        font-size: 2.4rem;
    }

    /* リストの親要素（ul） */
    .page-value-creation .value_sec .inner ul.items.sp_slider {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap:0;
    }

    /* 各スライドアイテム（li） */
    .page-value-creation .value_sec .inner ul.items.sp_slider li.biggerlink {
        align-items: flex-start;
        flex-direction: column;
    }

    /* 画像の最小限指定 */
    .page-value-creation .value_sec .inner ul.items.sp_slider li.biggerlink p.img img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
engineering-philosophy
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page-engineering-philosophy .page_promo .promo_inner .promo_ttl {
        font-size: 5.2rem;
    }

    .page-engineering-philosophy .page_promo .promo_inner .page_width {
        max-width: 110rem;
    }

    .page_engineering-philosophy > .base_width {
        padding-bottom: 0;
    }

    .page_engineering-philosophy h3.h3_ttl {
        font-size: 4rem;
    }

    .page_engineering-philosophy p.btn a {
        display: none;
    }

    .page_engineering-philosophy p.btn a::after {
    }

    .page_engineering-philosophy .inner {
    margin-bottom: 20rem;
    }

    .page_engineering-philosophy .inner:nth-child(2) {
    margin-bottom: 37rem;
    }

    .page_engineering-philosophy .inner h2.message {
        font-size: 4.4rem;
    }

    .page_engineering-philosophy .inner .contents {
    }

    .page_engineering-philosophy .inner .contents .f_wrap {
    }

    .page_engineering-philosophy .inner .contents h3.ttl {
        font-size: 4rem;
        margin-bottom: 6rem;
    }

    .page_engineering-philosophy .inner .contents p.txt {
        line-height: 2;
        margin-bottom: 7rem;
    }

    .page_engineering-philosophy .inner .contents .f_wrap p.btn {
    }

    .page_engineering-philosophy .inner .contents .f_wrap p.btn a {
    }

    .page_engineering-philosophy .inner .contents .f_wrap p.btn a::after {
    }

    .page_engineering-philosophy .inner .contents .txt_wrap {
    }

    .page_engineering-philosophy .inner .contents .txt_wrap p.txt:not(:last-child) {
    margin-bottom: 4rem;
    }

    .page_engineering-philosophy .inner:first-child p.img {
        width: 55rem;
    }

    .page_engineering-philosophy .inner:nth-child(2) p.img {
        width: 55.2rem;
    }

    .page_engineering-philosophy .inner:first-child p.img img {
        margin: 0;
    }

    .page_engineering-philosophy .service {
    margin-bottom: 36rem;
    }

    .page_engineering-philosophy .service .f_wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .page_engineering-philosophy .service .f_wrap h3.ttl {
    }

    .page_engineering-philosophy .service .f_wrap p.txt {
    }

    .page_engineering-philosophy .service .f_wrap p.btn {
    }

    .page_engineering-philosophy .service .f_wrap p.btn a {
    }

    .page_engineering-philosophy .service p.lead {
    }

    .page_engineering-philosophy .service ul.items.f_wrap {
        width: calc(100% + 12rem);
        /* 親要素の-12rem分をプラスして100%に戻す */
        margin-left: -6rem;
        /* 左側の余白6rem分はみ出させる */
        margin-right: -6rem;
        /* 右側の余白6rem分はみ出させる */
        max-width: none;
        gap: 0;
    }

    .page_engineering-philosophy .service ul.items.f_wrap li.biggerlink {
        min-height: 60rem;
        flex-direction: column;
        gap: 0;
        justify-content: flex-end;
        width: 100%;
    }

    .page_engineering-philosophy .service ul.items.f_wrap li:nth-child(1) {
        background-image: url("../images/page/service/service_img01_sp.jpg");
    }

    .page_engineering-philosophy .service ul.items.f_wrap li:nth-child(2) {
        background-image: url("../images/page/service/service_img02_sp.jpg");
    }

    .page_engineering-philosophy .service ul.items.f_wrap li::after {
        background-image: url("../images/common/arrow02.svg");
        -webkit-background-size: 9rem 4rem;
        background-size: 1.8rem .8rem;
        width: 3.2rem;
        height: 3.2rem;
        bottom: 4rem;
        right: 3.5rem;
    }

    .page_engineering-philosophy .service ul.items.f_wrap li .txt_block {
        top: auto;
        bottom: 4rem;
        left: 6rem;
    }

    .page_engineering-philosophy .service ul.items.f_wrap li.biggerlink h3.ttl {
        font-size: 4rem;
    }

    .page_engineering-philosophy .service ul.items.f_wrap li.biggerlink p.txt {
        font-size: 2.4rem;
    }

    .page_engineering-philosophy .service ul.items.f_wrap li p.hover_txt {
        display: none;
    }

    .issue {
    }

    .issue .f_wrap {
    margin-bottom: 3rem;
    }

    .issue .f_wrap h3.ttl {
    margin-bottom: 4rem;
    }

    .issue .f_wrap p.txt {
    }

    .issue ol.items {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .issue ol.items li {
        position: relative;
        padding: 4.5rem 10.5rem 3.5rem 4.5rem;
        min-height: 32.2rem;
    }

    .issue ol.items li::after {
        position: absolute;
        content: "+";
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid #646464;
        width: 4rem;
        height: 4rem;
        right: 4.5rem;
        transition: transform .3s ease;
        top: 23rem;
        font-family: "Noto Sans JP","游ゴシック体", "Yu Gothic", "yugothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    }

    .issue ol.items li.active::after {
        content: "-";
        padding-bottom: 1rem;
    }

    .issue ol.items li p.en {
        font-size: 2.4rem;
        padding-right: 4rem;
        margin-bottom: 2rem;
    }

    .issue ol.items li p.en::before {
        height: 2.5rem;
        right: 2.5rem;
        bottom: 0.5rem;
    }

    .issue ol.items li p.en::after {
    }

    .issue ol.items li h3.ttl {
        font-size: 3.6rem;
        min-height: auto;
    }

    .issue ol.items li nav {
        display: none;
        /* 初期状態は非表示（JS側がslideDown時にdisplayを適切に解除します） */
        overflow: hidden;
    }

    .issue ol.items li p.txt {
    }

    .page-engineering-philosophy footer {
        background: #1E1E1E;
    }

    .page-engineering-philosophy footer .f_inner p.home a {
        color: #fff;
    }

    .page-engineering-philosophy footer .f_inner p.contact a {
        color: #fff;
        border-color: #fff;
    }
    
    .page-engineering-philosophy footer .f_inner .sns_area ul.sns_list li a {
        border-color: #fff;
    }
    
    .page-engineering-philosophy footer .f_inner .f_nav_wrap ul.child li a::before {
        background: #fff;
    }
    
    
    
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BIZ (font-sizeのみ残しテンプレート)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .page-business-scope .page_promo .promo_inner .promo_ttl {
        font-size: 5.2rem;
    }

    .page-business-scope > .page_promo .page_width {
    }

    .page-business-scope {
    }

    .page_business-scope > .base_width {
        padding-bottom: 0;
    }

    .page_business-scope .inner {
        flex-direction: column;
        gap: 4rem;
        margin-bottom: 15rem;
    }

    .page_business-scope .inner p.main_lead {
        font-size: 4.4rem;
    }

    .page_business-scope .inner p.main_txt {
        width: 100%;
        line-height: 2;
    }

    .page-business-scope .inner02 {
        margin-bottom: 35rem;
    }

    .page-business-scope .inner02 .ttl_wrap {
        flex-direction: column;
        border: none;
        align-items: flex-start;
        margin-bottom: 11rem;
    }

    .page-business-scope .inner02 .ttl_wrap h3.ttl {
        font-size: 5.2rem;
        display: block;
        border-bottom: 1px solid;
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .page-business-scope .inner02 .ttl_wrap p.txt {
        line-height: 2;
    }

    .page-business-scope .inner02 .box {
    }

    .page-business-scope .inner02 .box p.slug {
        font-size: 3.6rem;
    }

    .page-business-scope .inner02 .box h3.ttl {
        font-size: 4rem;
        margin-bottom: 5rem;
    }

    .page-business-scope .inner02 .box p.txt {
        line-height: 2;
        margin-bottom: 8rem;
    }

    .page-business-scope .inner02 .box p.img {
    }

    .page-business-scope .inner03 {
    }

    .page-business-scope .inner03:not(:last-child) {
        margin-bottom: 35rem;
    }

    .page-business-scope .inner03 .box {
        margin-bottom: 18rem;
    }

    .page-business-scope .inner03 .box p.slug {
        font-size: 3.6rem;
        letter-spacing: .05em;
        margin-bottom: 1.5rem;
    }

    .page-business-scope .inner03 .box p.slug::after {
        right: 3.5rem;
    }

    .page-business-scope .inner03 .box p.slug .num {
        font-size: 2.8rem;
        margin-left: 4rem;
    }

    .page-business-scope .inner03 .box h3.ttl {
        font-size: 4rem;
        line-height: 1.6;
        margin-bottom: 4.5rem;
    }

    .page-business-scope .inner03 .box p.txt {
        line-height: 2;
        margin-bottom: 19rem;
    }

    .page-business-scope .inner03 .box ul.img_wrap.grid {
        grid-template-columns: 1fr;
        gap: 15rem;
    }

    .page-business-scope .inner03 .box ul.img_wrap.grid li {
        display: grid;
    }

    .page-business-scope .inner03 .box ul.img_wrap.grid li p.main_img {
        order: 3;
    }

    .page-business-scope .inner03 .box ul.img_wrap.grid li h3.ttl {
        font-size: 4rem;
        order: 1;
    }

    .page-business-scope .inner03 .box ul.img_wrap.grid li p.txt {
        order: 2;
        line-height: 2;
        margin-bottom: 3rem;
    }

    .page-business-scope .inner03 .box02 {
    }

    .page-business-scope .inner03 .box02 h4.ttl {
        font-size: 1.8rem;
        font-size: 3.6rem;
        padding-left: 2rem;
        margin-bottom: 4rem;
    }

    .page-business-scope .inner03 .box02 ul.items {
        gap: 10rem;
    }

    .page-business-scope .inner03 .box02 ul.items li {
        grid-template-columns: 1fr;
    }

    .page-business-scope .inner03 .box02 ul.items li h5.ttl {
        font-size: 4rem;
        border: none;
        border-bottom: 1px solid;
        margin: 0 0 0rem;
        padding-bottom: 3rem;
    }

    .page-business-scope .inner03 .box02 ul.items li p.txt {
        line-height: 2;
        margin-top: 2rem;
        padding: 0;
    }

    .page-business-scope .faq_wrap {
    }

    .page-business-scope .faq_wrap .ttl_wrap {
    }

    .page-business-scope .faq_wrap .ttl_wrap h2.main_ttl {
    }

    .page-business-scope .faq_wrap .ttl_wrap p.txt {
    }

    .page-business-scope .faq_wrap ol.items {
    }

    .page-business-scope .faq_wrap ol.items li {
    }

    .page-business-scope .faq_wrap ol.items li p.en {
    }

    .page-business-scope .faq_wrap ol.items li h3.ttl {
    }

    .page-business-scope .faq_wrap ol.items li p.main_txt {
    }

    .page-business-scope .issue ol.items li::after {
        top: 17rem;
    }
    
    .issue ol.items.pc_big li p.img {
        width: 53.4rem;
        margin: 0rem auto 2rem;
        opacity: 0;
    }

    .issue ol.items.pc_big li.active p.img {
        opacity: 1;
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SERVICE (空テンプレート)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-services .page_promo .promo_inner .promo_ttl {
    font-size: 5.2rem;
}

.page-services > .page_promo .page_width {
    
}

    .page_services .base_width {
        width: calc(100% - 12rem);
        padding-bottom: 0;
    }

    .page-services h2.message {
        font-size: 4.4rem;
        margin-bottom: 12rem;
    }

    .page-services .se_inner {
        margin-bottom: 36.5rem;
    }

    .page-services .se_inner .box {
    }

    .page-services .se_inner .box:not(:last-of-type) {
        margin-bottom: 15.5rem;
    }

    .page-services .se_inner .box h3.ttl {
        font-size: 4rem;
        line-height: 1.6;
        margin-bottom: 4rem;
    }

    .page-services .se_inner .box p.txt {
        line-height: 2;
    }

    .page-services .process:not(.process02) {
        margin-bottom: 37rem;
    }

    .page-services .process .ttl_wrap.f_wrap {
        margin-bottom: 8rem;
    }

    .page-services .process .ttl_wrap.f_wrap h3.ttl {
        font-size: 4rem;
        margin-bottom: 2.5rem;
    }

    .page-services .process .ttl_wrap.f_wrap p.txt {
        font-size: 3.2rem;
    }

    .page-services .process ol.items {
        grid-template-columns: 1fr;
        gap: 16rem 0;
    }

    .page-services .process ol.items li p.en {
        font-size: 2.4rem;
        padding-right: 4.5rem;
        margin-bottom: 3rem;
    }

    .page-services .process ol.items li:nth-child(n+10) p.en {
        padding-right: 6rem;
    }

    .page-services .process ol.items li p.en::before {
        height: 2rem;
        bottom: 1rem;
        right: 2.5rem;
    }

    .page-services .process ol.items li:nth-child(n+10) p.en::before {
        right: 4rem;
    }

    .page-services .process ol.items li p.en::after {
    }

    .page-services .process ol.items li h4.ttl {
        font-size: 4.8rem;
    }

    .page-services .process ol.items li .f_wrap.english {
        position: relative;
        flex-direction: column;
        /* display: grid; */
        gap: 1rem;
        margin-bottom: -0.5rem;
    }

    .page-services .process ol.items li .f_wrap.english::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 1px;
        background: #fff;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
    }

    .page-services .process02 ol.items li .f_wrap.english::after {
        top: auto;
        transform: none;
        bottom: -1rem;
    }

    .page-services .process ol.items li .f_wrap.english span {
        font-size: 2.4rem;
        display: block;
    }

    .page-services .process ol.items li .f_wrap.english span.en02 {
        text-align: right;
        margin-left: auto;
        display: grid;
        margin-top: 1.5rem;
    }

    .page-services .process ol.items li p.txt {
        border: none;
        line-height: 2;
    }

    .page-services .process ol.items li.WELDER p.txt {
        margin-bottom: 2rem;
    }

    .page-services .process ol.items li.GRINDER p.txt {
        margin-bottom: 2rem;
    }

    .page-services .process ol.items li p.img img {
    }

    .page-services .issue.flow {
        margin-bottom: 37rem;
    }

    .page-services .issue.flow .f_wrap {
        margin-bottom: 7rem;
    }

    .page-services .issue.flow .f_wrap h3.ttl.h3_ttl {
        font-size: 4rem;
        margin-bottom: 1rem;
    }

    .page-services .issue.flow .f_wrap p.txt {
    }

    .page-services .issue.flow ol.items {
        grid-template-columns: 1fr;
        gap: 4rem 0;
    }

    .page-services .issue.flow ol.items li.nav-open-sp {
        min-height: auto;
        padding: 4.5rem 5rem 2rem;
        border: 1px solid #646464;
    }

    .page-services .issue.flow ol.items li.nav-open-sp::after {
        top: 12rem;
        right: 5rem;
    }

    .page-services .issue.flow ol.items li.nav-open-sp:nth-child(10) p.en {
        padding-right: 5rem;
    }

    .page-services .issue.flow ol.items li.nav-open-sp:nth-child(10) p.en::before {
        right: 3.5rem;
    }

    .page-services .issue.flow ol.items li.nav-open-sp nav p.txt {
        font-size: 3.2rem;
    }

    .page-services .issue.flow ol.items li.nav-open-sp nav .list_items {
    }

    .page-services .issue.flow ol.items li.nav-open-sp nav .list_items p.ttl {
    }

    .page-services .issue.flow ol.items li.nav-open-sp nav .list_items p.ttl::before {
    }

    .page-services .issue.flow ol.items li.nav-open-sp nav .list_items p.sub_txt {
    }
    
    .page-services footer {
        background: #1E1E1E;
    }

    .page-services footer .f_inner p.home a {
        color: #fff;
    }

    .page-services footer .f_inner p.contact a {
        color: #fff;
        border-color: #fff;
    }
    
    .page-services footer .f_inner .sns_area ul.sns_list li a {
        border-color: #fff;
    }
    
    .page-services footer .f_inner .f_nav_wrap ul.child li a::before {
        background: #fff;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tech-action (空テンプレート)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page-tech-action .page_promo .promo_inner .promo_ttl::after {
    content: none;
}
    
    .page_tech-action {
    }

    .page_tech-action > .base_width {
        width: 100%;
    }

    .page_tech-action .base_width .base_width {
        width: calc(100% - 12rem);
    }

    .page_tech-action .base_width .inner {
    }

    .page_tech-action .base_width .inner h2.main_ttl {
        font-size: 4.4rem;
        line-height: 1.636363636;
        margin-bottom: 5rem;
    }

    .page_tech-action .base_width .inner .txt_wrap {
        width: 100%;
    }

    .page_tech-action .base_width .inner .txt_wrap p {
        line-height: 2;
    }

    .page_tech-action .base_width .inner .txt_wrap p:not(:last-child):not(.pc):not(.sp) {
        margin-bottom: 4rem;
    }

    .page_tech-action ul.items {
        flex-direction: column;
        width: 100%;
        margin-top: 20rem;
    }

    .page_tech-action ul.items li {
        min-height: 52rem;
        padding: 6rem 8rem;
    }

    .page_tech-action ul.items li::before {    position: absolute;
    content: "";
    width: 3.2rem;
    height: 3.2rem;
    border: 1px solid #fff;
    transition: .2s ease-in;
    background: url("../images/common/arrow02.svg") no-repeat 50% /1.6rem .7rem;
    bottom: 4rem;
    right: 4rem;
    }

    .page_tech-action ul.items li:nth-child(1)::after {
    }

    .page_tech-action ul.items li:nth-child(2)::after {
    }

    .page_tech-action ul.items li h3.ttl {
        position: relative;
    }

    .page_tech-action ul.items li h3.ttl::before {
        position: absolute;
        content: "";
        width: 1px;
        height: 16rem;
        background: #fff;
        top: -6rem;
        left: -2rem;
    }

    .page_tech-action ul.items li h3.ttl a {
        flex-direction: column;
        align-items: flex-start;
    }

    .page_tech-action ul.items li h3.ttl a::after {
        content: none;
    }

    .page_tech-action ul.items li h3.ttl a span {
    }

    .page_tech-action ul.items li h3.ttl a span.en {
        font-size: 3.6rem;
        margin-bottom: -2.5rem;
    }

    .page_tech-action ul.items li h3.ttl a span.ja {
        font-size: 2.8rem;
    }

    .page_tech-action ul.items li p.slug {
        font-size: 2.4rem;
        position: absolute;
        top: 2rem;
        right: 3.5rem;
    }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プライバシーポリシー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page-privacypolicy .page_promo .promo_inner .promo_ttl,
    .page-environmentalpolicy .page_promo .promo_inner .promo_ttl {
        font-size: 5.2rem;
        letter-spacing: .03em;
    }

    .page-privacypolicy .page_promo .page_width {
    }

    .page_privacypolicy > .base_width ,
    .page_environmentalpolicy > .base_width {
        padding-bottom: 0;
    }

    .policy_wrap ul.indent {
    }

    .policy_wrap ul.indent li {
    }

    .policy_wrap {
    }

    .policy_wrap p.main_lead {
        line-height: 2;
        margin-bottom: 14rem;
    }

    .policy_wrap .box {
    }

    .policy_wrap .box:not(:last-child) {
        margin-bottom: 10rem;
    }

    .policy_wrap .box h3.ttl {
        font-size: 3.6rem;
    }

    .policy_wrap .box p {
        line-height: 1.625;
    }

    .policy_wrap .box ul.indent {
    }

    .policy_wrap .box ul.indent li {
    }

    .policy_wrap .box p.seitei {
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
404
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page_promo.letter404 {
        background-position: 69%;
    }
    
    .page_404 > .page_width {
        padding: 6rem 0 0;
    }

    .page_404 p.txt {
        text-align: left;
        margin-bottom: 4.5rem;
        font-size: 3.2rem;
        line-height: 2;
    }

    .page_404 p.btn {
    }

    .page_404 p.btn a {
        min-width: auto;
        font-size: 3rem;
        border-radius: 8rem;
        width: 48rem;
        height: 8rem;
        padding: 3vw 35px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .page_404 p.btn a:hover {
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ABOUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page-about .page_promo .promo_inner .promo_ttl {
        font-size: 5.2rem;
    }

    .page_about .base_width {
        width: 100%;
        padding-bottom: 0;
    }

    .page_about .about_inner .box.biggelink {
        min-height: auto;
        border-radius: 0;
        margin-bottom: 11rem;
    }

    .page_about .about_inner .box.biggelink p.bg {
        position: relative;
        top: auto;
        left: auto;
    }

    .page_about .about_inner .box.biggelink p.bg::after {
        position: absolute;
        content: "";
        background: url("../images/common/arrow02.svg") no-repeat 50% /1.6rem .7rem;
        width: 3.2rem;
        height: 3.2rem;
        bottom: 4rem;
        right: 3.5rem;
        border: 1px solid #fff;
    }

    .page_about .about_inner .box.biggelink .contents {
        color: inherit;
        position: static;
        width: calc(100% - 12rem);
        margin: 0 auto;
    }

    .page_about .about_inner .box.biggelink .contents h2.main_ttl {
        display: none;
    }

    .page_about .about_inner .box.biggelink .contents h3.sub_ttl {
        margin: 3rem 0 0;
    }

    .page_about .about_inner .box.biggelink .contents h3.sub_ttl span.en {
        font-size: 4.4rem;
    }

    .page_about .about_inner .box.biggelink .contents h3.sub_ttl span.ja {
        font-size: 2.4rem;
    }

    .page_about .about_inner .box.biggelink .contents p.btn a {
        font-size: 1.8rem;
    }

    .page_about .about_inner .box.biggelink .contents p.btn a::after {
        content: none;
    }

    .page_about .about_inner ul.items.grid {
        grid-template-columns: 1fr;
        gap: 16rem;
    }

    .page_about .about_inner ul.items.grid li.biggerlink {
        min-height: auto;
        border-radius: 0;
    }

    .page_about .about_inner ul.items.grid li.biggerlink p.bg {
        position: relative;
        bottom: auto;
        left: auto;
        margin-bottom: 3.5rem;
    }

    .page_about .about_inner ul.items.grid li.biggerlink p.bg::after {
        position: absolute;
        content: "";
        background: url("../images/common/arrow02.svg") no-repeat 50% /1.6rem .7rem;
        width: 3.2rem;
        height: 3.2rem;
        bottom: 4rem;
        right: 3.5rem;
        border: 1px solid #fff;
    }

    .page_about .about_inner ul.items.grid li.biggerlink h3.sub_ttl {
        position: static;
        width: calc(100% - 12rem);
        margin: 0 auto;
    }

    .page_about .about_inner ul.items.grid li.biggerlink h3.sub_ttl a {
        color: inherit;
    }

    .page_about .about_inner ul.items.grid li.biggerlink h3.sub_ttl a span.en {
        font-size: 4.4rem;
    }

    .page_about .about_inner ul.items.grid li.biggerlink h3.sub_ttl a span.ja {
        font-size: 2.4rem;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MESSAGE 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .promo_message {
        background-image: url("../images/page/about/message/message_mv_sp.jpg");
    }

    .page_message {
    }

    .page_message .page_width {
        padding-top: 11rem;
        padding-bottom: 0;
    }

    .page_message div.inner {
    }

    .page_message div.inner h2.main_ttl {
        font-size: 4.4rem;
        margin-bottom: 6.5rem;
    }

    .page_message div.inner div.txt_wrap {
        margin-bottom: 9rem;
    }

    .page_message div.inner div.txt_wrap p {
        line-height: 2;
    }

    .page_message div.inner div.txt_wrap p:not(:last-child) {
        margin-bottom: 7rem;
    }

    .page_message div.inner div.profile_wrap {
    }

    .page_message div.inner div.profile_wrap p.company {
    }

    .page_message div.inner div.profile_wrap p.position {
    }

    .page_message div.inner div.profile_wrap p.name {
        width: 30rem;
        margin-top: 3rem;
    }

    .page_message div.inner div.profile_wrap p.name img.alignnone.size-full {
    }

    ul.about_btn_wrap.f_wrap {
        flex-direction: column;
        max-width: 40rem;
        margin: 19rem auto 0;
    }

    ul.about_btn_wrap.f_wrap li {
        width: 100%;
    }

    ul.about_btn_wrap.f_wrap li a {
        font-size: 3.6rem;
        font-family: "Cormorant Garamond", serif;
        padding: 0 2rem;
    }

    ul.about_btn_wrap.f_wrap li a::after {
        width: 6rem;
        height: 4rem;
        right: 2rem;
        bottom: 0;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HISTORY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .promo_history {
        background-image: url("../images/page/about/history/history_mv_sp.jpg");
    }

    .page_history > .page_width {
        padding-top: 12rem;
        padding-bottom: 0;
    }

    .history_wrap {
    }

    .history_wrap div.inner {
    }

    .history_wrap div.inner:not(:last-of-type) dl {
        padding-bottom: 14rem;
    }

    .history_wrap div.inner:has(.small):not(:last-of-type) dl {
        padding-bottom: 4.5rem;
    }

    .history_wrap div.inner.mb_under_small dl {
        padding-bottom: 4rem;
    }

    .history_wrap div.inner.mb_under_big dl {
        padding-bottom: 14rem !important;
    }

    .history_wrap div.inner dl {
        grid-template-columns: 1fr;
    }

    .history_wrap div.inner:last-of-type dl {
        padding-bottom: 14rem;
    }

    .history_wrap div.inner dl dt {
    }

    .history_wrap div.inner dl::before {
    }

    .history_wrap div.inner dl dt p.period {
        padding: 0 3.5rem;
        margin-bottom: 6rem;
    }

    .history_wrap div.inner dl dt p.period::after {
    }

    .history_wrap div.inner dl dt p.year {
        font-size: 4.8rem;
        padding-left: 5rem;
    }

    .history_wrap div.inner dl dt p.year.small {
        font-size: 3.2rem;
    }

    .history_wrap div.inner dl dt p.year::before, .history_wrap div.inner dl dt p.year::after {
    }

    .history_wrap div.inner dl dt p.year::before {
        width: 2.4rem;
        height: 2.4rem;
        left: -1.2rem;
    }

    .history_wrap div.inner dl dt p.year::after {
        width: 4rem;
    }

    .history_wrap div.inner dl dd {
        padding-left: 5rem;
    }

    .history_wrap div.inner dl dd h3.ttl {
        font-size: 4rem;
        margin-bottom: 2rem;
    }

    .history_wrap div.inner dl:has(.period) dd {
        margin-top: 3rem;
    }

    .history_wrap div.inner dl dd div.contents.grid {
        grid-template-columns: 1fr;
    }

    .history_wrap div.inner dl dd div.contents.grid:has(p.img) {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .history_wrap div.inner dl dd div.contents.grid p.txt {
        line-height: 2;
        padding-right: 2rem;
    }

    .history_wrap div.inner dl dd div.contents.grid:not(:has(p.img)) p.txt {
        padding: 0;
        /* line-height: 1.5; */
    }

    .history_wrap div.inner dl dd div.contents.grid p.txt span {
    }

    .history_wrap div.inner dl dd div.contents.grid p.txt span:not(:last-child) {
        margin-bottom: 5rem;
    }

    .history_wrap div.inner dl dd div.contents.grid p.img {
        width: 58rem;
        margin-left: auto;
    }

    .history_wrap div.inner dl dd div.contents.grid p.img img.alignnone.size-full {
    }
    
    
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .promo_overview {
        background: url("../images/page/about/overview/overview_mv_sp.jpg") no-repeat 50% /cover;
    }

    .page_overview > .page_width {
        padding-top: 11.5rem;
        padding-bottom: 0;
    }

    .page_overview {
    }

    .page_overview dl.info_list {
        display: grid;
        gap: 7.5rem;
    }

    .page_overview dl.info_list .item.grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .page_overview dl.info_list .item.grid dt, .page_overview dl.info_list .item.grid dd {
    }

    .page_overview dl.info_list .item.grid dt {
    }

    .page_overview dl.info_list .item.grid dd {
    }

    .page_overview dl.info_list .item.grid dd .txt_wrap {
    }

    .page_overview dl.info_list .item.grid dd .txt_wrap p {
    }

    .page_overview dl.info_list .item.grid dd .txt_wrap p:not(:last-child) {
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner {
        width: 100%;
        display: block;
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner:not(:last-child) {
        margin-bottom: 3rem;
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner p.addr {
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner p.map {
        margin-bottom: 2rem;
        text-align: right;
        margin-top: 3rem;
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner p.map a {
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner p.map a::before , .page_overview dl.info_list .item.grid dd .f_wrap.inner p.map a::after {
        width: 6rem;
        height: 6rem;
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner p.map a::before {
        border: 1px solid #000;
    }

    .page_overview dl.info_list .item.grid dd .f_wrap.inner p.map a::after {
        mask-size: 3.2rem auto;
    }

    /* owari */
}

