@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP:wght@100;400;700;800&display=swap');
/* PC-SPセット
---------------------------------------------------------- */
.pc {
  display: block !important;
}
.sp, .sp2 {
  display: none !important;
}
/* 決まりごと
---------------------------------------------------------- */
a img {
  transition: opacity 0.2s ease;
}
a:hover img {
  opacity: 0.7;
}
/* Swiper：インデックス
---------------------------------------------------------- */
.slideZone {
  width: 100%;
  padding: 40px 0 30px;
  overflow-x: clip;
}
.slideZone .swiper {
  position: relative;
  overflow: visible !important;
}
.slideZone .swiper-slide {
  width: 600px;
  max-width: 92vw;
}
.slideZone .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}
.homeSlider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 10;
}
.homeSlider__nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  border-right: 6px solid #e60012;
  border-bottom: 6px solid #e60012;
  transform: translate(-50%, -50%);
}
.homeSlider__nav--prev::before {
  transform: translate(-50%, -50%) rotate(135deg);
}
.homeSlider__nav--next::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.homeSlider__nav--prev {
  left: 50%;
  transform: translate(-50%, -50%) translateX(-310px);
}
.homeSlider__nav--next {
  left: 50%;
  transform: translate(-50%, -50%) translateX(310px);
}
.homeSlider__pagination {
  position: relative;
  margin-top: 18px;
  text-align: center;
}
.homeSlider__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  opacity: 1;
  background: #fff;
  border: 1px solid #666;
  margin: 0 6px !important;
}
.homeSlider__pagination .swiper-pagination-bullet-active {
  background: #333;
  border-color: #333;
}
/* ヘッダー
---------------------------------------------------------- */
header {
  padding-top: 30px;
  padding-bottom: 20px;
  border-bottom: 5px solid #666666;
  position: relative;
  background-color: #fff;
}
header h1 {
  width: 162px;
  margin-left: auto;
  margin-right: auto;
}
main {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
/* バナーエリア
---------------------------------------------------------- */
.BannerZone {
  padding-top: 15px;
  padding-bottom: 25px;
  border-top: 5px solid #666;
}
.c-bannerGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 190px));
  gap: clamp(10px, 2vw, 20px);
  justify-content: start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-bannerGrid img {
  width: 100%;
  max-width: 190px;
  height: auto;
  display: block;
}
/* パンくず
---------------------------------------------------------- */
.c-breadcrumb {
  padding: 12px 0 40px;
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
}
.c-breadcrumb__item {
  display: inline-flex;
  align-items: center;
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  content: ">";
  display: inline-block;
  margin: 0 6px;
  opacity: .6;
}
.c-breadcrumb__link {
  text-decoration: none;
}
.c-breadcrumb__link:hover {
  text-decoration: underline;
}
.c-breadcrumb__link, .c-breadcrumb__link:visited, .c-breadcrumb__link:hover, .c-breadcrumb__link:active {
  color: #333;
}
/* ショップ_見出し
---------------------------------------------------------- */
.shopTitle {
  display: flex;
  align-items: center;
  gap: 25px;
  margin: 0 0 45px;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  flex-wrap: nowrap;
}
.shopTitle::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 26px solid #e60012;
  flex: 0 0 auto;
}
.shopTitle__en {
  font-size: 38px;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  color: #e60012;
  line-height: 1;
  white-space: nowrap;
}
.shopTitle__jp {
  font-size: 25px;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  color: #005bac;
  line-height: 1;
  margin-top: 6px;
  white-space: nowrap;
}
/* 共通セクション見出し
---------------------------------------------------------- */
.tp-sectionTitle {
  display: flex;
  align-items: center;
  gap: 25px;
  margin: 0 0 45px;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  flex-wrap: nowrap;
}
.tp-sectionTitle::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 26px solid #e60012;
  flex: 0 0 auto;
}
.tp-sectionTitle__en {
  font-size: clamp(1.375rem, calc(1.011rem + 1.82vw), 2.375rem);
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  color: #e60012;
  line-height: 1;
  white-space: nowrap;
}
.tp-sectionTitle__jp {
  font-size: clamp(1rem, calc(0.795rem + 1.02vw), 1.563rem);
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  color: #005bac;
  line-height: 1;
  margin-top: 6px;
  white-space: nowrap;
}
/* セクションタイトル（h2）
---------------------------------------------------------- */
.c-sectionTitle {
  display: flex;
  align-items: center;
  gap: clamp(6px, 2.5vw, 18px);
  margin: 0 0 45px;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  flex-wrap: nowrap;
}
/* アイコン */
.c-sectionTitle__icon {
  width: clamp(30px, 4vw, 60px);
  height: clamp(30px, 4vw, 60px);
  flex: 0 0 auto;
  /* layout.css から見て common/2026/img */
  background-image: url("../img/icon_tire.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.c-sectionTitle_train .c-sectionTitle__icon {
  background-image: url("../img/icon_train.svg");
}
/* テキストグループ */
.c-sectionTitle__texts {
  display: flex;
  align-items: baseline;
  gap: 25px;
  white-space: nowrap;
  flex: 0 0 auto;
}
/* 英字 */
.c-sectionTitle__en {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-size: clamp(0.813rem, calc(0.244rem + 2.84vw), 2.375rem);
  color: #fff;
  line-height: 1;
  letter-spacing: clamp(0em, 0.25vw, 0.05em);
  flex: 0 0 auto;
  overflow: visible;
  white-space: nowrap;
}
/* 日本語 */
.c-sectionTitle__jp {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-size: clamp(0.688rem, calc(0.369rem + 1.59vw), 1.563rem);
  color: #fff;
  line-height: 1;
  flex: 0 0 auto;
  white-space: nowrap;
}
/* セクションタイトル_カラーバリエーション
---------------------------------------------------------- */
/* 赤 #d71718  */
.c-sectionTitle_red .c-sectionTitle__en, .c-sectionTitle_red .c-sectionTitle__jp {
  color: #d71718;
}
/* 青 #085da4 */
.c-sectionTitle_blue .c-sectionTitle__en, .c-sectionTitle_blue .c-sectionTitle__jp {
  color: #085da4;
}
/* INFORMATION 用 */
.c-sectionTitle_info {
  margin-bottom: clamp(18px, 3vw, 36px);
}
.c-sectionTitle_info .c-sectionTitle__en {
  color: #e60012;
}
.c-sectionTitle_info .c-sectionTitle__jp {
  color: #005bac;
}
.c-sectionTitle_info .c-sectionTitle__icon {
  background: none;
  position: relative;
}
.c-sectionTitle_info .c-sectionTitle__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-45%, -50%);
  width: 0;
  height: 0;
  border-top: clamp(14px, 2vw, 22px) solid transparent;
  border-bottom: clamp(14px, 2vw, 22px) solid transparent;
  border-left: clamp(24px, 3.2vw, 46px) solid #e60012;
}
/* 帯タイトル_セクション共通
---------------------------------------------------------- */
.c-bandTitle {
  padding: clamp(10px, 2vw, 8px) 0;
  margin: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-bandTitle .c-sectionTitle__texts {
  width: auto;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  white-space: nowrap;
}
/* 帯タイトル_カラーバリエーション
---------------------------------------------------------- */
.c-bandTitle--red {
  background-color: #f7cfd3;
}
.c-bandTitle--red .c-sectionTitle__en, .c-bandTitle--red .c-sectionTitle__jp {
  color: #e60012;
}
.c-bandTitle--blue {
  background-color: #d3e6f3;
}
.c-bandTitle--blue .c-sectionTitle__en, .c-bandTitle--blue .c-sectionTitle__jp, .c-sectionTitle_stripe_red .c-sectionTitle__jp {
  color: #005bac;
}
.c-sectionTitle_jpBlue .c-sectionTitle__jp {
  color: #0062b1;
}
.c-sectionTitle_stripe_red {
  background-image: linear-gradient(90deg, #ffe5e5 25%, transparent 25%, transparent 50%, #ffe5e5 50%, #ffe5e5 75%, transparent 75%, transparent);
  background-size: 20px 20px;
  background-color: #ffebeb;
}
/*  h2 お知らせ（黄色＋青文字）
---------------------------------------------------------- */
.title-announce {
  background: #fff200;
  border: 2px solid #000;
  padding: 12px 18px;
  margin: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.title-announce .c-sectionTitle__texts {
  width: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
}
/* 文字：青＋太字 */
.title-announce .c-sectionTitle__en {
  color: #0062b1;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  line-height: 1.2;
  white-space: normal;
  font-size: clamp(1rem, calc(0.682rem + 1.59vw), 1.875rem);
}
.title-announce .c-sectionTitle__jp {
  color: #0062b1;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
  font-size: clamp(1rem, calc(0.682rem + 1.59vw), 1.875rem);
}
.title-announce.c-sectionTitle {
  gap: 0;
}
/*  h3
---------------------------------------------------------- */
.c-heading3 {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, calc(0.864rem + 0.68vw), 1.375rem);
  line-height: 1.1;
  letter-spacing: 0.02em;
  margin: 0 0 clamp(10px, 1.6vw, 20px);
  text-align: left;
}
/* 帯付き */
.c-heading3Bar {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-size: clamp(1.125rem, calc(1.034rem + 0.45vw), 1.375rem);
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-align: left;
  margin: 0 0 20px;
  padding: 10px 20px;
  border-radius: 0;
}
/* 色バリエーション*/
.c-heading3Bar--tomica {
  background: #f7cfd3;
} /* ピンク（popup帯と同系） :contentReference[oaicite:1]{index=1} */
.c-heading3Bar--plarail {
  background: #d3e6f3;
} /* ブルー（online帯と同系） :contentReference[oaicite:2]{index=2} */
/*  h4
---------------------------------------------------------- */
.c-heading4 {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 0.5em;
  text-align: left;
}
/* 色バリエーション*/
.c-heading4-Red {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-size: 1rem;
  color: #d71718;
  margin: 0 0 0.5em;
  text-align: left;
}
.c-heading4-Blue {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-size: 1rem;
  color: #0062b1;
  margin: 0 0 0.5em;
  text-align: left;
}
/*  価格
---------------------------------------------------------- */
.c-pricebox {
  width: 35%;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #fff;
  background-color: #212121;
  margin: 0.5em 0;
  padding: 0.3em;
  text-align: center;
}
.c-pricebox__tax {
  font-size: 0.85rem;
  opacity: 0.9;
  margin-left: 0.25em;
}
/* リンク*/
.EventLink {
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-size: 1.2rem;
  padding-top: 27px;
  padding-bottom: 25px;
  text-align: center;
}
/*  インデント_マーク別
---------------------------------------------------------- */
/* メモ※ */
.Other-Memo {
  list-style: none;
  padding: 0;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
}
.Other-Memo li {
  position: relative;
  padding-left: 1.4em; /* ※ 分のスペース */
  line-height: 1.6;
}
.Other-Memo li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
/* ・ */
.Dot-Memo {
  list-style: none;
  padding: 0;
  margin: 0 0 1em;
}
.Dot-Memo li {
  position: relative;
  padding-left: 1.4em;
  line-height: 1.6;
}
.Dot-Memo li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
/* イベント※ */
.Event-Memo {
  list-style: none;
  padding: 0;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  font-size: 0.8em;
}
.Event-Memo li {
  position: relative;
  padding-left: 1.4em; /* ※ 分のスペース */
  line-height: 1.6;
}
/* 先頭マーク */
.Event-Memo li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
/* 普通のインデント */
.indent_1 {
  text-indent: -1rem;
  padding-left: 1rem;
}
/* テキストボックス
---------------------------------------------------------- */
.c-TxtZone-center {
  text-align: center;
  margin-bottom: 40px;
}
.c-TxtZone {
  text-align: left;
  margin-bottom: 40px;
}
/* c-sectionTitle modifiers（noIcon / stack）
---------------------------------------------------------- */
/* アイコン無し：余計なgapを消して、文字色を通常用にする */
.c-sectionTitle_noIcon {
  gap: 0;
}
/* noIcon のときはテキスト色を「通常（白背景でも見える）」に寄せる */
.c-sectionTitle_noIcon .c-sectionTitle__en {
  color: #e60012;
}
.c-sectionTitle_noIcon .c-sectionTitle__jp {
  color: #005bac;
}
/* 縦積み（ENの下にJP） */
.c-sectionTitle_stack .c-sectionTitle__texts {
  flex-direction: column;
  align-items: flex-start; /* 左揃え */
  gap: clamp(4px, 1vw, 8px);
  white-space: normal; /* 1行固定を解除 */
  min-width: 0;
}
/* 長い英字がはみ出さないように */
.c-sectionTitle_stack .c-sectionTitle__en, .c-sectionTitle_stack .c-sectionTitle__jp {
  white-space: normal;
}