/* =========================
   ファーストビュー（PC/SP背景自動切替）
   画像は /images/ フォルダに格納
   ========================= */

/* ▼ トップページ */
.fv-top {
    background: url('/wp-content/themes/ystandard-child/images/fv-top-pc.webp') no-repeat center center;
    background-size: cover;
    padding: 120px 20px;
    text-align: center;
    color: #fff;
}
@media screen and (max-width: 767px) {
    .fv-top {
        background: url('/wp-content/themes/ystandard-child/images/fv-top-sp.webp') no-repeat center center;
        background-size: cover;
        padding: 80px 20px;
    }
}

/* ▼ サブページ共通 */
.fv-sub {
    background: url('/wp-content/themes/ystandard-child/images/fv-sub-pc.webp') no-repeat center center;
    background-size: cover;
    padding: 100px 20px;
    text-align: center;
    color: #fff;
}
@media screen and (max-width: 767px) {
    .fv-sub {
        background: url('/wp-content/themes/ystandard-child/images/fv-sub-sp.webp') no-repeat center center;
        background-size: cover;
        padding: 60px 20px;
    }
}

/* ▼ ブログトップページ */
.fv-blog {
    background: url('/wp-content/themes/ystandard-child/images/fv-blog-pc.webp') no-repeat center center;
    background-size: cover;
    padding: 100px 20px;
    text-align: center;
    color: #fff;
}
@media screen and (max-width: 767px) {
    .fv-blog {
        background: url('/wp-content/themes/ystandard-child/images/fv-blog-sp.webp') no-repeat center center;
        background-size: cover;
        padding: 60px 20px;
    }
}

/* =========================
   カバー内タイトル余白調整（全セクション共通）
   ========================= */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3 {
    margin-top: 0 !important; /* 上の大きな余白をなくす */
}



/* =========================
   共通テキスト・ボタン
   ========================= */
.fv-title {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 15px;
}
.fv-sub-text {
    font-size: 1.1rem;
    margin-bottom: 25px;
}
.fv-btn {
    display: inline-block;
    background: #bf2d06;
	color : #fff;
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
	font-size : 1.2em;
}
.fv-btn:hover {
    background: #f8b756;
    color: #333;
}

/* スマホ用調整 */
@media screen and (max-width: 767px) {
    .fv-title {
        font-size: 1.6rem;
    }
    .fv-sub-text {
        font-size: 1rem;
    }
    .fv-btn {
        padding: 10px 18px;
        font-size: 0.9rem;
    }
}

/* =========================
   カバー内タイトル余白調整（全セクション共通）
   ========================= */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3 {
    margin-top: 0 !important; /* カバー内タイトル上の余白を消す */
}

/* =========================
   共通セクション調整
   ========================= */

/* カバー内コンテンツ全体の横幅と余白 */
.section-inner {
    max-width: 1280px;
    margin: 0px auto; /* 上下40px 左右中央 */
    padding: 0 20px;   /* スマホ用左右余白 */
}


/* セクションタイトル（全セクション共通） */
/* 親テーマの .entry-content h2 の margin を確実に上書き */
.entry-content .section-title {
    text-align: center;           /* 中央寄せ */
    font-size: 1.7rem;              /* 見出しの大きさ */
    font-weight: bold;            /* 太字 */
    position: relative;           /* 下線用に必要 */
    margin: 0 0 45px !important;  /* 上0 下60px（親テーマmarginを打ち消し） */
    padding-bottom: 15px;         /* 下線との間隔 */
    line-height: 1.4;
}

/* 赤い中央線 */
.entry-content .section-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: #a83d49; /* 赤色 */
    border-radius: 2px;
}
@media screen and (max-width: 767px) {
.section-inner {
    max-width: 100%;
    margin: 0!important;
    padding: 0 5px!important;
}
.recommend-inner {
    max-width: 100%;
    margin: 0!important;
    padding: 0 5px!important;
}
}

/* =========================
   「こんな方におすすめ」専用
   ========================= */
.recommend-section {
    padding: 40px 0; /* セクション上下の余白 */
}

.recommend-inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 10px;
}

.recommend-title {
    /* 共通タイトルデザインを適用 */
    composes: section-title;
}

/* 3カラムレイアウト */
.recommend-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch; /* 高さ揃え */
}
.recommend-item {
    display: flex;
    flex-direction: column;
}

/* 各項目のデザイン */
.recommend-item {
    background: #fff;
    border: 2px solid #f2f2f2;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.recommend-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* 見出しの基本レイアウトを揃える */
/* 見出しレイアウト */
.recommend-item h3 {
    margin: 45px 0 10px !important;
    position: relative;
    min-height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: bold;
    font-size : 1.2em;
}

/* 白背景＋赤枠＋赤チェック */
.recommend-item h3::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #fff; /* 白背景 */
    border: 2px solid #cc0000; /* 赤枠 */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='20 6 9 17 4 12' fill='none' stroke='%23cc0000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

.recommend-item p {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.5;
}

/* タブレット（2カラム） */
@media screen and (max-width: 880px) {
    .recommend-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマホ（1カラム） */
@media screen and (max-width: 767px) {
    .recommend-list {
        grid-template-columns: 1fr;
    }
    .entry-content .section-title {
        font-size: 1.4rem !important; /* 上書き */
        line-height: 1.5 !important;
    }
    .recommend-item h3 {
        font-size: 1.1rem; /* お好みで 1rem, 0.95rem などに */
        line-height: 1.4; /* 行間も少し広げると読みやすい */
    }
}


/* =========================
   サービス紹介（強み）
   ========================= */
.reason-section {
  padding: 40px 0;
}

.reason-list {
	max-width : 1080px;
	margin : 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.reason-item {
  background-color: #ffffff; /* 赤背景 */
  color: #333; /* 白文字 */
	border : 1px solid #4c4951;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.riyu-no{
	background : #a83d49;
	color : #fff;
	font-size : 0.9em;
	padding : 3px 10px;
	width : 90px;
	margin : 0 auto 10px;
	border-radius : 40px;
}
.reason-item-ttl {
  color: #a83d49;
	font-size : 1.3em;
	line-height : 1.4em;
  font-weight: bold;
  margin-bottom: 25px !important;
}

.reason-item img {
  max-width: 300px;
  height: auto;
  margin-bottom: 15px;
  border-radius: 5px;
}

.reason-item p {
  font-size: 0.95rem;
  line-height: 1.5;
	text-align : left;
}

/* タブレット幅（2カラム） */
@media screen and (max-width: 880px) {
  .reason-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマホ（1カラム） */
@media screen and (max-width: 767px) {
  .reason-list {
    grid-template-columns: 1fr;
  }
  .reason-item img {
    width: 100%;
    max-width: 100%; /* 横幅いっぱいで収める */
    height: auto;
    margin: 0 0 20px 0; /* 横マージンを消す */
  }
  .reason-item h3 {
    font-size: 1.3rem;
	  line-height : 1.2;
  }
}

/* =========================
   制作実績
   ========================= */
.works-section {
  padding: 40px 0;
}
.works-section-text{
	max-width : 980px;
	margin : 0 auto;
	padding : 0px;
}
.design-title{
	background : #fff;
	border : 1px solid #333;
	padding : 8px 0px;
	text-align : center;
	border-radius : 8px;
	margin : 20px 0px!important;
}
/* 全体の幅を調整 */
.swiper {
  width: 100%;
  max-width: 1080px; /* 好みで調整 */
  margin: 20px auto;
}

/* 画像をスライド内で100%表示 */
.swiper-slide img {
  width: 100%;
  display: block;
  border-radius: 8px;
}

/* ナビゲーション矢印の色 */
/* ナビゲーションボタンの共通デザイン */
.swiper-button-next,
.swiper-button-prev {
  width: 30px!important; /* ボタン全体の直径 */
  height: 30px!important;
  background: rgba(0, 0, 0, 0.5); /* 半透明グレー背景 */
  border-radius: 50%; /* 丸型 */
  color: #fff; /* 矢印の色 */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px; /* 矢印サイズ */
  transition: background 0.3s;
}

/* ホバー時の色変化（PC用） */
.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(0, 0, 0, 0.5)!important;
}

/* デフォルトのSVG矢印を無効化 */
.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 13px!important; /* デフォルト矢印サイズ */
}
/* 次へボタン（▶） */
.swiper-button-next::after {
  content: "\25B6"; /* ▶ の Unicode */
  color: #fff !important;
}

/* 前へボタン（◀） */
.swiper-button-prev::after {
  content: "\25C0"; /* ◀ の Unicode */
  color: #fff !important;
}



/* ドット色 */
.swiper-pagination-bullet {
  background: #333;
}
/* スライダー下に余白を作る */
.swiper {
  padding-bottom: 40px!important; /* 下にドット分のスペースを確保 */
}

/* ドットを少し下に移動 */
.swiper-pagination {
  bottom: 5px !important; /* スライド画像より少し下 */
}

/* =========================
   お客様からの嬉しい感想
   ========================= */
.voice-section {
  padding: 40px 0 10px 0;
}
.voice-slider .swiper-pagination {
  display: block !important;
  position: absolute;
  top: -25px; /* 上に出すなら */
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 10;
}

.voice-slider {
  position: relative;
}
.voice-section-text{
	max-width : 980px;
	margin : 0 auto;
	padding : 0px;
}
/* お客様の声の枠 */
.voice-box {
  text-align: center;
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* タイトル */
.voice-title {
  font-size: 1.5em;
	margin : 15px 0px;
	color : #a83d49;
	font-weight : 600;
}

/* 顔アイコン */
.swiper-slide.voice-box .voice-face {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
	margin : 0 auto;
}

/* 名前 */
.voice-name {
  font-size: 1em;
	line-height : 1.2em;
  color: #555;
  margin-bottom: 10px;
	margin-top : 15px;
	font-weight : 600;
}
.voice-name span{
	font-size : 0.8em;
}

/* 感想文 */
.voice-text {
  font-size: 0.85em;
  color: #333;
	text-align : left;
	margin-top : 20px;
}

/* =========================
   提供サービス一覧
   ========================= */
.service-section {
  padding: 40px 0 10px 0;
}

.service-section-text {
  padding: 0px;
}

/* カードリスト */
.service-card-list {
  max-width: 1080px;
  margin: 10px auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

/* 各カード */
.service-card {
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.08);
  text-align: center;
}

/* タイトル */
.service-card h3 {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 10px;
}

/* 価格 */
.service-card .price {
  font-weight: bold;
  font-size: 1rem;
  color: #a83d49;
  margin-bottom: 15px;
}

/* 説明文 */
.service-card .desc {
  font-size: 0.9rem;
  color: #333;
  line-height: 1.7;
  text-align: left;
}

/* === 色分け（6種） === */

/* 一般事業：青系 */
.card-general {
  background-color: #f2f7ff;
  border: 2px solid #c5d9f7;
}

/* LP制作：紫系 */
.card-lp {
  background-color: #f6f0ff;
  border: 2px solid #d9c9f2;
}

/* ペット業界：オレンジ系 */
.card-pet {
  background-color: #fff5f2;
  border: 2px solid #f7d3c5;
}

/* スクール系：黄色系 */
.card-school {
  background-color: #fffbea;
  border: 2px solid #f7ebaa;
}

/* 実店舗集客：水色系 */
.card-shop {
  background-color: #f2fbff;
  border: 2px solid #c5e9f7;
}

/* その他画像制作：緑系 */
.card-image {
  background-color: #f4eedd;
  border: 2px solid #f3e2b5;
}

/* 注意書き */
.service-note {
  max-width: 980px;
  margin: 20px auto;
  font-size: 0.9rem;
  color: #666;
  text-align: left;
}

/* 業種バナー3つ並び */
.service-thumbs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 15px;
}

.service-thumbs img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* 特徴リスト */
.feature-ttl {
  max-width: 980px;
  margin: 0 auto;
  background-color: #b86952;
  border: 2px solid #d3b8af;
  color: #ffffff;
  padding: 8px 0;
  text-align: center;
  border-radius: 10px;
  margin-top: 40px;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 1.1rem;
}

.feature-list {
  max-width: 980px;
  margin: 10px auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.feature-list span {
  display: inline-block;
  padding: 5px 10px;
  border: 1.5px solid #ccc;
  border-radius: 20px;
  background: #fff;
  font-size: 0.85rem;
  white-space: nowrap;
}

/* スマホ表示（1列） */
@media screen and (max-width: 767px) {
  .service-card-list {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .service-thumbs img {
    width: 90px;
    height: 90px;
  }
}


/* =========================
   制作の流れ
   ========================= */
.flow-section {
  padding: 40px 0 10px 0;
}
.flow-section-text{
	padding : 0px;
}

.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow {
  padding-left: 0;
}

.flow > li {
  list-style-type: none;
  border: 2px solid #4D9BC1;
  padding: 20px;
  border-radius: 20px;
	background : #fff;
}

.flow > li:not(:last-child) {
  margin-bottom: 40px;
  position: relative;
}

.flow > li:not(:last-child)::after {
  content: '';
  position: absolute;
  border: 20px solid transparent;
  width: 0;
  height: 0;
  bottom: -53px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-top-color: #4D9BC1;
}

.flow > li dl dt {
  font-size: 1.3em;
  font-weight: bold;
  border-bottom: 2pt dashed #ccc;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}

.flow > li .icon10 {
  color: #4D9BC1;
  margin-right: 0.5em;
}

.flow > li dl dd {
  margin: 0;
}

/* =========================
   よくある質問
   ========================= */
.faq-section {
  padding: 40px 0 10px 0;
}
.faq-section-inner {
    max-width: 880px;
    margin: 0px auto; /* 上下40px 左右中央 */
    padding: 0px 20px;   /* スマホ用左右余白 */
}
.faq-title{
	color : #07689f;
}
.faq-section-text{
	width : auto;
	margin : 10px auto;
	padding : 0px;
}
.faq-list {
  max-width: 880px;
  margin: 0 auto;
}

/* 質問部分 */
.faq-question {
  width: 100%;
  text-align: left;
  background: #ffffff; /* 背景色変更 */
  color: #151e4c;
	border : 1px solid #151e4c;
  border-radius: 6px;
  padding: 12px 15px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s;
  margin-bottom: 10px; /* 質問同士の間に余白追加 */
}


.faq-question:hover {
  background: #5a7a9a; /* 少し濃い色でホバー */
	color : #fff;
}


/* 回答部分 */
.faq-answer {
  display: none;
  padding: 10px 5px 20px 5px;
  font-size: 0.95rem;
  color: #333;
}

/* 開いているとき */
.faq-item.active .faq-answer {
  display: block;
}

@media screen and (max-width: 767px) {
.faq-section-text{
	max-width : auto;
	margin : 10px 15px;
	padding : 0px;
}
.faq-question {
  font-size: 0.9rem;
}
}

/* =========================
   CTA
   ========================= */
.contact-section {
  padding: 40px 0 30px 0;
}
.contact-section-inner {
    max-width: 880px;
    margin: 0px auto; /* 上下40px 左右中央 */
    padding: 0px 20px;   /* スマホ用左右余白 */
}
.contact-section-text{
	width : auto;
	margin : 10px auto;
	padding : 0px;
}

/* 注意事項エリア */
.form-notes {
  background-color: #f9f9f9; /* 淡い背景で区切り */
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 20px; /* フォームとの余白 */
  font-size: 14px;
  color: #333;
}

/* 箇条書き設定 */
.form-notes ul {
  margin: 0;
  padding-left: 20px; /* ドット位置 */
  list-style-type: disc; /* ドットマーク */
}

/* 各項目の余白 */
.form-notes li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* 最後の項目だけ余白なし */
.form-notes li:last-child {
  margin-bottom: 0;
}


/* ===== フォーム全体 ===== */
.custom-form {
  width: auto;
  margin: 0 auto;
}

/* ===== テーブルの枠線を消す（列幅固定） ===== */
.custom-form table {
  border: none !important;
  border-collapse: separate;
  border-spacing: 0 12px; /* 行間の余白をここで確保 */
  width: 100%;
  table-layout: fixed; /* 列幅を固定 */
}

/* ===== 左列（項目部分） ===== */
.custom-form th {
  background-color: #5a7a9a;
  color: #fff;
  padding: 10px;
  text-align: center;
  font-weight: bold;
  width: 30%; /* 左列固定幅 */
  vertical-align: middle;
  border-radius: 5px;
  white-space: nowrap;
  border: none;
}

/* ===== 右列（入力部分） ===== */
.custom-form td {
  padding: 10px;
  border-radius: 0 5px 5px 0;
  border: none;
}

/* ===== 入力欄 ===== */
.custom-form input[type="text"],
.custom-form textarea {
  width: 95%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}

/* ===== 必須マーク ===== */
.required {
  color: #ffff00;
  font-weight: bold;
}

/* ===== 送信ボタン ===== */
.custom-form input[type="submit"] {
  background-color: #5a7a9a;
  color: #fff;
  font-size: 16px;
  padding: 12px 25px;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s;
}
.custom-form input[type="submit"]:hover {
  background-color: #6fa6ba;
}

/* 出し分け設定 */
.pc-only { display: inline; }
.sp-only { display: none; }

@media screen and (max-width: 767px) {
  .pc-only { display: none; }
  .sp-only { display: inline; }
.custom-form td {
  padding: 10px 0px;
}
}

/* ボタン共通 */
.btn-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 20px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  min-width: 150px;
  transition: 0.3s;
}

/* 電話ボタン */
.btn-phone {
  background-color: #ff6b3b;
}
.btn-phone::before {
  content: "\260E"; /* 黒電話マーク（電話アイコン） */
  color: #fff;      /* 白く指定できる */
  margin-right: 6px;
  font-size: 1.1em;
}
.btn-phone:hover {
  background-color: #e55c2f;
  color: #ffeb3b; /* ホバーで文字黄色 */
}

/* LINEボタン */
.btn-line {
  background-color: #06c755;
}
.btn-line:hover {
  background-color: #05a646;
  color: #ffeb3b; /* ホバーで文字黄色 */
}

/* LINEアイコン（💬） */
.line-icon {
  font-size: 1.1em;
}

/* お急ぎの方〜 のテキスト部分 */
.other-contact-text {
  margin-top: 30px; /* 送信ボタンとの間の余白 */
  text-align: center;
  font-size: 14px;
  color: #333;
}

/* 電話・LINEボタン部分 */
.contact-buttons {
  display: flex;
  justify-content: center; /* 中央揃え */
  gap: 15px; /* ボタンの間隔 */
  flex-wrap: wrap; /* スマホ時は縦並びに */
  margin-top: 15px; /* 「お急ぎの方〜」との間隔 */
}

/* ===== スマホ表示（1列縦並び） ===== */
@media screen and (max-width: 767px) {
  .custom-form th,
  .custom-form td {
    display: block;
    width: 100%;
    border-radius: 5px;
    border: none;
  }

  /* 項目名をバー風に */
  .custom-form th {
    text-align: left;
    padding: 8px 10px;
    border-radius: 5px;
  }

  .custom-form td {
    border-radius: 5px;
  }

  /* 入力欄を幅100%に */
  .custom-form input[type="text"],
  .custom-form textarea {
    width: 100%;
  }
}

/* =========================
   制作者紹介
   ========================= */
/* プロフィール部分：常に縦並びにする */
.profile-section {
  padding: 40px 0 30px 0;
}
.creator-profile {
  display: block; /* 横並び（flex）を解除 */
  text-align: center;
  margin-bottom: 25px;
}

.creator-photo img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  border: 0px solid #333;
  display: block;
  margin: 0 auto;
}

.creator-text {
	max-width : 980px;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 15px auto;
  text-align: left;
  padding: 0;
}
.creator-links{
	max-width : 980px;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 15px auto;
  text-align: left;
}
/* 運営サイトリンク */
.creator-links h3,
.creator-sns h3 {
  font-size: 1.2em;
  margin: 40px 0 20px!important;
  border-left: 4px solid #5a7a9a;
  padding-left: 8px;
	margin-left : 0px!important;
}

.creator-links ul,
.creator-sns ul {
  list-style: disc inside;
  padding-left: 0px;
  margin: 0;
}

.creator-links li,
.creator-sns li {
  margin-bottom: 5px;
}

.creator-links a,
.creator-sns a {
  color: #5a7a9a;
  text-decoration: none;
  transition: 0.3s;
}

.creator-links a:hover,
.creator-sns a:hover {
  text-decoration: underline;
}
/* その他の運営サイト：コンパクトカード */
.creator-sites { margin-top: 24px; }
.creator-sites h3 {
  font-size: 1.1rem;
  margin: 0 0 10px;
}
.site-card-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;   /* SP：1列 */
  gap: 10px;
}
.site-card-list {
  list-style: none !important; /* 「・」を消す */
  margin: 0;
  padding: 0;
}

.site-card {
  list-style: none !important; /* 念のためli側でも消す */
}

.site-card a {
  text-decoration: none !important; /* 下線も消す */
  color: inherit; /* リンク色を継承（必要に応じて変更） */
}
@media (min-width: 768px) {
  .site-card-list { grid-template-columns: 1fr 1fr; } /* PC/タブ：2列 */
}
.site-card a {
  display: grid;
  grid-template-columns: 96px 1fr;  /* サムネ + テキスト */
  gap: 12px;
  align-items: center;
  padding: 0px;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  text-decoration: none;
  background: #fff;
  transition: box-shadow .2s ease, transform .06s ease;
}
.site-card a:hover { box-shadow: 0 4px 10px rgba(0,0,0,.06); transform: translateY(-1px); }
.site-card img {
  width: 96px; height: 96px; object-fit: cover; border-radius: 8px; display: block;
}
.site-meta { min-width: 0; }
.site-title {
  display: block;
  color: #111; font-weight: 700; line-height: 1.4;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.site-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; color: #666; font-size: .9rem; line-height: 1.5;
  margin-top: 2px;
}


/* 特商法ページ全体 */
.tokushoho {
  padding: 0px;
  max-width: 900px;
  margin: 0 auto;
  font-family: "Hiragino Sans", "Meiryo", sans-serif;
}

.tokushoho h1 {
  font-size: 1.8em;
  text-align: center;
  margin-bottom: 30px;
}

/* 表デザイン */
.tokushoho-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
  background-color: #fff;
}

.tokushoho-table th,
.tokushoho-table td {
  border: 1px solid #ccc;
  padding: 12px;
  text-align: left;
  vertical-align: top;
}

.tokushoho-table th {
  width: 30%;
  background-color: #f7f7f7;
  font-weight: bold;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .tokushoho-table table,
  .tokushoho-table tbody,
  .tokushoho-table tr,
  .tokushoho-table th,
  .tokushoho-table td {
    display: block;
    width: 100%;
  }

  .tokushoho-table tr {
    margin-bottom: 15px;
    border: 1px solid #ccc;
    padding: 10px;
  }

  /* 一番上のtrは上の線を消す */
  .tokushoho-table tr:first-child {
    border-top: none;
  }

  .tokushoho-table th {
    background-color: transparent;
    font-weight: bold;
    border: none;
    padding: 0;
    margin-bottom: 5px;
  }

  .tokushoho-table td {
    border: none;
    padding: 0;
	  font-size : 0.9em
  }
}
