/* ====================================
   ■ 基本設定（シャープ＆スタイリッシュなデザイン）
==================================== */
html {
  font-size: 100%; /* 基準16px */
}
body {
  margin: 0;
  padding: 0;
  width: 100%;
  background: #f4f4f4; /* わずかにグレーの背景 */
  color: #333; /* 文字色を濃いグレーに */
  font-family: '游ゴシック', 'Hiragino Kaku Gothic ProN', sans-serif;
  line-height: 1.8;
}

.page-wrapper {
  display: block;
  width: 100%;
  max-width: 75rem; /* 1200px */
  margin: 0 auto;
  box-sizing: border-box;
}

/* ====================================
   ■ レイアウト構造（PC固定幅 / モバイル100%）
==================================== */
@media (min-width: 48.8125rem) { /* 781px */
  .sotowaku {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0 auto 2rem auto;
    box-sizing: border-box;
    clear: both;
  }

  .maincon {
    width: 56.25rem; /* 900px */
    flex-shrink: 0;
    padding-left: 0.5rem; /* 8px */
    padding-right: 0.5rem; /* 8px */
    box-sizing: border-box;
    background: #fff;
  }

  .right-column,
  .right-column-3san {
    width: 18.75rem; /* 300px */
    flex-shrink: 0;
    box-sizing: border-box;
    text-align: center;
    background: #f4f4f4; /* サイドバーの背景色をメイン背景に合わせる */
  }
}

/* ====================================
   ■ タイトル・見出し (シャープなデザイン)
==================================== */
h1 {
  font-size: 1.75rem;
  margin: 1.5rem 0.5rem 1rem 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #555; /* 濃い下線 */
  color: #333;
}
h2 {
  font-size: 1.5rem; /* 少し大きく */
  margin: 1.5rem 0 0.5rem;
  border-left: 0.4rem solid #007bff; /* シャープな青い縦線 */
  padding: 0.5rem 0 0.5rem 0.8rem;
  background: #fff;
  border-bottom: 1px solid #ddd; /* 薄い下線を追加 */
}
h3 {
  font-size: 1.375rem;
  margin: 1rem 0 0.5rem;
  border-left: 0.4rem solid #007bff;
  padding: 0.5rem 0 0.5rem 0.8rem;
  background: #fff;
}

.headline {
  margin: 0;
  padding: 0 0 0 0.7rem;
  font-size: 1rem;
  line-height: 1.8rem;
  color: #333333;
  text-align: left;
  background: #ffffff;
}

/* ====================================
   ■ 上メニュー（タブ風・シャープなデザイン）
==================================== */
@media (min-width: 48.8125rem) { /* 781px */
  .menu-wrapper {
    width: 100%;
    text-align: center;
    margin: 1rem 0; /* マージンを調整 */
    padding: 0 0.625rem;
    background: #f4f4f4;
    box-sizing: border-box;
  }
}
/* ====================================
   ■ 上メニュー（シャープな青とグレー）
==================================== */
.pctop_menuwaku-s {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  background: #fff;
  border: 1px solid #ccc; /* 薄いボーダー */
  border-radius: 0; /* 角の丸みをなくす */
  overflow: hidden;
  box-sizing: border-box;
  margin: 0 auto 1.5rem auto;
  transition: background 0.3s, border-color 0.3s;
}

/* 各項目（内部の仕切り） */
.pctop_menuwaku-s a {
  flex: 1 1 20%;
  text-align: center;
  color: #333;
  text-decoration: none;
  font-size: 1.1rem; /* 少し小さくしてモダンに */
  font-weight: 500;
  line-height: 1.5;
  background: #f9f9f9; /* 項目背景 */
  padding: 0.8rem 0;
  border-right: 1px solid #ccc; /* 薄い仕切り */
  transition: background 0.3s, color 0.3s;
  box-sizing: border-box;
}

/* 最後の項目だけ仕切りを消す */
.pctop_menuwaku-s a:last-child {
  border-right: none;
}

/* hover時の視覚効果 */
.pctop_menuwaku-s a:hover {
  background: #007bff; /* アクセントカラー */
  color: #fff; /* 文字色を白に */
}

/* PC・モバイル共通で自然に丸みが保たれるよう */
.pctop_menuwaku-s a:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pctop_menuwaku-s a:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* ====================================
   ■ 文書本文エリア（シャープな枠）
==================================== */
.content_body_2danme {
  position: relative;
  background: #fff;
  font-size: 1.45rem;
  border: 1px solid #555; /* 濃い目の枠線 */
  padding: 1.5rem; /* パディングを均等に */
  border-radius: 0; /* 角をなくす */
  box-sizing: border-box;
  margin: 2rem 0;
  padding-bottom: 3rem;
}

@media (min-width: 48.8125rem) { /* 781px */
  .content_body_2danme {
    position: relative;
    background: #fff;
    border: 1px solid #555;
    padding: 3rem;
    border-radius: 0;
    box-sizing: border-box;
    margin: 2.5rem 1.2rem;
    padding-bottom: 3rem;
  }
}

/* コピー対象テキスト */
.copy-text {
  margin-bottom: 1.25rem;
}

/* ▼ PC時（右下固定・丸み多め） */
.copy-btn {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  font-size: 1rem;
  padding: 0.56rem 1.05rem;
  border-radius: 9999px;                 /* 丸み多め（ピル型） */
  border: 1px solid #007bff;
  background: #007bff;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0, 123, 255, 0.22);
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.copy-btn:hover {
  background: #0056b3;
  border-color: #0056b3;
  box-shadow: 0 10px 22px rgba(0, 86, 179, 0.28);
  transform: translateY(-1px);
}
.copy-btn:active {
  transform: translateY(0);
}
.copy-btn:focus-visible {
  outline: 3px solid rgba(0, 123, 255, .35);
  outline-offset: 2px;
}

/* ★最後に追加：モバイル時、ボタンを左枠線から1.5remに固定 */
@media (max-width: 48.75rem) {
  .copy-btn {
    position: relative !important;
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;      /* 丸み多め */
    /* 左枠線1rem（カードpadding）＋ボタン0.5rem = 1.5rem */
    margin-left: 0.5rem;        /* ← 左から合計1.5rem */
    margin-right: auto;         /* 右は自動（左寄せ維持） */
    /* 既存の font-size / padding などはそのままでOK */
  }

  /* 全ページのコピーBtnを同様にしたい場合はこちらも（任意） */
  .content_body_2danme > .copy-btn {
    position: relative !important;
    inset: auto !important;
    display: inline-block !important;
    float: none !important;
    margin-left: 0.5rem !important;
    margin-right: auto !important;
  }
}

/* テキスト配置 */
.p_sample_left {
  text-align: left;
  margin-left: 0.5rem;
}
.sitah2tagi { margin: 0px; padding: 0px;}

.p_sample_titlecenter {
  text-align: center;
  font-weight: 400; /* 太字に */
  font-size: 1.5rem; /* 大きく */
  margin: 1.5rem 0;
}
@media (max-width: 48.75rem) {
  .p_sample_titlecenter {
    font-weight: 400; /* 太字に */
    color: #000;
    font-size: 1.4rem; /* 大きく */
  }
}

.p_sample_center {
  text-align: center;
  margin: 1rem 0;
}
.p_sample_right {
  text-align: right;
  margin-right: 0.5rem;
}

/* ===============================
   ■ PC表示（rem化）
=============================== */
.p_20pixmoji {
  text-align: left;
  color: #000;
  font-size: 1.5625rem; /* 25px */
  font-weight: 300;
  line-height: 1.875rem; /* 30px */
  letter-spacing: 0.625rem; /* 10px */
}
.p_20pixmoji-center {
  text-align: center;
  color: #000;
  font-size: 1.5625rem; /* 25px */
  font-weight: 300;
  line-height: 1.875rem; /* 30px */
}

/* 正楷書体はスタイリッシュではないため、通常のゴシック体に変更 */
.p_20pixnenga,
.p_2pixnenga,
.p_nenga,
.p_nenga_right_13px,
.p_nenga_jyuusyo {
  font-family: '游ゴシック', 'Hiragino Kaku Gothic ProN', sans-serif;
  font-weight: 500; /* ウェイトを上げる */
}

.p_20pixnenga {
  text-align: left;
  color: #000;
  font-size: 2.1875rem; /* 35px */
  line-height: 2.375rem; /* 38px */
  letter-spacing: 0.625rem; /* 10px */
}

.p_2pixnenga {
  text-align: left;
  color: #000;
  font-size: 1.625rem; /* 26px */
  line-height: 2.375rem; /* 38px */
  letter-spacing: 0.375rem; /* 6px */
}

.p_nenga {
  text-align: left;
  color: #000;
  font-size: 1.5625rem; /* 25px */
  line-height: 2.375rem; /* 38px */
}

.p_nenga_right_13px {
  text-align: left;
  color: #000;
  font-size: 1.25rem; /* 20px */
  line-height: 1.5625rem; /* 25px */
}

.p_nenga_jyuusyo {
  text-align: right;
  padding: 0 0 0 1.25rem; /* 20px */
  color: #000;
  font-size: 1.375rem; /* 22px */
  line-height: 1.5625rem; /* 25px */
}

/* ===============================
   ■ モバイル時：全体80%縮小
=============================== */
@media (max-width: 48.75rem) { /* 780px */
  html {
    font-size: 85%; /* 少し大きく */
  }

  /* PCのrem値がそのまま80%に縮小されるため、個別設定を削除 */
  .p_20pixmoji {
    letter-spacing: 0.5rem;
  }
  .p_20pixmoji-center {}
  .p_20pixnenga {
    letter-spacing: 0.5rem;
  }
  .p_2pixnenga {
    letter-spacing: 0.3rem;
  }
  .p_nenga {}
  .p_nenga_right_13px {}
  .p_nenga_jyuusyo {
    padding: 0 0 0 1rem;
  }
}
/* ====================================
   ■ 2段目本文エリア（情報リスト）
==================================== */
.text_listue1dan1h {
  margin: 1.5rem 0 0 0;
  padding: 1rem 1rem 1rem 1.875rem;
  font-size: 1.2rem; /* スタイリッシュに少し小さく */
  color: #333;
  text-align: left;
  line-height: 1.8;
  letter-spacing: 0;
  background: #fff;
  border-left: 5px solid #007bff; /* 左に強調線 */
  border-bottom: 1px dashed #ccc; /* 点線で区切り */
  margin-right: 0;
}
.text_listue1dan1h b {
  color: #007bff;
  font-weight: 700;
}
.text_listue1dan1h a {
  color: #007bff;
  font-weight: 600;
  text-decoration: underline;
}
.text_listue1dan1h a:hover {
  text-decoration: none;
}

/* =======================================
   モバイル用：2段目 text_listue1dan1h 体裁調整
======================================= */
@media (max-width: 48.75rem) { /* 780px */

  .text_listue1dan1h {
    font-size: 1.2rem;
    line-height: 1.9rem;

    /* ▼ 左の揃え位置を h2 と一致させる */
    padding-left: 1.2rem;
    margin-left: 0;
    box-sizing: border-box;

    color: #000;
    text-align: left;
    background: #fff;
  }
}

/* ====================================
   ■ sample_index5（関連リスト）
==================================== */
.sample_index5 {
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
}

/* ---------- PC表示 ---------- */
@media (min-width: 48.8125rem) { /* 781px */
  .sample_index5 li {
    border-bottom: 1px solid #ddd; /* 下線で区切りを強調 */
    background: transparent;
    margin: 0;
    padding-left: 0;
    font-size: 1.3rem;
  }
  .sample_index5 li a {
    display: block;
    padding: 0.8rem 1rem;
    font-weight: 500;
    color: #333;
    text-decoration: none;
    border-left: 5px solid transparent; /* ホバーで色を付けるための透明な縦線 */
    transition: border-left 0.2s, background 0.2s;
  }
  .sample_index5 li a:hover {
    background: #eee;
    color: #007bff;
    border-left: 5px solid #007bff; /* ホバーで青い縦線 */
  }
}

/* ---------- モバイル表示 ---------- */
@media (max-width: 48.75rem) { /* 780px */
  .sample_index5 li {
    border: 1px solid #ccc; /* 枠線をシャープに */
    border-radius: 0; /* 角をなくす */
    margin: 0.5rem 0;
    background: #fff;
    padding-left: 0;
  }

  .sample_index5 li a {
    display: block;
    padding: 0.6rem 1rem;
    font-size: 1.25rem;
    text-decoration: none;
    font-weight: 600;
    color: #333;
  }

  /* hover時に少し明るくして反応感を出す */
  .sample_index5 li:hover {
    background: #f0f0f0;
    border-color: #007bff;
  }
}

/* ... その他のスタイルは維持し、色とボーダーを調整 ... */

/* ===============================
   ■ bunai-list（旧 sample_index5）
=============================== */
.bunai-list {
  list-style: none;
  margin: 0;
  padding: 0.9375rem 0.9375rem 0.9375rem 1.875rem;
}

/* ---------- PC表示 ---------- */
@media (min-width: 48.8125rem) { /* 781px */
  .bunai-list li {
    border-bottom: 1px dashed #ddd; /* 点線で区切り */
    background: transparent;
    margin: 0;
    font-size: 1.5rem;
  }
  .bunai-list li a {
    display: block;
    padding: 0.5rem 0;
    color: #333;
    text-decoration: none;
  }
  .bunai-list li a:hover {
    color: #007bff;
    text-decoration: underline;
  }
}

/* ---------- モバイル表示 ---------- */
@media (max-width: 48.75rem) { /* 780px */
  /* 枠なし（外枠削除・背景透明） */
  .bunai-list li {
    border-bottom: 1px dashed #ddd;
    background: transparent;
    margin: 0.5rem 0;
    padding-left: 0.375rem;
    font-size: 1.0625rem;
  }

  .bunai-list li a {
    display: block;
    padding: 0.6rem 1rem;
    font-size: 1.125rem;
    text-decoration: none;
    color: #333;
    font-weight: 600;
  }
}

/* ====================================
   ■ メニュー（右カラム）
==================================== */
.menu_1dan {
  margin: 0;
  padding: 0;
}

/* PC（1・2段） */
.menu_1dan ul {
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  line-height: 2.6rem;
  color: #333;
  list-style: none;
  text-align: center;
}

/* ▼ 各リスト項目（PC用） */
.menu_1dan li {
  margin: 0.3125rem 0 0.625rem 0;
  padding: 0.5rem 0;
  border: 1px solid #ccc;
  border-radius: 0; /* 角をなくす */
  background: #fff;
  transition: background 0.3s, border-color 0.3s;
}

/* ▼ リンク文字（PC） */
.menu_1dan li a {
  display: block;
  color: #333;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.2rem; /* 少し小さく */
  transition: color 0.2s;
}
.menu_1dan li a:hover {
  color: #fff;
}
.menu_1dan li:hover {
  background: #007bff; /* ホバーで青 */
  border-color: #0056b3;
}

/* =======================================
   モバイル用：右メニュー3列グリッド化
======================================= */
@media (max-width: 48.75rem) { /* 780px */

  /* ▼ 1段目の右メニューを非表示にする（!importantを削除） */
  .page-wrapper > .sotowaku:first-of-type .right-column .menu_1dan {
    display: none;
  }

  /* ▼ 右メニュー（3列グリッド構造） */
  .right-column .menu_1dan ul,
  .right-column-3san .menu_1dan ul {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.1rem; /* ← 段間をかなり詰める */
    padding: 0.15rem; /* ← 上下左右の余白をさらに小さく */
    margin: 0 auto;
    list-style: none;
    box-sizing: border-box;
    width: 100%;
  }

  /* ▼ 各項目（LI） */
  .right-column .menu_1dan li,
  .right-column-3san .menu_1dan li {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 0;
    font-size: 1.3rem;
    line-height: 2.3rem;
    padding: 0.35rem 0.1rem; /* ← 内側の高さを約半分に圧縮 */
    text-align: center;
    box-sizing: border-box;
    margin: 0; /* ← 各段の上下マージンを完全に除去 */
  }

  /* ▼ リンク文字（モバイル） */
  .right-column .menu_1dan a,
  .right-column-3san .menu_1dan a {
    display: block;
    text-decoration: none;
    font-size: 1.2rem;
    color: #333;
    font-weight: 600;
  }

  /* ▼ hover効果（モバイル） */
  .right-column .menu_1dan li:hover,
  .right-column-3san .menu_1dan li:hover {
    background: #007bff;
    border-color: #0056b3;
    color: #fff;
  }
  .right-column .menu_1dan li:hover a,
  .right-column-3san .menu_1dan li:hover a {
    color: #fff;
  }
}
/* =======================================
   PC用：3段目メニュー非表示
======================================= */
@media (min-width: 781px) {
  .right-column-3san .menu_1dan {
    display: none;
  }
}

/* ====================================
   ■ フッター（シンプルに）
==================================== */
.credit_line2, .footer {
  text-align: center;
  font-size: 0.9375rem;
  color: #555;
  padding: 0.5rem 0;
  margin-top: 1rem;
  border-top: 1px solid #ccc; /* 上線を引く */
  background: #fff;
}
.credit_line2 a, .footer a {
  color: #555;
  text-decoration: none;
}
.credit_line2 a:hover, .footer a:hover {
  color: #007bff;
  text-decoration: underline;
}

/* ... 広告関連のスタイルは変更せず維持 ... */

/* ====================================
   ■ モバイル（真のレスポンシブ対応）
   ※ 780px以下の画面で適用
==================================== */
@media (max-width: 48.75rem) { /* 780px */

  body {
    margin: 0;
    padding: 0;
    width: 100%;
    background: #f4f4f4;
    color: #333;
    font-family: '游ゴシック', 'Hiragino Kaku Gothic ProN', sans-serif;
    line-height: 1.7;
    overflow-x: hidden;
  }

  .sotowaku {
    display: block;
    width: 100%;
    clear:both;
  }

  .maincon,
  .right-column,
  .right-column-3san {
    width: 100%;
    float:none;
  }

  h1 {
    font-size: 1.796875rem;
    margin-top: 0.5rem;
    padding-left: 0.5rem;
    margin-bottom: 0.25rem;
    border-bottom: 2px solid #555;
  }

  h2 {
    font-size: 1.5625rem;
    margin-top: 0rem;
    border-left: 0.4rem solid #007bff;
    padding: 0.5rem 0 0.5rem 0.8rem;
    background: #fff;
    border-bottom: 1px solid #ddd;
  }

  h3 {
    font-size: 1.5625rem;
    margin-top: 0rem;
    border-left: 0.4rem solid #007bff;
    padding: 0.5rem 0 0.5rem 0.8rem;
    background: #fff;
  }

  .menu-wrapper {
    margin-top: 0;
    margin-bottom: 0.25rem;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    box-sizing: border-box;
  }

  .pctop_menuwaku-s {
    margin: 0 auto;
    border-radius: 0;
    padding: 0;
  }

  .pctop_menuwaku-s a {
    font-size: 0.96875rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    padding: 1.2rem 0;
    line-height: 1.6;
    color: #333;
    text-shadow: none;
  }
  .pctop_menuwaku-s a:hover {
    background: #007bff;
    color: #fff;
  }

  /* ▼ 本文エリアの余白縮小（PCより軽め） */
  .content_body_2danme {
    margin: 1rem 0.5rem;
    padding: 1rem;
    font-size: 1.125rem;
    line-height: 1.6;
    border-radius: 0;
  }

  .credit_line2, .footer {
    text-align: center;
    font-size: 1.015625rem;
    color: #555;
    padding: 0.1rem 0;
    margin-top: 0.05rem;
    border-top: 1px solid #ccc;
  }
}
.credit_line2 a, .footer a {
  color: #000;
  text-decoration: none;
}
.credit_line2 a:hover, .footer a:hover {
  text-decoration: underline;
}

/* ====================================
   ■ 広告枠（個別制御のため全段個別保持）
==================================== */

/* 1段目上部広告枠 */
.ga_tppad_adwakusita {
  display: block;
  width: 100%;
  max-width: 75rem; /* 1200px */
  margin: 0.75rem auto 1rem auto;
  text-align: center;
  background: transparent;
  overflow: hidden;
  box-sizing: border-box;
}
@media (max-width: 48.75rem) { /* 780px */
  .ga_tppad_adwakusita {
    display: none;
  }
}

/* 1段目本文上広告 */
.ga_728_adwaku-nommu {
  width: 100%;
  margin: 1.875rem auto;
  text-align: center;
  background: transparent;
  overflow: hidden;
}

/* 1段目本文下広告 */
.ga_728_adwakusita-2dan {
  width: 100%;
  margin: 1rem auto;
  text-align: center;
  background: transparent;
  overflow: hidden;
}

/* 2段目広告 */
.ga_728_adwakukanrenue {
  width: 100%;
  margin: 1.875rem auto;
  text-align: center;
  background: transparent;
  overflow: hidden;
}

/* 3段目本文下広告 */
.ga_728_adwakukanrenue-2danyou {
  width: 100%;
  max-width: 60.625rem;
  height: auto;
  margin: 1.875rem auto;
  text-align: center;
  background: transparent;
  overflow: hidden;
}

@media (min-width: 48.8125rem) { /* 781px */
  /* 横長広告すべてに共通設定 */
  .ga_tppad_adwakusita,
  .ga_728_adwaku-nommu,
  .ga_728_adwakusita-2dan,
  .ga_728_adwakukanrenue,
  .ga_728_adwakukanrenue-2danyou {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1rem auto;
    text-align: center;
    background: transparent;
    box-sizing: border-box;
  }
}

/* 右カラム広告群（縦長） */
/* =======================================
   ■ PC／モバイル共通（レスポンシブ広告枠）
======================================= */
.gad_160_600_r-3dantop {
  display: block;
  width: 100%;
  max-width: 18.75rem; /* 300px */
  margin: 1rem auto;
  text-align: center;
  background: transparent;
  overflow: visible;
  box-sizing: border-box;
}

/* ---------- PC用 ---------- */
@media (min-width: 48.8125rem) { /* 781px */
  .gad_160_600_r-3dantop {
    display: block;
    width: 100%;
    max-width: 18.75rem; /* 300px */
    margin: 1rem auto;
  }
}

/* ---------- モバイル用 ---------- */
@media (max-width: 48.75rem) { /* 780px */
  /* 縦長広告は非表示のため、この設定は意味をなさないが、残存の可能性を考慮し、矩形設定を維持 */
  .gad_160_600_r-3dantop {
    display: none; /* 下で非表示設定に統一 */
    aspect-ratio: 6 / 5;
    margin: 0.75rem auto;
  }
}

/* ===============================
   ■ モバイル時の広告縮小（transform: scale を削除）
   =============================== */
/* モバイル表示時のレスポンシブ広告の表示切れを防ぐため、縮小設定を削除 */
/*
@media (max-width: 48.75rem) {
  .ga_tppad_adwakusita,
  .ga_728_adwaku-nommu,
  .ga_728_adwakusita-2dan,
  .ga_728_adwakukanrenue,
  .ga_728_adwakukanrenue-2danyou,
  .gad_160_600_r-3dantop {
    transform: scale(0.9);
    transform-origin: center top;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
  }
}
*/

/* =======================================
   ■ 右カラム他広告共通（300px上限）
======================================= */
@media (min-width: 48.8125rem) { /* 781px */
  .MR_160_600_r-2daue,
  .gad_160_600_r-top,
  .MR_160_600_r-mid,
  .gad_160_600_r-3dantop {
    display: block;
    width: 100%;
    max-width: 18.75rem; /* 300px */
    margin: 1rem auto;
    text-align: center;
    background: transparent;
    overflow: hidden;
  }
}
/* ====================================
   ■ モバイル（真のレスポンシブ対応）
   ※ 780px以下の画面で適用
==================================== */
@media (max-width: 48.75rem) { /* 780px */

  body {
    margin: 0;
    padding: 0;
    width: 100%;
    background: #fff;
    color: #111;
    font-family: '游ゴシック', 'Hiragino Kaku Gothic ProN', sans-serif;
    line-height: 1.7;
    overflow-x: hidden;
  }

  .sotowaku {
    display: block;
    width: 100%;
    clear:both;
  }

  .maincon,
  .right-column,
  .right-column-3san {
    width: 100%;
    float:none;
  }

  h1 {
    font-size: 1.796875rem; /* 1.4375rem * 1.25 (html 80%時の逆算) */
    margin-top: 0.5rem;
    padding-left: 0.5rem;
    margin-bottom: 0.25rem;
  }

  h2 {
    font-size: 1.5625rem; /* 1.25rem * 1.25 */
    margin-top: 0rem;
    border-left: 0.25rem solid #999;
    padding-left: 0.5rem;
    background: #f9f9f9;
  }

  h3 {
    font-size: 1.5625rem; /* 1.25rem * 1.25 */
    margin-top: 0rem;
    border-left: 0.25rem solid #999;
    padding-left: 0.5rem;
    background: #f9f9f9;
  }

  .menu-wrapper {
    margin-top: 0;
    margin-bottom: 0.25rem;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    box-sizing: border-box;
  }

  .pctop_menuwaku-s {
    margin: 0 auto;
    border-radius: 0.625rem;
    padding: 0;
  }

  .pctop_menuwaku-s a {
    font-size: 0.96875rem; /* 0.775rem * 1.25 */
    font-weight: 600;
    letter-spacing: -0.01em;
    padding: 1.2rem 0;
    line-height: 1.6;
    color: #000;
    text-shadow: 0 0 0.5px rgba(0,0,0,0.3);
  }

  /* ▼ 本文エリアの余白縮小（PCより軽め） */
  .content_body_2danme {
    margin: 1rem 0.5rem;
    padding: 1rem;
    font-size: 1.125rem; /* 0.9rem * 1.25 */
    line-height: 1.6;
  }

  .sample_list_shortwidth {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    box-sizing: border-box;
  }

  /* ▼ 広告（レスポンシブ広告枠の最大幅設定） */
  .ga_tppad_adwakusita,
  .ga_728_adwaku-nommu,
  .ga_728_adwakusita-2dan,
  .ga_728_adwakukanrenue,
  .ga_728_adwakukanrenue-2danyou {
    width: 100%;
    max-width: 18.75rem; /* 300px */
    height: auto;
    margin: 1rem auto;
  }

  /* ▼ 縦長広告（非表示設定に統一） */
  .MR_160_600_r-2daue,
  .MR_160_600_r-mid,
  .gad_160_600_r-top,
  .gad_160_600_r-3dantop {
    display: none;
  }

  .credit_line2, .footer {
    text-align: center;
    font-size: 1.015625rem; /* 0.8125rem * 1.25 */
    color: #555;
    padding: 0.1rem 0;
    margin-top: 0.05rem;
  }
}
/* AdSense共通ラッパ：幅だけ合わせる。高さ/比率/transformは絶対に付けない */
.adwrap {
  width: 100%;
  max-width: 100%;
  margin: 1rem auto;
  text-align: center;
  box-sizing: border-box;
}
.adwrap > .adsbygoogle {
  display: block !important;
  width: 100% !important;   /* data-full-width-responsive と相性良し */
  /* heightは書かない */
}


/* ▼ モバイル時：コピー ボタンと枠線の間を4remに */
@media (max-width: 48.75rem) { /* 780px 以下 */
  .content_body_2danme {
    padding-bottom: 3rem !important;
  }
}

