/* ----------------
	リセットcss
---------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  /* ボックスモデルをボーダーとパディングを含むように設定 */
}

* {
  margin: 0;
  /* 全ての要素のデフォルトのマージンを削除 */
  padding: 0;
  /* 全ての要素のデフォルトのパディングを削除 */
}

/* デフォルトのフォント設定 */
body {
  overflow-wrap: break-word;
  /* 単語が幅を超えた場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 日本語の禁則処理を厳格に適用 */
  -webkit-text-size-adjust: 100%;
  /* モバイルデバイスでのテキストサイズ調整を無効化 */
  -webkit-font-smoothing: antialiased;
  /* テキストのスムージングを有効化 */
}

/* リストのリセット */
ul,
ol {
  list-style: none;
  /* デフォルトのリストマーカーを削除 */
  padding: 0;
  /* デフォルトのパディングを削除 */
  margin: 0;
  /* デフォルトのマージンを削除 */
}

/* リンクのリセット */
a {
  text-decoration: underline;
  color: #0000ee;
}

/* フォーム要素のリセット */
input,
button,
textarea,
select {
  font: inherit;
  /* フォントスタイルを親要素から継承 */
  color: inherit;
  /* フォントカラーを親要素から継承 */
  border: none;
  /* デフォルトのボーダーを削除 */
  background: none;
  /* デフォルトの背景を削除 */
  padding: 0;
  /* デフォルトのパディングを削除 */
  margin: 0;
  /* デフォルトのマージンを削除 */
}

/* ボタン要素のリセット */
button {
  appearance: none;
  /* 標準のボタンスタイルを削除 */
  background: none;
  /* デフォルトの背景を削除 */
  border: none;
  /* デフォルトのボーダーを削除 */
  padding: 0;
  /* デフォルトのパディングを削除 */
  margin: 0;
  /* デフォルトのマージンを削除 */
  cursor: pointer;
  /* カーソルをポインタに変更 */
}

/* モバイルデバイス特有のリセット */
input[type="checkbox"],
input[type="radio"] {
  appearance: none;
  /* 標準のチェックボックスやラジオボタンのスタイルを削除 */
}

button,
a {
  touch-action: manipulation;
  /* タップやスクロールの動作を改善 */
}

/* メディア要素のリセット */
img,
picture,
video,
canvas,
svg {
  display: block;
  /* ブロック要素として扱い、余白を除去 */
  width: 100%;
  /* 親要素の幅に収まるように設定 */
  height: auto;
  /* 元のアスペクト比を保つ */
}

/* テーブルのリセット */
table {
  border-collapse: collapse;
  /* テーブルの境界線を統合 */
  border-spacing: 0;
  /* セル間のスペースを削除 */
}

th,
td {
  padding: 0;
  /* セルのデフォルトのパディングを削除 */
  border: 0;
  /* デフォルトのボーダーを削除 */
}

/* 見出しのリセット */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  /* デフォルトのマージンを削除 */
  font-size: inherit;
  /* フォントサイズを親要素から継承 */
}

/* スクロールとタップのリセット */
html,
body {
  overscroll-behavior: none;
  /* スクロールのオーバースクロール挙動を無効化 */
}

html {
  font-size: 62.5%;
  /* 1rem = 10pxに設定 */
}

body {
  position: relative;
  z-index: 1;
  font-optical-sizing: auto;
  /* フォントの視覚的サイズを自動調整 */
  font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  /* フォントの太さを設定（標準） */
  font-style: normal;
  /* フォントのスタイルを設定（通常） */
  color: #333;
  /* テキストの色を設定 */
  min-height: 100vh;
  /* ビューポートの高さに基づいた最小高さを設定 */

  /* フォントのプロポーショナルアライメントを有効化する設定 */
  /* font-feature-settings: "palt"; */

  -webkit-font-smoothing: antialiased;

  font-size: 1.6rem;
  line-height: 1.5;
}


/* ----------------
	フォント、余白用の調整クラス集
---------------- */

/*--- font ---*/
.fwb {
  font-weight: bold;
}

.tal {
  text-align: left;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

/* FontSize = fs */
/* Relative FontSize = fsr */
.fsr10 {
  font-size: 62.5%;
}

.fsr11 {
  font-size: 68.75%;
}

.fsr12 {
  font-size: 75%;
}

.fsr13 {
  font-size: 81.25%;
}

.fsr14 {
  font-size: 87.5%;
}

.fsr15 {
  font-size: 93.75%;
}

.fsr16 {
  font-size: 100%;
}

.fsr17 {
  font-size: 106.25%;
}

.fsr18 {
  font-size: 112.5%;
}

.fsr19 {
  font-size: 118.75%;
}

.fsr20 {
  font-size: 125%;
}

.fsr21 {
  font-size: 131.25%;
}

.fsr22 {
  font-size: 137.5%;
}

.fsr23 {
  font-size: 143.75%;
}

.fsr24 {
  font-size: 150%;
}

.fsr25 {
  font-size: 156.25%;
}

.fsr26 {
  font-size: 162.5%;
}

.fsr27 {
  font-size: 168.75%;
}

.fsr28 {
  font-size: 175%;
}

.fsr29 {
  font-size: 181.25%;
}

.fsr30 {
  font-size: 187.5%;
}

/*--- Padding = pd ---*/
/* Padding (top + right + bottom + left) = pd */
.pd0 {
  padding: 0 !important;
}

.pd2 {
  padding: 2px !important;
}

.pd5 {
  padding: 5px !important;
}

.pd8 {
  padding: 8px !important;
}

.pd10 {
  padding: 10px !important;
}

.pd15 {
  padding: 15px !important;
}

.pd20 {
  padding: 20px !important;
}

.pd25 {
  padding: 25px !important;
}

.pd30 {
  padding: 30px !important;
}

.pd35 {
  padding: 35px !important;
}

.pd40 {
  padding: 40px !important;
}

.pd45 {
  padding: 45px !important;
}

.pd50 {
  padding: 50px !important;
}

.pd55 {
  padding: 55px !important;
}

.pd60 {
  padding: 60px !important;
}

/* Padding (top + bottom) = pdtb */
.pdtb0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pdtb5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.pdtb10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pdtb15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.pdtb20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.pdtb25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.pdtb30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.pdtb35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.pdtb40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.pdtb45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.pdtb50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.pdtb55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.pdtb60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* Padding (right + left) = pdrl */
.pdrl0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pdrl5 {
  padding-right: 5px !important;
  padding-left: 5px !important;
}

.pdrl10 {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

.pdrl15 {
  padding-right: 15px !important;
  padding-left: 15px !important;
}

.pdrl20 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.pdrl25 {
  padding-right: 25px !important;
  padding-left: 25px !important;
}

.pdrl30 {
  padding-right: 30px !important;
  padding-left: 30px !important;
}

.pdrl35 {
  padding-right: 35px !important;
  padding-left: 35px !important;
}

.pdrl40 {
  padding-right: 40px !important;
  padding-left: 40px !important;
}

.pdrl45 {
  padding-right: 45px !important;
  padding-left: 45px !important;
}

.pdrl50 {
  padding-right: 50px !important;
  padding-left: 50px !important;
}

.pdrl55 {
  padding-right: 55px !important;
  padding-left: 55px !important;
}

.pdrl60 {
  padding-right: 60px !important;
  padding-left: 60px !important;
}

/* Padding (top) = pdt */
.pdt0 {
  padding-top: 0 !important;
}

.pdt5 {
  padding-top: 5px !important;
}

.pdt10 {
  padding-top: 10px !important;
}

.pdt15 {
  padding-top: 15px !important;
}

.pdt20 {
  padding-top: 20px !important;
}

.pdt25 {
  padding-top: 25px !important;
}

.pdt30 {
  padding-top: 30px !important;
}

.pdt35 {
  padding-top: 35px !important;
}

.pdt40 {
  padding-top: 40px !important;
}

.pdt45 {
  padding-top: 45px !important;
}

.pdt50 {
  padding-top: 50px !important;
}

.pdt55 {
  padding-top: 55px !important;
}

.pdt60 {
  padding-top: 60px !important;
}

/* Padding (right) = pdr */
.pdr5 {
  padding-right: 0 !important;
}

.pdr5 {
  padding-right: 5px !important;
}

.pdr10 {
  padding-right: 10px !important;
}

.pdr15 {
  padding-right: 15px !important;
}

.pdr20 {
  padding-right: 20px !important;
}

.pdr25 {
  padding-right: 25px !important;
}

.pdr30 {
  padding-right: 30px !important;
}

.pdr35 {
  padding-right: 35px !important;
}

.pdr40 {
  padding-right: 40px !important;
}

.pdr45 {
  padding-right: 45px !important;
}

.pdr50 {
  padding-right: 50px !important;
}

.pdr55 {
  padding-right: 55px !important;
}

.pdr60 {
  padding-right: 60px !important;
}

/* Padding (bottom) = pdb */
.pdb5 {
  padding-bottom: 0 !important;
}

.pdb5 {
  padding-bottom: 5px !important;
}

.pdb10 {
  padding-bottom: 10px !important;
}

.pdb15 {
  padding-bottom: 15px !important;
}

.pdb20 {
  padding-bottom: 20px !important;
}

.pdb25 {
  padding-bottom: 25px !important;
}

.pdb30 {
  padding-bottom: 30px !important;
}

.pdb35 {
  padding-bottom: 35px !important;
}

.pdb40 {
  padding-bottom: 40px !important;
}

.pdb45 {
  padding-bottom: 45px !important;
}

.pdb50 {
  padding-bottom: 50px !important;
}

.pdb55 {
  padding-bottom: 55px !important;
}

.pdb60 {
  padding-bottom: 60px !important;
}

/* Padding (left) = pdl */
.pdl0 {
  padding-left: 0 !important;
}

.pdl5 {
  padding-left: 5px !important;
}

.pdl10 {
  padding-left: 10px !important;
}

.pdl15 {
  padding-left: 15px !important;
}

.pdl20 {
  padding-left: 20px !important;
}

.pdl25 {
  padding-left: 25px !important;
}

.pdl30 {
  padding-left: 30px !important;
}

.pdl35 {
  padding-left: 35px !important;
}

.pdl40 {
  padding-left: 40px !important;
}

.pdl45 {
  padding-left: 45px !important;
}

.pdl50 {
  padding-left: 50px !important;
}

.pdl55 {
  padding-left: 55px !important;
}

.pdl60 {
  padding-left: 60px !important;
}

/*--- Margin = mg ---*/
/* Margin (top + right + bottom + left) = mg */
.mg0 {
  margin: 0 !important;
}

.mg2 {
  margin: 2px !important;
}

.mg5 {
  margin: 5px !important;
}

.mg8 {
  margin: 8px !important;
}

.mg10 {
  margin: 10px !important;
}

.mg15 {
  margin: 15px !important;
}

.mg20 {
  margin: 20px !important;
}

.mg25 {
  margin: 25px !important;
}

.mg30 {
  margin: 30px !important;
}

.mg35 {
  margin: 35px !important;
}

.mg40 {
  margin: 40px !important;
}

.mg45 {
  margin: 45px !important;
}

.mg50 {
  margin: 50px !important;
}

.mg55 {
  margin: 55px !important;
}

.mg60 {
  margin: 60px !important;
}

/* Margin (top + bottom) = mgtb */
.mgtb0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mgtb5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.mgtb10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.mgtb15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.mgtb20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.mgtb25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

.mgtb30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.mgtb35 {
  margin-top: 35px !important;
  margin-bottom: 35px !important;
}

.mgtb40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.mgtb45 {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}

.mgtb50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.mgtb55 {
  margin-top: 55px !important;
  margin-bottom: 55px !important;
}

.mgtb60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.mgtb80 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}

/* Margin (right + left) = mgrl */
.mgrl0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mgrl5 {
  margin-right: 5px !important;
  margin-left: 5px !important;
}

.mgrl10 {
  margin-right: 10px !important;
  margin-left: 10px !important;
}

.mgrl15 {
  margin-right: 15px !important;
  margin-left: 15px !important;
}

.mgrl20 {
  margin-right: 20px !important;
  margin-left: 20px !important;
}

.mgrl25 {
  margin-right: 25px !important;
  margin-left: 25px !important;
}

.mgrl30 {
  margin-right: 30px !important;
  margin-left: 30px !important;
}

.mgrl35 {
  margin-right: 35px !important;
  margin-left: 35px !important;
}

.mgrl40 {
  margin-right: 40px !important;
  margin-left: 40px !important;
}

.mgrl45 {
  margin-right: 45px !important;
  margin-left: 45px !important;
}

.mgrl50 {
  margin-right: 50px !important;
  margin-left: 50px !important;
}

.mgrl55 {
  margin-right: 55px !important;
  margin-left: 55px !important;
}

.mgrl60 {
  margin-right: 60px !important;
  margin-left: 60px !important;
}

/* Margin (top) = mgt */
.mgt0 {
  margin-top: 0 !important;
}

.mgt5 {
  margin-top: 5px !important;
}

.mgt10 {
  margin-top: 10px !important;
}

.mgt15 {
  margin-top: 15px !important;
}

.mgt20 {
  margin-top: 20px !important;
}

.mgt25 {
  margin-top: 25px !important;
}

.mgt30 {
  margin-top: 30px !important;
}

.mgt35 {
  margin-top: 35px !important;
}

.mgt40 {
  margin-top: 40px !important;
}

.mgt45 {
  margin-top: 45px !important;
}

.mgt50 {
  margin-top: 50px !important;
}

.mgt55 {
  margin-top: 55px !important;
}

.mgt60 {
  margin-top: 60px !important;
}

/* Margin (right) = mgr */
.mgr0 {
  margin-right: 0 !important;
}

.mgr5 {
  margin-right: 5px !important;
}

.mgr10 {
  margin-right: 10px !important;
}

.mgr15 {
  margin-right: 15px !important;
}

.mgr20 {
  margin-right: 20px !important;
}

.mgr25 {
  margin-right: 25px !important;
}

.mgr30 {
  margin-right: 30px !important;
}

.mgr35 {
  margin-right: 35px !important;
}

.mgr40 {
  margin-right: 40px !important;
}

.mgr45 {
  margin-right: 45px !important;
}

.mgr50 {
  margin-right: 50px !important;
}

.mgr55 {
  margin-right: 55px !important;
}

.mgr60 {
  margin-right: 60px !important;
}

/* Margin (bottom) = mgb */
.mgb0 {
  margin-bottom: 0 !important;
}

.mgb5 {
  margin-bottom: 5px !important;
}

.mgb10 {
  margin-bottom: 10px !important;
}

.mgb15 {
  margin-bottom: 15px !important;
}

.mgb20 {
  margin-bottom: 20px !important;
}

.mgb25 {
  margin-bottom: 25px !important;
}

.mgb30 {
  margin-bottom: 30px !important;
}

.mgb35 {
  margin-bottom: 35px !important;
}

.mgb40 {
  margin-bottom: 40px !important;
}

.mgb45 {
  margin-bottom: 45px !important;
}

.mgb50 {
  margin-bottom: 50px !important;
}

.mgb55 {
  margin-bottom: 55px !important;
}

.mgb60 {
  margin-bottom: 60px !important;
}

.mgb80 {
  margin-bottom: 80px !important;
}

/* Margin (left) = mgl */
.mgl0 {
  margin-left: 0 !important;
}

.mgl5 {
  margin-left: 5px !important;
}

.mgl10 {
  margin-left: 10px !important;
}

.mgl15 {
  margin-left: 15px !important;
}

.mgl20 {
  margin-left: 20px !important;
}

.mgl25 {
  margin-left: 25px !important;
}

.mgl30 {
  margin-left: 30px !important;
}

.mgl35 {
  margin-left: 35px !important;
}

.mgl40 {
  margin-left: 40px !important;
}

.mgl45 {
  margin-left: 45px !important;
}

.mgl50 {
  margin-left: 50px !important;
}

.mgl55 {
  margin-left: 55px !important;
}

.mgl60 {
  margin-left: 60px !important;
}


/* ----------------
	Layout / 共通で使用するレイアウト
---------------- */
.l-container {
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}

.l-sec {
  position: relative;
}

.l-centered {
  /* width: calc(100% - 40px); */
  margin-inline: auto;
}


/* ----------------
	フッター
---------------- */
.l-footer {
  padding: 20px 0;
  font-size: 1.4rem;
}

.l-footer-inner {
  width: calc(100% - 40px);
  margin-inline: auto;
}

.l-footer-author {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: end;
  justify-content: flex-end;
  margin: 40px 0 20px;
}

/* 各種割引条件など */
.p-acc-discount+.p-acc-discount {
  margin-top: 16px;
}

.p-acc-discount-switch {
  position: relative;
  display: block;
  padding: 12px;
  padding-right: 22px;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  background-color: #003E8C;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;
}

.p-acc-discount-switch::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.p-acc-discount-switch.is-active::after {
  transform: translateY(-50%) rotate(-135deg);
}

.p-acc-discount-switch__simple::after {
  content: none;
}

.p-acc-discount-body {
  margin-top: 8px;
  padding: 18px 10px 26px;
  border: 2px solid #003E8C;
  border-radius: 10px;
}

.p-acc-discount__orange .p-acc-discount-switch {
  background-color: #EA5504;
  border-radius: 0;
}

.p-acc-discount__orange .p-acc-discount-body {
  border-color: #EA5504;
  border-radius: 0;
  margin-top: 0;
}


/* ----------------
	js制御
---------------- */
.js-acc-body {
  display: none;
}

.js-acc-body.is-active {
  display: block;
}

.js-tab {
  display: none;
}

.js-tab.is-active {
  display: block;
}


/* ----------------
	Utility / わずかなスタイル調整
---------------- */
.u-blue {
  color: #003E8C !important;
}

.u-red {
  color: #f62e00 !important;
}

.u-underline {
  text-decoration: underline !important;
}

.u-block {
  display: block !important;
}


/* ----------------
	Component / 共通で使用したいパーツ
---------------- */
.c-list li {
  font-size: clamp(12px, 3.2vw, 24px);
  line-height: 1.95;
}

.c-list li:not(:first-child) {
  margin-top: 20px;
}

.c-list__02 li:not(:first-child) {
  margin-top: 8px;
}

.c-list02 li {
  font-size: 1.3rem;
}

.c-list02 li:not(:first-child) {
  margin-top: 4px;
}

.c-note {
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
}

.c-note::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}


/* ----------------
	ボタン・リンク / 「l-」で始まるクラス名が条件
---------------- */
/* 追従ナビ */
.l-fixed-navi {
  display: none;
  position: fixed;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  width: calc(100% - 20px);
  max-width: 750px;
  pointer-events: none;
}

.l-fixed-navi a {
  display: block;
  pointer-events: auto;
}

.l-fixed-navi.is-show {
  display: block;
}

.l-fixed-navi.is-show.l-fixed-navi__2col {
  display: flex;
  justify-content: center;
  gap: 0 5px;
}

/* 各セクションごとのリンク調整 */
[class^="l-link"] {
  /* position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%); 
  width: 90%;
  height: 24%;
	background-color: rgba(255, 0, 0, 0.3); */
}

.l-sec__01 .l-link01 {
  top: 79.5%;
  left: 26.5%;
  width: 43.5%;
  height: 10%;
  /* background-color: rgba(255, 0, 0, 0.3);  */
}

.l-sec__01 .l-link02 {
  top: 79.5%;
  left: 73%;
  width: 43.5%;
  height: 10%;
}

.l-sec__01 .l-link03 {
  top: 92%;
  width: 90%;
  height: 6%;
}

/* 麺特集リンク　l-sec__02 */
.l-sec__02 [class^="l-link"] {
  position: absolute;
  /* background-color: rgba(255, 0, 0, 0.3); */
}

.l-sec__02 .l-link01 {
    top: 61.2%;
    width: 13.5%;
    height: 7.5%;
    left: 3.2%;
}
.l-sec__02 .l-link02 {
    top: 61.2%;
    width: 13.5%;
    height: 7.5%;
    left: 16.9%;
}
.l-sec__02 .l-link03 {
    top: 61.2%;
    width: 16.2%;
    height: 7.5%;
    left: 31.1%;
}
.l-sec__02 .l-link04 {
    top: 61.2%;
    width: 16.2%;
    height: 7.5%;
    left: 48.5%;
}
.l-sec__02 .l-link05 {
    top: 61.2%;
    width: 15.9%;
    height: 7.5%;
    left: 65.4%;
}
.l-sec__02 .l-link06 {
    top: 61.2%;
    width: 15.9%;
    height: 7.5%;
    left: 81.5%;
}

.l-sec__04 .l-link01 {
  top: 66%;
  width: 90%;
  height: 21%;
}

.l-sec__06 .l-link01 {
  top: 74%;
  width: 90%;
  height: 21%;
}

.l-sec__07 .l-link01 {
  top: 74%;
  width: 60%;
  height: 20%;
}

.l-sec__08 .l-link01 {
  top: 78%;
  width: 94%;
  height: 14%;
}

.l-sec__09 .l-link01 {
  top: 85%;
  width: 63%;
  height: 11%;
}

/* ----------------
	Project / そのページのみで使用する
---------------- */

/* タブ切り替え */
.p-tab__01 .p-tab-label .l-link01 {
  top: 0.7%;
  width: 40%;
  left: 73.2%;
  height: 2%;
}

.p-tab__01 .p-tab-content .l-link01 {
  top: 66.9%;
  width: 57%;
  height: 1.4%;
}

.p-tab__01 .p-tab-content .l-link02 {
  top: 76.1%;
  width: 40%;
  height: 1%;
}

.p-tab__01 .p-tab-content .l-link03 {
  top: 77.9%;
  width: 80%;
  height: 2.3%;
}

.p-tab__01 .p-tab-content .l-link04 {
  top: 95.3%;
  width: 77%;
  height: 2.4%;
}

.p-tab__01 .p-tab-content .l-link05 {
  top: 31.2%;
  width: 79%;
  height: 1.8%;
}

.p-tab__02 .p-tab-label .l-link01 {
  top: 0.7%;
  width: 40%;
  left: 27%;
  height: 2%;
}

.p-tab__02 .p-tab-content .l-link01 {
  top: 66.9%;
  width: 57%;
  height: 1.4%;
}

.p-tab__02 .p-tab-content .l-link02 {
  top: 76.1%;
  width: 40%;
  height: 1%;
}

.p-tab__02 .p-tab-content .l-link03 {
  top: 77.9%;
  width: 80%;
  height: 2.3%;
}

.p-tab__02 .p-tab-content .l-link04 {
  top: 95.3%;
  width: 77%;
  height: 2.4%;
}

.p-tab__02 .p-tab-content .l-link05 {
  top: 31.2%;
  width: 79%;
  height: 1.8%;
}

/* 機種アコーディオン */
.p-acc-model,
.p-acc-model-heading,
.p-acc-model-body {
  position: relative;
}

/* .p-acc-model-body {
  margin-top: 10px;
} */
.p-acc-model-btn {
  display: block;
}

.p-acc-model-btn img.is-active {
  display: none;
}

.p-acc-model-btn img.is-disabled {
  display: block;
}

.p-acc-model-btn.is-active img.is-active {
  display: block;
}

.p-acc-model-btn.is-active img.is-disabled {
  display: none;
}

/* 機種アコーディオン　背景色 */
.p-bg01 {
  background-color: #35c3f2;
}

/* 機種アコーディオン　リンク調整 */
.p-acc-model__01 .l-link01 {
  top: 65.7%;
  width: 60%;
  height: 1.5%;
}

.p-acc-model__01 .l-link02 {
  top: 75.2%;
  width: 40%;
  height: 1.2%;
}

.p-acc-model__01 .l-link03 {
  top: 77.3%;
  width: 80%;
  height: 2.2%;
}

.p-acc-model__01 .l-link04 {
  top: 95%;
  width: 80%;
  height: 2.4%;
}

.p-acc-model__01 .l-link05 {
  top: 14.3%;
  width: 79%;
  height: 1.9%;
}

.p-acc-model__02 .l-link01 {
  top: 65.7%;
  width: 60%;
  height: 1.6%;
}

.p-acc-model__02 .l-link02 {
  top: 75.5%;
  width: 40%;
  height: 1.2%;
}

.p-acc-model__02 .l-link03 {
  top: 77.4%;
  width: 80%;
  height: 2.2%;
}

.p-acc-model__02 .l-link04 {
  top: 95%;
  width: 80%;
  height: 2.4%;
}

.p-acc-model__02 .l-link05 {
  top: 14.5%;
  width: 79%;
  height: 1.9%;
}

.p-acc-model__03 .l-link01 {
  top: 65.5%;
  width: 60%;
  height: 1.6%;
}

.p-acc-model__03 .l-link02 {
  top: 75.2%;
  width: 40%;
  height: 1.2%;
}

.p-acc-model__03 .l-link03 {
  top: 77.2%;
  width: 80%;
  height: 2.2%;
}

.p-acc-model__03 .l-link04 {
  top: 95.3%;
  width: 80%;
  height: 2.4%;
}

.p-acc-model__03 .l-link05 {
  top: 14.3%;
  width: 79%;
  height: 1.9%;
}

.p-acc-model__04 .l-link01 {
  top: 65.2%;
  width: 60%;
  height: 1.6%;
}

.p-acc-model__04 .l-link02 {
  top: 75%;
  width: 40%;
  height: 1.2%;
}

.p-acc-model__04 .l-link03 {
  top: 77%;
  width: 80%;
  height: 2.2%;
}

.p-acc-model__04 .l-link04 {
  top: 94.3%;
  width: 80%;
  height: 2.4%;
}

.p-acc-model__04 .l-link05 {
  top: 14.3%;
  width: 79%;
  height: 1.9%;
}

.p-acc-model__05 .l-link01 {
  top: 66.2%;
  width: 60%;
  height: 1.6%;
}

.p-acc-model__05 .l-link02 {
  top: 75.5%;
  width: 40%;
  height: 1.2%;
}

.p-acc-model__05 .l-link03 {
  top: 77.6%;
  width: 80%;
  height: 2.2%;
}

.p-acc-model__05 .l-link04 {
  top: 95.3%;
  width: 80%;
  height: 2.4%;
}

.p-acc-model__05 .l-link05 {
  top: 14.3%;
  width: 79%;
  height: 1.9%;
}


/*2025.12.01_沖縄Ponta*/
/*ｽﾗｲﾀﾞｰ*/
.l-sec__01 {
  position: relative;
  overflow: hidden;
}

/* 背景画像を横幅いっぱいに */
.l-sec__01 .fv-bg {
  display: block;
  width: 100%;
  height: auto;
}

/* ▼ スライダー本体*/
.fv-banner-slider {
  position: absolute;
  left: 52%;
  bottom: 14px;
  transform: translateX(-50%);
  width: 100%;
  max-width: 645px;
}

/* バナーが見える窓 */
.fv-banner-window {
  overflow: hidden;
  top: 15px;
}

/* バナーを横並びにするトラック */
.fv-banner-track {
  display: flex;
  gap: 16px;
  transition: transform 0.4s ease;
}

.fv-banner-item {
  flex: 0 0 50px;
}

.fv-banner-img {
  display: block;
  width: 206px;
  height: 206px;
  object-fit: cover;
  border-radius: 5px;
}

/*装飾*/
.item__object img {
  position: relative;
  bottom: 12px;
  width: 80%;
  margin: 0 auto;
}

.item__object {
  position: absolute;
  z-index: 19;
  width: 375px;
}

button.fv-banner-btn.fv-banner-btn--next {
  background: #C39B00;
  padding: 1px 5px;
  color: #fff;
}

button.fv-banner-btn.fv-banner-btn--prev {
  background: #C39B00;
  padding: 1px 5px;
  color: #fff;
  margin-right: 5px;
}

button.fv-banner-btn.fv-banner-btn--play {
  background: #ffffff;
  border-radius: 50px;
  width: 30px;
  color: #C39B00;
  height: 30px;
  border: 2px solid #C39B00;
  margin-left: 5px;
}

.fv-banner-controls {
  text-align: right;
  margin-bottom: -20px;
  margin-top: 5px;
  margin-right: 30px;
}

.coupon-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.coupon-card {
  background: #ffffff;
  border: 1px solid #ecd99c;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.coupon-img {
  width: 98%;
  /* height: 105px; */
  object-fit: cover;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  margin: 2px auto 0;
  display: block;
}

.coupon-title {
  font-size: 14px;
  margin: 0;
  font-weight: unset;
}

.coupon-text {
  margin: 0;
  line-height: 1.4;
  font-weight: bold;
}

.coupon-date {
  font-size: 12px;
  margin: 6px 0 0;
  color: #555;
}

.coupon-btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  padding: 10px 12px 12px;
  text-decoration: none;
  color: #000;
  font-size: 13px;
  font-weight: 600;
}

.coupon-grid {
  padding: 0 0 20px 0;
  display: grid;
  grid-template-columns: repeat(2, 46%);
  gap: 5px;
  justify-content: center;
}

.coupon-card {
  width: 100%;
  height: 233px;
  background: #ffffff;
  border: 1px solid #ecd99c;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.coupon-content {
  padding: 3px 5px 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.coupon-text {
  font-size: 13px;
  margin: 0;
  line-height: 1.3;

}

.coupon-date {
  font-size: 10px;
  margin: 4px 0 0;
  color: #555;
}

.coupon-btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  padding: 4px 8px 6px;
  text-decoration: none;
  color: #000;
  font-size: 11px;
  font-weight: 600;
}

.coupon-btn-icon svg {
  width: 12px;
  height: 12px;
  background: #f0c000;
  border-radius: 50%;
  box-sizing: border-box;
}

/* .yellow_bg {
  background: #FFF7DA;
} */

section.l-sec__10.pink_bg {
  margin-top: 5px;
}
h2.p-ttl img {
  width: 90%;
  text-align: center;
  margin: 0 auto;
  padding: 30px 0 30px 0;
}

/* CSS */
.text-xs_9 {
  font-size: 9px;
}

.text-xs_10 {
  font-size: 10px;
}

.text-xs_11 {
  font-size: 11px;
}

.text-xs_12 {
  font-size: 12px;
}

.text-base_14 {
  font-size: 14px;
}

.text-lg_16 {
  font-size: 16px;
}

.text-xl_18 {
  font-size: 18px;
}

.text-2xl_20 {
  font-size: 20px;
}

.text-2xl_25 {
  font-size: 25px;
}

.lh-25 {
  line-height: 2.5rem;
}

.pdl15 {
  padding-right: 15px !important;
}

.pdl15 {
  padding-left: 15px !important;
}

/*フォント*/
.m-plus-1p-regular {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/*button*/
a.btn_item__pink {
  background: #F598B1;
  border-radius: 49px;
  padding: 12px 30px;
  display: block;
  text-decoration: none;
  font-weight: 700;
  color: #fff;
  text-align: center;
  width: 90%;
  margin: 0 auto;
  border: 2px solid #D76F8B;
}

/*footer*/
.l-footer-logo {
  margin-inline: auto;
}

/*コピーライト*/
.l-footer-copyright {
  display: block;
  margin: 10px 0 50px;
  font-size: 12px;
  text-align: center;
  color: #000;
}

/*注意書き・お問い合わせ*/
.pink_bg {
  background-image: url('../images/section/pink_bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 25px 0 45px 0;
}

.bgw {
  background: #fff;
}

.cp-contact {
  border: 2px solid #CCCCCC;
  border-radius: 2px;
}

p.cp-contact__title {
  background: #8D4A36;
  padding: 9px 40px 9px 40px;
  border-radius: 1px 1px 0 0;
  color: #fff;
  font-weight: 800;
}

.l-footer-logo img {
  width: 210px;
  margin: 0 auto;
}

.l-container_item {
  width: 85%;
  overflow-y: hidden;
  margin: 0 auto;
}

.fv-banner-track {
  display: flex;
  transition: transform 0.5s ease;
  will-change: transform;
}

.fv-banner-item {
  flex-shrink: 0;
}

.banner-controls {
    position: relative;
    top: 9px;
    left: 68%;
}

button.banner-controls__btn.banner-controls__btn--prev {
    width: 8%;
}
button.banner-controls__btn.banner-controls__btn--next {
    width: 8%;
}
button.banner-controls__btn.banner-controls__btn--toggle {
    width: 8%;
}

a.coupon-card {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
}
a.coupon-card.l-link {
    text-decoration: none;
    color: #000;
}
/*yellow_btn*/
.btn_item__yellow {
    background: #FFE993;
    border-radius: 49px;
    padding: 12px 30px;
    display: block;
    text-decoration: none;
    font-weight: 700;
    color: #fff;
    text-align: center;
    width: 80%;
    margin: 0 auto;
    border: 2px solid #E5B600;
    color: #5D210F;
}

@media(max-width:450px){
.fv-banner-img {
  width: 190px;
  height: auto;

}
}

@media(max-width:376px){
.fv-banner-slider {
  left: 53%;
  bottom: 25px;
  width: 100%;
}
/* 
.fv-banner-img {
    width: 175px;
    height: 175px;
} */

/* img, picture, video, canvas, svg {
    width: 100%;
} */
.banner-controls {
    top: 10px;
    left: 68%;
}

}

@media(max-width:375px){
.fv-banner-img {
  width: 183px;
  height: auto;
}
}

@media(max-width:360px){
.fv-banner-img {
  width: 178px;
  height: auto;
}
}
@media(max-width:330px){
.fv-banner-img {
  width: 150px;
  height: auto;
}
}

.l-footer-number {
    padding: 3px 10px 5px;
    font-size: 1.2rem;
    border: 1px solid #000;
}


/*あれ*/
.bl_couponArea {
  padding: 0;
  margin: -2px;
}

.bl_couponArea_inner {
  position: relative;
  width: min(100%, 420px);
  margin: 0 auto;
  overflow: hidden;
  background: #72cfe3;
}

/* 上部：タイトル＋ヤシ装飾 */
.bl_couponHead {
  position: relative;
  z-index: 2;
  height: 145px;
}

.bl_couponHead_decor {
    position: absolute;
    top: 7px;
    left: -54px;
    right: 0;
    z-index: 1;
    display: block;
    width: 500px;
    height: auto;
    margin: 0 auto;
    text-align: center;
}

.bl_couponHead_ttl {
    position: absolute;
    top: 25px;
    left: 50%;
    z-index: 2;
    display: block;
    width: 320px;
    height: auto;
    transform: translateX(-50%);
}

/* クーポン一覧 */
.bl_couponList {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 10px;
  width: calc(100% - 34px);
  margin: -10px auto 0;
}

.bl_couponCard {
  display: block;
  overflow: hidden;
  border-radius: 4px;
  text-decoration: none;
}

.bl_couponCard img {
  display: block;
  width: 100%;
  height: auto;
}

/* 下部ビーチ */
.bl_couponBeach {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: -4px;
}

.bl_couponBeach img {
  display: block;
  width: 100%;
  height: auto;
}


@media(max-width:680px){
.bl_couponHead_decor {
    top: 7px;
    left: -61px;
    width: 460px;
}
}

/* ==============================
  クーポンカード左寄り解消
============================== */

/* クーポン一覧 */
.coupon-grid {
  width: calc(100% - 34px);
  margin: 0 auto;
  padding: 0 0 20px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  justify-content: initial;
}

/* カード */
.coupon-card {
  width: 100%;
  height: 233px;
}

/* カード内画像 */
.coupon-img {
  display: block;
  width: 98%;
  height: auto;
  margin: 2px auto 0;
  object-fit: cover;
}

/* SP時の全画像指定がクーポン画像に干渉しないように戻す */
@media (max-width: 376px) {
  .coupon-grid {
    width: calc(100% - 28px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .coupon-card {
    width: 100%;
  }

  .coupon-img {
    width: 98%;
    margin: 2px auto 0;
  }
}

/*麺特集*/
.bl_noodleFeature {
  position: relative;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
  overflow: hidden;
  background-image: url("../images/section/noodle_feature_bg.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  margin-top: -2px;
  aspect-ratio: 750 / 1592;
}

/* 見た目には出さないが、意味としては残す */
.bl_noodleFeature_srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* スライダー配置 */
.bl_noodleFeature_slider {
  position: absolute;
  left: 50%;
  bottom: 2.2%;
  z-index: 2;
  width: 95%;
  transform: translateX(-50%);
}

.bl_noodleFeature_view {
  /*overflow: hidden;*/
}

.bl_noodleFeature_track {
  display: flex;
  gap: 8px;
  transition: transform 0.5s ease;
  will-change: transform;
}

.bl_noodleFeature_slide {
  flex: 0 0 calc((100% - 8px) / 2);
}

.bl_noodleFeature_couponLink {
  display: block;
  text-decoration: none;
  color: inherit;
}

.bl_noodleFeature_couponLink img {
  display: block;
  width: 100%;
  height: auto;
}

/* ボタン */
.bl_noodleFeature_controls {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 8px;
  padding-right: 6px;
}

.bl_noodleFeature_control {
  display: block;
  width: 24px;
  height: 24px;
}

.bl_noodleFeature_control img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .bl_noodleFeature {
    background-image: url("../images/section/noodle_feature_bg.png");
  }
}

@media (max-width: 375px) {
  .bl_noodleFeature_slider {
    /* bottom: 7.2%; */
    width: 95%;
  }

  .bl_noodleFeature_track {
    gap: 7px;
  }

  .bl_noodleFeature_slide {
    flex: 0 0 calc((100% - 7px) / 2);
  }

  .bl_noodleFeature_control {
    width: 22px;
    height: 22px;
  }
}

/*アコーディオン*/
/* ==============================
  クーポン一覧アコーディオン
============================== */

.bl_couponAcc {
  width: calc(100% - 28px);
  margin: 0 auto;
}

.bl_couponAcc_btn {
  display: flex;
  align-items: center;
  margin: 0 auto;
  justify-content: center;
  gap: 18px;
  width: 93%;
  padding: 6px 16px 7px;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.3;
  background: #0071bc;
  border: 2px solid #fff;
  border-radius: 3px;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.bl_couponAcc_icon {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  transition: transform 0.2s ease;
}

.bl_couponAcc.is-open .bl_couponAcc_icon {
  transform: rotate(45deg);
}

.bl_couponAcc_body {
  padding-top: 12px;
}
/*新規獲得ボタン用*/
/* .nwpop {
  display: none;
} */
a.btn-flex {
    display: flex;
    justify-content: center;
    gap: 5px;
    width: 100%;
    font-size: 12px;
    align-items: center;
    color: #000;
}

.btn_item__blue {
    background: #1F5FA8;
    border-radius: 49px;
    padding: 12px 30px;
    display: block;
    text-decoration: none;
    font-weight: 700;
    color: #fff !important;
    text-align: center;
    width: 80%;
    margin: 0 auto;
    border: 2px solid #17477D;
    color: #5D210F;
    margin-top: 0px !important;
}
img.Icon-circle_blue {
  width: 20px;
  height: 20px;
}
p.line-length {
  display: block;
  margin: 0 auto;
  text-align: center;
  font-size: 12px;
}
.t-c {
  text-align: center;
}