@charset "UTF-8";

/* =========================================
Service Page: サービス詳細セクション
========================================= */

.service-detail-section {
padding: 120px 0;
background-color: #153828; /* 背景色の一貫性 */
}

.service-block {
display: flex;
align-items: center;
gap: 80px;
margin-bottom: 140px;
}

/* 偶数番目のブロックを反転させる */
.service-block.reverse {
flex-direction: row-reverse;
}

/* --- 画像エリア --- */
.service-img.img-stack {
    display: flex;
    flex-direction: column; /* 縦に並べる */
    gap: 20px;              /* 画像同士の隙間 */
    background: transparent; /* 親要素の背景を透過させて画像ごとの枠を活かす */
    box-shadow: none;        /* 親の影を消して、画像ごとの影を活かす */
    border: none;            /* 親の枠線を消す */
    overflow: visible;       /* 画像ごとの影が見えるようにする */
}

.service-img.img-stack img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid rgba(212, 175, 55, 0.3); /* ゴールドの細い枠線 */
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4); /* 個別の画像に影をつける */    
}

.service-img {
flex: 1;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
border: 1px solid rgba(212, 175, 55, 0.2);
}

.service-img img {
width: 100%;
height: auto;
display: block;
filter: brightness(1);
}

/* --- テキストエリア --- */
.service-text {
flex: 1;
}

/* 背景に溶け込む巨大なサービス番号 */
.service-num {
font-size: 5rem; /* 少し大きくしてインパクトを強化 */
font-weight: 900;
color: rgba(212, 175, 55, 0.08);
display: block;
line-height: 1;
margin-bottom: -25px; /* タイトルと少し重ねる */
font-family: 'Noto Sans JP', sans-serif;
}

.service-text h3 {
font-size: 2.2rem;
color: var(--gold);
margin-bottom: 25px;
font-weight: 900;
letter-spacing: 0.05em;
}

.lead-text {
font-size: 1.25rem;
font-weight: 700;
color: var(--white);
margin-bottom: 25px;
line-height: 1.6;
}

.service-text p {
font-size: 1rem;
line-height: 2;
color: rgba(255, 255, 255, 0.7);
margin-bottom: 30px;
}

/* --- 特徴リスト（金色の三角形） --- */
.service-points {
list-style: none;
padding: 0;
}

.service-points li {
padding-left: 28px;
position: relative;
margin-bottom: 15px;
font-weight: 700;
color: var(--white);
font-size: 1rem;
}

.service-points li::before {
content: '▶';
position: absolute;
left: 0;
color: var(--gold);
font-size: 0.8rem;
top: 5px;
}

/* --- サービスページ専用：サンプルリンクボタン --- */

.service-cta {
    margin-top: 40px; /* 説明文との余白 */
}

.btn-sample-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;               /* テキストと矢印の間隔 */
    color: var(--gold);      /* ブランドカラーの金 */
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 10px 0;
    position: relative;
    transition: color 0.3s ease;
}

/* 矢印アイコンの動き */
.btn-sample-link i {
    font-size: 0.9em;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* --- ホバー時の演出 --- */

/* 1. 矢印を右にスライドさせる */
.btn-sample-link:hover i {
    transform: translateX(10px);
}

/* 2. テキストの色を少し明るく（必要であれば） */
.btn-sample-link:hover {
    color: var(--gold-bright); /* より明るい金に */
}

/* 3. 下線がスッと伸びる演出（お好みで追加してください） */
.btn-sample-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.btn-sample-link:hover::after {
    transform: scaleX(1);
}



/* --- 準備中（Coming Soon）の画像演出 --- */

.coming-soon-frame {
    position: relative;
    background-color: #000; /* 画像がない場合のベース */
}

.coming-soon-frame img {
    opacity: 0.4; /* 画像を少し暗くして「未公開感」を出す */
    filter: grayscale(100%) brightness(0.7); /* モノクロにして落ち着かせる */
}

.overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--gold);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.3em;
    border: 1px solid var(--gold);
    padding: 10px 30px;
    white-space: nowrap;
    pointer-events: none; /* クリックの邪魔をしない */
}

/* 映像制作セクションのみ、今はまだリンクボタンを隠すか、「お問い合わせ」に変更 */
/* 今回は「お問い合わせ」に変更するスタイルを推奨します */


/* =========================================
Service Page: Responsive
========================================= */

@media (max-width: 992px) {
.service-block,
.service-block.reverse {
flex-direction: column;
gap: 50px;
text-align: center;
margin-bottom: 100px;
}

.service-img {
width: 100%;
max-width: 600px; /* スマホ・タブレットで広がりすぎないように */
}

.service-img.img-stack {
    max-width: 500px; /* スマホでは広がりすぎないように */
    margin: 0 auto;
}

.service-text h3 {
font-size: 1.8rem;
}

.service-num {
margin-bottom: -15px;
font-size: 4rem;
}

.service-points li {
text-align: left;
max-width: 450px;
margin-left: auto;
margin-right: auto;
}
}