@charset "utf-8";
/*
Theme Name:TRIGGER 2026
Theme URI:https://www.st-trigger.co.jp/
Author:TRIGGER
Author URI:https://www.st-trigger.co.jp/
Version:1.1.3
Text Domain:tcd-client
*/


/* ----------------------------------------------------------------------
  基本設定
---------------------------------------------------------------------- */
body { position:relative; min-height:100vh; font-family:var(--tcd-base-font-family); font-size:var(--tcd-base-font-size-pc); font-weight:var(--tcd-base-font-weight); }
body.is-mobile { overscroll-behavior:none; }
body.is-mobile *::-webkit-scrollbar { display:none; }
a, a:before, a:after { transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease; }
a { color:#000; text-decoration:none; }
@media(hover: hover) {
  a:hover { color:var(--tcd-hover-color); }
}
@media (max-width: 1200px) {
  body { font-size:calc( (var(--tcd-base-font-size-pc) + var(--tcd-base-font-size-sp)) / 2); }
}
@media (max-width: 767px) {
  body { font-size:var(--tcd-base-font-size-sp); }
}


/* フォント */
@font-face {
  font-family: 'Fjordic-Heavy';
  font-weight: normal;
  font-style: normal;
  font-display:swap;
  src: url('assets/fonts/public/Fjordic-Heavy.woff?v=1.0') format('woff');
}


/* スクロールバーを非表示 */
html, body { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display:none; }


/* レイアウト */
#container { width:100%; position:relative; overflow:clip; min-height:100vh; }


/* 抜粋表示（3点リーダ） */
.c-line-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--tcd-line-clamp); line-clamp: var(--tcd-line-clamp); height: calc(1lh * var(--tcd-line-clamp)); max-height: calc(1lh * var(--tcd-line-clamp)); overflow: hidden; visibility: visible; word-break: break-all; margin-block: var(--tcd-half-read); }


/* 日付 */
.c-date { display:flex; flex-wrap:wrap; gap:0.8em; font-size:16px; line-height:1; }
@media (max-width: 767px) {
  .c-date { font-size:14px; }
}


/* デザインボタン */
.design_button {

  display:table; color:#1e1f21; background:var(--tcd-base-color); height:70px; padding:0 110px 0 25px; border-radius:70px; margin:0 auto; position:relative; min-width:120px;
  
  &:before { content:''; display:block; background:#1e1f21; width:72px; height:44px; border-radius:44px; position:absolute; right:13px; top:13px; z-index:1; }
  &:after { mask:var(--tcd-icon--arrow) no-repeat center / contain; content:''; width:1em; height:1em; background:var(--tcd-base-color); position:absolute; top:21px; right:34px; font-size:30px; z-index:2; }
  &.icon_link:after { mask:var(--tcd-icon--link) no-repeat center / contain; }
  
  .label { font-family:var(--tcd-font-headline); display:grid; place-items:center; justify-content:flex-start; height:70px; font-size:32px; transition:color 0.3s ease; }
  &.jp .label { font-size:22px !important; font-weight:600; }

  @media(hover: hover) {
    &:hover { color:var(--tcd-hover-color) !important; }
    &:hover:before { background:var(--tcd-hover-color) !important; }
    &:hover:after { background:var(--tcd-base-color); }
  }
  @media (max-width: 1250px) {
    &.jp .label { font-size:20px !important; }
  }
  @media (max-width: 900px) {
    height:60px; padding:0 110px 0 25px; border-radius:60px;
    &:before { right:8px; top:8px; }
    &:after { top:16px; right:28px; }
    .label { height:60px; font-size:24px; }
  }

}
.design_button.black {

  background:#1e1f21; color:var(--tcd-base-color) !important;
  &:before { background-color:var(--tcd-base-color) !important; }
  &:after { background:#1e1f21; }
  @media(hover: hover) {
    &:hover { background:var(--tcd-hover-color) !important; }
    &:hover:after { background:var(--tcd-hover-color) !important; }
  }

}
.design_button.reverse {

  padding:0 25px 0 110px;

  &:before { left:13px; right:auto; }
  &:after { right:auto; left:34px; transform:rotate(180deg); }

}


/* ページネーション */
.c-pagination {

  margin-top:70px; position:relative; z-index:3;
  
  .screen-reader-text { display:none; }
  :where(.nav-links) { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; font-size:70px; font-family:var(--tcd-font-headline); text-align:center; }
  :where(.nav-links > *) { display:grid; place-items:center; color:var(--tcd-base-color); }
  .page-numbers.dots { position:relative; }
  :where(.nav-links > .current) { z-index:2; color:#bef26d; }

  .next, .prev { position:relative; z-index:2; }
  .next:before, .prev:before { content:''; width:1em; height:1em; background:var(--tcd-base-color); position:absolute; top:18px; left:0px; font-size:40px; }
  .next:before { mask:var(--tcd-icon--arrow-bold) no-repeat center / contain; }
  .prev:before { mask:var(--tcd-icon--arrow-bold) no-repeat center / contain; transform:rotate(180deg); left:auto; right:5px; }

  @media(hover: hover) {
    a:hover:before { background:var(--tcd-hover-color); }
  }
  
  @media (max-width: 900px) {
    margin-left:30px; margin-right:30px;
    :where(.nav-links) { gap:5px 10px; font-size:38px; }
    .next:before, .prev:before { top:8px; font-size:30px; }
  }
  @media (max-width: 767px) {
    margin-top:40px; margin-left:0px; margin-right:0px;
    .next, .prev { display:none; }
  }
  
}


/* ページネーション（ショートバージョン） */
#simple_pagenavi {

  margin-top:70px; position:relative; z-index:3;display:flex; flex-wrap:wrap; justify-content:center; gap:0px 20px; 
  
  .info { font-size:70px; font-family:var(--tcd-font-headline); text-align:center; color:var(--tcd-base-color); }

  .next, .prev { position:relative; z-index:2; }
	.disabled { display:none; }
  .next:before, .prev:before { content:''; width:1em; height:1em; background:var(--tcd-base-color); position:absolute; top:18px; left:0px; font-size:40px; }
  .next:before { mask:var(--tcd-icon--arrow-bold) no-repeat center / contain; }
  .prev:before { mask:var(--tcd-icon--arrow-bold) no-repeat center / contain; transform:rotate(180deg); left:auto; right:5px; }

  @media(hover: hover) {
    a:hover:before { background:var(--tcd-hover-color); }
  }
  
  @media (max-width: 900px) {
    margin-left:30px; margin-right:30px; gap:0px 20px;
    .info { font-size:36px; }
    .next:before, .prev:before { top:9px; font-size:24px; }
  }
  @media (max-width: 767px) {
    margin-top:40px; margin-left:0px; margin-right:0px;
  }
  
}



/* ----------------------------------------------------------------------
  固定ページ
---------------------------------------------------------------------- */
#page_content {

  background:var(--page-bg-color); color:var(--page-font-color); padding:240px 120px 120px; position:relative; overflow:clip;

  #page_header_headline { color:var(--page-font-color); margin-bottom:80px; }
  #simple_page_header_headline { color:var(--page-font-color); margin-bottom:80px; text-align:center; font-size:32px; line-height:1.3; margin-top:calc(0.5em - 0.5lh); }
  .post_content { max-width:1500px; margin:auto; }

  @media (max-width: 1450px) {
    padding:240px 80px 120px;
  }
  @media (max-width: 1200px) {
    padding:240px 60px 120px;
  }
  @media (max-width: 900px) {
    padding:240px 30px 120px;
  }
  @media (max-width: 767px) {
    padding:130px 15px 60px;
    #page_header_headline { margin-bottom:30px; }
  }

}


#two_column_page {

  background:var(--two-column-base-color); padding:100px 120px 120px;
  .page_breadcrumb { margin-bottom:120px; }
  .two_column_button_list { display:flex; flex-direction:column; gap:20px; }
  .two_column_button_list.mobile { display:none; }
  .two_column_button_list a { background:#000000; height:50px; border-radius:50px; font-size:17px; display:grid; place-items:center; color:var(--tcd-base-color); width:fit-content; padding:0 30px 0 60px; position:relative; }
  .two_column_button_list a:before { content:''; mask:var(--tcd-icon--arrow) no-repeat center / contain; width:1em; height:1em; background:var(--two-column-base-color); position:absolute; top:14px; left:30px; font-size:24px; z-index:2; transform:rotate(180deg); }
  @media(hover: hover) {
    .two_column_button_list a:hover { background:var(--tcd-hover-color); }
  }

  @media (max-width: 1450px) {
    padding:100px 80px 120px;
  }
  @media (max-width: 1200px) {
    padding:50px 60px 120px;
  }
  @media (max-width: 900px) {
    padding:50px 30px 120px;
  }
  @media (max-width: 767px) {
    padding:50px 15px 60px;
    .page_breadcrumb { margin-bottom:30px; }
    .two_column_button_list { display:none; }
    .two_column_button_list.mobile { display:flex; justify-content:center; margin-top:40px; }
    .two_column_button_list.mobile a { margin:auto; }
  }
  
}
#split_content {

  display:flex; flex-wrap:nowrap; position:relative; max-width:1500px; margin:auto;

  .information {

    width:45%; padding-right:100px; position:sticky; top:150px; left:0; align-self: flex-start;
    
    .name { font-size:clamp(28px, 2.5vw, 48px); line-height:1.3; font-weight:600; margin-bottom:25px; }
    .desc { font-size:clamp(18px, 1.2vw, 24px); line-height:1.6; margin-bottom:70px; }
  
  }

  .post_content { width:55%; background:var(--tcd-base-color); padding:85px 80px; border-radius:15px; flex:0 0 auto; }

  @media (max-width: 1200px) {
    .information { padding-right:60px; top:110px; }
    .post_content { padding:55px 60px; }
  }
  @media (max-width: 1100px) {
    flex-direction:column; gap:120px 0;
    .information { width:auto; padding:0px; top:0px; position:static; }
    .post_content { width:auto; padding:55px 60px; }		
  }
  @media (max-width: 767px) {
    gap:60px 0;
    .information {
      .desc { margin-bottom:calc(0.5em - 0.5lh); }
    }
    .post_content { margin:0 -15px; padding:60px 15px; border-radius:10px; }
  }
  
}




/* ----------------------------------------------------------------------
  オリジナルブロック
---------------------------------------------------------------------- */
.post_content {

  /* 会社概要「キャッチフレーズ」ブロック */
  .co_catch_block {

    container-type: inline-size; container-name:co_catch_block; padding:0 13%; max-width:1580px;
    margin:0 auto var(--margin-bottom-pc);

    .catch { font-size:clamp(32px, 3vw, var(--catch-font-size-pc)); line-height:1.3; font-weight:600; margin:calc(0.5em - 0.5lh) 0 40px 0; }
    .desc { font-size:clamp(20px, 1.9vw, var(--desc-font-size-pc)); line-height:1.3; font-weight:600; margin:0; }

    @media (max-width: 1400px) {
      padding:0 10%;
    }
    @media (max-width: 900px) {
      padding:0;
      .catch { margin-bottom:35px; }
    }
    @media (max-width: 767px) {
      margin:0 auto var(--margin-bottom-sp);
      .catch { font-size:clamp(28px, 3vw, var(--catch-font-size-sp)); }
      .desc { font-size:clamp(20px, 1.9vw, var(--desc-font-size-sp)); }
    }
    
  }


  /* 会社概要「会社データ」ブロック */
  .co_info_block {

    display:flex; flex-wrap:nowrap; align-items:center; gap:0 14%; margin-bottom:var(--margin-bottom-pc);

    .image { width:40%; display:block; margin-bottom:auto; }
    .image img { width:100%; height:auto; border-radius:15px; }

    .co_info_list {
      border-bottom:1px solid var(--page-font-color, #000000); width:60%; margin-bottom:0; padding:0; font-size:24px;
      display:flex; flex-wrap:wrap;
      dt { width:30%; font-weight:600; background:none; border:none; border-top:1px solid var(--page-font-color, #000000); margin:0; padding:12px 100px 0 0; line-height:1.5; text-align:left; white-space: nowrap; }
      dd { width:70%; font-weight:600; background:none; border:none; border-top:1px solid var(--page-font-color, #000000); margin:0; padding:12px 0; line-height:1.5; }
    }

    @media (max-width: 1400px) {
      gap:0 10%;
      .co_info_list { font-size:20px; }
    }
    @media (max-width: 900px) {
      display:block;
      .image { width:100%; margin-bottom:40px; }
      .image img { max-width:370px; margin:0 auto; }
      .co_info_list { width:100%; }
    }
    @media (max-width: 767px) {
      margin:0 auto var(--margin-bottom-sp);
      .co_info_list { display:block; font-size:20px; }
      .co_info_list dt { width:100%; padding:20px 0 5px; }
      .co_info_list dd { width:100%; border-top:none; padding:5px 0 20px; }
    }
    
  }

  
  /* 会社概要「会社データ」ブロック */	
  .co_office_block {

    margin:0 auto var(--margin-bottom-pc); width:730px;

    .headline {
      text-align:center; line-height:1; margin-top:-0.15em; margin-bottom:5px; padding-bottom:0.1em;
      font-family:var(--tcd-font-headline); font-size:clamp(40px, 3vw, 60px); color:var(--page-font-color, #000000);
    }

    .office { margin-bottom:45px; padding:0 0 45px 0; border-bottom:2px solid var(--page-font-color, #000000); }
    .office:last-of-type { margin:0; padding:0; border:none; }

    .co_office_list {
      margin:0; padding:0; line-height:1; list-style-type:none; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px;
      li { position:relative; line-height:1; margin:0; padding:0; font-size:20px; font-weight:600; }
      li:after { content:''; display:block; width:1px; height:100%; background:var(--page-font-color, #000000); position:absolute; right:-10px; top:0; }
      li:last-of-type:after { display:none; }
    }

    @media (max-width: 900px) {
      width:auto;
      .headline { font-size:32px; margin-bottom:10px; }
      .co_office_list li { font-size:16px; }
    }
    
  }

  /* 太字の大見出し */
  .large_headline_block {

    text-align:center; line-height:1; margin-top:-0.15em; margin-bottom:var(--margin-bottom-pc); padding-bottom:0.1em;
    font-family:var(--tcd-font-headline); font-size:clamp(120px, 10vw, var(--font-size-pc)); color:var(--page-font-color, #000000);

    @media (max-width: 900px) {
      font-size:clamp(40px, 10vw, var(--font-size-sp));
    }
    @media (max-width: 767px) {
      margin:0 auto var(--margin-bottom-sp);
    }

  }

  /* スペーサー */
  .responsive_spacer_block { height:var(--height-pc); }
  @media (max-width: 767px) {
    .responsive_spacer_block { height:var(--height-sp); }
  }

  /* デザイン見出し */
  .design_headline { position:relative; font-size:var(--font-size, 150%) !important; font-weight:var(--font-weight, 600) !important; }
  .design_headline.type1 { text-indent:calc( (1em + 10px) * -1); padding-left:calc(1em + 10px) !important; }
  .design_headline.type1:before { content:''; display:inline-block; width:1em; height:1em; background:var(--color, #99cd47); top:3px; position:relative; margin-right:10px; }
  .design_headline.type2 { border-left:2px solid var(--color, #99cd47); padding-left:10px !important; }
  .design_headline.type3 { border-bottom:2px solid var(--color, #99cd47); padding-bottom:10px; }

}


/* ボタン */
.design_button_block {

  margin-bottom:var(--margin-bottom-pc) !important; margin-top:var(--margin-top-pc) !important; text-decoration:none !important;
  color:var(--text-color) !important; background:var(--bg-color) !important;
  &:before { background:var(--text-color) !important; }
  &:after { background:var(--bg-color) !important; }
  @media(hover: hover) {
    &:hover { color:var(--text-color-hover) !important; background:var(--bg-color-hover) !important; }
    &:hover:before { background:var(--text-color-hover) !important; }
    &:hover:after { background:var(--bg-color-hover) !important; }
  }

}


/* FAQリスト */
.faq_list {
  
  .item { border-top:1px solid #171918; }

  .question { padding:10px 60px 10px 0px; cursor:pointer; transition: color 0.25s ease; position:relative; font-weight:600; line-height:1.6; }
  .question:before { content:''; display:block; mask:var(--tcd-icon--arrow-bold) no-repeat center / 1em; font-size:16px; width:1em; height:1em; background:#171918; transition:transform 0.3s ease; position:absolute; right:0; top:50%; transform: translateY(-50%) rotate(90deg); }
  .question.active:before { transform:translateY(-50%)  rotate(-90deg); }

  .answer { line-height:1.6; display:none; border-top:1px solid #171918; }
  .answer_inner { padding:15px 0; }

  @media(hover: hover) {
    .question:hover { color:var(--tcd-hover-color); }
  }
  @media (max-width: 767px) {
    .question { padding-right:40px; }
  }
  
}




/* ----------------------------------------------------------------------
  NEWSアーカイブ
---------------------------------------------------------------------- */
#news_archive {

  background:var(--tcd-news-base-color); padding:240px 120px 120px; position:relative; overflow:hidden;

  .parallax_bg_image { display:block; position:absolute; z-index:1; pointer-events:none; }
  .bg_image1 { top:25%; left:-7%; }
  .bg_image1 img { transform:rotate(26deg); width:30vw; max-width:600px; }
  .bg_image2 { top:5%; right:-8%; }
  .bg_image2 img { transform:rotate(-20deg); width:24vw; max-width:400px; }
  .bg_image3 { bottom:-3%; right:1%; }
  .bg_image3 img { transform:rotate(-60deg); width:24vw; max-width:400px; }

  @media (max-width: 1400px) {
    padding:240px 80px 120px;
  }
  @media (max-width: 1200px) {
    padding:170px 60px 120px;
  }
  @media (max-width: 1000px) {
    .bg_image1 img { width:35vw; }
    .bg_image2 img { width:28vw; }
    .bg_image3 img { width:28vw; }
  }
  @media (max-width: 900px) {
    padding:240px 30px 120px;
    .bg_image1 img { width:40vw; }
    .bg_image2 img { width:30vw; }
    .bg_image3 img { width:30vw; }
  }
  @media (max-width: 767px) {
    padding:130px 15px 60px;
  }
  @media (max-width: 600px) {
    .bg_image1 img { width:45vw; }
    .bg_image2 img { width:36vw; }
    .bg_image3 img { width:36vw; }
  }
  
}
#news_archive #page_header_headline { color:var(--tcd-base-color); }


/* カテゴリー一覧 */
#news_category_list {
  
  margin:62px auto 0; position:relative; z-index:3; background:var(--tcd-base-color); border-radius:15px; width:fit-content; pointer-events:none;
    
  ul { display:flex; flex-wrap:nowrap; justify-content:center; gap:0 15px; padding:30px; }
  a { border:1px solid #d4dec6; background:var(--tcd-base-color); height:45px; display:grid; place-items:center; padding:0 30px; border-radius:45px; pointer-events:auto; }
  a.active { background:#171918; border-color:#171918; color:var(--tcd-base-color); pointer-events:none; }
  @media(hover: hover) {
    a:hover { border-color:var(--tcd-hover-color); background:var(--tcd-hover-color); color:var(--tcd-base-color); }
  }

  @media (max-width: 767px) {
    opacity:0; margin-top:0px; border-radius:0px; position:fixed; top:0; left:0; z-index:2000;
    width:100%; height:100%; display:grid; place-items:center; background:rgba(0,0,0,0.8); transition:opacity 0.3s ease;
    ul { flex-direction:column; gap:12px 0; background:var(--tcd-base-color); width:calc(100% - 60px); border-radius:15px; }
    a { pointer-events:none; }
    body.open_news_category & { opacity:1; pointer-events:auto; }
    body.open_news_category & a { pointer-events:auto; }
  }
  
}
#news_category_filter {
  display:none; height:56px; width:100%; padding:0 25px; cursor:pointer; text-align:left; position:relative; z-index:5; margin-top:70px;
  &:after { content:''; mask:var(--tcd-icon--filter) no-repeat center / contain; width:1em; height:1em; background:#000; position:absolute; top:19px; right:25px; font-size:22px; line-height:1; transform:rotate(270deg); transition:background-color 0.3s ease; }
  @media (max-width: 767px) {
    display:block; background:var(--tcd-base-color); border-radius:45px; 
  }
  @media(hover: hover) {
    &:hover { color:var(--tcd-hover-color); }
    &:hover:after { background:var(--tcd-hover-color); }
  }
}


/* お知らせ一覧（トップページと共通） */
.news_list {

  max-width:1336px; margin:80px auto 0; position:relative; z-index:2;

  .item { background:var(--tcd-base-color); border-radius:15px; margin:0 0 24px 0; padding:30px 40px 45px; }
  .item:last-of-type { margin-bottom:0; }

  .meta { margin-bottom:12px; display:flex; flex-wrap:wrap; gap:5px; }
  .c-date { font-size:17px; font-weight:700; margin-right:15px; height:30px; display:grid; place-items:center; }
  .meta a { background:#bef26d; height:30px; display:grid; place-items:center; padding:0 25px; font-size:15px; border-radius:30px; }

  .title { font-size:24px; line-height:1.5; font-weight:600; }
  .title a { display:block; }

  @media(hover: hover) {
    .meta a:hover { background:var(--tcd-hover-color); color:#fff; }
  }

  @media (max-width: 900px) {
    .item { margin:0 0 20px 0; padding:25px; }
    .c-date { font-size:15px; margin-right:10px; }
    .meta a { padding:0 15px; font-size:13px; }
    .title { font-size:20px; line-height:1.5; }
  }
  @media (max-width: 767px) {
    margin-top:40px;
    .item { margin:0 0 15px 0; padding:25px; border-radius:10px; }
    .title { font-size:18px; }
  }

}




/* ----------------------------------------------------------------------
  NEWS詳細ページ
---------------------------------------------------------------------- */
#news_single {

  background:var(--tcd-news-base-color); padding:0px 120px 120px; position:relative;
	body:not(:has(#page_header)) & { padding-top:100px; }
	
  .breadcrumb {

    margin-bottom:70px; color:var(--tcd-base-color);
    
    a { color:rgba(var(--tcd-base-color-rgba),0.5); }
    li:after { background:rgba(var(--tcd-base-color-rgba),0.4); }
    @media(hover: hover) {
      a:hover { color:var(--tcd-hover-color); }
    }

  }
  
  .post_content:not(.free_space_top):not(.free_space_bottom) { background:var(--tcd-base-color); border-radius:20px; padding:80px; max-width:820px; margin:auto; position:relative; }
  .free_space_bottom { color:var(--tcd-base-color); }
  
  #news_header {

    margin-bottom:90px; color:var(--tcd-base-color);

    .meta { margin-bottom:20px; display:flex; flex-wrap:wrap; gap:5px; }
    .c-date { font-size:17px; font-weight:700; margin-right:15px; height:30px; display:grid; place-items:center; }
    .meta a { background:#bef26d; height:30px; display:grid; place-items:center; padding:0 25px; font-size:15px; border-radius:30px; }
    @media(hover: hover) {
      .meta a:hover { background:var(--tcd-hover-color); color:#fff; }
    }
    
    .news_title { font-size:48px; line-height:1.3; }

  }
  
  @media (max-width: 1600px) {
    padding-left:80px; padding-right:80px;
  }
  @media (max-width: 1400px) {
    padding-left:60px; padding-right:60px;
  }
  @media (max-width: 1200px) {
		body:not(:has(#page_header)) & { padding-top:50px; }
  }
  @media (max-width: 900px) {
    padding-left:30px; padding-right:30px;
    #news_header .c-date { font-size:15px; margin-right:10px; }
    #news_header .meta a { padding:0 15px; font-size:13px; }
  }
  @media (max-width: 767px) {
    padding:0px 15px 60px;
    .breadcrumb { margin-bottom:15px; }
    #news_header { margin-bottom:60px; }
    #news_header .news_title { font-size:24px; }
    .post_content:not(.free_space_top):not(.free_space_bottom) { border-radius:10px; padding:60px 20px; margin:0 -15px; }
  }

}


/* ナビゲーション */
#post_nav2 {

  display:flex; flex-wrap:nowrap; justify-content:space-between; margin-top:60px; padding:20px 0 0 0; border-top:2px solid #b4dc77;

  .button { display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; position:relative; text-decoration:none; color:#000; }
  .button.prev { margin-right:auto; }
  .button.next { flex-direction:row-reverse; margin-left:auto; }
  .button .label { font-family:var(--tcd-font-headline); font-size:20px; line-height:1; }
  .button:before { content:''; display:block; width:40px; height:40px; background:#e6ffbe; border-radius:100%; }
  .button:after { content:''; display:block; mask:var(--tcd-icon--arrow-bold) no-repeat center / 1em; font-size:18px; width:1em; height:1em; position:absolute; left:11px; top:12px; background:#000; transform:rotate(180deg); }
  .button.next:after { left:auto; right:10px; transform:none; }

  @media(hover: hover) {
    .button:hover { color:var(--tcd-hover-color); }
    .button:hover:before { background:var(--tcd-hover-color); }
    .button:hover:after { background:var(--tcd-base-color); }
  }

  @media (max-width: 767px) {
    margin-top:50px;
    .button .label span { display:none; }
  }

}


/* 最近のお知らせ */
#recent_news {

  margin-top:120px;
  
  .headline {
    font-family:var(--tcd-font-headline); font-size:clamp(100px, 8.3vw, var(--headline-font-size-pc)); color:var(--tcd-base-color); line-height:1; text-align:center;
    margin-top:-0.15em; padding-bottom:0.11em; position:relative; z-index:2;
  }
  .news_list { margin-top:55px; }

  @media (max-width: 767px) {
    margin-top:80px;
    .headline { font-size:clamp(40px, 15.5vw, var(--headline-font-size-sp)); }
    .news_list { margin-top:30px; }
  }
  
}




/* ----------------------------------------------------------------------
  WORKSアーカイブ
---------------------------------------------------------------------- */
#works_archive {

  background:#1e1f21; color:var(--tcd-works-base-color); padding:240px 120px 120px;

  @media (max-width: 1400px) {
    padding:240px 80px 120px;
  }
  @media (max-width: 1200px) {
    padding:240px 60px 120px;
  }
  @media (max-width: 900px) {
    padding:240px 30px 120px;
  }
  @media (max-width: 767px) {
    padding:130px 15px 60px;
  }
  
}
#works_archive #page_header_headline { color:var(--tcd-works-base-color); }

.archive_works_list {
  
  margin-top:170px;

  &#featured_works_list { margin-top:95px; }
  
  .headline {
    font-family:var(--tcd-font-headline); font-size:48px; line-height:1; text-align:center;
    color:var(--tcd-works-base-color); margin-top:-0.15em; margin-bottom:105px; padding-bottom:0.11em; position:relative; z-index:2;
  }

  @media (max-width: 767px) {
    margin-top:120px;
    &#featured_works_list { margin-top:85px; }
    .headline { font-size:32px; margin-bottom:50px; }
  }

  /* 作品一覧 */
  .item_list {

    display:flex; flex-wrap:wrap; justify-content:center; gap:60px 40px;

    .item { width:calc((100% - (40px * 3)) / 4); flex:0 0 auto; }
    
    .archive_works_list:not(#featured_works_list) & .item { width:calc((100% - (40px * 4)) / 5); }
    
    a { display:block; }
    .title { color:var(--tcd-base-color); line-height:1.2; transition:color 0.3s ease; }
    .meta { display:flex; flex-wrap:wrap; gap:10px 0; color:#777; font-size:15px; margin-top:10px; transition:color 0.3s ease; }
    .meta li { flex:0 0 auto; }
    .meta li:first-of-type:after { content:'・'; }
    .image { display:block; width:100%; height:auto; aspect-ratio:320 / 452; border-radius:15px; position:relative; overflow:hidden; margin-bottom:20px; }
    .image img { display:block; position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; transform:scale(1); }

    @media(hover: hover) {
      a:hover .title { color:var(--tcd-hover-color); }
      a:hover .meta { color:var(--tcd-hover-color); }
    }

    @media (max-width: 1400px) {
      .archive_works_list:not(#featured_works_list) & .item { width:calc((100% - (40px * 3)) / 4); }
    }
    @media (max-width: 1200px) {
      .item { width:calc((100% - (40px * 2)) / 3) !important; }	
    }
    @media (max-width: 900px) {
      .item { width:calc((100% - (40px * 1)) / 2) !important; }	
    }
    @media (max-width: 767px) {
      & { gap:40px 15px; justify-content:flex-start; }
      .item { width:calc((100% - (15px * 1)) / 2) !important; }
      .image { border-radius:10px; }
      .title { font-size:14px; }
      .meta { flex-direction:column; gap:5px 0; font-size:13px; }
      .meta li:first-of-type:after { display:none; }
    }

  }
  
}




/* ----------------------------------------------------------------------
  WORKS詳細
---------------------------------------------------------------------- */
#works_single {

  background:#1e1f21; color:var(--tcd-base-color); padding:100px 120px 120px;

  @media (max-width: 1600px) {
    padding-left:80px; padding-right:80px;
  }
  @media (max-width: 1400px) {
    padding-left:60px; padding-right:60px;
  }
  @media (max-width: 1200px) {
    padding-top:50px;
  }
  @media (max-width: 900px) {
    padding-left:30px; padding-right:30px;
  }
  @media (max-width: 767px) {
    padding:50px 15px 60px;
  }
  
}


#works_data {

  background:#323232; border-radius:20px; padding:80px; max-width:1500px; margin:auto; margin-top:120px; position:relative;
  &:has(.works_category) { border-radius:0 20px 20px 20px; margin-top:200px; }

  .works_category {
    font-family:var(--tcd-font-headline); font-size:32px; line-height:0.8; text-align:center; text-transform: uppercase;
    color:var(--tcd-works-base-color); position:absolute; top:-80px; left:0; z-index:2; border-radius:20px 20px 0px 0px;
    height:80px; background:#323232; width:fit-content; padding:0 50px; display:grid; place-items:center;
  }

  @media (max-width: 1200px) {
    padding:60px; margin-top:70px;
    &:has(.works_category) { margin-top:150px; }	
  }
  @media (max-width: 900px) {
  }
  @media (max-width: 767px) {
    padding:20px 15px 60px; margin:0px -15px; border-radius:10px;
    &:has(.works_category) { margin-top:60px; border-radius:0 10px 10px 10px; }
    .works_category { font-size:20px; height:60px; top:-60px; padding:0 20px; border-radius:10px 10px 0 0; }
  }
  
}


/* メインコンテンツ */
#works_main_data {

  display:flex; flex-wrap:nowrap; position:relative;
  
  .works_content { width:50%; padding-right:80px; }
  .works_title { font-size:32px; line-height:1.4; margin-bottom:40px; }
  .works_image { width:50%; height:fit-content; padding-left:80px; position:sticky; top:180px; }

  /* リンクボタン */
  .works_link_list {

    display:flex; flex-direction:column; gap:15px 0; margin-top:40px;

    a { background:#171918; color:var(--tcd-base-color); display:inline-block; height:54px; font-size:17px; line-height:54px; padding:0 60px; border-radius:54px; position:relative; }
    a:before,
    a:after { content:''; width:1em; height:1em; background:var(--tcd-base-color); position:absolute; top:17px; left:30px; font-size:22px; line-height:1; }
    .link_official a:before { mask:var(--tcd-icon--earth) no-repeat center / contain; }
    .link_x a:before { mask:var(--tcd-icon--x) no-repeat center / contain; font-size:18px; top:18px;}
    .link_youtube a:before { mask:var(--tcd-icon--youtube) no-repeat center / contain; }
    a:after { mask:var(--tcd-icon--link-thin) no-repeat center / contain; left:auto; right:30px; }	

    @media(hover: hover) {
      a:hover { background:var(--tcd-hover-color); }
    }

  }

  @media (max-width: 1400px) {
    .works_content { padding-right:40px; }
    .works_image { padding-left:40px }
  }
  @media (max-width: 1200px) {
    .works_content { padding-right:30px; }
    .works_image { padding-left:30px; top:110px; }
  }
  @media (max-width: 900px) {
    flex-direction:column; flex-direction:column-reverse;
    .works_content { padding-right:0px; width:auto; }
    .works_image { padding-left:0px; width:400px; margin:0 auto 80px; position:relative; top:0; }
  }
  @media (max-width: 767px) {
    .works_title { font-size:24px; }
    .works_image { margin:0 auto 60px; }
  }
  @media (max-width: 550px) {
    .works_image { width:auto; }
    .works_link_list { gap:10px 0; }
    .works_link_list a { width:100%; display:flex; flex-wrap:nowrap; justify-content:center; align-items:center; gap:0 10px; }
    .works_link_list a:before { position:relative; top:1px; left:auto; }
    .works_link_list a:after { position:relative; top:2px; left:auto; right:auto; }
    .works_link_list .link_x a:before { top:1px; }
  }
  
}


/* 画像スライダー */
#works_single_slider {
  
  width:calc(100% - 60px);

  .item img { border-radius:15px; }

  .splide__pagination {
    position:absolute; top:0; right:-60px; left:auto; margin:0 !important;
    counter-reset: pagination-num;
    display:flex; flex-direction:column; gap:10px 0;
  }
  .splide__pagination:has(li:only-child) { display:none; }
  .splide__pagination__page { width:40px; height:40px; background:#181818; }
  .splide__pagination__page.is-active { background:#282828; }
  .splide__pagination__page:before {
    color:var(--tcd-works-base-color); font-family:var(--tcd-font-headline); font-size:20px; opacity:0.5; transition:opacity 0.3s ease;
    counter-increment: pagination-num; content: counter(pagination-num);
  }
  .splide__pagination__page.is-active:before { opacity:1; }

  @media(hover: hover) {
    .splide__pagination__page:hover:before { opacity:1; }
  }
  
  @media (max-width: 1200px) {
    width:100%;
    .splide__pagination { flex-direction:row; position:relative; right:auto; gap:0 10px; margin-top:20px !important; }
  }
  @media (max-width: 767px) {
    .item img { border-radius:10px; }
  }
  
}


/* スタッフ一覧 */
.works_staff_list {

  margin-top:90px;

  .headline { font-size:32px; line-height:1; margin-bottom:50px; }
  .item_list { display:grid; grid-template-columns:repeat(3, 1fr); gap: 0 40px; }
  .item { border-top: 2px solid #535353; border-bottom: 2px solid #535353; padding: 15px 0; margin-bottom:-2px; position:relative; }
  .title { color:#777; margin-bottom:6px; font-size:15px; }
  .name { line-height:1.4; font-size:17px; }

  @media (max-width: 900px) {
    .item_list { grid-template-columns:repeat(2, 1fr); gap:0 30px; }
    .title { font-size:14px; }
    .name { font-size:15px; }
  }
  @media (max-width: 767px) {
    margin-top:60px;
    .headline { font-size:24px; margin-bottom:30px; }
  }
  @media (max-width: 500px) {
    .item_list { display:block; }
  }
  
}


/* フリースペース */
.free_space_top { margin-top:85px; }
.free_space_bottom { margin-top:90px; }
@media (max-width: 767px) {
  .free_space_top { margin-top:40px; }
  .free_space_bottom { margin-top:60px; }
}



/* ナビゲーション */
#post_nav {

  display:inline-flex; flex-wrap:nowrap; gap:0 15px; margin:30px auto 0; left:50%; transform: translateX(-50%); position:relative;

	a { display:block; background:var(--tcd-works-base-color) !important; width:72px; height:44px; border-radius:44px; position:relative; }
  a:after { mask:var(--tcd-icon--arrow) no-repeat center / contain; content:''; width:1em; height:1em; background:#1e1f21; position:absolute; top:8px; left:21px; font-size:30px; z-index:2; }
	a.prev:after { transform:rotate(-180deg); left:20px;}
	a .label { display:none; }

	@media(hover: hover) {
		a:hover { background:var(--tcd-hover-color) !important; }
	}
    
}
#works_position {

	margin-top:80px; text-align:center; font-family:var(--tcd-font-headline); color:var(--tcd-base-color);
	.headline { font-size:26px; }
	.num { display:block; margin-top:10px; font-size:20px; }

	@media (max-width: 767px) {
		margin-top:40px;
		.headline { font-size:20px; }
		.num { font-size:16px; }
	}

}



/* ----------------------------------------------------------------------
  404
---------------------------------------------------------------------- */
#no_search_result {
  
  background:var(--tcd-base-color); min-height:100svh; display:grid; place-items:center; padding:220px 120px 120px;

  .image { display:block; max-width:1520px; height:auto; }
  .design_button { margin-top:50px; background:#1d1f20; color:var(--tcd-base-color) !important; }
  .design_button:before { background:var(--tcd-base-color) !important; }
  .design_button:after { background:#1d1f20; }

  @media(hover: hover) {
    .design_button:hover { background:var(--tcd-hover-color); }
    .design_button:hover:after { background:var(--tcd-hover-color); }
  }

  @media (max-width: 1200px) {
    padding:160px 80px 100px;
  }
  @media (max-width: 900px) {
    padding:160px 60px 100px;
  }
  @media (max-width: 767px) {
    padding:100px 15px 40px;
    .image { margin:0 20px; max-width:400px; }
  }
}




/* ----------------------------------------------------------------------
  ページヘッダー
---------------------------------------------------------------------- */
/* 画像 */
#page_header {

  position:relative; overflow:hidden;

  img { width:100%; height:auto; }
  .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }

}


/* 見出し */
#page_header_headline {
  font-family:var(--tcd-font-headline); font-size: clamp(50px, 14vw, var(--tcd-page-header-headline-font-size-pc)); line-height:1; text-align:center;
  color:var(--tcd-base-color); margin-top:-0.15em; padding-bottom:0.11em; position:relative; z-index:2;
}
@media (max-width: 767px) {
  #page_header_headline { font-size: clamp(30px, 14.5vw, var(--tcd-page-header-headline-font-size-sp)); }
}


/* 説明文 */
#page_header_desc {
  font-size:24px; line-height:1.5; text-align:center; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh);
  @media (max-width: 1200px) {
    font-size:20px;
  }
  @media (max-width: 900px) {
    font-size:20px;
  }
  @media (max-width: 767px) {
    margin-top:20px;
    br { display:none; }
  }
}


/* パンくずリンク */
.breadcrumb {

  height:90px;
  
  ol { display:flex; flex-wrap:nowrap; align-items:center; font-size:14px; gap:0 30px; height:100%; width:auto; }
  li { position:relative; flex:0 0 auto; }
  li:after { content:''; display:block; mask:var(--tcd-icon--arrow-bold) no-repeat center / contain; background:#898f83; width:1em; height:1em; position:absolute; top:2px; right:-20px; font-size:12px; }
  li:last-of-type:after { display:none; }
	br { display:none; }
	
  a { color:#898f83; }

  @media(hover: hover) {
    a:hover { color:var(--tcd-hover-color); }
  }
  @media (max-width: 1200px) {
    height:60px;
  }	
  @media (max-width: 767px) {
    overflow:hidden; overflow-x:auto; width:auto; margin:0 -15px; padding:0 20px;
    ol { display:block; white-space:nowrap; font-size:0; position:relative; }
    ol:after { content:''; position:absolute; top:0; left:auto; height:10px; width:15px; }
    li { font-size:12px; display:inline-block; white-space:nowrap; padding-right:30px; margin-top:22px; }
    li:last-of-type { padding-right:0; }
    li:after { right:10px; }
  }
  
}




/* ----------------------------------------------------------------------
  ヘッダーバー
---------------------------------------------------------------------- */
#header {

  position:sticky; margin-bottom:-100px; top:0; left:65px; width:calc(100% - 130px); height:100px; background:#323232; border-radius:0 0 20px 20px;
  display:flex; flex-wrap:nowrap; justify-content:space-between; z-index:1000; transition:box-shadow 0.3s ease;

  body.single-works.start_scroll & { box-shadow:0 0 50px 0px rgba(0,0,0,0.5); }

  &:before, &:after {
    display:block; content:''; position:absolute; left:-10px; top:0; background:#323232;
    width: 20px; height: 85px; clip-path: polygon(50% 100%, 0% 0%, 100% 0%); transform: rotate(0deg);
  }
  &:after { left:auto; right:-10px;}

  @media (max-width: 1200px) {
    height:50px; left:7px; width:calc(100% - 14px); margin-bottom:-50px;
    &:before, &:after { width:14px; height:34px; left:-7px;}
    &:after { left:auto; right:-7px;}
  }

}

/* ロゴ */
#header_logo {

  width:250px; display:grid; place-items:center; margin-left:55px; position:relative; z-index:2; flex: 0 0 auto;

  svg { display:block; width:100%; height:auto; top:10px; position:relative; }
  path { fill:var(--tcd-base-color); transition: fill 0.3s ease; }

  @media(hover: hover) {
    a:hover path { fill:var(--tcd-hover-color); }
  }

  @media (max-width: 1200px) {
    width:145px; margin-left:25px;
    svg { top:5px;}
  }

}


/* グローバルメニュー */
#global_menu {

  pointer-events:none; position:reltive; z-index:2; margin-left:auto; margin-right:auto; font-family:var(--tcd-font-headline); font-size:18px;

  body.mobile_menu & { opacity:0; pointer-events:none; }

  ul { display:flex; flex-wrap:nowrap; justify-content:flex-end; gap:0 20px; }
  ul > li { flex:0 0 auto; position:relative; pointer-events:auto; }
  ul > li > a { display:block; text-decoration:none; position:relative; height:100px; line-height:100px; color:var(--tcd-base-color); }

  @media(hover: hover) {
    ul > li > a:hover { color:var(--tcd-hover-color); }
  }

  @media (max-width: 1200px) {
    display:none;
  }

}


/* SNS */
#header_sns {

  display:flex; flex-wrap:nowrap; gap:0 6px; width:fit-content; position:relative; z-index:2; top:30px; margin-right:55px; 

  body.mobile_menu & { opacity:0; pointer-events:none; }

  a { display:block; position:relative; width:40px; height:40px; border:1px solid var(--tcd-base-color); border-radius:100%; flex: 0 0 auto; }
  a:before { content:''; width:1em; height:1em; background:var(--tcd-base-color); position:absolute; top:10.5px; left:10.5px; font-size:18px; }

  a.sns_x:before { mask:var(--tcd-icon--x) no-repeat center / contain; font-size:16px; top:12px; left:11px; }
  a.sns_facebook:before { mask:var(--tcd-icon--facebook) no-repeat center / contain; }
  a.sns_instagram:before { mask:var(--tcd-icon--instagram) no-repeat center / contain; }
  a.sns_tiktok:before { mask:var(--tcd-icon--tiktok) no-repeat center / contain; }
  a.sns_youtube:before { mask:var(--tcd-icon--youtube) no-repeat center / contain; }
  a.sns_twitch:before { mask:var(--tcd-icon--twitch) no-repeat center / contain; top:12px; left:10px; }
  a.sns_discord:before { mask:var(--tcd-icon--discord) no-repeat center / contain; top:13px; }
  a.sns_patreon:before { mask:var(--tcd-icon--patreon) no-repeat center / contain; top:11px; left:11px; }

  .title { display:none; }

  @media(hover: hover) {
    a:hover { border-color:var(--tcd-hover-color); background-color:var(--tcd-hover-color); }
    a:hover:before { background:var(--tcd-base-color); }
  }

  @media (max-width: 1200px) {
    display:none;
  }

}



/* ヘッダーメッセージ */
#header_message { position:relative; width:100%; color:#fff; text-align:center; font-size:var(--var-2header-message-height); z-index:1000; }
#header_message * { padding:14px 30px; color:inherit; display:block; font-size:14px; line-height:1.6; }
@media(hover: hover) {
  #header_message a:hover { opacity:0.6; }
}


/* ドロワーメニュー開閉ボタン */
#drawer_menu_button {

  display:none; width:100px; height:100px; cursor:pointer; transition: opacity 0.5s ease; position:absolute; top:0; right:0; z-index:3;

  body.mobile_menu & { display:block; }
  
  span { width:32px; height:2px; background:var(--tcd-base-color); display:block; position:absolute; left:18px; transition: background 0.3s ease, transform 0.3s ease, width 0.3s ease, top 0.3s ease; }
  span:nth-child(1) { top:42px; transform:rotate(0deg); transform-origin:center; }
  span:nth-child(2) { top:49px; transform-origin:center; }
  span:nth-child(3) { top:56px; transform:rotate(0deg); transform-origin:center; }

  body.open_drawer_menu & {
    z-index:1003;
    span:nth-child(1) { top:50px; transform:rotate(-25deg); }
    span:nth-child(2) { width:0px; }
    span:nth-child(3) { top:50px; transform:rotate(25deg); }
  }

  @media(hover: hover) {
    &:hover span { background:var(--tcd-hover-color); }
  }

  @media (max-width: 1200px) {
    display:block; width:57px; height:50px;
    span { left:0; }
    span:nth-child(1) { top:18px; }
    span:nth-child(2) { top:25px; }
    span:nth-child(3) { top:32px; }
    body.open_drawer_menu & {
      span:nth-child(1) { top:26px; }
      span:nth-child(3) { top:26px; }
    }
  }

}


/* ドロワーメニュー */
#drawer_menu {
  background:#1e1f21; position:fixed; top:0; left:0; z-index:900;
  opacity:0; pointer-events:none; transition:opacity 0.5s ease;
  width:100%; height:100%; overflow:auto; display:grid; place-items:center;
}
body.open_drawer_menu #drawer_menu { opacity:1; pointer-events:auto; }
#drawer_menu_inner { padding:120px 0 70px; }
#mobile_menu {

  ul { display:flex; flex-direction:column; align-items:center; gap:35px 0; }
  a { color:var(--tcd-base-color); font-family:var(--tcd-font-headline); font-size:32px; }
  @media(hover: hover) {
    a:hover { color:var(--tcd-hover-color); }
  }
  
}
#drawer_sns {

  display:flex; flex-wrap:nowrap; justify-content:center; gap:0 6px; margin-top:80px;

  a { display:block; position:relative; width:40px; height:40px; border:1px solid var(--tcd-base-color); border-radius:100%; flex: 0 0 auto; }
  a:before { content:''; width:1em; height:1em; background:var(--tcd-base-color); position:absolute; top:11px; left:10px; font-size:18px; }

  a.sns_x:before { mask:var(--tcd-icon--x) no-repeat center / contain; font-size:16px; top:12px; left:11px; }
  a.sns_facebook:before { mask:var(--tcd-icon--facebook) no-repeat center / contain; }
  a.sns_instagram:before { mask:var(--tcd-icon--instagram) no-repeat center / contain; }
  a.sns_tiktok:before { mask:var(--tcd-icon--tiktok) no-repeat center / contain; }
  a.sns_youtube:before { mask:var(--tcd-icon--youtube) no-repeat center / contain; }
  a.sns_twitch:before { mask:var(--tcd-icon--twitch) no-repeat center / contain; top:12px; left:10px; }
  a.sns_discord:before { mask:var(--tcd-icon--discord) no-repeat center / contain; top:13px; }
  a.sns_patreon:before { mask:var(--tcd-icon--patreon) no-repeat center / contain; top:12px; left:11px; }

  .title { display:none; }

  @media(hover: hover) {
    a:hover { border-color:var(--tcd-hover-color); background-color:var(--tcd-hover-color); }
    a:hover:before { background:var(--tcd-base-color); }
  }

}




/* ----------------------------------------------------------------------
  フッター
---------------------------------------------------------------------- */
#footer {

  width:100%; background:var(--tcd-base-color); padding-top:80px; margin-top:auto; position:sticky; top:100vh;

  @media (max-width: 767px) {
    padding-top:60px;
  }

}


/* SNS */
#footer_sns {

  padding:0 120px; margin-bottom:130px; display:grid; grid-template-columns:repeat(3, 1fr); gap:50px 120px; width:fit-content;

  a { display:block; position:relative; }

  a:after { content:''; display:block; width:34px; height:34px; position:absolute; top:0; left:0; border:1px solid #000; border-radius:100%; }
  a:before { content:''; width:1em; height:1em; background:#000; position:absolute; top:9px; left:8px; font-size:18px; z-index:2; }

  a.sns_x:before { mask:var(--tcd-icon--x) no-repeat center / contain; font-size:15px; left:10px; top:10px; }
  a.sns_facebook:before { mask:var(--tcd-icon--facebook) no-repeat center / contain; }
  a.sns_instagram:before { mask:var(--tcd-icon--instagram) no-repeat center / contain; }
  a.sns_tiktok:before { mask:var(--tcd-icon--tiktok) no-repeat center / contain; }
  a.sns_youtube:before { mask:var(--tcd-icon--youtube) no-repeat center / contain; }
  a.sns_twitch:before { mask:var(--tcd-icon--twitch) no-repeat center / contain; left:7px; top:10px;}
  a.sns_discord:before { mask:var(--tcd-icon--discord) no-repeat center / contain; top:11px; }
  a.sns_patreon:before { mask:var(--tcd-icon--patreon) no-repeat center / contain; left:9px; top:9px; }

  .title { padding-left:40px; display:block; text-transform:uppercase; font-size:32px; line-height:1; height:35px; font-family:var(--tcd-font-headline); margin-top:-1px; }
  .desc { display:block; font-size:17px; line-height:1.6; margin-top:10px; }

  @media(hover: hover) {
    a:hover:before { background:#fff; }
    a:hover:after { border-color:var(--tcd-hover-color); background:var(--tcd-hover-color); }
  }

  @media (max-width: 1400px) {
    grid-template-columns:repeat(2, 1fr);
    padding:0 60px;
  }
  @media (max-width: 900px) {
    grid-template-columns:repeat(1, 1fr);
    gap:40px 0;
    padding:0 30px;
  }
  @media (max-width: 767px) {
    padding:0 15px; margin-bottom:120px;
    a:after { width:30px; height:30px; }
    a:before { top:7px; left:7px; font-size:17px; }
    a.sns_x:before { font-size:13px; left:9px; top:9px; }
    a.sns_twitch:before { left:6px; top:8px;}
    a.sns_discord:before { top:9px; }
    a.sns_pateron:before { left:7px; top:7px; }
    .title { font-size:28px; height:28px; margin-top:0; }
    .desc { font-size:14px; }
  }
  
}


/* ロゴ */
#footer_logo { 
  
  margin:0 30px;

  svg { display:block; width:100%; height:auto;}
  path { fill:#1d1f20; transition: fill 0.3s ease; }

  @media(hover: hover) {
    a:hover path { fill:var(--tcd-hover-color); }
  }
  @media (max-width: 767px) {
    margin:0 15px;
  }

}


/* コピーライト */
#copyright {
  
  height:60px; font-size:15px; display:grid; place-items:center; margin-top:70px;

  @media (max-width: 767px) {
    margin-top:5px;
  }

}




/* ----------------------------------------------------------------------
  お問い合わせフォーム　（Contact Form7 現在は使っていない）
---------------------------------------------------------------------- */
body.page-template-page__contact #page_content { background:var(--tcd-base-color); }
@media (max-width: 767px) {
  body.page-template-page__contact #page_content #page_header_headline { margin-bottom:65px; }
}

#split_content_type2 {

  display:flex; flex-wrap:nowrap; max-width:1500px; margin:auto; position:relative;
  
  .information {
    width:50%; padding-right:150px; position:sticky; top:150px; left:0; align-self:flex-start;
    .message { line-height:1.5; font-size:24px; }
    .notice_list { margin-top:35px; border-bottom:1px solid #373d3d; }
    .notice_list li { line-height:1.6; border-top:1px solid #373d3d; padding:10px 0; }
  }
  
  .post_content { width:50%; }
  #form_button_list {
    display:flex; flex-direction:column; gap:25px 0; list-style-type:none; padding:0; margin:0;
    a { text-decoration:none; color:#000; display:block; background:#e6ffbe; border-radius:15px; position:relative; display:grid; align-items:center; padding:34px 100px 34px 40px; }
    a span { font-size:22px; line-height:1.5; display:block; }
    a:after { content:''; mask:var(--tcd-icon--link-thin) no-repeat center / contain; width:1em; height:1em; background:#99cd47; position:absolute; top:38px; right:40px; font-size:30px; line-height:1; }
    @media(hover: hover) {
      a:hover { background:var(--tcd-hover-color); color:#fff; }
      a:hover:after { background:#fff; }
    }
  }
  
  
  @media (max-width: 1200px) {
    .information { padding-right:60px; top:110px; }
    #form_button_list a span { font-size:20px; }
  }
  @media (max-width: 1100px) {
    flex-direction:column; gap:120px 0;
    .information { width:100%; padding:0px; top:0px; position:static; }
    .post_content { width:100%; }
  }
  @media (max-width: 767px) {
    gap:60px 0;
    .information {
      .message { font-size:18px; }
      .notice_list { margin-top:10px; font-size:15px; }
    }
    #form_button_list { gap:15px 0; }
    #form_button_list a { border-radius:10px; padding:27px 60px 27px 20px; }
    #form_button_list a span { font-size:18px; }
    #form_button_list a:after { font-size:24px; top:31px; right:20px; }
  }

}


#trigger_contact_form {

  dt { font-size:17px; margin-bottom:10px; }
  .require { color:#ff59c3; font-size:11px; vertical-align:top; }
  .wpcf7-list-item { margin:0; }
  .wpcf7-not-valid-tip { font-size:14px; font-weight:600; }
  .wpcf7-text, .wpcf7-textarea, .wpcf7-select { border:none; background:#e6ffbe; padding:20px 25px; width:100%; border-radius:10px; }
  select { -webkit-appearance: none; -moz-appearance: none; appearance: none; position:relative; color:#528104; }
  option { color:#000; }
  .wpcf7-form-control-wrap:has(select) { position:relative; display:block; }
  .wpcf7-form-control-wrap:has(select):after { content:''; display:block; width:20px; height:20px; background:#528104; position:absolute; top:24px; right:20px; mask:var(--tcd-icon--arrow-bold) no-repeat center / 1em; font-size:16px; transform:rotate(90deg); pointer-events:none; }
  input::placeholder, textarea::placeholder { color:#528104; opacity:1; }
  #open_privacy_policy { text-decoration:underline; cursor:pointer; transition:color 0.3s ease; color:#5f8c15; }
  @media(hover: hover) {
    #open_privacy_policy:hover { color:var(--tcd-hover-color); }
  }

  #contact_form_send_button_wrap {
    display:table; color:var(--tcd-base-color); background:#1e1f21; height:70px; padding:0 110px 0 25px; border-radius:70px;
    margin:50px 0 0; position:relative; min-width:120px; transition:background-color 0.3s ease; cursor:pointer; pointer-events:none; opacity:0.4;
    .wpcf7-spinner { position:absolute; right:-60px; top:25px; }
    body.allow_send_mail & { pointer-events:auto; opacity:1; }
    #contact_form_send_button { height:70px; background:none; border:none; font-size:24px; }
    &:before { content:''; display:block; background:var(--tcd-base-color); width:72px; height:44px; border-radius:44px; position:absolute; right:13px; top:13px; z-index:1; }
    &:after { mask:var(--tcd-icon--send) no-repeat center / contain; content:''; width:1em; height:1em; background:#1e1f21; position:absolute; top:21px; right:34px; font-size:30px; z-index:2; transition:background-color 0.3s ease; }	
    @media(hover: hover) {
      &:hover { background:var(--tcd-hover-color); }
      &:hover:after { background:var(--tcd-hover-color); }
    }
    @media (max-width: 500px) {
      width:100%;
    }
  }

  /* ハニーポット（ボット対策） */
  .confirm_email { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; border: 0; }

}


/* プライバシーポリシー */
#privacy_policy {
  
  position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:9999; display:grid; place-items:center; padding:0 120px;
  transition:opacity 0.3s ease; opacity:0; pointer-events:none;
  body.open_privacy_policy & { opacity:1; pointer-events:auto; }
  
  .content_wrap { background:var(--tcd-base-color); max-width:820px; height:calc(100% - 240px); padding:80px 40px; border-radius:15px; overflow:hidden; }
  .post_content { overflow:auto; overscroll-behavior:contain; height:100%; padding:0 40px; }
  #close_privacy_policy { margin-top:70px; }
  #close_privacy_policy:after { mask:var(--tcd-icon--close) no-repeat center / contain; }

  @media (max-width: 1000px) {
    padding:0 60px;
    .content_wrap { padding:60px 20px; }
    .post_content { padding:0 20px; }
    #close_privacy_policy { margin-top:55px; }
  }
  @media (max-width: 767px) {
    padding:0; 
    .content_wrap { padding:60px 15px; height:calc(100% - 120px); border-radius:10px; }
    .post_content { padding:0; }
    #close_privacy_policy { width:100%; }
    #close_privacy_policy .label { justify-content:flex-end; }
  }

}




/* ----------------------------------------------------------------------
  Lenis
---------------------------------------------------------------------- */
html.lenis,html.lenis body{ height:auto; scroll-behavior:auto; }.lenis:not(.lenis-autoToggle).lenis-stopped{ overflow:clip; }
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}




/* ----------------------------------------------------------------------
  Splide
---------------------------------------------------------------------- */
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden;}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}


/* 矢印 */
.splide__arrows { position:absolute; top:0; width:100%; height:60px; pointer-events:none; }/* heightはスライダー毎に変更すること */
.splide__arrow { opacity:1; background:#fff; border-radius:100%; height:60px; width:60px; display:grid; place-items:center; margin:0; padding:0; pointer-events:auto; box-shadow:0 0 15px 2px rgba(50,50,50,0.1); }
.splide__arrow:disabled { opacity:0; pointer-events:none; }
.splide__arrow:before { opacity:0; content:''; display:block; mask:var(--tcd-icon--arrow-bold) no-repeat center / 1em; font-size:24px; width:1em; height:1em; left:2px; background:#000; transition:opacity 0.25s ease, background-color 0.25s ease; position:relative; }
.splide__arrow:not(:disabled):before { opacity:1; }
.splide__arrow--prev:before { transform:rotate(180deg); left:-2px; }
.splide__arrow--prev { left:-50px; }
.splide__arrow--next { right:-50px; }
@media(hover: hover) {
  .splide__arrow:hover { opacity:1 !important; }
  .splide__arrow:hover:before { background:var(--tcd-hover-color); }
}


/* ページナビ */
.splide__pagination { gap:0 10px; position:relative; bottom:auto; margin:25px 0 0 0 !important; padding:0 !important; line-height:1; }
.splide__pagination li { line-height:1; margin:0; padding:0; }
.splide__pagination__page { width:10px; height:10px; opacity:1; transform:none !important; margin:0; padding:0; display:block; transition: background-color 0.25s ease; }
.splide__pagination__page.is-active { background:#000; }
@media(hover: hover) {
  .splide__pagination__page:hover { background:#000; }
}
@media (max-width: 767px) {
  .splide__pagination { margin-top:20px !important; }
}


/* スクロールバー */
.splide_scrollbar { position: relative; height: 12px; background: #434343; border-radius: 6px; margin-top:40px; cursor: pointer; }
.splide_scrollbar_thumb { position: absolute; top: 0; left: 0; height: 100%; background: #848484; border-radius: 6px; cursor: grab; touch-action: none; }
.splide_scrollbar_thumb:active { cursor: grabbing; background: #848484; }
.splide_scrollbar_mobile_only { display:none; }
@media (max-width: 767px) {
  .splide_scrollbar_mobile_only { display:block; }
}




/* END TRIGGER style.css */