@charset "UTF-8";
/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
@media screen and (max-width:900px) {
    :root{
        --sectionPadding: 50px;
        --innerPadding: 7%;
        --headerHeight: 60px;
        --breadcrumbHeight: 0;
    }
    body{
        font-size: 14px;
    }
    .inner{padding: 0 var(--innerPadding);}
    a[href*=tel]{pointer-events: auto;}
}

@media screen and (max-width:900px) {
    .pc_cont{display: none !important;}
    .sp_cont{display: block !important;}
    /* =========== /max-width:900px =========== */
}
/* ============================================== */
/*                 追加CSSクラス                  */
/* ============================================== */
@media screen and (max-width:900px) {
    .mb0  {margin-bottom: 0;}
    .mb10 {margin-bottom: 5px;}
    .mb20 {margin-bottom: 10px;}
    .mb30 {margin-bottom: 15px;}
    .mb40 {margin-bottom: 20px;}
    .mb50 {margin-bottom: 25px;}
    .mb60 {margin-bottom: 30px;}
    .mb70 {margin-bottom: 350px;}
    .mb80 {margin-bottom: 40px;}
    .mb90 {margin-bottom: 45px;}
    .mb100{margin-bottom: 50px;}
}
/* -----------------------------------------------------------
template
----------------------------------------------------------- */
@media screen and (max-width:1200px) {
    /* ============================================== */
    /*              ハンバーガーメニュー              */
    /* ============================================== */
    header .header_r{display: none;}
    .ham {display: block;}
    /* ============================================== */
    /*     ナビゲーション（ヘッダー、フッター共通）      */
    /* ============================================== */
    .header_cont + nav,
    .header_cont + nav + .nav_bg{display: block;}
    .header_cont + nav{
        z-index: 10;
        max-height: calc(100svh - var(--headerHeight));
        overflow-y: auto;
    }
    nav{padding: 0;}
    nav .inner{padding: 0;}
    nav .inner > ul{flex-direction: column;}
    nav .inner > ul li{width: 100%;}
    nav .inner > ul > li li.third{padding: 0;}
    nav .inner > ul > li > p,
    nav .inner > ul > li li > p{
        background: #e0e0e0;
        border-color: #ccc;
        padding: 0;
    }
    nav .inner > ul > li > p,
    nav .inner > ul > li > .ac:not(:first-of-type){margin: 0;}
    nav .inner > ul li p a{
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        min-height: 40px;
        padding: 0.8em 50px;
    }
    nav .inner > ul > li li:not(:has(p)) a{
        display: flex;
        align-items: center;
        font-size: 13px;
        min-height: 40px;
        padding: 0.8em 50px .8em calc(50px + 1.2em);
        border-top: 1px solid #ccc;
        background: #eee;
    }
    nav .inner > ul > li li:not(:has(p)).third a{padding-left: calc(50px + 1.2em * 2);}
    nav .inner > ul > li li:not(:has(p)) a,
    nav .inner > ul > li li > p:not(.ac) a{
        position: relative;
        z-index: 0;
    }
    nav .inner > ul > li li:not(:has(p)) a::before,
    nav .inner > ul > li li > p:not(.ac) a::before{
        position: absolute;
        z-index: 0;
        inset: -100% 26px -100% auto;
        margin: auto;
        content: '';
        width: auto;
        height: 100%;
        aspect-ratio: 1;
        transform: rotate(90deg);
        background: var(--txtColor_sub02);
        -webkit-mask: url(../img/common/ico/arw_menu.svg) no-repeat center / 19px 10px;
                mask: url(../img/common/ico/arw_menu.svg) no-repeat center / 19px 10px;
    }

    /* ac */
    nav .inner > ul > li > ul:not(:has(p)){display: none;}
    nav .inner > ul > li > .ac{padding: 0 32px 0 0;}
    nav .inner > ul > li > .ac > span{
        display: block;
        right: 25px;
    }
    nav .inner > ul > li li > p{padding-top: 0;}
    nav .inner > ul > li li > p:not(.ac){margin: 0;}

}
@media screen and (max-width:900px) {
    /* ============================================== */
    /*                    ヘッダー                    */
    /* ============================================== */
    header{padding: 0 5%;}
    .logo{
        width: 180px;
        height: 29px;
    }
    /* ============================================== */
    /*              ハンバーガーメニュー              */
    /* ============================================== */
    .ham{
        width: 40px;
        height: 40px;
    }
    .ham span,
    .ham::before,
    .ham::after{width: 18px;}
    .ham::before{top: calc(50% - 8px);}
    .ham::after{top: calc(50% + 8px);}

    /* ============================================== */
    /*     ナビゲーション（ヘッダー、フッター共通）      */
    /* ============================================== */
    nav .inner > ul li p a{padding: 0 var(--innerPadding);}
    nav .inner > ul > li li:not(:has(p)) a{padding: 0 var(--innerPadding) 0 calc(var(--innerPadding) + 1.2em);}
    nav .inner > ul > li li:not(:has(p)).third a{padding: 0 var(--innerPadding) 0 calc(var(--innerPadding) + 1.2em * 2);}
    /* nav .inner > ul li p a{} */
    /* ac */
    nav .inner > ul > li > .ac > span,
    nav .inner > ul > li li:not(:has(p)) a::before,
    nav .inner > ul > li li > p:not(.ac) a::before{right: 5%;}
    /* ============================================== */
    /*              パンくず              */
    /* ============================================== */
    .breadcrumbs{display: none;}
    /* ============================================== */
    /*                    フッター                    */
    /* ============================================== */
    /* f_middle */
    footer .f_middle{padding-block: 1.4em;}
    footer .f_middle ul{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 1em;
    }
    footer .f_middle ul li{
        border: none;
        padding: 0;
    }
    /* f_bottom */
    footer .f_bottom .logo{margin: 0 auto 15px;}
    footer .f_bottom p{
        font-size: 12px;
        line-height: 1.75;
    }
    /* pagetop */
    .pagetop{inset: auto 14px 16px auto;}
    /* バナー */
    .home_bnr{
        width: 80vw;
        max-width: 255px;
        filter: drop-shadow(0 0 8px #070101);
    }
    .home_bnr span{
        top: -10px;
        width: 20px;
        filter: drop-shadow(0 0 2px #000);
    }
    .home_bnr span::before,
    .home_bnr span::after{
        width: 14px;
        height: 2px;
    }
}
/* -----------------------------------------------------------
common_parts
----------------------------------------------------------- */
@media screen and (max-width:900px) {
    /* キービジュアル */
    .kv_wrapper::before{min-width: 100%;}
    .kv_sub{
        --kvHeight: 315px;
        display: flex;
        padding: 0;
    }
    .kv_sub:not(:has(.en)){--kvHeight: 160px;}
    .kv_sub .flex{column-gap: 5%;}
    .kv_sub .flex figure{
        width: 90px;
    }
    .kv_sub .en{font-size: 24px;}
    .kv_sub h1,
    .kv_sub .kv_ttl{font-size: 24px;}
    .kv_sub .cap{font-size: 13px;}
    /*  */
    .page_business:not(.service) .kv_sub .flex > div{width: calc(100% - 90px);}
    /* ボタン */
    .page_group.page_sub article > .inner > .btn a,
    hr + .btn a{
        font-size: 16px;
        min-width: 160px;
        min-height: 40px;
    }

    /* その他の事業 */
    .other_business h2{
        margin: 0 0 1em;
        padding-bottom: .7em;
    }
    .other_business ul{gap: 15px;}
    .other_business ul:not(:last-of-type){margin: 0 0 30px;}
    .other_business ul li{width: 100%;}
    .other_business ul li a{column-gap: 15px;}
    .other_business ul li a p{font-size: 18px;}
    /* サービス回遊セクション */
    .crosslink_srv .ttl_cont{
        flex-direction: column;
        row-gap: 10px;
    }
    .crosslink_srv .ttl_cont ul{width: 100%;}
    .crosslink_srv .ttl_cont .ttl a{width: auto;}
    .crosslink_srv .ttl_cont .ttl .en{font-size: 45px;}
    .crosslink_srv .ttl_cont .ttl h2{font-size: 18px;}
    .crosslink_srv .ttl_cont ul li{font-size: 18px;}
    .crosslink_srv .inner > ul,
    .crosslink_srv > ul{flex-direction: column;}
    .crosslink_srv .inner > ul{row-gap: 10px;}
    .crosslink_srv > ul{row-gap: 50px;}
    .crosslink_srv .inner > ul li,
    .crosslink_srv > ul li{
        font-size: 18px;
        width: 100%;
        max-width: 100%;
    }
    .crosslink_srv .ttl_cont + p,
    .crosslink_srv .ttl_cont .ttl .cap{margin: 0 0 25px;}
}

/* -----------------------------------------------------------
subpage
----------------------------------------------------------- */
/* 共通設定
============================================ */
@media screen and (max-width:900px) {
    /* 見出し */
    /* 見出し - h2 */
    .editor_contents h2,
    main section h2,
    .other_business h2{font-size: 24px;}
    .editor_contents h2.h2_privacy{font-size: 16px;}

    /* 見出し - h3 */
    .editor_contents h3{font-size: 22px;}
    /* 見出し - h4 */
    /* 見出し - h5 */
    /* 見出し - h6 */
    /* link list */
    /* dl_wrapper */
    /* カラム */
    .wp-block-columns{
        flex-direction: column;
        row-gap: 20px;
        row-gap: calc(var(--sectionPadding) / 2);
    }
    .wp-block-columns > div{width: 100% !important;}
    /* テーブル */
    .editor_contents .wp-block-table{overflow-x: auto;}
    .editor_contents .wp-block-table table{
        width: 100%;
        min-width: 690px;
    }
    .editor_contents .wp-block-table table tr td{--hWidth: 110px;}
    .editor_contents .wp-block-table table tr td:nth-of-type(2) dl{flex-direction: column;}
    .simplebar-content:after, .simplebar-content:before{display: block;}
    .simplebar-track.simplebar-horizontal{height: 9px !important;}
    .simplebar-scrollbar:before{
        /* background: var(--mainBlue) !important; */
        opacity: 0.6 !important;
    }
    .editor_contents .wp-block-file a{font-size: 14px;}
    /* indent box */
    .editor_contents .indent_box,
    .editor_contents .indent_box .indent_box{padding-left: 0;}
    /* .map_cont */
    .editor_contents .map_cont p{font-size: 16px;}
    /* その他 */
}
.simplebar-wrapper{padding-bottom: 15px;}

/* 事業領域
============================================ */
@media screen and (max-width:900px) {
    body:has(.page_business) .crosslink_srv .inner > ul li a{
        justify-content: flex-start;
        padding: .5em 1em;
        min-height: 55px;
    }
}
/* 事業領域 - サービス
============================================ */
@media screen and (max-width:900px) {
}
/* 扉共通
============================================ */
@media screen and (max-width:900px) {
    .page_portal .kv_sub .en{font-size: 32px;}
    .page_portal .kv_sub h1{font-size: 45px;}
}
/* 事業領域 - 扉（portal01）
============================================ */
@media screen and (max-width:900px) {
    /* その他の事業 */
    .portal01.page_business.service .other_business .ttl_cont{
        align-items: flex-start;
    }
}
/* 企業情報
============================================ */
@media screen and (max-width:900px) {
}

/* 企業情報 - 社長挨拶
============================================ */
@media screen and (max-width:900px) {
    .page_message .message_area .flex{
        flex-direction: column;
        padding: calc(var(--sectionPadding) / 2) 0 0;
    }
    .page_message .message_area h2{font-size: 18px;}
    .page_message .message_area figure{
        width: 90%;
        max-width: 400px;
    }
    .page_message .editor_contents .pres_sign{
        max-width: 140px;
        margin: 40px 0 0 auto;
    }
}
/* 企業情報 - CPフィロソフィー
============================================ */
@media screen and (max-width:900px) {
    .page_philosophy .editor_contents.edit h2:nth-of-type(1){font-size:  max(6.42vw, 24px);}
    .page_philosophy .editor_contents.edit h2:nth-of-type(2){font-size: max(3.2vw, 12px);}
    .page_philosophy .editor_contents.edit .inner > .philo_copy{margin: 0 0 25px;}
    .page_philosophy .editor_contents.edit .inner .philo_copy p{font-size: max(3.2vw, 12px);}
}
/* グループ拠点 一覧
============================================ */
@media screen and (max-width:900px) {
    /* group_anc */
    .page_group .group_anc,
    .page_group .group_anc ul{
        flex-direction: column;
        align-items: flex-start;
    }
    .page_group .group_anc p a,
    .page_group .group_anc ul li a{font-size: 16px;}
    .page_group .group_anc p{
        margin-right: 0;
        padding-right: 0;
        padding-bottom: 0.6em;
        margin-bottom: 0.5em;
        border: none;
        border-bottom: 1px solid;
    }
    /* コンテンツ */
    .page_group .editor_contents .indent_box ul li a,
    .page_group .editor_contents .indent_box ul li:not(:has(a)){
        flex-direction: column;
        align-items: flex-start;
        row-gap: .5em;
        padding: 15px;
    }
    .page_group .editor_contents .indent_box ul li div{width: 100%;}
    .page_group .editor_contents .indent_box ul li h1,
    .page_group .editor_contents .indent_box ul li h4{font-size: 20px;}
    .page_group .editor_contents .indent_box ul li div p span{
        display: block;
        margin: 0;
    }
    .page_group .editor_contents .indent_box ul li .btn{
        width: auto;
        margin-inline: auto 0;
        min-height: 28px;
    }
}
/* グループ拠点 下層
============================================ */
@media screen and (max-width:900px) {
    .page_group.page_sub article > .inner > .btn a{
        font-size: 16px;
        min-width: 160px;
        min-height: 40px;
    }
}
/* 企業情報 扉
============================================ */
@media screen and (max-width:900px) {
    .portal02 .editor_contents .bg_area{padding-block: var(--sectionPadding);}
    .portal02 .editor_contents .bg_area .inner{padding: 0 var(--innerPadding);}
    /* card_links */
    .card_links > section:not(:last-of-type){margin-bottom: 60px !important;}
    .card_links > section a{flex-direction: column !important;}
    .card_links > section a figure{
        position: static !important;
        width: 100%;
        height: auto !important;
        aspect-ratio: 300 / 194 !important;
    }
    .card_links > section a figure img{width: 100%;height: 100%;object-fit: cover;}
    .card_links > section a > div{
        width: 100%;
        padding: 0 !important;
    }
    .card_links > section a > div .card_inner{margin: 0 !important;}
    .card_links > section a > div .ttl{
        min-height: 135px;
        padding: 25px 20px !important;
    }
    .card_links > section a > div .ttl::before{display: none;}
    .card_links > section a > div .ttl .en{
        font-size: 36px;
        margin: 0 0 .7em;
    }
    .card_links > section a > div .ttl h2{
        font-size: 18px;
        margin: 0;
    }
    .card_links > section a .desc{padding: 0 !important;}
    /* portal02 */
    .portal02 .card_links > section a .desc p{margin-bottom: 1em;}
    .portal02 .card_links > section a > div .desc .btn{
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
        margin: 0;
        border: 1px solid #fff;
    }
    /* .section_links */
    .section_links{row-gap: 30px;}
    .section_links > section{width: 100%;}
    .section_links > section a{--sidePadding: 20px;}
    .section_links > section a .flex{padding-block: 17px;}
    .section_links > section a .flex h2{font-size: 18px;}
    .section_links > section a .flex .btn{
        font-size: 12px;
        min-width: 80px;
        min-height: 22px;
    }
    .portal02 .card_links + ul{
        margin: 1.5em 0 0;
        padding: 0;
        flex-direction: column;
    }
    .portal02 .card_links + ul li a{font-size: 18px;}
}
/* IR情報
============================================ */
@media screen and (max-width:900px) {
    .ir_cross .box_wrapper{
        flex-direction: column;
        row-gap: 20px;
    }
    .ir_cross .box_wrapper > div{width: 100%;}
    .ir_cross .ir_bottom ul{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 5px;
    }
    .ir_cross .ir_bottom ul li{
        padding: 0;
        border: none !important;
    }
    /* 下層 */
    .page_ir.page_sub .ac h2{
        font-size: 20px;
        padding-right: 2em;
    }
}
/* サステナビリティ
============================================ */
@media screen and (max-width:900px) {
  .portal02.sustainability .editor_contents .sustainability_heading {padding: 40px var(--innerPadding);}
  .portal02.sustainability .editor_contents .sustainability_heading h2 {font-size: 27px;}
  .portal02.sustainability .editor_contents .sustainability_heading p {
    font-size: 16px;
    text-align: left;
  }
  .portal02.sustainability .card_links > section a{min-height: initial;}
  .portal02.sustainability .card_links > section a > div .ttl h2 {font-size: 24px;}
  .portal02.sustainability .bottom{
    flex-direction: column;
    padding-top: 1em;
  }
  .portal02.sustainability .bottom > section{max-width: 100%;}
  /* 下層 */
  .page_sub.page_sustainability .heading_anc p {font-size: 27px;}
  .page_sub.page_sustainability .heading_anc ul {
    flex-wrap: wrap;
    margin: 0 auto 50px;
  }
  .page_sub.page_sustainability .heading_anc ul li {
    height: auto;
    margin: 0 0 15px;
  }
  .page_sub.page_sustainability.page_policy .heading_anc ul li {width: 100%;}
  .page_sub.page_sustainability.page_materiality .heading_anc ul li {width: 100%;}
  .page_sub.page_sustainability .heading_anc ul li a {
    font-size: 16px;
    padding: 0.75em;
    transition: 0s;
  }
  .page_sub.page_sustainability .heading_anc ul li a:hover {opacity: 1;}
  .page_sub.page_sustainability .heading_anc ul li a br {display: none;}
  .materiality_process {flex-wrap: wrap;}
  .materiality_process dl {
    width: 100%;
    margin: 0 auto 10%;
  }
  .materiality_process dl dt {
    font-size: 18px;
    padding: 10px;
  }
  .materiality_process dl dd {padding: 10px;}
  .materiality_process dl::after {
    width: 5%;
    height: 8%;
    aspect-ratio: 5 / 6;
    clip-path: polygon(0 0,100% 0 ,50% 100%);
    inset: 103% 0 auto;
  }
  .page_sub.page_sustainability .editor_contents .sdgs_flex {margin: 0 auto 20px;}
  .page_sub.page_sustainability .editor_contents .sdgs_flex > section {
    width: 100%;
    margin: 0 0 20px;
  }
  .page_sub.page_sustainability .editor_contents .sdgs_flex section > div {
    flex-wrap: wrap;
    min-height: auto;
  }
  .page_sub.page_sustainability .editor_contents .sdgs_flex section > div h3 {
    width: 100%;
    font-size: 13px;
    padding: 15px;
  }
  .page_sub.page_sustainability .editor_contents .sdgs_flex section > div h3 span span {font-size: 1.5em;}
  .page_sub.page_sustainability .editor_contents .sdgs_flex section > div > div {
    justify-content: flex-start;
    width: 100%;
  }
  .page_sub.page_sustainability .editor_contents .sdgs_flex section > div > div img {width: 25%;}
  .page_sub.page_sustainability .editor_contents .sdgs_flex > section section {padding: 15px;}
  .page_sub.page_sustainability .editor_contents .sdgs_flex > section section h4 {font-size: 15px;}
  .page_sub.page_sustainability .editor_contents .sdgs_flex + p {
    font-size: 16px;
    text-align: left;
  }
}
/* ひと目で解る大東港運
============================================ */
@media screen and (min-width:900px) {
    .page_aboutus .bg_about p:has(img){min-width: 225px;}
}
@media screen and (max-width:900px) {
    .page_aboutus .kv_sub .en{font-size: 34px;}
    .page_aboutus .kv_sub .kv_ttl{
        font-size: 36px;
        margin: 0 auto 0.3em;
    }
    .page_aboutus article > section .inner > h2{
        border-radius: 8px;
        margin: 0 auto 20px;
    }
    .page_aboutus article > section .inner > h2::before{
        width: 18px;
        bottom: -16px;
    }
    /* bg_about */
    .page_aboutus .bg_about h3{font-size: 22px;}
    .page_aboutus .bg_about h3 + p{
        font-size: 20px;
        margin: 0 auto .5em;
    }
    .page_aboutus .bg_about > .flex{row-gap: 80px;}
    .page_aboutus .bg_about > .flex > .flex{row-gap: 10px;}
    .page_aboutus .graph{
        --w: 230px;
        max-width: var(--w);
        max-height: var(--w);
    }
    .page_aboutus .bg_about p:has(img){width: 65%;}
    .page_aboutus .inner ul.flex{flex-direction: column;}
    .page_aboutus .inner > figure,
    .page_aboutus .flex > li{
        width: 100% !important;
        max-width: 400px;
        margin: 0 auto;
    }
    .page_aboutus .sec_personality .bg_about{padding: 30px 20px;}
    .page_aboutus .sec_personality .bg_about h3{font-size: 20px;}
    .page_aboutus .sec_personality .bg_about .captions .cap01{font-size: 16px;}
    .page_aboutus .sec_personality .bg_about .captions .cap02{font-size: 14px;}
}
/* サイトマップ
============================================ */
@media screen and (max-width:900px) {
    .page_sitemap .editor_contents *{font-size: 14px !important;}
    .page_sitemap .sitemap_cont ul.page {margin: 0 0 0 1em;}
    .page_sitemap .sitemap_cont ul.subpage {margin: 15px 0 15px 1em;}
    .page_sitemap .sitemap_cont ul.page > li > ul {margin: 0 0 0 1em;}
    .page_sitemap .sitemap_cont ul.page > li > ul > li.third{padding-left: calc(1.3em + 0em);}
}
/* お問い合わせ
============================================ */
@media screen and (max-width:900px) {
}
/* -----------------------------------------------------------
用語集
----------------------------------------------------------- */
@media screen and (max-width:1200px) {
    /* html:has(.post_dict),
    body:has(.post_dict),
    .post_dict{overflow-x: hidden;}
    .post_dict .column.left {
        position: relative;
        top: auto;
        min-height: initial;
        max-height: initial;
        overflow-y: initial;
    } */
    .post_dict .dictionary_bloc{
        flex-direction: column;
        row-gap: var(--sectionPadding);
    }
    .post_dict .column{width: 100% !important;}
}
@media screen and (max-width:900px) {
    /* left */
    .post_dict .search-box input,
    .post_dict .search-box input::placeholder,
    .post_dict nav .inner > ul > li li a,
    .post_dict nav .inner > ul > li > .ac{
        font-size: 16px !important;
    }
    .post_dict nav .inner > ul > li li a,
    .post_dict nav .inner > ul > li > .ac{padding: 0 30px;}
    .post_dict nav .inner > ul > li > .ac{padding-left: 1em;}
    .post_dict nav .inner > ul > li > .ac > span,
    .post_dict nav .inner > ul > li a::before{right: 5%;}
    .post_dict .search-button{font-size: 17px;}
    /* right */
    .post_dict .column.right h2{font-size: 22px;}
    .post_dict .column.right .item_list li .eng h4 span:nth-of-type(1),
    .post_dict.search_dict .column.right .item_list li .eng h2 span:nth-of-type(1),
    .post_dict.single_dict .column.right .eng h1 span:nth-of-type(1){
        font-size: 28px;
    }
    .post_dict .column.right .item_list li .eng h4 span:nth-of-type(2),
    .post_dict.search_dict .column.right .item_list li .eng h2 span:nth-of-type(2),
    .post_dict.single_dict .column.right .eng h1 span:nth-of-type(2){
        font-size: 20px;
    }
    .post_dict .column.right .item_list li a > div > div,
    .post_dict.single_dict .column.right .detail_bloc > div,
    .post_dict.single_dict .column.right .detail_bloc:has(h3){
        padding: 15px 10px;
    }
    .post_dict .column.right .item_list li .jp{
        flex-direction: column;
        row-gap: 1em;
    }
    .post_dict .column.right .item_list li .jp div{width: 100%;}
    .post_dict .column.right .item_list li .jp h4,
    .post_dict.search_dict .column.right .item_list li .jp h4,
    .post_dict.search_dict .column.right .item_list li .jp h2,
    .post_dict.single_dict .column.right .jp h2{
        font-size: 19px;
    }
    .post_dict .column.right .item_list li .jp .btn{
        width: 115px;
        min-height: 28px;
    }
}
/* -----------------------------------------------------------
information
----------------------------------------------------------- */
@media screen and (max-width:900px) {
    .post_info .news_cont .year_list::before,
    .irc_release_yyyyselect::before{width: 100%;}
    .post_info .news_cont .year_list li:nth-of-type(1),
    .irc_release_yyyyselect li:nth-of-type(1){padding-left: .65em;}
    .post_info .editor_contents.edit h1{font-size: 22px;}
    /* ページネーション */
    .pagination .wp-pagenavi > span,
    .pagination .wp-pagenavi > a{font-size: 13px;}
}
/* -----------------------------------------------------------
home
----------------------------------------------------------- */
@media screen and (max-width:900px) {
    /* KV
    ========================== */
    .home .kv_home{aspect-ratio: 375 / 410;}
    .home .kv_home .inner .flex p{
        width: 95%;
        max-width: 550px;
    }
    /* ニュース
    ========================== */
    .home .sec_news{
        --sectionPadding: 90px;
        /* margin-top: calc((100vw / (375 / 410)) + var(--headerHeight)); */
        margin-top: calc((100vw / (375 / 410)) - 20px);
    }
    .home .sec_news .inner{padding: 0 calc(var(--innerPadding) * .6);}
    /* news cont */
    .news_cont h2{font-size: 18px;}
    .news_cont .flex ul{column-gap: 15px;}
    .news_cont .flex ul li a{font-size: 14px;}
    /* 共通 */
    .news_cont .ir_news li,
    .news_cont dl{
        justify-content: space-between;
        flex-wrap: wrap;
        gap: .7em 1em;
        min-height: 1px;
        padding: .9em calc(var(--innerPadding) * .4);
    }
    .news_cont .ir_news li div:nth-of-type(1),
    .news_cont dl dt{width: 110px;}
    /* IRのみ */
    .news_cont .ir_news li div:nth-of-type(2){
        width: 100%;
        line-height: 1.5;
    }
    .news_cont .ir_news li:last-of-type{border-bottom: 1px solid #c8c8c8;}
    .news_cont.ir dl dd{
        width: 100% !important;
        max-width: 100% !important;
    }

    /* ニュースのみ */
    .news_cont dl dd:nth-of-type(1){
        width: auto;
        max-width: calc(100% - 110px);
    }
    .news_cont dl dd:nth-of-type(2){width: 100% !important;}
    /* サービス
    ========================== */
    .home .sec_service{
        background:
            url(../img/page/home/bg_service_sp.jpg) no-repeat top center / 100% auto,
            #00578a !important
        ;
    }
    .home .sec_service .crosslink_srv .ttl_cont{margin: 0 0 60px;}
    /* 下層カードリンク
    ========================== */
    .home .sec_lower{--sectionPadding: calc(90px / 1.3);}
    .card_links .card_link:not(:last-of-type){margin: 0 auto 60px;}
    .card_links .card_link a{flex-direction: column !important;}
    .card_links .card_link a > *{width: 100%;}
    .card_links .card_link a > div .ttl{
        margin: 0 auto 15px !important;
        padding: 26px 20px !important;
        min-height: 1px;
    }
    .card_links .card_link a > div .card_inner{margin-inline: 0 !important;}
    .card_links .card_link a > div .ttl::before{display: none;}
    .card_links .card_link a > div .ttl .en{
        font-size: 36px;
        margin: 0 0 0.55em;
    }
    .card_links .card_link a > div .desc{padding: 0 !important;}
    .card_links .card_link a > div .desc .btn{
        font-size: 16px;
        margin-bottom: 0;
    }
    /* special feature
    ========================== */
    .home .sec_special{--sectionPadding: 80px;}
    .home .sec_special h2{margin: 0 auto 30px;}
    .home .sec_special .flex{
        flex-direction: column;
        row-gap: 45px;
    }
    .home .sec_special .flex figure figcaption{
        color: #fff;
        line-height: 1.7;
        margin: 1em 0 0;
        transition: 0.3s;
    }
    .home .sec_special .flex a:hover figure figcaption{opacity: 0.5;}
    .card_links .card_link.recruit a > div,
    .card_links > section.recruit a > div{background: transparent;}
}