/*
Theme Name: Custom Agency Theme
Version: 2.0 (Full Action Fix)
*/

/* =========================================
   1. 基本設定 (Reset & Base)
   ========================================= */
*, *::before, *::after { box-sizing: border-box; }
body {
    margin: 0; padding: 0;
    font-family: "Noto Sans JP", sans-serif;
    background: #fff;
    overflow-x: hidden;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
main { flex: 1; }

/* ★リンク全体のアクション */
a { text-decoration: none; color: inherit; transition: 0.3s ease; }
a:hover { opacity: 0.7; } /* 基本は少し薄くなる */

img { max-width: 100%; height: auto; vertical-align: bottom; }
ul { list-style: none; margin: 0; padding: 0; }

/* =========================================
   2. ヘッダー (Header)
   ========================================= */
.site-header {
    position: fixed; top: 0; left: 0; width: 100%; height: 80px;
    background: rgba(255,255,255,0.95); z-index: 9999; border-bottom: 1px solid #eee;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
}
.logo a { font-family: 'Oswald', sans-serif; font-size: 24px; font-weight: bold; letter-spacing: 0.1em; color: #000; }
.logo a:hover { opacity: 0.5; } /* ロゴも反応させる */

.gnav ul { display: flex; gap: 30px; }
.gnav a { font-family: 'Oswald', sans-serif; font-weight: bold; font-size: 14px; color: #000; text-transform: uppercase; position: relative; }

/* ★ナビゲーションのホバー：下線が伸びるアニメーションに変更 */
.gnav a::after {
    content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px;
    background: #000; transition: 0.3s;
}
.gnav a:hover { color: #000; opacity: 1; }
.gnav a:hover::after { width: 100%; }

/* =========================================
   3. メインビジュアル (MV)
   ========================================= */
.mv-section { position: relative; height: 100vh; background: #000; display: flex; align-items: center; justify-content: center; }
.mv-bg img { position: absolute; top:0; left:0; width:100%; height:100%; object-fit: cover; opacity: 0.6; }
.mv-content { position: relative; z-index: 10; text-align: center; color: #fff; margin-bottom: 40px; }
.mv-title { font-family: 'Oswald', sans-serif; font-size: 6vw; line-height: 1.1; margin: 0; }

/* --- 無限ループスライダー --- */
.ticker-wrap {
    position: absolute; bottom: 0; left: 0; width: 100%;
    height: 380px; 
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    z-index: 20;
    display: flex; align-items: flex-end;
    padding-bottom: 30px;
    overflow: hidden;
}
.tickerSwiper { width: 100%; height: auto !important; }
.tickerSwiper .swiper-wrapper { transition-timing-function: linear; }
.tickerSwiper .swiper-slide {
    width: 211px !important; height: auto !important;
    display: flex; justify-content: center; align-items: center; margin-right: 20px;
}

/* ポスターボックス */
.poster-box {
    width: 100%; height: 300px !important; 
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: bold; font-family: 'Oswald'; font-size: 24px;
    border-radius: 4px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.5);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* アニメーション定義 */
    cursor: pointer;
}
.poster-box img { 
    width: 100%; height: 100%; object-fit: cover; object-position: top center; 
    transition: transform 0.5s ease; 
}

/* ★MVポスターのアクション：浮き上がってズーム */
.poster-box:hover {
    transform: translateY(-15px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.8);
}
.poster-box:hover img { transform: scale(1.1); }

@media screen and (max-width: 768px) {
    .mv-title { font-size: 10vw; line-height: 1.2; padding: 0 15px; }
    .ticker-wrap { height: 350px !important; }
    .poster-box { height: 320px !important; }
    .tickerSwiper .swiper-slide { width: 211px !important; }
}

/* =========================================
   4. 共通セクション設定
   ========================================= */
.section { position: relative; padding: 120px 0; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 5; }
.section-title { font-family: 'Oswald', sans-serif; font-size: 45px; text-align: center; margin-bottom: 60px; font-weight: bold; letter-spacing: 0.1em; }
.parallax-bg { background-attachment: fixed; background-size: cover; background-position: center; color: #fff; }
.overlay { position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.6); }
.bg-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Oswald'; font-size: 18vw; font-weight: bold; color: rgba(0,0,0,0.04); z-index: 1; pointer-events: none; }
.parallax-bg .bg-text { color: rgba(255,255,255,0.05); }
@media screen and (max-width: 768px) {
    .section { padding: 60px 0; }
    .section-title { font-size: 32px; margin-bottom: 40px; }
}

/* =========================================
   5. WORKS（実績） - トップページ
   ========================================= */
.works-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;
}
.works-item {
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease; /* 全ての変化をアニメーション */
    border-bottom: 2px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    display: block; /* aタグの場合を考慮 */
}
.works-thumb {
    width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #eee;
}
.works-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.works-info { padding: 15px; }
.works-title { font-size: 16px; font-weight: bold; margin: 0 0 8px; line-height: 1.4; }
.works-desc { font-size: 13px; color: #666; line-height: 1.6; margin: 0; }

/* ★WORKSカードのアクション：浮き上がって画像ズーム */
.works-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}
.works-item:hover .works-thumb img { transform: scale(1.1); }
.works-item:hover { opacity: 1; } /* リンクのopacity指定を上書きして鮮明に */

/* MOREボタン */
.btn-more-works {
    display: inline-block; padding: 12px 50px; background: #000; color: #fff;
    font-family: 'Oswald'; font-size: 14px; letter-spacing: 0.1em;
    border-radius: 4px; transition: 0.3s; border: 1px solid #000;
}
/* ★ボタンアクション：白黒反転 */
.btn-more-works:hover {
    background: #fff; color: #000; opacity: 1;
}

@media screen and (max-width: 768px) {
    .works-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 15px !important; }
    .works-title { font-size: 14px; }
    .works-desc { font-size: 11px; }
    .works-info { padding: 10px; }
}

/* =========================================
   6. TALENT（タレント一覧）
   ========================================= */
.talent-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px;
}
.talent-card {
    display: flex; flex-direction: column; height: 100%;
    border: 1px solid #eee; transition: 0.3s; background: #fff; cursor: pointer;
    overflow: hidden; /* ズームのはみ出し防止 */
}
.talent-card .thumb { width: 100%; aspect-ratio: 3/4; overflow: hidden; background: #eee; }
.talent-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.talent-info-box { padding: 15px 10px; text-align: center; flex-grow: 1; display: flex; flex-direction: column; }
.talent-card .name { font-size: 16px; font-weight: bold; color: #000; margin: 0 0 5px; }
.talent-card .job { font-size: 11px; color: #888; margin-bottom: 10px; }

.btn-more { 
    margin-top: auto; display: inline-block; padding: 6px 15px; 
    border: 1px solid #000; font-size: 11px; font-family: 'Oswald'; 
    background: #fff; color: #000; transition: 0.3s;
}

/* ★タレントカードのアクション */
.talent-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-color: #ddd;
}
.talent-card:hover .thumb img { transform: scale(1.08); }

/* ★タレント詳細ボタンのアクション */
.btn-more:hover { background: #000; color: #fff; opacity: 1; }
/* カード自体のホバー時にボタンも反応させる */
.talent-card:hover .btn-more { background: #000; color: #fff; }

@media screen and (max-width: 768px) {
    .talent-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .talent-card .name { font-size: 13px; }
}

/* =========================================
   7. NEWS & COMPANY & FOOTER
   ========================================= */
.news-row { 
    display: flex; padding: 20px; border-bottom: 1px solid rgba(255,255,255,0.2); 
    align-items: center; transition: 0.3s; cursor: pointer; 
}
/* ★ニュースのアクション：背景色が薄くつく */
.news-row:hover { background: rgba(255,255,255,0.1); opacity: 1; }
.news-date { width: 120px; font-family: 'Oswald'; font-weight: bold; }
.news-title { font-weight: bold; }

/* COMPANY */
.company-box dl { display: flex; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,0.3); }
.company-box dt { width: 30%; padding: 25px; border-bottom: 1px solid rgba(255,255,255,0.3); font-weight: bold; }
.company-box dd { width: 70%; padding: 25px; border-bottom: 1px solid rgba(255,255,255,0.3); margin: 0; }

/* CONTACT FORM */
#contact .contact-form-wrapper { max-width: 720px; margin: 0 auto; padding: 20px; }
.wpcf7-text, .wpcf7-email, .wpcf7-textarea { 
    width: 100%; padding: 15px; border: 1px solid #ddd; background: #f9f9f9; 
    border-radius: 2px; transition: 0.3s; 
}
/* ★フォーム入力欄のアクション：フォーカス時に枠線強調 */
.wpcf7-text:focus, .wpcf7-email:focus, .wpcf7-textarea:focus {
    background: #fff; border-color: #000; outline: none;
}

.wpcf7-submit { 
    display: block; width: 240px; margin: 40px auto 0; padding: 15px 0; 
    background: #000; color: #fff; font-weight: bold; cursor: pointer; 
    border: 1px solid #000; transition: 0.3s; 
}
/* ★送信ボタンのアクション：白黒反転 */
.wpcf7-submit:hover { background: #fff; color: #000; opacity: 1; }

#audition { padding-top: 40px !important; padding-bottom: 80px !important; background: #fff; }
#contact { padding-bottom: 40px !important; }
.audition-box { padding: 30px 20px !important; }

/* FOOTER */
#site-footer { background: #000; color: #fff; padding: 60px 20px 80px; text-align: center; }
.footer-nav ul { display: flex; justify-content: center; gap: 40px; margin-bottom: 50px; }
.footer-nav a { transition: 0.3s; color: #fff; opacity: 0.8; }
/* ★フッターリンクのアクション */
.footer-nav a:hover { opacity: 1; text-decoration: underline; }

@media screen and (max-width: 768px) {
    .footer-nav ul { flex-direction: row !important; flex-wrap: wrap !important; gap: 15px 10px !important; }
    .footer-nav li { width: 45%; }
    .footer-nav a { display: block; padding: 10px; background: rgba(255,255,255,0.1); border-radius: 4px; font-size: 13px; }
}
.copyright { font-size: 12px; color: #888; font-family: 'Oswald'; }

/* =========================================
   8. ハンバーガーメニュー
   ========================================= */
.hamburger-btn { display: none; width: 30px; height: 24px; cursor: pointer; z-index: 10001; position: relative; }
.hamburger-btn span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #000; transition: 0.3s; }
.hamburger-btn span:nth-of-type(1) { top: 0; }
.hamburger-btn span:nth-of-type(2) { top: 11px; }
.hamburger-btn span:nth-of-type(3) { bottom: 0; }

@media screen and (max-width: 768px) {
    .hamburger-btn { display: block; }
    .gnav { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(255, 255, 255, 0.98); display: flex; justify-content: center; align-items: center; opacity: 0; visibility: hidden; transition: 0.3s; z-index: 10000; }
    .gnav.active { opacity: 1; visibility: visible; }
    .gnav ul { flex-direction: column; gap: 30px; text-align: center; }
    .gnav a { font-size: 24px; }
    .hamburger-btn.active span:nth-of-type(1) { transform: translateY(11px) rotate(45deg); }
    .hamburger-btn.active span:nth-of-type(2) { opacity: 0; }
    .hamburger-btn.active span:nth-of-type(3) { transform: translateY(-11px) rotate(-45deg); }
}

/* =========================================
   9. WORKSアーカイブ（一覧ページ）
   ========================================= */
.works-archive-list { width: 100%; max-width: 1000px; margin: 0 auto; }
.works-row { 
    display: flex; flex-wrap: wrap; gap: 30px; background: #fff; padding: 30px; 
    margin-bottom: 30px; box-shadow: 0 5px 10px rgba(0,0,0,0.03); 
    align-items: flex-start; transition: 0.3s; cursor: pointer;
    border: 1px solid #eee; /* 枠線を追加して視認性アップ */
}

/* ★アーカイブリストのアクション：全体浮き上がり */
.works-row:hover {
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    transform: translateY(-5px);
    border-color: #ccc;
}

.works-row-img { flex: 1; min-width: 250px; max-width: 350px; overflow: hidden; border-radius: 4px; }
.works-row-img img { 
    width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top center; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); transition: 0.5s; 
}
/* ★アーカイブ画像のズーム */
.works-row:hover .works-row-img img { transform: scale(1.05); }

.works-row-info { flex: 1.5; min-width: 300px; }
/* 途切れていた部分の補完 */
.works-row-info h2 { margin-top: 0; font-size: 22px; }
.works-row-info p { font-size: 14px; color: #666; }

/* ボタン系追加 */
.btn-archive-detail {
    display: inline-block; margin-top: 15px; padding: 10px 30px; 
    background: #000; color: #fff; font-size: 13px; font-family: 'Oswald';
    border: 1px solid #000; transition: 0.3s;
}
/* ★一覧詳細ボタンのアクション */
.btn-archive-detail:hover { background: #fff; color: #000; }
.works-row:hover .btn-archive-detail { background: #333; } /* カードホバー時 */

/* =========================================
   11. Lity (ライトボックス) 用スタイル修正
   ========================================= */

/* Lityの背景（黒い幕） */
.lity {
    z-index: 2147483647 !important; /* 何よりも一番上に表示 */
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    white-space: nowrap;
    background: #0b0b0b;
    background: rgba(0, 0, 0, 0.9);
    outline: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.lity.lity-opened {
    opacity: 1;
}
.lity-wrap {
    z-index: 99990;
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    text-align: center;
    outline: none;
}
.lity-wrap:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
}
.lity-container {
    z-index: 99992;
    position: relative;
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    white-space: normal;
    max-width: 100%;
    max-height: 100%;
    outline: none;
}
.lity-content {
    width: 100%;
}
.lity-content:after {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0; display: block; right: 0;
    width: auto; height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

/* 閉じるボタン（×） */
.lity-close {
    z-index: 99994;
    width: 35px;
    height: 35px;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-appearance: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: 35px;
    font-family: Arial, sans-serif;
    line-height: 35px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    border: 0;
    background: none;
    outline: none;
    box-shadow: none;
}
.lity-close::-moz-focus-inner {
    border: 0; padding: 0;
}
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: 35px;
    font-family: Arial, sans-serif;
    line-height: 35px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    border: 0;
    background: none;
    outline: none;
    box-shadow: none;
}
.lity-close:active {
    top: 1px;
}

/* 画像そのもの */
.lity-img {
    max-width: 100%;
    display: block;
    line-height: 0;
    border: 0;
}

/* フッターメニューをスマホで1列（縦積み）にする修正 */
@media screen and (max-width: 768px) {
    .footer-nav ul {
        flex-direction: column !important; /* 強制的に縦並び */
        flex-wrap: nowrap !important;      /* 折り返し禁止 */
        gap: 20px !important;              /* メニュー間の余白調整 */
    }
    .footer-nav li {
        width: 100% !important;            /* 幅を画面いっぱいに */
        text-align: center;
    }
    .footer-nav a {
        display: block;
        width: 100%;                       /* リンクも幅いっぱい */
        background: none;                  /* 背景の四角い枠を消すならnone、残すならそのまま */
        border: 1px solid rgba(255,255,255,0.2); /* 線だけ残す例 */
    }
}
/* =========================================
   12. スマホ用MVスライダーのサイズ微調整（縮小）
   ========================================= */
@media screen and (max-width: 768px) {
    /* スライダー全体のエリア高さを縮める */
    .ticker-wrap {
        height: 270px !important; /* 元350px → 270pxに変更 */
    }

    /* 画像が入る箱の高さを縮める */
    .poster-box {
        height: 240px !important; /* 元320px → 240pxに変更 */
    }

    /* スライドの幅も比率に合わせて少し細くする */
    .tickerSwiper .swiper-slide {
        width: 160px !important;  /* 元211px → 160pxに変更 */
    }
    
    /* タイトルの文字サイズも少しだけ控えめにしてバランスを取る */
    .mv-title {
        font-size: 8.5vw;         /* 元10vw → 8.5vw */
        margin-bottom: 20px;      /* スライダーとの距離を調整 */
    }
}

/* =========================================
   【中身の再現】AUDITIONセクション
   ========================================= */

/* H3見出し：元のコードのインラインCSSを再現 */
#audition h3 {
    font-weight: bold !important;
    border-left: 4px solid #000 !important;
    padding-left: 10px !important;
    margin-bottom: 15px !important;
    font-size: 18px !important;
    text-align: left !important;
    margin-top: 30px !important; /* 前の段落との間隔 */
}

/* 本文：元のコードの余白を再現 */
#audition p {
    margin-bottom: 30px !important;
    line-height: 1.8 !important;
    font-size: 15px !important;
}

/* ※1, ※2 の白い枠エリア：元のコードを完全再現 */
.audition-note {
    background: #fff !important;
    border: 1px solid #eee !important;
    padding: 20px !important;
    font-size: 13px !important;
    color: #555 !important;
    margin-top: 10px !important;
}

/* 太字（strong）を赤色に（※元のコードの再現） */
#audition strong {
    color: #d00 !important;
}

/* =========================================
   【中身の再現】COMPANYセクション
   ========================================= */

/* テーブル全体の線と余白を元のコードに合わせる */
#company table {
    width: 100% !important;
    border-collapse: collapse !important;
}

#company th, #company td {
    padding: 20px 10px !important;
    border-bottom: 1px solid rgba(255,255,255,0.2) !important;
    color: #fff !important; /* 背景が暗いため白文字 */
    text-align: left !important;
}

/* 項目名（左側）を少し強調 */
#company th {
    font-weight: bold !important;
    width: 30% !important;
}
/* =========================================
   COMPANYセクション：ニュース風デザインへの修正
   ========================================= */

/* テーブル全体の枠線と背景を消す */
#company figure.wp-block-table,
#company table {
    border: none !important;
    background: transparent !important;
    margin: 0 auto !important;
}

/* 縦線を消し、横線だけを残す */
#company th, 
#company td {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.2) !important; /* NEWSと同じ薄い横線 */
    padding: 20px 10px !important;
    color: #fff !important;
    background: transparent !important;
}

/* 最後の行の線は消す（お好みで） */
#company tr:last-child th,
#company tr:last-child td {
    border-bottom: none !important;
}

/* 項目名（左側）の幅をNEWSの「日付」の幅感に合わせる */
#company th {
    width: 30% !important;
    font-weight: bold !important;
    font-family: 'Oswald', sans-serif; /* 英字が含まれる場合のため */
}

/* =========================================
   【最終調整】COMPANY & MV文字サイズ修正
   ========================================= */

/* --- 1. COMPANYセクション（NEWS風デザイン・レスポンシブ込） --- */

/* 余計な背景や枠線を消して透明にする */
.company-box,
.company-box table,
.company-box figure {
    background: transparent !important;
    border: none !important;
    margin: 0 auto !important;
    width: 100% !important;
    color: #fff !important;
}

/* セル（枠）の設定：NEWSのように横線だけ引く */
.company-box th,
.company-box td {
    background: transparent !important;
    border: none !important; /* 一旦全方向の線を消す */
    border-bottom: 1px solid rgba(255,255,255,0.3) !important; /* 下線だけ引く */
    padding: 25px 10px !important;
    text-align: left !important;
    vertical-align: middle !important;
    font-size: 15px !important;
}

/* 項目名（左側） */
.company-box th {
    width: 25% !important;
    font-weight: bold !important;
    opacity: 0.9;
}

/* スマホ対応（レスポンシブ）：縦積みにする */
@media screen and (max-width: 768px) {
    .company-box th, 
    .company-box td {
        display: block !important; /* 縦に積む */
        width: 100% !important;
        padding: 10px 0 !important;
        border-bottom: none !important; /* 間の線を消す */
    }
    
    .company-box th {
        padding-top: 20px !important;
        font-size: 13px !important;
        opacity: 0.7;
        padding-bottom: 5px !important;
    }
    
    .company-box td {
        padding-bottom: 20px !important;
        font-size: 16px !important;
        font-weight: bold !important;
        border-bottom: 1px solid rgba(255,255,255,0.3) !important; /* セットの区切り線 */
    }
}

/* --- 2. MV（メインビジュアル）の文字サイズ調整 --- */

/* タイトル：PCでは大きすぎないように調整 */
.mv-title {
    font-size: 80px !important; /* 元の6vwだと大きすぎるので固定値かrem推奨 */
    line-height: 1.1 !important;
    margin-bottom: 20px !important;
    font-family: 'Oswald', sans-serif !important;
    letter-spacing: 0.05em !important;
}

/* サブタイトル：PCでも読みやすく大きくする */
.mv-content p {
    font-size: 24px !important; /* 小さすぎたので大きく */
    font-weight: bold !important;
    letter-spacing: 0.1em !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    opacity: 0.9;
}

/* スマホでのMV文字サイズ調整 */
@media screen and (max-width: 768px) {
    .mv-title {
        font-size: 42px !important; /* スマホではこれくらいが適正 */
        margin-bottom: 15px !important;
    }
    .mv-content p {
        font-size: 14px !important; /* スマホでは少し控えめに */
    }
}

/* COMPANYセクションの最終行にも線を引く */
#company th, 
#company td {
    border-bottom: 1px solid rgba(255,255,255,0.3) !important;
}

/* スマホ時、最後の「ここに入力してください」の下にも線を出す */
@media screen and (max-width: 768px) {
    .company-box td:last-child {
        border-bottom: 1px solid rgba(255,255,255,0.3) !important;
        padding-bottom: 25px !important;
    }
}
/* より強力なセレクタに変更 */
body #company .company-box table tr th, 
body #company .company-box table tr td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
}