/* -----------------------------------------
  追加スタイル - 株式会社クロシロ
  ※ style.css の後に読み込んでください
----------------------------------------- */

/* -----------------------------------------
  会社概要ページ追加スタイル
----------------------------------------- */

/* 代表メッセージセクション */
.company .message {
    padding: 60px 0;
    background-color: #f7f7f7;
}
.company .message-wrap {
    background-color: #fff;
    padding: 60px;
    position: relative;
}
.company .message-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background-color: #188eb1;
}
.company .message h2 {
    font-size: 26px;
    font-weight: 600;
    color: #222;
    margin-bottom: 30px;
}
.company .message h2 span {
    color: #188eb1;
    margin-right: 10px;
}
.company .message h2 small {
    font-size: 12px;
    display: block;
    margin-top: 10px;
    color: #666;
}
.company .message-content p {
    line-height: 2;
    margin-bottom: 20px;
    font-size: 14px;
}
.company .message-content .sign {
    text-align: right;
    font-weight: 600;
    margin-top: 40px;
    color: #188eb1;
}

@media screen and (max-width: 767px) {
    .company .message {
        padding: 40px 0;
    }
    .company .message-wrap {
        padding: 30px 20px;
    }
    .company .message h2 {
        font-size: 20px;
    }
    .company .message-content p {
        font-size: 12px;
    }
}

/* -----------------------------------------
  サービスページ追加スタイル
----------------------------------------- */

/* サービス詳細セクション */
.service-detail {
    padding: 60px 0;
    background-color: #f7f7f7;
}
.service-detail .detail-wrap {
    background-color: #fff;
    padding: 40px;
    border-radius: 4px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}
.service-detail h3 {
    font-size: 22px;
    font-weight: 600;
    color: #222;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #188eb1;
    position: relative;
}
.service-detail .detail-num {
    color: #188eb1;
    font-size: 40px;
    font-weight: bold;
    margin-right: 20px;
    line-height: 1;
}
.service-detail .detail-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.service-detail .detail-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.service-detail .detail-icon {
    width: 50px;
    height: 50px;
    background-color: #188eb1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.service-detail .detail-icon span {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
}
.service-detail .detail-content h4 {
    font-size: 18px;
    font-weight: 600;
    color: #222;
    margin-bottom: 10px;
}
.service-detail .detail-content p {
    font-size: 14px;
    line-height: 1.8;
    color: #666;
}

@media screen and (max-width: 767px) {
    .service-detail {
        padding: 40px 0;
    }
    .service-detail .detail-wrap {
        padding: 20px;
    }
    .service-detail h3 {
        font-size: 18px;
    }
    .service-detail .detail-num {
        font-size: 30px;
        display: block;
        margin-bottom: 10px;
    }
    .service-detail .detail-item {
        flex-direction: column;
        gap: 10px;
    }
    .service-detail .detail-icon {
        width: 40px;
        height: 40px;
    }
    .service-detail .detail-icon span {
        font-size: 20px;
    }
    .service-detail .detail-content h4 {
        font-size: 16px;
    }
    .service-detail .detail-content p {
        font-size: 12px;
    }
}

/* CTAセクション */
.cta-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #12446a 0%, #188eb1 100%);
}
.cta-section .cta-wrap {
    text-align: center;
    color: #fff;
}
.cta-section h3 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 20px;
}
.cta-section p {
    font-size: 16px;
    margin-bottom: 30px;
}
.cta-section .cta-btn {
    display: inline-block;
    background-color: #fff;
    color: #188eb1;
    padding: 16px 60px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s;
}
.cta-section .cta-btn:hover {
    background-color: #222;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .cta-section {
        padding: 60px 0;
    }
    .cta-section h3 {
        font-size: 22px;
    }
    .cta-section p {
        font-size: 14px;
    }
    .cta-section .cta-btn {
        padding: 14px 40px;
        font-size: 14px;
    }
}

/* -----------------------------------------
  お問合せページスタイル
----------------------------------------- */

/* お問合せフォームセクション */
.contact .contact-form {
    padding: 60px 0;
    background-color: #f7f7f7;
}
.contact .form-intro {
    text-align: center;
    margin-bottom: 40px;
}
.contact .form-intro p {
    font-size: 16px;
    line-height: 1.8;
}
.contact .form-intro .form-note {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
}
.contact form {
    background-color: #fff;
    padding: 60px;
    max-width: 800px;
    margin: 0 auto;
    border-radius: 4px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}
.contact .form-group {
    margin-bottom: 30px;
}
.contact .form-group label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin-bottom: 10px;
}
.contact .form-group .required {
    display: inline-block;
    background-color: #e74c3c;
    color: #fff;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 2px;
    margin-left: 10px;
}
.contact .form-group input[type="text"],
.contact .form-group input[type="email"],
.contact .form-group input[type="tel"],
.contact .form-group select,
.contact .form-group textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 14px;
    border: 2px solid #e5e5e5;
    border-radius: 4px;
    transition: border-color 0.3s;
    background-color: #fff;
}
.contact .form-group input:focus,
.contact .form-group select:focus,
.contact .form-group textarea:focus {
    outline: none;
    border-color: #188eb1;
}
.contact .form-group input::placeholder,
.contact .form-group textarea::placeholder {
    color: #aaa;
}
.contact .form-group select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}
.contact .form-group textarea {
    resize: vertical;
    min-height: 160px;
}

/* プライバシーチェックボックス */
.contact .privacy-check {
    text-align: center;
}
.contact .checkbox-label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-weight: normal !important;
}
.contact .checkbox-label input[type="checkbox"] {
    width: auto;
    margin-right: 10px;
    cursor: pointer;
}
.contact .privacy-link {
    color: #188eb1;
    text-decoration: underline;
}

/* 送信ボタン */
.contact .form-submit {
    text-align: center;
    margin-top: 40px;
}
.contact .submit-btn {
    display: inline-block;
    background-color: #188eb1;
    color: #fff;
    padding: 18px 80px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s;
}
.contact .submit-btn:hover {
    background-color: #12446a;
}

/* お問合せ情報セクション */
.contact .contact-info {
    padding: 60px 0;
    background-color: #fff;
}
.contact .info-wrap h2 {
    font-size: 22px;
    font-weight: 600;
    color: #222;
    text-align: center;
    margin-bottom: 40px;
}
.contact .info-list {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.contact .info-item {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: #f7f7f7;
    padding: 30px 40px;
    border-radius: 4px;
}
.contact .info-icon {
    width: 60px;
    height: 60px;
    background-color: #188eb1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact .info-icon span {
    color: #fff;
    font-size: 24px;
}
.contact .info-content h3 {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    margin-bottom: 5px;
}
.contact .info-content p {
    font-size: 18px;
    font-weight: 600;
}
.contact .info-content a {
    color: #188eb1;
}

/* 送信完了・エラーページ */
.thanks-content,
.error-content {
    padding: 80px 0;
    background-color: #f7f7f7;
}
.thanks-wrap,
.error-wrap {
    background-color: #fff;
    padding: 60px;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    border-radius: 4px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}
.thanks-icon,
.error-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
}
.thanks-icon {
    background-color: #27ae60;
}
.error-icon {
    background-color: #e74c3c;
}
.thanks-icon span,
.error-icon span {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
}
.thanks-wrap h2,
.error-wrap h2 {
    font-size: 24px;
    font-weight: 600;
    color: #222;
    margin-bottom: 30px;
}
.thanks-wrap p,
.error-wrap p {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 20px;
}
.thanks-wrap .note {
    font-size: 12px;
    color: #666;
    margin-top: 30px;
}
.error-wrap .email-info {
    font-size: 16px;
    font-weight: 600;
    margin-top: 30px;
}
.error-wrap .email-info a {
    color: #188eb1;
}
.thanks-btn-wrap,
.error-btn-wrap {
    margin-top: 40px;
}
.thanks-btn,
.error-btn {
    display: inline-block;
    background-color: #188eb1;
    color: #fff;
    padding: 16px 50px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s;
}
.thanks-btn:hover,
.error-btn:hover {
    background-color: #12446a;
}

@media screen and (max-width: 767px) {
    .contact .contact-form {
        padding: 40px 0;
    }
    .contact .form-intro p {
        font-size: 14px;
    }
    .contact form {
        padding: 30px 20px;
    }
    .contact .form-group {
        margin-bottom: 20px;
    }
    .contact .form-group label {
        font-size: 12px;
    }
    .contact .form-group input[type="text"],
    .contact .form-group input[type="email"],
    .contact .form-group input[type="tel"],
    .contact .form-group select,
    .contact .form-group textarea {
        padding: 12px 14px;
        font-size: 16px; /* iOS zoom防止 */
    }
    .contact .submit-btn {
        width: 100%;
        padding: 16px 20px;
    }
    .contact .contact-info {
        padding: 40px 0;
    }
    .contact .info-list {
        flex-direction: column;
        gap: 20px;
    }
    .contact .info-item {
        padding: 20px;
    }
    .contact .info-icon {
        width: 50px;
        height: 50px;
    }
    .contact .info-content p {
        font-size: 16px;
    }
    .thanks-content,
    .error-content {
        padding: 40px 0;
    }
    .thanks-wrap,
    .error-wrap {
        padding: 40px 20px;
    }
    .thanks-wrap h2,
    .error-wrap h2 {
        font-size: 20px;
    }
    .thanks-wrap p,
    .error-wrap p {
        font-size: 12px;
    }
}

/* -----------------------------------------
  共通追加スタイル
----------------------------------------- */

/* スムーススクロール */
html {
    scroll-behavior: smooth;
}

/* フォーカス時のアウトライン改善 */
*:focus {
    outline: 2px solid #188eb1;
    outline-offset: 2px;
}
*:focus:not(:focus-visible) {
    outline: none;
}

/* -----------------------------------------
  FV背景画像スタイル（動画から画像に変更）
----------------------------------------- */
.fv-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

/* 動画スタイルを非表示（念のため） */
.fv-video {
    display: none !important;
}

/* -----------------------------------------
  スクロールアニメーション無効化
----------------------------------------- */
.fadeIn {
    opacity: 1 !important;
    -webkit-transform: translateY(0) !important;
    transform: translateY(0) !important;
}

/* スライドアニメーションも無効化 */
.property .list .list-ttl {
    opacity: 1 !important;
    z-index: 2 !important;
}
.property .list .slide-bg {
    width: 100% !important;
}
.project .story-ttl {
    opacity: 1 !important;
}
.project .slide-bg {
    width: 100% !important;
}
.nervenet .strong-ttl {
    opacity: 1 !important;
}
.nervenet .slide-bg {
    width: 100% !important;
}
section.only .only-slider {
    opacity: 1 !important;
}
section.only .slide-bg {
    width: 100% !important;
}

/* -----------------------------------------
  モノトーンカラースキーム（黒と白ベース）
----------------------------------------- */

/* メインカラー変数的な上書き */
/* 元の青系 #188eb1 → 黒 #222222 に変更 */
/* 元の濃い青 #12446a → 黒 #000000 に変更 */

/* -----------------------------------------
  TOPページ - モノトーン
----------------------------------------- */

/* FVセクション背景 */
section.fv .inner::after {
    background: rgba(0, 0, 0, 0.85) !important;
}
section.fv .inner .background {
    background: rgba(0, 0, 0, 1) !important;
}
section.fv .fv-txt h1 .text-ripple.color span {
    color: #999 !important;
}

/* MISSIONセクション */
section.mission {
    background-color: #000 !important;
    background-image: none !important;
}
section.mission h2 {
    color: #fff !important;
}
section.mission h2 span {
    color: #999 !important;
}
section.mission .mission-list .left span {
    background-color: #fff !important;
    color: #000 !important;
}
section.mission .mission-list .right h3 span {
    color: #999 !important;
}

/* SAFETYセクション（ライバー支援） */
section.safety {
    background-color: #f5f5f5 !important;
    background-image: none !important;
}
section.safety h2 {
    color: #000 !important;
}
section.safety .sub {
    background-color: #000 !important;
}
section.safety .sub:before,
section.safety .sub:after {
    background-color: #000 !important;
}
section.safety .txt:before {
    background-color: #fff !important;
}

/* NERVENETセクション（留学支援） */
section.nervenet {
    background-color: #fff !important;
    background-image: none !important;
}
section.nervenet .inner {
    background-color: rgba(245, 245, 245, 0.9) !important;
}
section.nervenet h2 {
    color: #000 !important;
}

/* PRIDEセクション */
section.pride {
    background-color: #000 !important;
    background-image: none !important;
}
section.pride h2 {
    color: #fff !important;
}
section.pride .pride-list .left h3 span {
    color: #999 !important;
}
section.pride .pride-list .right span {
    background-color: #fff !important;
    color: #000 !important;
}

/* ONLYセクション */
section.only {
    background-color: #f5f5f5 !important;
}
section.only .only-ttl h2 {
    color: #000 !important;
}
section.only .only-ttl h2 span {
    color: #000 !important;
}
section.only .only-ttl .sub {
    background-color: #000 !important;
    color: #fff !important;
}
section.only .number:before {
    color: #000 !important;
}
section.only .number p {
    color: #000 !important;
}
section.only .slide-bg.back1 {
    background: #000 !important;
}
section.only .slide-bg.back2 {
    background: #f5f5f5 !important;
}

/* STORYセクション */
section.story h2 {
    color: #000 !important;
}
section.story h2 span {
    color: #000 !important;
}
section.story .story-wrap {
    background-color: #000 !important;
}

/* スライダー矢印 */
.slick-prev.slick-arrow,
.slick-next.slick-arrow {
    background-color: #000 !important;
}
.slick-prev.slick-arrow:after,
.slick-next.slick-arrow:after {
    background-color: #000 !important;
}
.slick-prev.slick-arrow.slick-disabled,
.slick-next.slick-arrow.slick-disabled {
    background-color: #ccc !important;
}
.slick-prev.slick-arrow.slick-disabled:after,
.slick-next.slick-arrow.slick-disabled:after {
    background-color: #ccc !important;
}

/* ナビゲーション */
.g-nav {
    background: rgba(0, 0, 0, 0.95) !important;
}
.g-nav::before {
    background: rgba(0, 0, 0, 1) !important;
}
.g-nav .g-nav-inner .g-nav-list a:hover {
    background-color: rgba(255, 255, 255, 1) !important;
    color: #000 !important;
}

/* ヘッダー */
.wrapper.page .header {
    background: rgba(0, 0, 0, 0.8) !important;
}

/* フッター */
.wrapper.top .footer,
.wrapper.page .footer {
    background-color: #000 !important;
}

/* ボタン */
.top-btn1 {
    background-color: #fff !important;
    color: #000 !important;
}
.top-btn1:before {
    background-color: #fff !important;
}
.top-btn2 {
    background-color: #000 !important;
    color: #fff !important;
}
.top-btn2:before {
    background-color: #000 !important;
}

/* ページネーション */
.pagination a {
    background: #000 !important;
}
.pagination a.current {
    background: #000 !important;
}
.pagination a.current:after {
    border: 3px solid #000 !important;
}

/* テキストカラー */
section.mission h2,
section.safety h2,
section.only .only-ttl h2 span,
section.story h2 span,
.project .story-ttl h2 span,
.project .what.list2 h2,
.property .list-ttl h2 span {
    color: #000 !important;
}

/* 背景色 */
section.mission,
section.pride {
    background-color: #000 !important;
    background-image: none !important;
}
section.safety {
    background-color: #f5f5f5 !important;
    background-image: none !important;
}
section.safety h2 {
    color: #000 !important;
}
section.safety .sub {
    background-color: #000 !important;
}
section.safety .sub:before,
section.safety .sub:after {
    background-color: #000 !important;
}

section.nervenet {
    background-color: #f5f5f5 !important;
    background-image: none !important;
}
section.nervenet h2 {
    color: #000 !important;
}

section.story .story-wrap {
    background-color: #000 !important;
}

/* スライド背景 */
section.only .slide-bg.back1,
.property .list .slide-bg.back1,
.project .slide-bg.back1,
.nervenet .back1 {
    background: #000 !important;
}

/* 番号 */
section.only .number:before {
    color: #000 !important;
}
.property .list-txt li span.num:after {
    background-color: #000 !important;
}

/* スライダー矢印 */
.slick-prev.slick-arrow,
.slick-next.slick-arrow {
    background-color: #000 !important;
}
.slick-prev.slick-arrow:after,
.slick-next.slick-arrow:after {
    background-color: #000 !important;
}
.slick-prev.slick-arrow.slick-disabled,
.slick-next.slick-arrow.slick-disabled {
    background-color: #ccc !important;
}
.slick-prev.slick-arrow.slick-disabled:after,
.slick-next.slick-arrow.slick-disabled:after {
    background-color: #ccc !important;
}

/* ONLY セクション */
section.only .only-ttl .sub {
    background-color: #000 !important;
}

/* ローディング */
.sk-chase-dot:before {
    background-color: #000 !important;
}

/* -----------------------------------------
  会社概要ページ - モノトーン
----------------------------------------- */
.company .profile-list .txt {
    background-color: #f5f5f5 !important;
}
.company .profile-list .txt:after {
    background-color: #f5f5f5 !important;
}
.company .profile-table th {
    color: #000 !important;
}
.company .profile-table td:last-child {
    color: #000 !important;
}
.company .message-wrap::before {
    background-color: #000 !important;
}
.company .message h2 span {
    color: #000 !important;
}
.company .message-content .sign {
    color: #000 !important;
}

/* -----------------------------------------
  サービスページ - モノトーン
----------------------------------------- */
.service-detail .detail-icon {
    background-color: #000 !important;
}
.service-detail h3 {
    border-bottom-color: #000 !important;
}
.service-detail .detail-num {
    color: #000 !important;
}

/* CTA セクション */
.cta-section {
    background: linear-gradient(135deg, #000 0%, #333 100%) !important;
}
.cta-section .cta-btn {
    background-color: #fff !important;
    color: #000 !important;
}
.cta-section .cta-btn:hover {
    background-color: #f5f5f5 !important;
    color: #000 !important;
}

/* -----------------------------------------
  お問合せページ - モノトーン
----------------------------------------- */
.contact .form-group .required {
    background-color: #000 !important;
}
.contact .form-group input:focus,
.contact .form-group select:focus,
.contact .form-group textarea:focus {
    border-color: #000 !important;
}
.contact .privacy-link {
    color: #000 !important;
}
.contact .submit-btn {
    background-color: #000 !important;
}
.contact .submit-btn:hover {
    background-color: #333 !important;
}
.contact .info-icon {
    background-color: #000 !important;
}
.contact .info-content a {
    color: #000 !important;
}

/* 送信完了・エラーページ */
.thanks-icon {
    background-color: #000 !important;
}
.error-icon {
    background-color: #666 !important;
}
.thanks-btn,
.error-btn {
    background-color: #000 !important;
}
.thanks-btn:hover,
.error-btn:hover {
    background-color: #333 !important;
}
.error-wrap .email-info a {
    color: #000 !important;
}

/* フォーカスアウトライン */
*:focus {
    outline: 2px solid #000 !important;
}

/* リンクカラー */
a {
    color: #000;
}
a:hover {
    color: #333;
}

/* PROJECT ページ */
.project .what.list1 {
    background-color: #000 !important;
}
.project .what.list1 h3:after {
    background-color: #fff !important;
}
.project .what.list2 h3:after {
    background-color: #000 !important;
}
.project .opinion.list1 {
    background-color: #000 !important;
}
.project .opinion.list1 .ttl span {
    background-color: #fff !important;
    color: #000 !important;
}
.project .opinion.list1 .ttl span:after {
    background-color: #fff !important;
}
.project .opinion.list1 h2 {
    color: #fff !important;
}
.project .opinion.list2 h2 {
    color: #000 !important;
}
.project .opinion.list2 .ttl span {
    background-color: #000 !important;
}
.project .opinion.list2 .ttl span:after {
    background-color: #000 !important;
}

/* NERVENET ページ */
.nervenet .strong-ttl h2 span {
    color: #000 !important;
}
.nervenet .strong-point-ttl h3 {
    color: #000 !important;
}
.nervenet .strong-point-ttl h3 span:after {
    background-color: #000 !important;
}
.nervenet .strong-point-list h4 {
    color: #000 !important;
}
