@charset "UTF-8";
/*
Theme Name: NANO
Theme URI:https://tcd-theme.com/tcd065
Description:"NANO" is a WordPress theme that allows you to create a large corporate website at a low cost. The multi-level site structure organized and transmits a wide range of business info. Also you can easy to design the top page that conveys your company's message and achievements.
Author:TCD
Author URI:https://tcd-theme.com/
Text Domain: tcd-nano
Version:1.9
*/
/* ========================================================================== Foundation ========================================================================== */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */
html { line-height: 1.15; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers (opinionated). */
body { margin: 0; }

/** Add the correct display in IE 9-. */
article, aside, footer, header, nav, section { display: block; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in IE. */
figcaption, figure, main { /* 1 */ display: block; }

/** Add the correct margin in IE 8. */
figure { margin: 1em 40px; }

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics ========================================================================== */
/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */
a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; /* 2 */ }

/** 1. Remove the bottom border in Chrome 57- and Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }

/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
b, strong { font-weight: inherit; }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font style in Android 4.3-. */
dfn { font-style: italic; }

/** Add the correct background and color in IE 9-. */
mark { background-color: #ff0; color: #000; }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Add the correct display in IE 9-. */
audio, video { display: inline-block; }

/** Add the correct display in iOS 4-7. */
audio:not([controls]) { display: none; height: 0; }

/** Remove the border on images inside links in IE 10-. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: sans-serif; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** 1. Add the correct display in IE 9-. 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding and cancel buttons in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive ========================================================================== */
/* Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. */
details, menu { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Scripting ========================================================================== */
/** Add the correct display in IE 9-. */
canvas { display: inline-block; }

/** Add the correct display in IE. */
template { display: none; }

/* Hidden ========================================================================== */
/** Add the correct display in IE 10-. */
[hidden] { display: none; }

* { box-sizing: border-box; }

body { color: #000; line-height: 1; -webkit-font-smoothing: antialiased; }

a { color: #000; text-decoration: none; transition-property: background-color, color; transition-duration: 0.2s; transition-timing-function: ease; }

img { vertical-align: bottom; }

h1, h2, h3, h4, h5, h6, p, ol, ul { margin-top: 0; }

p { margin-bottom: 0; }

ol, ul { padding-left: 0; list-style: none; }

.admin-bar { padding-top: 32px; }

/* -------------------------------------------------------------------------------- web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策） -------------------------------------------------------------------------------- */
@font-face { font-family: "design_plus"; src: url("assets/fonts/design_plus.eot?v=1.0"); src: url("assets/fonts/design_plus.eot?v=1.0#iefix") format("embedded-opentype"), url("assets/fonts/design_plus.woff?v=1.0") format("woff"), url("assets/fonts/design_plus.ttf?v=1.0") format("truetype"), url("assets/fonts/design_plus.svg?v=1.0#design_plus") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "update_icon"; src: url("assets/fonts/update_icon.eot?v=1.2"); src: url("assets/fonts/update_icon.eot?v=1.2#iefix") format("embedded-opentype"), url("assets/fonts/update_icon.woff?v=1.2") format("woff"), url("assets/fonts/update_icon.ttf?v=1.2") format("truetype"), url("assets/fonts/update_icon.svg?v=1.2#update_icon") format("svg"); font-weight: normal; font-style: normal; }

@font-face {
  font-family: 'tiktok_x_icon';
  src: url('assets/fonts/tiktok_x_icon.eot?v=1.0');
  src: url('assets/fonts/tiktok_x_icon.eot?v=1.0#iefix') format('embedded-opentype'),
       url('assets/fonts/tiktok_x_icon.woff?v=1.0') format('woff'),
       url('assets/fonts/tiktok_x_icon.ttf?v=1.0') format('truetype'),
       url('assets/fonts/tiktok_x_icon.svg?v=1.0#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* keyframes */
@-webkit-keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

@-webkit-keyframes fadeOut { from { visibility: visible;
    opacity: 1; }
  to { visibility: hidden;
    opacity: 0; } }

@keyframes fadeOut { from { visibility: visible;
    opacity: 1; }
  to { visibility: hidden;
    opacity: 0; } }

@-webkit-keyframes slideDown { 0% { top: -100%; }
  100% { top: 0; } }

@keyframes slideDown { 0% { top: -100%; }
  100% { top: 0; } }

@-webkit-keyframes slideUp { 0% { bottom: -100%; }
  100% { bottom: 0; } }

@keyframes slideUp { 0% { bottom: -100%; }
  100% { bottom: 0; } }

@-webkit-keyframes fadeInUp { from { opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%); }
  to { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeInUp { from { opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%); }
  to { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes zoom-in { 0% { -webkit-transform: scale(1); transform: scale(1); }
  100% { -webkit-transform: scale(1.2); transform: scale(1.2); } }

@keyframes zoom-in { 0% { -webkit-transform: scale(1); transform: scale(1); }
  100% { -webkit-transform: scale(1.2); transform: scale(1.2); } }

@-webkit-keyframes zoom-out { 0% { -webkit-transform: scale(1.2); transform: scale(1.2); }
  100% { -webkit-transform: scale(1); transform: scale(1); } }

@keyframes zoom-out { 0% { -webkit-transform: scale(1.2); transform: scale(1.2); }
  100% { -webkit-transform: scale(1); transform: scale(1); } }

@media screen and (max-width: 782px) { .admin-bar { padding-top: 46px; } }

/* コピーボタン */
.single_copy_title_url { text-align: center; }
.single_copy_title_url_btn {
  font-size:14px; background:#fff; border:3px solid #ccc; cursor:pointer; line-height:54px; min-width:300px; padding: 0 15px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.3s; -webkit-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.3s; transition-timing-function:ease;
}
.single_copy_title_url_btn.copied { background:#ccc; color:#fff; pointer-events:none; }
#single_copy_title_url_bottom { margin-bottom:50px; margin-top:38px; }
#single_share_bottom + #single_copy_title_url_bottom { margin-top:55px; }
.single_copy_title_url_btn:hover { color: #777; }

@media screen and (max-width:750px) {
  #single_copy_title_url_bottom { margin-top:10px; margin-bottom: 35px; }
  .single_copy_title_url_btn { border-width:2px; font-size:12px; line-height:46px; min-width:200px; }
}

/* ----------------------------------------------------------------------
 汎用スタイルの追加
 https://tcd-theme.com/2023/09/utility-classes.html
---------------------------------------------------------------------- */
.p-entry .a_break { display: inline-block; }
@media (max-width: 767px) {
  .p-entry .is-pc { display:none!important; }
}
@media not all and (max-width: 767px) {
  .p-entry .is-sp { display:none!important; }
}
.p-entry .e_link {
  display: inline-block; position: relative; padding-right:1em;
}
.p-entry .e_link:after {
  font-family: 'design_plus'; content: '\e92a'; font-size: 100%; display: block;
  position: absolute; transition:none; margin-top:-0.1em;
  right:0; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
.p-entry img.frame {
  border: 1px solid #d2d2d2;
  -webkit-box-shadow: 0 6px 6px -6px #cccccc;
  -moz-box-shadow: 0 6px 6px -6px #cccccc;
  box-shadow: 0 6px 6px -6px #cccccc;
}

.slick-track{top:-60px;}

.canva_sp{ display:none;}
@media (max-width: 767px) {
	.canva_sp{ display:block;}
	.canva{display:none;}
}

/* ==============================================
   新卒採用ページ (参考サイト風テーブルレイアウト)
   ============================================== */

/* --- 共通コンテナ（全体を中央寄せ・幅広に） --- */
.container-base {
    max-width: 1200px; /* 幅を広げて窮屈さを解消 */
    margin: 0 auto;    /* 画面中央に配置 */
    padding: 0 40px;   /* 左右に余白 */
    width: 100%;
    box-sizing: border-box;
}

/* --- トップエリア --- */
.job-top-area {
    text-align: center;
    margin-bottom: 100px;
}
.job-main-heading {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 50px;
    color: #333;
    position: relative;
    display: inline-block;
}
/* タイトル下のアクセント線 */
.job-main-heading::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    background-color: #0044CC; /* ウイングブルー */
    margin: 20px auto 0;
    border-radius: 2px;
}

.job-lead-text {
    text-align: left;
    display: inline-block;
    font-size: 16px;
    line-height: 2.4; /* 行間を広げて読みやすく */
    margin-bottom: 60px;
    color: #444;
    max-width: 900px;
}

/* メイン画像 */
.frame-shadow {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.1); /* 影を強めてリッチに */
}

/* --- 各セクション --- */
.job-section {
    margin-bottom: 140px; /* セクション間の余白をたっぷりとる */
}

/* フロー画像ボックス */
.flow-image-box {
    text-align: center;
    background-color: #fff;
    border: 1px solid #eee;
    padding: 80px 40px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
}
.flow-image-box img {
    max-width: 70%;
    height: auto;
}


/* --- ★★★ 募集要項リスト（ここが重要） ★★★ --- */

/* リスト全体の枠 */
.job-list-container {
    width: 100%;
    border-top: 2px solid #0044CC; /* 上部の強調線 */
    box-shadow: 0 10px 40px rgba(0,0,0,0.05); /* 全体に淡い影 */
}

.job-table {
    margin: 0;
    padding: 0;
    width: 100%;
    /* 左右と下に枠線をつける */
    border-left: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    background-color: #fff;
}

/* 行（PCでは横並び Flexbox） */
.job-table-row {
    display: flex; /* 横並びにする指定 */
    flex-wrap: nowrap; /* 折り返さない */
    border-bottom: 1px solid #e5e5e5; /* 行ごとの区切り線 */
}
.job-table-row:last-child {
    border-bottom: none; /* 最後の線は消す */
}

/* 項目名（左側：タイトル） */
.job-dt {
    width: 25%;
    flex-shrink: 0;
    background-color: #fff; /* 白にする場合 */
    /* または background-color: transparent; */
    color: #0044CC;
    font-weight: 700;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    border-right: 1px solid #e5e5e5;
    font-size: 16px;
    line-height: 1.6;
}

/* 内容（右側） */
.job-dd {
    width: 75%; /* 残りの幅 */
    flex-grow: 1;
    background-color: #fff;
    padding: 30px 40px; /* 余白をたっぷりとる */
    margin: 0;
    box-sizing: border-box;
    font-size: 15px;
    line-height: 2; /* 行間を広めに */
    color: #333;
}


/* --- 補足テキストエリア --- */
.job-bottom-text {
    margin-top: 50px;
    background-color: #fff;
    border: 2px dashed #dde2e6; /* 点線で囲む */
    padding: 40px;
    border-radius: 12px;
    font-size: 15px;
    line-height: 2.2;
    color: #555;
}

/* --- エントリーエリア (追従風デザイン) --- */
.entry-fixed-area {
    margin-top: 100px;
    padding: 80px 0;
    background-color: #f0f4f8; /* 背景色でエリアを区切る */
    text-align: center;
    border-radius: 12px;
}

.entry-msg {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 40px;
    letter-spacing: 0.05em;
}

.big-entry-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #333;
    color: #fff !important;
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 25px 100px;
    border-radius: 60px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}


.big-entry-btn .arrow {
    margin-left: 20px;
    font-weight: 400;
    transition: transform 0.3s;
}
.big-entry-btn:hover .arrow {
    transform: translateX(10px);
}


/* --- レスポンシブ (スマホ対応) --- */
@media (max-width: 768px) {
    .container-base { padding: 0 20px; }
    .job-main-heading { font-size: 26px; }
    
    /* スマホではテーブルを縦積みにする */
    .job-table-row {
        flex-direction: column; /* 縦並び */
        display: block; /* フレックス解除 */
    }
    
    .job-dt {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #fff;
        padding: 15px 20px;
        font-size: 16px;
    }
    
    .job-dd {
        width: 100%;
        padding: 20px;
        font-size: 14px;
    }
    
    /* 画像切り替え */
    .is-pc { display: none !important; }
    .is-sp { display: block !important; }

    /* エントリーボタン */
    .entry-fixed-area { padding: 50px 20px; }
    .big-entry-btn {
        width: 100%;
        padding: 20px 0;
        font-size: 18px;
        box-sizing: border-box;
    }
}

@media (min-width: 769px) {
    .is-pc { display: block !important; }
    .is-sp { display: none !important; }
}

/* --- 見出しデザインのブラッシュアップ --- */
.grid-sub-header {
    font-family: 'Oswald', sans-serif;
    font-size: 34px; /* 文字を大きく */
    font-weight: 700;
    color: #0044CC;
    margin: 0 0 50px; /* 下の余白を広げる */
    padding: 10px 0 10px 25px; /* 左の余白を少し広げる */
    
    /* ▼ デザインのポイント */
    border-left: 8px solid #0044CC; /* 左の青線を太くして強調 */
    border-bottom: 1px solid #ddd;  /* 下に薄い線を入れて区切りを明確に */

    line-height: 1;
    display: flex;
    align-items: center; /* 垂直方向中央揃え */
    width: 100%;
    box-sizing: border-box;
}

.grid-sub-header .jp {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 16px; /* 日本語も少し大きく */
    color: #333; /* 色を濃くして読みやすく */
    margin-left: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    top: 2px; /* 英語との高さ微調整 */
}

/* スマホ対応 */
@media (max-width: 767px) {
    .grid-sub-header {
        font-size: 26px; /* スマホでも十分大きく */
        padding-left: 15px;
        margin-bottom: 30px;
        border-left-width: 6px;
        
        /* スマホでは縦並びにして読みやすく */
        flex-direction: column;
        align-items: flex-start;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    
    .grid-sub-header .jp {
        margin-left: 0;
        margin-top: 8px;
        font-size: 14px;
        top: 0;
    }
}

/* =========================================
   募集要項リストのスタイル（横並び・背景色）
   ========================================= */

/* リスト全体 (<dl>タグを想定) */
.recruit-list {
    display: flex;
    flex-wrap: wrap; /* 幅が狭いときに折り返す設定 */
    border-top: 1px solid #dce6f0; /* リストの一番上の線 */
    margin-top: 20px; /* 上の要素との間隔 */
}

/* タイトル部分 (<dt>タグ) */
.recruit-list dt {
    width: 25%; /* 左側の幅（お好みで 20%～30% で調整可） */
    background-color: #f0f8ff; /* 背景色（薄い青色） */
    color: #004080; /* 文字色（濃い青色） */
    font-weight: bold; /* 文字を太く */
    padding: 1.2em 1.5em; /* 内側の余白（上下 左右） */
    box-sizing: border-box; /* 線や余白を幅に含める設定 */
    border-bottom: 1px solid #dce6f0; /* 下の区切り線 */
    
    /* タイトルを上下中央に配置 */
    display: flex;
    align-items: center;
}

/* 内容部分 (<dd>タグ) */
.recruit-list dd {
    width: 75%; /* 右側の幅 (100% - 左側の幅) */
    margin: 0; /* 初期設定の余白をリセット */
    padding: 1.2em 1.5em; /* 内側の余白（上下 左右） */
    box-sizing: border-box;
    border-bottom: 1px solid #dce6f0; /* 下の区切り線 */
    line-height: 1.7; /* 文章の行間を少し広げて読みやすく */
}

/* =========================================
   スマートフォン表示時の調整（画面幅が狭い場合）
   ========================================= */
@media screen and (max-width: 768px) {
    /* 横並びを解除して縦並びに戻す */
    .recruit-list dt,
    .recruit-list dd {
        width: 100%; /* 横幅いっぱいにする */
        display: block;
    }
    /* スマホ表示での余白や線の調整 */
    .recruit-list dt {
        border-bottom: none; /* タイトル下の線を消す */
        padding-bottom: 0.5em; /* タイトル下の余白を狭く */
        margin-top: 1em; /* 前の項目との間隔 */
    }
    .recruit-list dt:first-child {
        margin-top: 0; /* 最初の項目の上余白は不要 */
    }
    .recruit-list dd {
        padding-top: 0.5em; /* 内容の上の余白を狭く */
        border-bottom: 1px solid #dce6f0; /* 内容の下に線を引く */
    }
}
/* ==============================================
   ヘッダー「応募はこちら」ボタン（強制適用版）
   ============================================== */

/* 親要素を含めて指定し、優先度を高める */
li.nav-item-cta a.nav-btn-entry,
li.nav-item-cta a.nav-btn-entry span {
    background-color: #0044CC !important;    /* 背景：青 */
    color: #ffffff !important;               /* 文字：白 (強制) */
    border: 2px solid #0044CC !important;    /* 枠線：青 */
    opacity: 1 !important;                   /* 透明度リセット */
    text-decoration: none !important;        /* 下線なし */
}

/* ホバー時（マウスを乗せた時）：白背景・青文字 */
li.nav-item-cta a.nav-btn-entry:hover,
li.nav-item-cta a.nav-btn-entry:hover span {
    background-color: #ffffff !important;    /* 背景：白 */
    color: #0044CC !important;               /* 文字：青 (強制) */
}
/* ==============================================
   ヘッダーナビゲーション デザイン修正
   ============================================== */

/* --- ナビゲーションバー全体 (PC) --- */
.l-header__nav {
    background-color: #fff; /* 白背景で清潔感を出す */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); /* うっすら影をつけて浮かる */
    width: 100%;
    position: relative;
    z-index: 999;
}

.p-global-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* 右寄せ */
    height: 80px; /* ヘッダーの高さ */
    margin: 0 auto;
    width: 95%;
    max-width: 1400px;
}

/* --- 各メニュー項目 --- */
.p-global-nav > li {
    border: none !important; /* 既存の枠線を消す */
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ロゴ部分の調整 */
.p-global-nav > li.nav-logo {
    margin-right: auto; /* ロゴだけ左に寄せる */
}
.p-global-nav > li.nav-logo img {
    height: 40px; /* ロゴサイズ調整 */
    width: auto;
    vertical-align: middle;
}

/* リンクのデザイン */
.p-global-nav > li > a {
    color: #333 !important; /* 文字は黒系 */
    font-weight: 700;
    font-size: 14px;
    padding: 0 20px;
    line-height: 80px;
    display: block;
    text-decoration: none;
    transition: color 0.3s;
    position: relative;
}

/* ホバー時の動き */
.p-global-nav > li > a:hover {
    color: #0044CC !important; /* ホバーで青く */
}


/* --- 「応募はこちら」ボタンのデザイン --- */
.p-global-nav > li.nav-item-cta {
    margin-left: 15px;
}

/* リンクタグ自体をボタンの形にする */
a.nav-btn-entry {
    line-height: 1 !important; /* 高さリセット */
    padding: 15px 30px !important;
    background-color: #0044CC; /* ウイングブルー */
    color: #fff !important;
    border-radius: 50px; /* 丸いボタン */
    font-weight: 700;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 68, 204, 0.3);
    border: 2px solid #0044CC;
}

/* ボタンホバー時 */
a.nav-btn-entry:hover {
    background-color: #fff;
    color: #0044CC !important;
    transform: translateY(-2px);
}


/* --- ドロップダウンメニュー (PC) --- */
.sub-menu {
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-top: 2px solid #0044CC;
    min-width: 200px;
    padding: 10px 0;
    display: none; /* 初期状態は非表示 */
    position: absolute;
    top: 80px;
    left: 0;
    z-index: 100;
}

.p-global-nav > li:hover .sub-menu {
    display: block; /* ホバーで表示 */
}

.sub-menu li a {
    padding: 15px 20px;
    color: #333 !important;
    font-size: 13px;
    display: block;
    border-bottom: 1px solid #eee;
}

.sub-menu li a:hover {
    background-color: #f9f9f9;
    color: #0044CC !important;
}

/* --- 2. メニューバーの修正（スマホ・PC共通） --- */

/* ナビ全体 */
.l-header__nav {
    background-color: #fff !important; /* 白背景 */
}

.p-global-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* PCでのメニュー項目 */
@media (min-width: 992px) {
    .p-global-nav > li {
        border: none !important;
        margin: 0;
        padding: 0 15px;
    }

    .p-global-nav > li > a {
        color: #333 !important;
        font-weight: 700;
        text-decoration: none;
        font-size: 14px;
        line-height: 80px; /* ヘッダー高さに合わせる */
        display: block;
    }
    
    /* 応募ボタン(PC) */
    .nav-btn-entry {
        background-color: #0044CC;
        color: #fff !important;
        padding: 12px 30px;
        border-radius: 30px;
        line-height: 1;
    }
}


/* --- 3. スマホメニューの崩れ修正（強制リセット） --- */
@media (max-width: 991px) {
    
    /* ハンバーガーボタン */
    .c-menu-btn {
        display: block !important;
        position: fixed; /* スクロールしてもついてくる */
        top: 15px;
        right: 15px;
        z-index: 10000;
    }

    /* ナビゲーション本体 */
    #js-header__nav {
        display: block !important; /* TCDのJSによる非表示を解除 */
        position: fixed;
        top: 0;
        right: -100%; /* 画面外へ */
        width: 80% !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 9999;
        transition: right 0.4s ease;
        visibility: hidden;
        overflow-y: auto;
        box-shadow: -5px 0 15px rgba(0,0,0,0.1);
        padding-top: 60px !important; /* 閉じるボタン用余白 */
    }

    /* 開いた状態 */
    #js-header__nav.is-active {
        right: 0 !important;
        visibility: visible !important;
    }

    /* リストを縦並びに */
    .p-global-nav {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 各項目 */
    .p-global-nav > li {
        display: block !important;
        width: 100% !important;
        border: none !important;
        border-bottom: 1px solid #eee !important;
        margin: 0 !important;
        background: transparent !important;
    }

    /* リンク文字 */
    .p-global-nav > li > a {
        display: block !important;
        padding: 15px 20px !important;
        color: #333 !important;
        font-size: 16px !important;
        font-weight: 700;
        line-height: 1.5 !important;
        text-align: left !important;
    }

    /* ドロップダウン（採用情報の子メニュー） */
    .sub-menu {
        display: block !important;
        position: static !important;
        box-shadow: none !important;
        background-color: #f9f9f9 !important;
        padding-left: 20px !important;
    }
    
    .sub-menu li {
        border-bottom: 1px solid #ddd !important;
    }

    /* 応募ボタン（スマホ） */
    .p-global-nav > li.nav-item-cta {
        border-bottom: none !important;
        padding: 30px 20px !important;
        text-align: center;
    }

    a.nav-btn-entry {
        display: block !important;
        background-color: #0044CC !important;
        color: #fff !important;
        padding: 15px !important;
        border-radius: 50px;
        text-align: center !important;
        width: 100%;
    }

    /* 閉じるボタン */
    .l-header__nav-close {
        display: block !important;
        position: absolute;
        top: 10px;
        right: 15px;
        width: 40px;
        height: 40px;
        background: #f0f0f0;
        border-radius: 4px;
        z-index: 10001;
    }
}
/* ==============================================
   ヘッダー「応募はこちら」ボタン（強制適用版）
   ============================================== */

/* 親要素を含めて指定し、優先度を高める */
li.nav-item-cta a.nav-btn-entry,
li.nav-item-cta a.nav-btn-entry span {
    background-color: #0044CC !important;    /* 背景：青 */
    color: #ffffff !important;               /* 文字：白 (強制) */
    border: 2px solid #0044CC !important;    /* 枠線：青 */
    opacity: 1 !important;                   /* 透明度リセット */
    text-decoration: none !important;        /* 下線なし */
}

/* ホバー時（マウスを乗せた時）：白背景・青文字 */
li.nav-item-cta a.nav-btn-entry:hover,
li.nav-item-cta a.nav-btn-entry:hover span {
    background-color: #ffffff !important;    /* 背景：白 */
    color: #0044CC !important;               /* 文字：青 (強制) */
}