@charset "UTF-8";
/* ==========================================================================
   特集ページ 記事コンテンツ（No11 記事コンテンツデザイン）
   対象：/ski/special/oneday/ /ski/special/jr/ /ski/special/mycar/
   テーマ色はルート要素の修飾クラス（.ag--oneday / .ag--jr / .ag--mycar）で切り替える
   ========================================================================== */

.ag {
  --ag-accent: #e62e3d;
  --ag-sec-bg: #f7f7f7;
  --ag-wm: #f0f0f0;
  --ag-wm-on-bg: #e8e8e8;
  --ag-label-bg: #f7f7f7;
  --ag-border: #e0e0e0;
  --ag-tag-bg: #f7f7f7;
  color: #000;
  font-family:
    "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,
    sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -0.01em;
  text-align: left;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .ag {
    font-size: 15px;
    line-height: 1.8;
  }
}
.ag--jr {
  --ag-accent: #da1074;
  --ag-sec-bg: #fdf3f8;
  --ag-wm: #fbe7f0;
  --ag-wm-on-bg: #f6d5e5;
  --ag-label-bg: #fbe7f0;
  --ag-tag-bg: #f2f2f2;
}
.ag--mycar {
  --ag-accent: #00a199;
  --ag-wm: #e3f4f3;
  --ag-wm-on-bg: #d3ebe9;
}
/* リセット：既存サイトのh2/p等の装飾を打ち消す。
   各コンポーネントのクラス指定が勝つよう、:where() で詳細度を要素セレクタ相当に抑える */
:where(.ag) *,
:where(.ag) *::before,
:where(.ag) *::after {
  box-sizing: border-box;
}
:where(.ag) h2,
:where(.ag) h3,
:where(.ag) h4,
:where(.ag) p,
:where(.ag) ul,
:where(.ag) ol,
:where(.ag) li,
:where(.ag) summary {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  text-align: inherit;
}
:where(.ag) h2::before,
:where(.ag) h2::after,
:where(.ag) h3::before,
:where(.ag) h3::after,
:where(.ag) h4::before,
:where(.ag) h4::after,
:where(.ag) li::before {
  content: none;
}
:where(.ag) ul,
:where(.ag) ol {
  list-style: none;
}
:where(.ag) img {
  display: block;
  max-width: 100%;
  height: auto;
}
:where(.ag) a {
  color: inherit;
  text-decoration: none;
}
:where(.ag) p + p {
  margin-top: 12px;
}
.ag .is-pc {
  display: none;
}
@media (min-width: 768px) {
  .ag .is-pc {
    display: inline;
  }
}

/* --------------------------------------------------------------------------
   セクション
   -------------------------------------------------------------------------- */
.ag-sec {
  padding: 48px 0;
}
.ag-sec--bg {
  background-color: var(--ag-sec-bg);
  --ag-wm: var(--ag-wm-on-bg);
}
.ag-sec--stripe {
  background: repeating-linear-gradient(
    -45deg,
    #f7f7f7 0 8px,
    #f1f1f1 8px 16px
  );
  --ag-wm: var(--ag-wm-on-bg);
}
.ag-sec.ag-sec--line {
  padding-bottom: 32px;
  border-bottom: 2px solid #e0e0e0;
}
.ag-sec--line .ag-lead {
  margin-bottom: 0;
}
.ag-sec--first {
  padding-top: 56px;
}
.ag-sec--last {
  padding-bottom: 72px;
}
.ag-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
.ag-inner--narrow {
  max-width: 900px;
}
@media (min-width: 768px) {
  .ag-sec {
    padding: 64px 0;
  }
  .ag-sec--first {
    padding-top: 80px;
  }
  .ag-sec--last {
    padding-bottom: 96px;
  }
}

/* --------------------------------------------------------------------------
   見出し（英字の透かし＋日本語見出し）
   -------------------------------------------------------------------------- */
.ag-head {
  position: relative;
  padding-top: 24px;
  margin-bottom: 16px;
}
.ag-head__en {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--ag-wm);
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-size: 44px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.ag-head__title {
  position: relative;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.ag-head--center {
  text-align: center;
}
.ag-head--center + .ag-cards {
  margin-top: 24px;
}
@media (min-width: 768px) {
  .ag-head--center + .ag-cards {
    margin-top: 36px;
  }
}
.ag-head--center .ag-head__en {
  left: 50%;
  transform: translateX(-50%);
}
.ag-head--page .ag-head__title {
  font-size: 28px;
}
.ag-lead {
  margin-bottom: 24px;
}
.ag-lead--center {
  text-align: center;
}
.ag-lead--narrow {
  max-width: 744px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .ag-head {
    padding-top: 40px;
    margin-bottom: 12px;
  }
  .ag-head__en {
    font-size: 80px;
  }
  .ag-head--page {
    margin-bottom: 20px;
  }
  .ag-head--page .ag-head__title {
    font-size: 30px;
  }
  .ag-lead {
    margin-bottom: 32px;
  }
  .ag-lead--narrow-sm {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ag-head {
    padding-top: 30px;
  }
  .ag-head__en {
    font-size: 58px;
  }
}
/* 見出しのみ（英字なし） */
.ag-title {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 24px;
}
.ag-title--sub {
  font-size: 22px;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .ag-title {
    font-size: 28px;
    margin-bottom: 40px;
  }
  .ag-title--sub {
    font-size: 23px;
    margin-bottom: 20px;
  }
}

/* --------------------------------------------------------------------------
   画像＋テキストの2カラム
   -------------------------------------------------------------------------- */
.ag-media__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 12px;
}
.ag-media__img {
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .ag-media {
    display: flex;
    align-items: flex-start;
    gap: 40px;
  }
  .ag-media__img {
    flex: 0 0 300px;
    margin-bottom: 0;
  }
  .ag-media__body {
    flex: 1;
    min-width: 0;
  }
}
.ag-media + .ag-block {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .ag-media + .ag-block {
    margin-top: 40px;
  }
}

/* --------------------------------------------------------------------------
   ボタン
   -------------------------------------------------------------------------- */
.ag-btns {
  margin-top: 24px;
}
.ag-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 10px 30px;
  border: 1px solid var(--ag-accent);
  border-radius: 4px;
  background-color: var(--ag-accent);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  transition: opacity 0.2s;
}
.ag-btn:hover {
  opacity: 0.75;
}
.ag-btn--outline {
  display: flex;
  width: 100%;
  min-height: 46px;
  border-radius: 6px;
  background-color: #fff;
  color: var(--ag-accent) !important;
}
.ag-btn--pill {
  min-height: 48px;
  padding: 10px 28px;
  border-radius: 999px;
  font-size: 15px;
}
.ag-btn--pill-lg {
  min-height: 64px;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 15px;
}
@media (min-width: 768px) {
  .ag-btn--pill-lg {
    min-height: 72px;
  }
}
.ag-btn--ghost {
  border-color: #000;
  background-color: #fff;
  color: #000 !important;
}
.ag-btn--arrow::after {
  content: "";
  flex: 0 0 14px;
  width: 14px;
  height: 12px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M8 1l5 5-5 5M13 6H1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E")
    no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M8 1l5 5-5 5M13 6H1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E")
    no-repeat center / contain;
}
.ag-link {
  color: var(--ag-accent) !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   アコーディオン（details / summary）
   -------------------------------------------------------------------------- */
.ag-acc {
  margin-top: 24px;
}
.ag-acc__item {
  border: 1px solid var(--ag-border);
  border-radius: 8px;
  background-color: #fff;
}
.ag-acc__item + .ag-acc__item {
  margin-top: 10px;
}
.ag-acc__head {
  position: relative;
  display: block;
  padding: 16px 52px 16px 20px;
  cursor: pointer;
  list-style: none;
}
.ag-acc__head::-webkit-details-marker {
  display: none;
}
.ag-acc__head::before,
.ag-acc__head::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 14px;
  height: 2px;
  margin-top: -1px;
  background-color: var(--ag-accent);
  transition: transform 0.2s;
}
.ag-acc__head::after {
  transform: rotate(90deg);
}
.ag-acc__item[open] > .ag-acc__head::after {
  transform: rotate(0deg);
}
.ag-acc__title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-acc__body {
  padding: 0 20px 20px;
  font-size: 13px;
  line-height: 1.85;
}
.ag-acc__body ul {
  margin-top: 12px;
}
.ag-acc__body ul li {
  position: relative;
  padding-left: 18px;
}
.ag-acc__body ul li + li {
  margin-top: 12px;
}
.ag-acc__body ul li::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 4px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #000;
}
@media (min-width: 768px) {
  .ag-acc__head {
    padding: 16px 56px 16px 24px;
  }
  .ag-acc__head::before,
  .ag-acc__head::after {
    right: 24px;
  }
  .ag-acc__title {
    font-size: 16px;
  }
  .ag-acc__body {
    padding: 0 24px 22px;
    font-size: 14px;
  }
}

/* --------------------------------------------------------------------------
   カード（共通）
   -------------------------------------------------------------------------- */
.ag-cards {
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .ag-cards--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ag-cards--2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
.ag-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--ag-border);
  border-radius: 12px;
  background-color: #fff;
  overflow: hidden;
}
.ag-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px;
}

/* 交通手段カード（日帰り） */
.ag-way__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.ag-way__icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #f4f7f9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ag-way__icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.ag-way__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-way__text {
  font-size: 14px;
  line-height: 1.7;
}
@media (min-width: 768px) {
  .ag-way__text {
    font-size: 15px;
  }
}
.ag-way .ag-tags {
  margin: 16px 0 24px;
}
.ag-way .ag-btn {
  margin-top: auto;
}

/* タグ */
.ag-tags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.ag-tags--wrap {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.ag-tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  background-color: var(--ag-tag-bg);
  font-size: 12px;
  line-height: 1.7;
}
@media (min-width: 768px) {
  .ag-tag {
    font-size: 13px;
  }
}
.ag-tag--pill {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 13px;
}

/* POINTカード */
.ag-point__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.ag-point__num {
  color: var(--ag-accent);
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.06em;
}
.ag-point__title {
  margin: 8px 0 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}
.ag-point__text {
  font-size: 14px;
  line-height: 1.95;
}
.ag-point .ag-card__body {
  padding: 20px 24px 28px;
}

/* 囲みボックス */
.ag-box {
  padding: 28px 20px;
  border: 1px solid var(--ag-border);
  border-radius: 12px;
  background-color: #fff;
}
.ag-box__title {
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-note {
  margin-top: 20px;
  padding: 16px 20px;
  border-radius: 8px;
  background-color: #fff;
  font-size: 14px;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .ag-box {
    max-width: 860px;
    margin: 0 auto;
    padding: 32px 32px 36px;
  }
  .ag-box__title {
    font-size: 22px;
    margin-bottom: 16px;
  }
  .ag-note {
    margin-top: 24px;
  }
}

/* --------------------------------------------------------------------------
   チェックリスト・リストカード
   -------------------------------------------------------------------------- */
.ag-list-card {
  padding: 24px;
  border: 1px solid var(--ag-border);
  border-radius: 12px;
  background-color: #fff;
}
.ag-list-card__title {
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 2px solid #000 !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-list-card__note {
  margin-bottom: 12px;
  font-size: 13px;
  line-height: 1.9;
}
.ag-check li {
  position: relative;
  padding-left: 28px;
  font-size: 14px;
  line-height: 1.85;
}
.ag-check li + li {
  margin-top: 6px;
}
.ag .ag-check li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 2px;
  width: 13px;
  height: 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 10'%3E%3Cpath d='M1 5l4 4 7-8' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E")
    no-repeat center / contain;
}
.ag--mycar .ag-check li {
  font-size: 13px;
}
.ag-check strong {
  font-weight: 700;
}
.ag-check--loose li + li {
  margin-top: 10px;
}

/* 組み合わせ例（JR） */
.ag-combo {
  border-collapse: collapse;
}
.ag-combo__row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid #e8e8e8;
  font-size: 14px;
  line-height: 1.8;
}
.ag-combo__row:first-child {
  padding-top: 4px;
}
.ag-combo__label {
  flex: 0 0 auto;
  padding: 2px 20px;
  border-radius: 4px;
  background-color: #f2f2f2;
  font-size: 13px;
  font-weight: 700;
}
.ag-combo__text {
  padding-top: 2px;
}
.ag-combo + p {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.95;
}

/* 持ち物の3列（マイカー） */
.ag-items {
  display: grid;
  gap: 20px;
}
.ag-items__col {
  display: grid;
  gap: 20px;
  align-content: start;
}
@media (min-width: 768px) {
  .ag-items {
    grid-template-columns: repeat(3, 1fr);
  }
  .ag-items--2 {
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    gap: 24px;
  }
}

/* --------------------------------------------------------------------------
   プラン比較（JR）
   -------------------------------------------------------------------------- */
.ag-plans {
  display: grid;
  gap: 20px;
  margin-top: 32px;
}
@media (min-width: 768px) {
  .ag-plans {
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    max-width: 980px;
    margin: 40px auto 0;
  }
}
.ag-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px 28px 28px;
  border: 1px solid var(--ag-border);
  border-radius: 12px;
  background-color: #fff;
}
.ag-plan--rec {
  border: 2px solid var(--ag-accent);
  box-shadow: 0 6px 18px rgba(218, 16, 116, 0.12);
}
.ag-plan__badge {
  position: absolute;
  top: -15px;
  left: 26px;
  padding: 2px 16px;
  border-radius: 999px;
  background-color: var(--ag-accent);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}
.ag-plan__title {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-plan__flow li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 14px;
  line-height: 1.8;
}
.ag-plan__flow li + li {
  margin-top: 12px;
}
.ag-plan__when {
  flex: 0 0 74px;
  padding: 1px 0;
  border-radius: 4px;
  background-color: var(--ag-label-bg);
  color: var(--ag-accent);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.ag-plan__sub {
  margin: 24px 0 10px;
  font-size: 14px;
  font-weight: 700;
}
.ag-plan .ag-tags {
  gap: 8px;
}
.ag-plan .ag-btn {
  width: 100%;
  margin-top: auto;
}
.ag-plan__foot {
  margin-top: 24px;
  padding-top: 0;
  flex: 1;
  display: flex;
  align-items: flex-end;
}
.ag-after {
  margin-top: 32px;
  text-align: center;
}
@media (min-width: 768px) {
  .ag-plan {
    padding: 36px 32px 32px;
  }
  .ag-plan__foot {
    margin-top: 40px;
  }
  .ag-after {
    margin-top: 40px;
  }
}

/* --------------------------------------------------------------------------
   ツアー構成カード（JR）
   -------------------------------------------------------------------------- */
.ag-tour {
  display: block;
  padding: 24px;
  border: 1px solid var(--ag-border);
  border-radius: 12px;
  background-color: #fff;
  transition: border-color 0.2s;
}
.ag-tour:hover {
  border-color: var(--ag-accent);
}
.ag-tour__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-tour__title::after {
  content: "";
  width: 14px;
  height: 12px;
  background-color: var(--ag-accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M8 1l5 5-5 5M13 6H1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E")
    no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M8 1l5 5-5 5M13 6H1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E")
    no-repeat center / contain;
}
.ag-formula {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
.ag-formula li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ag-formula li + li::before {
  content: "＋" !important;
  color: #999;
  font-size: 14px;
}
.ag-formula span {
  padding: 4px 10px;
  border-radius: 4px;
  background-color: #f2f2f2;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
}

/* --------------------------------------------------------------------------
   3つの探し方（JR）
   -------------------------------------------------------------------------- */
.ag-find__intro {
  margin: 48px 0 32px;
  font-size: 16px;
  line-height: 2;
  text-align: center;
}
.ag-find__item {
  padding: 32px 0;
  border-top: 1px solid #000;
}
.ag-find__item:last-child {
  border-bottom: 1px solid #000;
}
.ag-find__num {
  color: var(--ag-accent);
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
}
.ag-find__label {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}
.ag-find__title {
  margin-top: 2px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
}
.ag-find__body {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .ag-find__intro {
    margin: 80px 0 40px;
  }
  .ag-find__item {
    display: flex;
    gap: 40px;
    padding: 36px 0;
  }
  .ag-find__side {
    flex: 0 0 268px;
  }
  .ag-find__body {
    flex: 1;
    margin-top: 0;
  }
}

/* --------------------------------------------------------------------------
   当日の流れ（マイカー）
   -------------------------------------------------------------------------- */
.ag-steps {
  margin-top: 32px;
}
.ag-steps__item {
  position: relative;
  padding-left: 60px;
  min-height: 48px;
}
.ag-steps__item + .ag-steps__item {
  margin-top: 32px;
}
.ag-steps__num {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--ag-accent);
  border-radius: 50%;
  color: var(--ag-accent);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}
.ag-steps__title {
  padding-top: 8px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}
.ag-steps__text {
  margin-top: 4px;
  font-size: 14px;
}
.ag-steps__note {
  font-size: 13px;
  line-height: 1.85;
}
.ag-steps .ag-steps__text + .ag-steps__note,
.ag-steps .ag-steps__note + .ag-steps__note {
  margin-top: 10px;
}
.ag-steps .ag-link {
  font-weight: 700;
}
@media (min-width: 768px) {
  .ag-steps {
    max-width: 860px;
    margin: 48px auto 0;
  }
  .ag-steps__item {
    padding-left: 66px;
  }
  .ag-steps__item + .ag-steps__item {
    margin-top: 30px;
  }
  .ag-steps__num {
    width: 48px;
    height: 48px;
    font-size: 18px;
  }
  .ag-steps__note {
    font-size: 13px;
  }
}

/* --------------------------------------------------------------------------
   SP（767px以下）の文字サイズ・余白の調整
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ag-point__num {
    font-size: 20px;
  }
  .ag-point__title {
    margin: 6px 0 10px;
    font-size: 16px;
  }
  .ag-point__text {
    font-size: 13px;
    line-height: 1.85;
  }
  .ag-point .ag-card__body {
    padding: 16px 20px 24px;
  }
  .ag-plan {
    padding: 28px 20px 24px;
  }
  .ag-plan__title {
    margin-bottom: 16px;
    font-size: 20px;
  }
  .ag-plan__flow li {
    gap: 10px;
    font-size: 13px;
  }
  .ag-plan__flow li + li {
    margin-top: 10px;
  }
  .ag-plan__when {
    flex-basis: 52px;
    font-size: 12px;
  }
  .ag-plan__sub {
    margin-top: 20px;
    font-size: 13px;
  }
  .ag-tag--pill {
    font-size: 12px;
  }
  .ag-plan__foot {
    margin-top: 24px;
  }
  .ag-after {
    font-size: 13px;
  }
  .ag-list-card {
    padding: 20px;
  }
  .ag-check li {
    font-size: 13px;
  }
  .ag-combo__row {
    gap: 12px;
    font-size: 13px;
  }
  .ag-combo__label {
    padding: 2px 12px;
    font-size: 12px;
  }
  .ag-combo + p {
    font-size: 13px;
    line-height: 1.85;
  }
  .ag-tour {
    padding: 20px;
  }
  .ag-tour__title {
    font-size: 16px;
  }
  .ag-find__intro {
    margin: 40px 0 28px;
    font-size: 14px;
    line-height: 1.9;
  }
  .ag-find__item {
    padding: 28px 0;
  }
  .ag-find__num {
    font-size: 32px;
  }
  .ag-find__label {
    margin-top: 10px;
    font-size: 13px;
  }
  .ag-find__title {
    font-size: 22px;
  }
  .ag-find__body {
    margin-top: 16px;
  }
  .ag-btn--pill {
    font-size: 14px;
  }
  .ag-acc__title {
    font-size: 14px;
  }
  .ag-steps__item {
    padding-left: 52px;
  }
  .ag-steps__item + .ag-steps__item {
    margin-top: 24px;
  }
  .ag-steps__num {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }
  .ag-steps__title {
    padding-top: 6px;
    font-size: 15px;
  }
  .ag-steps__text {
    font-size: 13px;
  }
  .ag-steps__note {
    font-size: 12px;
  }
}
