@charset "UTF-8";
:root {
  --colorPrimary: #8ea459;
  --colorPrimaryDark: #6d8042;
  --colorPrimaryLight: #a8b87a;
  --colorSecondary: #5a7a3d;
  --colorSecondaryDark: #456230;
  --colorAccent: #d4a259;
  --colorHamburger: #fef4f4;
  --colorHamburgerOpen: #f5b1aa;
  --colorHamburgerHayabusa: #5b7e91;
  --colorText: #333333;
  --colorTextLight: #555555;
  --colorTextMuted: #888888;
  --colorBg: #ffffff;
  --colorBgSub: #f8f9f5;
  --colorBgDark: #2c3e2d;
  --colorBgHeader: #90a558;
  --colorBgHeaderHayabusa: #fef4f4;
  --colorBgHeaderBorder: #fef4f4;
  --colorBorder: #e0e0e0;
  --colorBorderLight: #f0f0f0;
}

:root {
  --fontFamily: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --fontFamilySerif: "Noto Serif JP", Georgia, "Times New Roman", serif;
  --fontFamilyEn: "Inter", "Helvetica Neue", Arial, sans-serif;
  --fontSizeBase: 1.6rem;
  --fontSizeSm: 1.4rem;
  --fontSizeXs: 1.2rem;
  --fontSizeLg: 1.8rem;
  --fontSizeXl: 2.4rem;
  --fontSize2xl: 3.2rem;
  --fontSize3xl: 4rem;
  --lineHeightNormal: 1.8;
  --lineHeightTight: 1.4;
  --lineHeightLoose: 2;
  --letterSpacing: 0.05em;
  --letterSpacingWide: 0.1em;
}

:root {
  --spacingXs: 8px;
  --spacingSm: 16px;
  --spacingMd: 24px;
  --spacingLg: 40px;
  --spacingXl: 60px;
  --spacing2xl: 80px;
  --spacing3xl: 120px;
}

:root {
  --zPageTransition: 999;
  --zHamburger: 998;
  --zSpMenu: 900;
  --zLoading: 800;
  --zModal: 700;
  --zHeader: 500;
  --zOverlay: 400;
  --zContent: 100;
  --zFooter: 50;
  --zHero: 1;
}

:root {
  --transitionFast: 0.15s ease;
  --transitionNormal: 0.3s ease;
  --transitionSlow: 0.5s ease;
}

:root {
  --shadowSm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadowMd: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadowLg: 0 8px 24px rgba(0, 0, 0, 0.12);
}

:root {
  --radiusSm: 4px;
  --radiusMd: 8px;
  --radiusLg: 16px;
  --radiusRound: 50%;
}

.pageTokusho {
  background: #fff;
}

.pageTokusho__header {
  text-align: center;
  padding: var(--spacing2xl) 20px var(--spacingXl);
  background: linear-gradient(135deg, #f8f9f5 0%, #eef2e6 100%);
  position: relative;
}
@media (min-width: 768px) {
  .pageTokusho__header {
    padding: var(--spacing3xl) 30px var(--spacing2xl);
  }
}
.pageTokusho__header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, transparent 45%, rgba(142, 164, 89, 0.03) 45%, rgba(142, 164, 89, 0.03) 55%, transparent 55%);
  background-size: 60px 60px;
  pointer-events: none;
}

.pageTokusho__title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--colorText);
  position: relative;
}
@media (min-width: 768px) {
  .pageTokusho__title {
    font-size: 42px;
  }
}

.pageTokusho__subtitle {
  font-size: 13px;
  font-weight: 400;
  color: var(--colorTextMuted);
  letter-spacing: 0.1em;
  position: relative;
}
@media (min-width: 768px) {
  .pageTokusho__subtitle {
    font-size: 15px;
  }
}

.pageTokusho__container {
  max-width: 800px;
  margin: 0 auto;
  padding: var(--spacingXl) 20px;
}
@media (min-width: 768px) {
  .pageTokusho__container {
    padding: var(--spacing2xl) 30px;
  }
}

.pageTokusho__section {
  padding: var(--spacingLg) 0;
  border-bottom: 1px solid var(--colorBorderLight);
}
.pageTokusho__section:first-child {
  padding-top: 0;
}
.pageTokusho__section:last-child {
  border-bottom: none;
}
.pageTokusho__section--alert {
  background: #fff9f0;
  border: 2px solid #ffd700;
  border-radius: var(--radiusMd);
  padding: var(--spacingLg);
  margin-top: var(--spacingXl);
}
@media (min-width: 768px) {
  .pageTokusho__section--alert {
    padding: var(--spacingXl);
  }
}

.pageTokusho__sectionTitle {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: var(--spacingMd);
  color: var(--colorPrimary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (min-width: 768px) {
  .pageTokusho__sectionTitle {
    font-size: 20px;
  }
}
.pageTokusho__section--alert .pageTokusho__sectionTitle {
  color: #d97706;
}

.pageTokusho__alertIcon {
  width: 24px;
  height: 24px;
  color: #d97706;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.pageTokusho__content {
  font-size: var(--fontSizeBase);
  line-height: var(--lineHeightLoose);
  color: var(--colorText);
}
.pageTokusho__content p {
  margin-bottom: 12px;
}
.pageTokusho__content p:last-child {
  margin-bottom: 0;
}

.pageTokusho__subTitle {
  font-size: 16px;
  font-weight: 600;
  margin-top: var(--spacingMd);
  margin-bottom: 12px;
  color: var(--colorTextLight);
}
.pageTokusho__subTitle:first-child {
  margin-top: 0;
}

.pageTokusho__note {
  font-size: var(--fontSizeSm);
  color: var(--colorTextMuted);
  padding: 8px 12px;
  background: #f8f9fa;
  border-left: 3px solid var(--colorPrimary);
  border-radius: var(--radiusSm);
  margin-top: 8px;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .pageTokusho__note {
    padding: 10px 16px;
  }
}

.pageTokusho__example {
  font-size: var(--fontSizeSm);
  color: var(--colorTextLight);
  padding: 12px 16px;
  background: #f0f9ff;
  border-left: 3px solid #3b82f6;
  border-radius: var(--radiusSm);
  margin-top: 8px;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .pageTokusho__example {
    padding: 14px 20px;
  }
}

.pageTokusho__list {
  list-style: none;
  padding: 0;
}
.pageTokusho__list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  line-height: var(--lineHeightLoose);
}
.pageTokusho__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--colorPrimary);
  font-weight: 700;
}
.pageTokusho__list li:last-child {
  margin-bottom: 0;
}

.pageTokusho__alertText {
  font-size: var(--fontSizeBase);
  line-height: var(--lineHeightLoose);
  color: #92400e;
}
.pageTokusho__alertText strong {
  color: #d97706;
  font-weight: 700;
}

.pageTokusho__back {
  padding: var(--spacingXl) 20px;
  background: var(--colorBgSub);
}
@media (min-width: 768px) {
  .pageTokusho__back {
    padding: var(--spacing2xl) 30px;
  }
}

.js-scrollFadeIn {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.js-scrollFadeIn.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}