@charset 'utf-8';
/* reset.css */
#corp-header button {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  
  #corp-header button:focus {
    outline: none;
  }
  
  #corp-header button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

/*variables*/
:root {
    --ratio: 1.2;
    --fs-base: 16px;
}

/*common*/
header#corp-header .tab-only {
    display: none;
}
@media screen and (max-width: 1110px) {
    header#corp-header .tab-only {
        display: block;
    }

    header#corp-header .pc-only {
        display: none;
    }
}
/*ヘッダー内のinner_上書き防止*/
#corp-header .inner {
    width: clamp(1000px, 71.4vw, 1200px);
    max-width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 1110px) {
    #corp-header .inner {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
}

/*日本語の時の表示設定*/
.ja-only {
    display: block;
}
.en-only {
    display: none;
}

/*英語の時の表示設定*/
.en .ja-only {
    display: none;
}
.en .en-only {
    display: block;
}

/*
 * ヘッダーCSS
 */

header{
    background-color: var(--color-text-sub);
}

header a{
    color: var(--color-text);
    position: relative;
    cursor: pointer;
}

#corp-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

#corp-header .header-inner{
    position: relative;
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
    height: 100px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
}

#corp-header .site-logo{
    width: clamp(100px, 7.143vw, calc(100px * var(--ratio)));
    position: absolute;
    top: 0;
    left: 0;
}
#corp-header .site-logo a{
    font-size: 0;
}

#corp-header .header-wrap{
    width: max(100%, 100vw);
}


#corp-header #global-nav{
    display: flex;
    align-items: center;
    justify-content: end;
    height: 100px;

    width: clamp(1000px, 71.429vw, calc(1000px * var(--ratio)));
    max-width: 100%;
    margin: 0 auto;
}

#corp-header #global-nav .nav-inner{
    display: flex;
    align-items: center;
}

#corp-header a{
    font-size: clamp(16px, 1.143vw, calc(16px * var(--ratio)));
    cursor: pointer;
  
}

/* @media screen and (min-width:1401px){
    #corp-header a{
        font-size: clamp(16px, 1.143vw, calc(16px * var(--ratio)));
    }
} */

#corp-header a.nav-link{
    letter-spacing: 0.05em;
}

#corp-header ul.nav-list{
    display: flex;
    align-items: center;
    margin-right: clamp(60px, 4.286vw, calc(60px * var(--ratio)));
}

#corp-header  ul.nav-list li.nav-item{   
    padding: 40px 0;
    padding-left: clamp(15px, 1.071vw, calc(15px * var(--ratio)));
    padding-right: clamp(15px, 1.071vw, calc(15px * var(--ratio)));
    cursor: pointer;
}

#corp-header  ul.nav-list li.nav-item:first-child{
    padding-left: 0;
}

#corp-header  ul.nav-list li.nav-item:last-child{
    padding-right: 0;
}

/* nav-linkがis-activeの時も下線を表示 */
#corp-header ul.nav-list li .nav-link-wrap .nav-link.is-active {
    background-size: 100% 1px;
}




/*ドロップダウンメニュー内*/
#corp-header .dropdown-menu{
    position: absolute;
    opacity: 0;
    visibility: hidden;
    top: 100px;
    left: 0;
    overflow: auto;
    width: max(100%, 100vw);
    padding: 45px 0;
    padding-bottom: 50px;
    background-color: var(--color-corp);
    color: var(--color-text-sub);
}

#corp-header .dropdown-menu .inner{
    display: flex;
    /* align-items: flex-start; */
    align-items: center;
}

#corp-header .dropdown-menu .dropdown-title{
    font-size: clamp(32px, 2.286vw, calc(32px * var(--ratio)));
    font-family: "Unna", serif;
    font-weight: 400;/*regular*/
    line-height: 1.16;
    letter-spacing: 0.03em;

    width: clamp(232px, 16.571vw, calc(232px * var(--ratio)));
}
/* PC: タイトル幅は縮めず、submenu-wrap が残り幅を占有 */
@media screen and (min-width: 1111px) {
    #corp-header .dropdown-menu .dropdown-title{
        flex-shrink: 0;
    }
    #corp-header .dropdown-menu .submenu-wrap{
        flex: 1 1 0%;
        min-width: 0;
    }
    #corp-header .service-item .service-sub-accordion-panel {
        max-height: none !important;
        overflow: visible;
    }
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap::before,
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap::after {
        content: none;
    }
}
#corp-header .dropdown-menu a{
    color: var(--color-text-sub);
}

#corp-header .dropdown-menu .nav-title a{
    position: relative;
    font-weight: bold;
    letter-spacing: 0.05em;
}
#corp-header .dropdown-menu .nav-title a::after{
    content: "";
    position: absolute;
    top: 50%;
    margin-left: 20px;
    width: 10px;
    height: 10px;
    border-top: 1px solid var(--color-text-sub);
    border-right: 1px solid var(--color-text-sub);
    transform: translateY(-50%) rotate(45deg);
    transition: all .3s ease;
}
@media screen and (min-width: 1111px) {
    #corp-header .dropdown-menu .nav-title a:hover::after{
        margin-left: calc(20px + 10px);
    }
}

#corp-header .dropdown-menu .nav-title-ir a{
    letter-spacing: 0.1em;
}


#corp-header  .dropdown-menu .submenu + .submenu{
    margin-top: 30px;
}

#corp-header  .dropdown-menu .submenu ul{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 15px;
    gap: 20px;

    /*liの謎空白を削除*/
    font-size:0;
    line-height:1;
}

#corp-header  .dropdown-menu .submenu ul.second-list{
    margin-top: 10px;
}

#corp-header .dropdown-menu .submenu ul li{
    position: relative;
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
}

#corp-header .dropdown-menu .submenu .nav-title a{
    font-size: clamp(16px, 1.143vw, calc(16px * var(--ratio)));
}

#corp-header .dropdown-menu .submenu ul li a{
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
    line-height: calc(15/12);
}

#corp-header .dropdown-menu .submenu ul li a[target="_blank"]{
    display: inline;
    padding-right: 1.4em;
    margin-right: 0.5em;
    background-image:
        linear-gradient(var(--color-text-sub), var(--color-text-sub)),
        url(../../images/common/icon_external-link-white.svg);
    background-size: 0% 1px, 1em 1em;
    background-position: left bottom, right center;
}

@media screen and (min-width: 701px) {
    #corp-header .dropdown-menu .submenu ul li a[target="_blank"]:hover {
        background-size: calc(100% - 1.4em) 1px, 1em 1em;
    }
}

#corp-header  .dropdown-menu .submenu ul li + li{
    padding-left: clamp(20px, 1.429vw, calc(20px * var(--ratio)));
}

#corp-header  .dropdown-menu .submenu ul li + li::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: clamp(13px, 0.929vw, calc(13px * var(--ratio))); /* お好みの高さ（%またはpx） */
    background: var(--color-text-sub);
}

/* IR情報のメニュー：4項目目（ファイナンシャルハイライトなど）の縦線を消す（折り返しだから） */
#corp-header  .nav-list > li.nav-item:nth-child(4) .dropdown-menu .submenu ul li:nth-child(7)::before {
    content: none;
}
#corp-header  .nav-list > li.nav-item:nth-child(4) .dropdown-menu .submenu ul li:nth-child(7) {
    padding-left: 0;
}


/*nav-itemをホバーしたらドロップダウンメニューを表示*/
#corp-header  .dropdown-menu.is-active {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/*サービスのメニュー*/
#corp-header .service-item .sub-category-section{
    margin-top: 32px;
}
#corp-header .service-item .sub-category-section + .sub-category-section{
    margin-top: 30px;
}

#corp-header .service-item .sub-category-title-wrap{
    display: flex;
    align-items: center;
    gap: 10px;
}

#corp-header .service-item .sub-category-title-wrap .sub-category-title{
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
    font-weight: bold;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

#corp-header .service-item .sub-category-title-wrap hr{
    width: 100%;
}

/* テーマ・インダストリー等：1〜4が左列、5〜8が右列（縦に4件ずつ、9件目からは3列目へ） */
#corp-header .service-item .dropdown-menu .submenu .sub-category-section ul{
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    row-gap: clamp(10px, 0.714vw, calc(10px * var(--ratio)));
    align-items: start;
    font-weight: 400;
}

#corp-header .service-item .dropdown-menu .submenu .sub-category-section ul li + li{
    padding-left: 0;
}

#corp-header .service-item .dropdown-menu .submenu .sub-category-section ul li + li::before{
    content: none;
}

#corp-header .service-item .dropdown-menu .submenu .sub-category-section.theme-section ul{
    grid-template-rows: repeat(4, auto);
}

#corp-header .service-item .dropdown-menu .submenu .sub-category-section.industry-section ul{
    grid-template-rows: repeat(7, auto);
}

@media screen and (max-width: 1110px) {
    #corp-header .service-item .sub-category-section + .sub-category-section{
        margin-top: -1px;
    }
    #corp-header .service-item .sub-category-title-wrap{
        border-bottom: 1px solid var(--color-text-sub);
        padding: 15px 10px 15px 0;
    }

    #corp-header .service-item .sub-category-section.theme-section .sub-category-title-wrap{
        border-top: 1px solid var(--color-text-sub);
    }

    /* テーマ／インダストリー 2階層パネル（SP） */
    #corp-header .service-item .service-sub-accordion-panel {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-in-out;
    }

    #corp-header .service-item .sub-category-title{
        display: flex;
    }

    #corp-header .service-item .dropdown-menu .submenu .sub-category-section ul{
        margin-top: 0;
        padding: 30px 0 31px;
        display: block;
    }

    /* テーマアコーディオン展開時、インダストリー見出し上に区切り線を明示 */
    #corp-header .service-item .sub-category-section.theme-section:has(.sub-category-title-wrap.nav-link-wrap.is-active) + .sub-category-section.industry-section .sub-category-title-wrap {
        border-top: 1px solid var(--color-text-sub);
    }

    #corp-header .service-item .dropdown-menu .submenu .sub-category-section.industry-section ul{
        padding-bottom: 0;
    }

}

/*採用情報のメニュー*/
#corp-header  .dropdown-menu p.submenu-link{
    margin-top: 15px;
}
#corp-header  .dropdown-menu p.submenu-link a{
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
}

#corp-header  .dropdown-menu .submenu-section-wrap{
   margin-top: 20px;
   margin-bottom: 20px;
}

#corp-header  .dropdown-menu .submenu-section{
    display: flex;
    align-items: center;
}

#corp-header  .dropdown-menu .submenu-section + .submenu-section{
    margin-top: 15px;
}

#corp-header  .dropdown-menu .submenu-section ul{
   margin-top: 0;
}

#corp-header .dropdown-menu .submenu-section-title{
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
    border: 1px solid var(--color-text-sub);
    border-radius: 30px;
    padding: 6px clamp(15px, 1.071vw, calc(15px * var(--ratio)));
    margin-right: clamp(20px, 1.429vw, calc(20px * var(--ratio)));
}

/*アイコンホバー時の設定*/
.icon-wrapper {
    position: relative;
}
  
.icon-default {
    display: block;
}
  
.icon-hover {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.3s;
}

@media screen and (min-width: 1111px) {
    .icon-wrapper:hover .icon-hover,
    .icon-wrapper.is-active .icon-hover {
        opacity: 1;
    }

    #corp-header .dropdown-menu .submenu-section-title{
        white-space: nowrap;  /* テキストの折り返しを禁止 */
        flex-shrink: 0; 
    }
}

/*SNS・言語切替・検索*/
#corp-header .nav-utilities{
    display: flex;
    align-items: center;
    gap: 30px;
}

/*検索*/
#corp-header .nav-utilities .nav-search{
    width: clamp(32px, 2.286vw, calc(32px * var(--ratio)));
    line-height: 0;
}

#corp-header .nav-utilities .search-toggle{
    height: 90px;
}

#corp-header .nav-utilities .search-toggle img{
    width: clamp(32px, 2.286vw, calc(32px * var(--ratio)));
}

#corp-header .nav-utilities .nav-search .dropdown-menu{
    visibility: hidden;
}

#corp-header .nav-utilities .nav-search .dropdown-menu.is-active{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/*検索フォーム*/
#corp-header .search-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--color-text-sub);
    border-radius: 25px;
    width: 100%;
}

#corp-header .search-form label{
    width: 100%;
}

#corp-header .search-form input {
    width: 100%;
    height: 38px;
    padding: 5px 0;
    padding-left: 30px;
    border: none;
    box-sizing: border-box;
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
    outline: none;
    background: none;
    color: var(--color-text-sub);
    caret-color: var(--color-text-sub);
}

#corp-header .search-form input::placeholder{
    color: var(--color-text-sub);
}

#corp-header .search-form button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 38px;
    border: none;
    background-color: transparent;
    cursor: pointer;
}

#corp-header .search-form button::after {
    width: clamp(16.65px, 1.189vw, calc(16.65px * var(--ratio)));
    height: 16px;
    background-image: url('../../images/common/icon-search.svg');
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
}

/*お問い合わせ*/
#corp-header .nav-utilities .nav-contact a{
    background: var(--color-text);
    border-radius: 30px;
    padding: 6px clamp(20px, 1.429vw, calc(20px * var(--ratio)));
    color: var(--color-text-sub);
    font-size: clamp(14px, 1.0vw, calc(14px * var(--ratio)));
    letter-spacing: 0.05em;
}
@media screen and (min-width: 1111px) {
    #corp-header .nav-utilities .nav-contact a:hover{
        background: var(--color-key);
    }
}

/*SNS*/
#corp-header .nav-utilities .nav-sns{
    display: flex;
    align-items: center;
    gap: 10px;
}

#corp-header .nav-utilities .nav-sns a{
    width: clamp(32px, 2.286vw, calc(32px * var(--ratio)));
    height: 32px;
}

/*言語切替*/
#corp-header .nav-lang {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-right: -96px;
    display: flex;
    align-items: center;
}

#corp-header .nav-lang.sp-only{
    display: none;
}

#corp-header .nav-lang .lang-toggle {
    position: relative;
    display: flex;
    align-items: center;
    width: clamp(66px, 4.714vw, calc(66px * var(--ratio)));
    height: clamp(32px, 2.286vw, calc(32px * var(--ratio)));
    background: var(--color-text);
    border-radius: 50px;
    padding: clamp(4px, 0.286vw, calc(4px * var(--ratio)));
    gap: clamp(10px, 0.714vw, calc(10px * var(--ratio)));
}
  
#corp-header .nav-lang .lang-bg {
    position: absolute;
    top: clamp(4px, 0.286vw, calc(4px * var(--ratio)));
    left: clamp(4px, 0.286vw, calc(4px * var(--ratio)));
    width: clamp(23.5px, 1.679vw, calc(23.5px * var(--ratio)));
    height: clamp(23.5px, 1.679vw, calc(23.5px * var(--ratio)));
    background: var(--color-key);
    border-radius: 50%;
    transition: transform 0.3s ease;
    z-index: 1;
    font-size: 0;
    line-height: 0;
}
  
#corp-header .nav-lang .lang-toggle[data-active="en"] .lang-bg {
    transform: translateX(calc(clamp(66px, 4.714vw, calc(66px * var(--ratio))) - clamp(23.5px, 1.679vw, calc(23.5px * var(--ratio))) - clamp(4px, 0.286vw, calc(4px * var(--ratio))) - 6px));
}
  
#corp-header .nav-lang a.lang-option {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(23.5px, 1.679vw, calc(23.5px * var(--ratio)));
    height: clamp(23.5px, 1.679vw, calc(23.5px * var(--ratio)));
    border-radius: 50%;
    
    font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
    line-height: 0;
    color: var(--color-text-sub);
    text-decoration: none;
    transition: color 0.3s;
}
  
@media screen and (min-width: 1111px) {
    #corp-header .nav-lang a.lang-option:hover {
        color: var(--color-text-sub);
    }
}

@media screen and (max-width: 1340px) {
    #corp-header  .dropdown-menu .submenu-section-title{
        font-size: clamp(12px, 0.857vw, calc(12px * var(--ratio)));
        padding: clamp(5px, 0.357vw, calc(5px * var(--ratio))) clamp(15px, 1.071vw, calc(15px * var(--ratio))); 
    }
}


@media screen and (max-width: 1200px) {
    #corp-header #global-nav{
        width: 100%;
    }

    #corp-header .nav-lang{
        position: relative;
        top: initial;
        transform: initial;
        margin-right: 30px;
        margin-left: 30px;
    }
}

@media screen and (max-width: 1110px) {
    header a{
        color: var(--color-text-sub);
    }

    #corp-header a.nav-link{
        letter-spacing: 0.05em;
    }

    #corp-header .header-inner{
        height: 60px;
        justify-content: space-between;
        overflow: visible;
    }

    #corp-header .site-logo{
        position: relative;
        top: 0;
        left: 0;
        width: 61px;
        height: 61px;
    }

    #corp-header .header-wrap{
        position: static;
        width: initial;
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
        gap: 30px;
        margin-right: 30px;
    }

     /* ハンバーガー／閉じる（×）— ヘッダー縦中央・右端デザインに合わせる */
     #corp-header .menu-toggle {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 30px;
        height: 60px;
        margin: 0;
        padding: 0;
        background: transparent;
        border: none;
        cursor: pointer;
        box-sizing: border-box;
    }

    #corp-header .menu-toggle span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 1.5px;
        background: var(--color-corp);
        border-radius: 1px;
        transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease;
        transform-origin: center;
    }

    /* 3本：いずれも「線の中心」を 50%±6px にそろえる（上端 top だけだと線幅の半分ずれていた） */
    #corp-header .menu-toggle span:nth-child(1) {
        top: 50%;
        transform: translateY(calc(-50% - 6px));
    }

    #corp-header .menu-toggle span:nth-child(2) {
        top: 50%;
        transform: translateY(-50%);
    }

    #corp-header .menu-toggle span:nth-child(3) {
        top: 50%;
        transform: translateY(calc(-50% + 6px));
    }

    /* 開いた時（× … 45°より浅く交差が鋭く見える。デザインに合わせて ± の値を微調整可） */
    #corp-header .menu-toggle.is-active span:nth-child(1) {
        top: 50%;
        transform: translateY(-50%) rotate(26deg);
    }

    #corp-header .menu-toggle.is-active span:nth-child(2) {
        opacity: 0;
    }

    #corp-header .menu-toggle.is-active span:nth-child(3) {
        top: 50%;
        transform: translateY(-50%) rotate(-26deg);
    }
    
    /* ハンバーガーメニューの中に入れる */
    #corp-header #global-nav {
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: auto;
        max-height: calc(100dvh - 60px);
        background: var(--color-corp);
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 9999;
        overflow-y: auto;
        overflow-x: hidden; /* 横スクロール防止 */
        -webkit-overflow-scrolling: touch; /* ← iOS のスムーズスクロール追加 */
        display: none;
    }
    
    #corp-header #global-nav.is-active {
        display: block;
    }

    #corp-header .nav-overlay {
        display: none;
    }

    
    #corp-header #global-nav.is-active .nav-overlay {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: -1;
    }

    /* ハンバーガーメニューの中身 */
     #corp-header #global-nav .nav-inner {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        padding: 40px 0 40px 0; /* ヘッダー分の余白 */
        /* min-height: uniset; */
        min-height: calc(100vh - 60px); /* 最低でもビューポート高さは確保 */
        height: auto !important;
    }
  
    #corp-header .nav-search{
        margin-bottom: 40px;
        width: 100%;
        box-sizing: border-box;
    }
    #corp-header .nav-search .search-input {
        width: 100%;
        background: transparent;
        border: 2px solid var(--color-text-sub);
        border-radius: 50px;
        padding: 15px 60px 15px 30px;
        color: var(--color-text-sub);
        font-size: 16px;
    }
    
    #corp-header .nav-search .search-input::placeholder {
        color: var(--color-text-sub);
    }
    
    #corp-header ul.nav-list {
        flex-direction: column;
        align-items: stretch;
        margin-right: 0;
        width: 100%;
        border-top: 1px solid var(--color-text-sub);
    }
    
    /* nav-item - 各メニュー項目 */
    #corp-header ul.nav-list li.nav-item {
        padding: 0;
        border-bottom: 1px solid var(--color-text-sub);
    }
    
    /* nav-link-wrap - クリック領域 */
    #corp-header .nav-link-wrap {
        width: 100%;
        position: relative;
        display: block;
        padding: 15px 60px 15px 30px;
        cursor: pointer;
    }
    
   
    
    #corp-header .nav-link-wrap .nav-link{
        color: var(--color-text-sub);
        font-size: clamp(16px, 1.143vw, calc(16px * var(--ratio)));
        font-weight: bold;
    }

    
    /* アイコン（＋と－） ― 最上位のドロップダウンのみ（サービス内2階層と分離） */
    #corp-header .has-dropdown > .nav-link-wrap::before,
    #corp-header .has-dropdown > .nav-link-wrap::after {
        content: "";
        position: absolute;
        right: 30px;
        top: 50%;
        width: 16px;
        height: 1px;
        
        background: var(--color-text-sub);
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

     /* 縦線（＋の時だけ表示） */
     #corp-header .has-dropdown > .nav-link-wrap::before {
        transform: translateY(-50%) rotate(90deg);
    }
    /* 横線（常に表示） */
    #corp-header .has-dropdown > .nav-link-wrap::after {
        transform: translateY(-50%);
    }
    
    /* 開いた時（−になる） */
    #corp-header .has-dropdown > .nav-link-wrap.is-active::before{
        opacity: 0;
    }

    #corp-header .has-dropdown > .nav-link-wrap.is-active{
        background-color: var(--color-sub);
        color: var(--color-corp);
    }

    #corp-header .has-dropdown > .nav-link-wrap.is-active .nav-link{
        color: var(--color-corp);
    }

    #corp-header .has-dropdown > .nav-link-wrap.is-active::after {
        background: var(--color-corp);
    }

    /* サービス内 テーマ／インダストリー見出しの ± */
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap::before,
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap::after {
        content: "";
        position: absolute;
        right: 10px;
        top: 50%;
        width: 15px;
        height: 1px;
        background: var(--color-text-sub);
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap::before {
        transform: translateY(-50%) rotate(90deg);
    }
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap::after {
        transform: translateY(-50%);
    }
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap.is-active::before {
        opacity: 0;
    }
    #corp-header .service-item .sub-category-title-wrap.nav-link-wrap.is-active::after {
        background: var(--color-text-sub);
    }

    
    /* dropdown-menu - アコーディオン化 */
    #corp-header .dropdown-menu a,
    #corp-header .dropdown-menu p,
    #corp-header .dropdown-menu li {
        color: var(--color-text-sub) ;
    }

    #corp-header .dropdown-menu {
        position: static;
        width: 100%;
        background: var(--color-corp);
        transition: max-height 0.4s ease-in-out;
        padding: 0;

        /* ↓ここを修正 */
       
        opacity: 1;
        visibility: visible;
        /* 不要なtransitionを削除または上書き */
        transition: max-height 0.3s ease-in-out;
        max-height: 0;
        overflow: hidden;
        display: block;
    }

    #corp-header .dropdown-menu.is-active{
        top: 100px;
        max-height: 100%;
    }
    
    #corp-header .dropdown-menu .inner {
        flex-direction: column;
        padding: 30px;
        padding-top: 25px;
        align-items: flex-start;
    }

    #corp-header .dropdown-menu .col-2{
        column-count: 2;
        column-gap: 0px;
        margin-top: 10px;
    }

    /* IR情報のみ：column-count を使わず flexbox で2列化（Safari対応） */
    #corp-header .dropdown-menu .submenu.col-2 {
        column-count: unset;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    #corp-header .dropdown-menu .submenu.col-2 ul {
        flex: 1;
        min-width: 50%;
    }

    #corp-header .dropdown-menu .submenu ul.second-list{
        margin-top: 0;
    }

    #corp-header .dropdown-menu .nav-inner-title{
        font-weight: bold;
        font-size: calc(16px / var(--fs-base) * 1rem);
        line-height: calc(18/15);
    }

    #corp-header .submenu-wrap{
        flex: none;
        width: 100%;
    }
    #corp-header  .dropdown-menu .submenu{
        width: 100%;
    }

    #corp-header .dropdown-menu .submenu-wrap{
        flex: none;
        width: 100%;
    }

    /* 2列目のアイテムにのみmargin-leftを適用 */
    #corp-header  .dropdown-menu .submenu + .submenu{
        margin-left: 15px;
    }

    #corp-header  .dropdown-menu .submenu ul{
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        margin-top: 10px;
    }

    #corp-header .dropdown-menu .submenu ul.pc-only{
        display: none;
    }

    #corp-header .dropdown-menu .submenu ul.header-sub-list{
        margin-top: 0;
    }

    #corp-header .dropdown-menu .submenu ul.header-sub-list li{
        position: relative;
        padding-left: 22px;
    }

    #corp-header .dropdown-menu .submenu ul.header-sub-list li::before{
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background-color: var(--color-text-sub);
        width: 10px;
        height: 1px;
    }
    #corp-header  .dropdown-menu .col-2 ul{
        margin-top: 0;
    }

    #corp-header .dropdown-menu .submenu ul.col-2{
        display: block;
        column-count: 2;
        column-gap: 20px; /* 列間の間隔 */
        margin-top: 10.5px;
    }

    #corp-header  .dropdown-menu .submenu ul li + li{
        padding-left: 0;
        margin-top: 10px;
    }
    #corp-header  .dropdown-menu .submenu ul li + li::before{
        content: none;
    }

    #corp-header .dropdown-menu .submenu .nav-title{
        margin-bottom: 10px;
    }
    #corp-header  .dropdown-menu .nav-title a::after{
        content: none;
    }

      /* リストアイテムが列をまたがないように */
      #corp-header .footer-nav-list li {
        break-inside: avoid;
        -webkit-column-break-inside: avoid;
    }

    .column-2.col-break{
        break-before: column;
        margin-top: 0;
    }

    #corp-header .dropdown-menu .submenu-section{
        display: block;
    }
    #corp-header .dropdown-menu .submenu-section-wrap.col-2 .column-2{
        margin-left: 15px;
    }
    #corp-header .dropdown-menu .submenu-section-title{
        margin-top: 20px;
        margin-bottom: 15px;
        width: fit-content;
        margin-right: 0;
        padding: 6px 12px;
    }

    #corp-header .dropdown-menu p.submenu-link{
        margin-top: 20px;
    }
    #corp-header .dropdown-menu p.submenu-link:first-child{
        margin-top: 0;
    }


    #corp-header .nav-utilities{
        flex-direction: row-reverse;
        justify-content: space-between;
        width: 100%;
        padding-left: 30px;
        padding-right: 30px;
        margin-top: 40px;
        box-sizing: border-box;
    }

    #corp-header .nav-utilities .nav-contact a{
        display: block;
        background-color: var(--color-text-sub);
        color: var(--color-corp);
        padding: 8.5px 24px;
        width: fit-content;
        font-size: clamp(14px, 1.0vw, calc(14px * var(--ratio)));
        line-height: calc(15/14);
        letter-spacing: 0;
    }
    
    /* nav-actions - SNS・お問い合わせエリア */
    #corp-header .nav-actions {
        width: 100%;
        padding: 40px 30px;
        margin-top: auto; /* 下部に配置 */
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    
    #corp-header .nav-sns {
        display: flex;
        gap: 20px;
    }

    #corp-header .nav-sns .icon-default,
    #corp-header .nav-sns .icon-hover{
        display: none;
    }

    #corp-header .nav-sns .icon-wrapper{
        width: 32px;
        height: 32px;
    }
    #corp-header .nav-sns .icon-wrapper a{
        font-size: initial;
    }

    #corp-header .icon-sp{
        width: 32px;
        height: 32px;
    }    
   
    #corp-header .nav-lang.pc-only{
        display: none;
    }

    #corp-header .nav-lang.sp-only{
        display: block;
        position: relative;
        top: initial;
        transform: initial;
        margin-right: 0;
    }

    #corp-header .dropdown-menu .submenu ul.col-2 li{
        font-size: calc(12px / var(--fs-base) * 1rem);
    }

    #corp-header .dropdown-menu .submenu ul li{
        font-size: calc(12px / var(--fs-base) * 1rem);
    }

    #corp-header .dropdown-menu .submenu ul.header-sub-list li::before{
        top: 0.8em;
        background-color: initial;
        border: 0.5px solid var(--color-text-sub);
        width: 10px;
        height: 1px;
    }

    #corp-header .dropdown-menu .submenu ul li a{
        font-size: calc(12px / var(--fs-base) * 1rem);
        line-height: calc(18/12);
    }
    #corp-header .dropdown-menu .submenu .nav-title a{
        font-size: calc(12px / var(--fs-base) * 1rem);
        font-weight: 500;
    }

    #corp-header .dropdown-menu .submenu-section-title{
        font-size: calc(12px / var(--fs-base) * 1rem);
    }

    #corp-header .nav-link-wrap .nav-link{
        font-size: calc(16px / var(--fs-base) * 1rem);
    }

    #corp-header .nav-utilities .nav-contact a{
        font-size: calc(14px / var(--fs-base) * 1rem);
    }
    
}
