/*
Theme Name: Tabemono
Theme URI:
Author:
Author URI:
Description: 全国水産加工たべもの展専用テーマ
Version: 1.0.0
License: GPL v2 or later
Text Domain: tabemono
*/

:root {
  /* ===== カラー ===== */
  --color-primary: #0051A0;
  --color-base: #F7F3EA;
  --color-accent: #C61B1B;

  /* ===== フォントファミリー ===== */
  --font-noto: noto-sans, sans-serif;
  --font-merriweather: merriweather, ten-mincho, Georgia, sans-serif;

  /* ===== ブレークポイント ===== */
  --breakpoint-tablet: 769px;
  --breakpoint-desktop: 992px;

  /* ===== スペーシング - Container ===== */
  --container-top-page-vertical: 40px;
  --container-page-vertical: 40px;

  /* ===== スペーシング - Section ===== */
  --section-horizontal: 20px;
  --section-vertical: 50px;
  --section-margin-lv1: 40px;
  --section-margin-lv2: 28px;
  --section-margin-lv3: 16px;

  /* ===== スペーシング - Component/Header ===== */
  --header-vertical: 8px;
  --header-horizontal: 20px;

  /* ===== スペーシング - Component/Hero ===== */
  --hero-vertical: 40px;

  /* ===== フォントサイズ - Hero ===== */
  --hero-heading2: 30px;
  --hero-heading3: 20px;
  --hero-term: 22px;

  /* ===== フォントサイズ - Body ===== */
  --body-text-normal: 14px;
  --body-text-large: 16px;
  --body-heading: 20px;

  /* ===== フォントサイズ - Body/Heading ===== */
  --body-heading-font-size: 22px;
  --body-heading-step: 26px;

  /* ===== フォントサイズ - Section Title ===== */
  --section-title-heading: 28px;
  --section-title-english: 16px;

  /* ===== フォントサイズ - Page Title ===== */
  --page-title-heading: 36px;
  --page-title-english: 16px;

  /* ===== フォントサイズ - Button ===== */
  --button-entry-text: 34px;
  --button-entry-sub: 18px;
  --button-dl-text: 18px;
  --button-text: 20px;

  /* ===== フォントサイズ - Banner ===== */
  --banner-link-text: 26px;
  --banner-link-sub: 14px;

  /* ===== フォントサイズ - Page Top ===== */
  --page-top-text: 14px;

  /* ===== フォントサイズ - Footer ===== */
  --footer-copyright: 10px;

  /* ===== フォントサイズ - SNS ===== */
  --sns-title: 20px;
  --sns-title-margin: 30px;

  /* ===== サイズ - Logo ===== */
  --logo-width-header: 150px;
  --logo-width-footer: 170px;

  /* ===== サイズ - その他 ===== */
  --sns-illustration-size: 150px;
  --sub-title-width: 0px;

  /* ===== 表示切り替え ===== */
  --pc-mv-display: none;
  --mobile-mv-display: block;
  --pc-nav-display: none;
  --mobile-nav-display: block;
  --pc-figure-display: none;
  --mobile-figure-display: block;
  --pc-bg-footer-display: none;
  --mobile-bg-footer-display: block;
}

/* ===== Tablet (769px~) ===== */
@media (min-width: 769px) {
  :root {
    /* Container */
    --container-top-page-vertical: 104px;
    --container-page-vertical: 60px;

    /* Section */
    --section-horizontal: 80px;
    --section-vertical: 60px;
    --section-margin-lv1: 50px;
    --section-margin-lv2: 30px;

    /* Component/Header */
    --header-vertical: 20px;
    --header-horizontal: 30px;

    /* Component/Hero */
    --hero-vertical: 60px;

    /* Font Size - Hero */
    --hero-heading2: 42px;
    --hero-heading3: 30px;
    --hero-term: 32px;

    /* Font Size - Body */
    --body-text-normal: 16px;
    --body-text-large: 18px;
    --body-heading: 24px;

    /* Font Size - Body/Heading */
    --body-heading-font-size: 26px;
    --body-heading-step: 30px;

    /* Font Size - Section Title */
    --section-title-heading: 32px;
    --section-title-english: 18px;

    /* Font Size - Page Title */
    --page-title-heading: 40px;
    --page-title-english: 18px;

    /* Font Size - Button */
    --button-entry-text: 42px;
    --button-entry-sub: 22px;
    --button-dl-text: 22px;
    --button-text: 22px;

    /* Font Size - Banner */
    --banner-link-text: 32px;
    --banner-link-sub: 18px;

    /* Font Size - Page Top */
    --page-top-text: 16px;

    /* Font Size - Footer */
    --footer-copyright: 13px;

    /* Font Size - SNS */
    --sns-title: 24px;
    --sns-title-margin: 40px;

    /* Logo */
    --logo-width-header: 150px;
    --logo-width-footer: 200px;

    /* その他 */
    --sns-illustration-size: 170px;
    --sub-title-width: 187px;

    /* 表示切り替え */
    --pc-mv-display: block;
    --mobile-mv-display: none;
    --pc-nav-display: none;
    --mobile-nav-display: block;
    --pc-figure-display: block;
    --mobile-figure-display: none;
    --pc-bg-footer-display: none;
    --mobile-bg-footer-display: block;
  }
}

/* ===== Desktop (992px~) ===== */
@media (min-width: 992px) {
  :root {
    /* Container */
    --container-top-page-vertical: 128px;
    --container-page-vertical: 80px;

    /* Section */
    --section-horizontal: 100px;
    --section-vertical: 80px;
    --section-margin-lv1: 60px;
    --section-margin-lv2: 40px;

    /* Component/Header */
    --header-vertical: 40px;
    --header-horizontal: 30px;

    /* Component/Hero */
    --hero-vertical: 100px;

    /* Font Size - Hero */
    --hero-heading2: 50px;
    --hero-heading3: 36px;
    --hero-term: 40px;

    /* Font Size - Body/Heading */
    --body-heading-font-size: 30px;
    --body-heading-step: 34px;

    /* Font Size - Section Title */
    --section-title-heading: 40px;
    --section-title-english: 20px;

    /* Font Size - Page Title */
    --page-title-heading: 50px;
    --page-title-english: 20px;

    /* Font Size - Button */
    --button-entry-text: 50px;
    --button-entry-sub: 26px;
    --button-dl-text: 26px;

    /* Font Size - Banner */
    --banner-link-text: 40px;
    --banner-link-sub: 20px;

    /* Font Size - SNS */
    --sns-title: 28px;
    --sns-title-margin: 50px;

    /* Logo */
    --logo-width-header: 200px;

    /* その他 */
    --sns-illustration-size: 187px;

    /* 表示切り替え */
    --pc-nav-display: block;
    --mobile-nav-display: none;
    --pc-bg-footer-display: block;
    --mobile-bg-footer-display: none;
  }
}

/* ===== リセットCSS ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

main {
  background-image: url('assets/images/nami2.svg');
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: auto 76px;
}

/* ===== ベーススタイル ===== */
body {
  font-family: var(--font-noto);
  background-color: var(--color-base);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

/* ===== ユーティリティクラス ===== */
.font-merriweather {
  font-family: var(--font-merriweather);
}

.sp-only {
  display: block;
}

@media (min-width: 769px) {
  .sp-only {
    display: none;
  }
}

/* ===== ヘッダー ===== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--header-vertical) var(--header-horizontal);
  background-color: var(--color-base);
  z-index: 100;
  height: 90px;
}

@media screen and (min-width: 769px) {
  .header {
    height: 114px;
  }
}

@media screen  and (min-width: 992px) {
  .header {
    height: 154px;
  }  
}

main {
  padding-top: 90px;
}

@media screen and (min-width: 769px) {
  main {
    padding-top: 114px;
  }
}

@media screen and (min-width: 992px) {
  main {
    padding-top: 154px;
  }  
}

.header__logo img {
  width: var(--logo-width-header);
}

.header__sns {
  display: none;
}

.header__nav {
  display: none;
}

.header__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--color-primary);
}

.header__menu-text {
  font-size: 12px;
  letter-spacing: 2.2px;
}

/* PC版ヘッダー */
@media (min-width: 992px) {
  .header {
  }

  .header__left {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  
  .header__sns {
    display: flex;
    gap: 6px;
  }
  
  .header__sns-link img {
    width: 30px;
    height: 30px;
  }
  
  .header__nav {
    display: block;
  }
  
  .header__nav-list {
    display: flex;
    gap: 8px;
  }

  .header__nav-item:hover {
    border-bottom: 2px dotted var(--color-primary);
  }
  .header__nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: inherit;
  }

  .header__nav-link-en {
    font-size: 14px;
    font-weight: bold;
    color: var(--color-primary);
    letter-spacing: 2.6px;
  }

  .header__nav-link-ja {
    font-family: "ten-mincho";
    font-size: 18px;
    letter-spacing: 3.6px;
  }

  .header__menu {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .header__left {
    gap: 60px;
  }

  .header__sns {
    gap: 12px;
  }

  .header__nav-list {
    gap: 40px;
  }
}

/* ===== ナビゲーション ===== */
.nav {
  padding: 80px 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--color-primary);
  z-index: 1000;
  display: none;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  overflow-y: auto;

  background-image: url('assets/images/nami-white.svg');
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: auto 80px;
}



.nav.is-open {
  display: flex;
}

.nav__close {
  position: fixed;
  top: 28px;
  right: 28px;
  width: 30px;
  height: 30px;
  z-index: 1001;
}

.nav__close img {
  width: 100%;
  height: 100%;
}

.nav__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
  text-align: center;
  margin-top: auto;
  margin-bottom: 32px;
}

@media screen and (min-height: 750px) {
  .nav__list {
    margin-bottom: 50px;
  }
}

.nav__link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: white;
}

.nav__link-en {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2.6px;
}

.nav__link-ja {
  font-family: "Ten Mincho";
  font-size: 18px;
  letter-spacing: 3.6px;
}

.nav__sns {
  display: flex;
  gap: 26px;
  margin-bottom: 32px;
}

@media screen and (min-height: 750px) {
  .nav__sns {
    margin-bottom: 50px;
  }
}

.nav__sns-link img {
  width: 32px;
  height: 32px;
}

.nav__decoration {
  margin-bottom: auto;
}

.nav__fish {
  margin: 0 0 0 50px;
}

.nav__wave {
  width: 100%;
}

.container {
  padding: 0 0 130px;
  margin: 0 auto;
  max-width: 1040px;
}

/* ===== MV ===== */
.hero {
  padding: var(--container-top-page-vertical) 32px 133px;
  background-image: url('assets/images/nami.svg');
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: auto 133px;
}

.hero__container {
  max-width: 1080px;
  margin: 0 auto;
}

.hero__wrapper {
  display: grid;
  grid-template-columns: 1fr;
}

@media  screen and (min-width: 769px) {
  .hero__wrapper {
    margin-bottom: var(--hero-vertical);
  }
  
}

.hero__title-wrapper {
  margin: 0 auto;
  width: fit-content;
}

.hero__header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 26px;
}

.hero__badge  {
  width: 50px;
  height: 64px;
  flex-shrink: 0;
}

@media screen and (min-width: 769px) {
  .hero__badge  {
    width: 82px;
    height: 106px;
  }  
}

.hero__subtitle {
  font-family: "ten-mincho";
  font-size: 12px;
  letter-spacing: 2.85px;
}

@media screen and (min-width: 769px) {
  .hero__subtitle {
    font-size: 18px;
  }  
}

.hero__number {
  font-family: "ten-mincho";
  font-size: 30px;
}

@media screen and (min-width: 769px) {
  .hero__number {
    font-size: 64px;
  } 
}

.hero__title {
  width: 100%;
  margin-bottom: var(--hero-vertical);
  align-self: center;
}

@media screen and (min-width: 769px) {
  .hero__title {
    margin-bottom: 0;
  } 
  
}

.hero__collection {
  margin: 0 auto 20px;
  width: 200px;
}

.hero__subtitle {
  text-align: center;
}

.hero__subtitle-en {
  font-size: 14px;
  color: var(--color-primary);
  margin-bottom: 8px;
  font-weight: bold;
  letter-spacing: 2.6px;
  line-height: 1.75;
}

@media screen and (min-width: 769px) {
  .hero__subtitle-en {
    font-size: 22px;
    margin-bottom: 20px;
  } 
}

.hero__subtitle-en2 {
  font-size: 10px;
  font-weight: bold;
  color: var(--color-primary);
  letter-spacing: 1.6px;
  line-height: 1.75;
  margin-bottom: var(--hero-vertical);
}

@media screen and (min-width: 769px) {
  .hero__subtitle-en2 {
    font-size: 16px;
    margin-bottom: 0px;
  }   
}

.hero__entry {
  margin-bottom: var(--hero-vertical);
  font-family:  "ten-mincho";
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (min-width: 769px) {
  .hero__entry {
    align-items: flex-start;
  } 
}

.hero__entry-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: var(--hero-heading2);
  font-weight: 400;
  margin-bottom: 24px;
  letter-spacing: 6px;
}

.hero__entry-deadline {
  font-size: var(--hero-heading3);
  letter-spacing: 4px;
  margin-bottom: 16px;
}

.hero__entry-date {
  font-size: var(--hero-term);
  letter-spacing: 4.4px;
  margin-bottom: 52px;
  text-align: center;
}

.hero__fish {
  margin: 0 0 20px 0;
  padding-top: var(--hero-vertical);
  text-align: right;
}

.hero__entry-label {
  font-size: var(--button-entry-sub);
  font-family: "ten-mincho";
  letter-spacing: 3.6px;
}

.hero__link {
  display: flex;
  font-size: var(--button-entry-text);
  gap: 20px;
  font-family: "ten-mincho";
  align-items: center;
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  width: fit-content;
  letter-spacing: 6.8px;
}

.hero__link:hover {
  opacity: 0.7;
}

.hero__link-icon {
  width: 35px;
  height: 7px;
}

/* Hero Grid Layout - Tablet/PC */
@media (min-width: 769px) {
  .hero__wrapper {
    grid-template-columns: 2fr 187px;
    grid-template-rows: 120px 120px auto;
    column-gap: 40px;
    align-items: center;
  }

  .hero__title-wrapper {
    grid-column: 1;
    grid-row: 1 / 4;
    margin: 0;
    width: 100%;
  }

  .hero__subtitle {
    grid-column: 2;
    grid-row: 1 / 3;
    text-align: left;
  }

  .hero__collection {
    grid-column: 2;
    grid-row: 3;
    margin: 0 auto;
  }
}

/* ===== バナー ===== */
.banner {
  margin-top: var(--container-top-page-vertical);
}

.banner__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--section-margin-lv2);
  color: inherit;
}

.banner__wrapper:hover {
  opacity: 0.7;
}

@media screen and (min-width: 769px) {
  .banner__wrapper {
    flex-direction: row;
  }
}

.banner__image {
  width: max(180px, 24%);
  flex-shrink: 0;
}

@media screen and (min-width: 769px) {
  .banner__image {
    width: 180px;
  }
} 

.banner__label {
  font-size: var(--banner-link-sub);
  font-weight: bold;
  letter-spacing: 2.8px;
  margin-bottom: 8px;
  color: var(--color-primary);
}

.banner__link {
  display: inline-flex;
  font-size: var(--banner-link-text);
  align-items: center;
  gap: 8px;
  font-family: "ten-mincho";
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  width: fit-content;
}

.banner__link-icon {
  width: 45px;
  height: 9px;
}

/* ===== Overview ===== */
.overview {
  padding: 0 20px;
  margin-top: var(--container-top-page-vertical);
}

.overview__paper {
  background-color: white;
  padding: var(--section-vertical) var(--section-horizontal);
}

.overview__title-en {
  font-size: var(--section-title-english);
  font-weight: bold;
  letter-spacing: 3.2px;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.overview__title-ja {
  font-family: "ten-mincho";
  font-size: var(--section-title-heading);
  letter-spacing: 5.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: var(--section-margin-lv1);
}

.overview__heading {
  font-size: var(--body-heading-font-size);
  text-align: center;
  font-family: "ten-mincho";
  letter-spacing: 2.2px;
  margin-bottom: var(--section-margin-lv2);
}

.overview__text {
  font-size: var(--body-text-normal);
  letter-spacing: 1.4px;
  line-height: 2;
  margin-bottom: var(--section-margin-lv1);
}

.overview__text:nth-of-type(2) {
  margin-bottom: var(--section-margin-lv2);
}

.overview__figure {
  margin-bottom: var(--section-margin-lv2);
}

.overview__figure img {
  width: 100%;
  height: auto;
}

.overview__note {
  font-size: var(--body-text-normal);
  line-height: 2;
  letter-spacing: 1.4px;
  margin-bottom: var(--section-margin-lv1);
}

.overview__note-highlight {
  color: var(--color-accent);
}

.overview__note-highlight2 {
  color: var(--color-accent);
  font-weight: bold;
}

.overview__link {
  font-family: "ten-mincho";
  letter-spacing: 2px;
  display: flex;
  font-size: var(--button-text);
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  padding-bottom: 8px;
  width: fit-content;
  margin: 0 auto;
  gap: 4px;
  align-items: center;
}

.overview__link:hover {
  opacity: 0.7;
}

.overview__link-icon {
  width: 35px;
  height: 7px;
}

/* ===== Guidelines ===== */
.guidelines {
  padding: 0 20px;
  margin-top: var(--container-top-page-vertical); 
}

.guidelines__paper {
  background-color: #fff;
  padding: var(--section-vertical) var(--section-horizontal);
}

.guidelines__title-en {
  font-size: var(--section-title-english);
  font-weight: bold;
  letter-spacing: 3.2px;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.guidelines__title-ja {
  font-family: "ten-mincho";
  font-size: var(--section-title-heading);
  letter-spacing: 5.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: var(--section-margin-lv1);
}

.guidelines__heading {
  font-size: var(--body-heading);
  text-align: left;
  font-family: "ten-mincho";
  letter-spacing: 4px;
  margin-bottom: var(--section-margin-lv3);
}

.guidelines__text {
  font-size: var(--body-text-normal);
  line-height: 2;
  letter-spacing: 1.4px;
  margin-bottom: var(--section-margin-lv1);
}

.guidelines__list {
  margin-bottom: var(--section-margin-lv1);
}

.guidelines__list-item {
  font-size: var(--body-text-normal);
  line-height: 2;
  letter-spacing: 1.4px;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.guidelines__list-item::before {
  font-weight: bold;
  content: "・";
  margin-right: 0.5em;
}

.guidelines__highlight {
  color: var(--color-accent);
  font-weight: bold;
}

.guidelines__link {
  font-family: "ten-mincho";
  letter-spacing: 2px;
  display: flex;
  font-size: var(--button-text);
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  padding-bottom: 8px;
  width: fit-content;
  margin: 0 auto;
  gap: 4px;
  align-items: center;
}

.guidelines__link:hover {
  opacity: 0.7;
}

.guidelines__link-icon {
  width: 35px;
  height: 7px;
}

/* ===== SNS ===== */
.sns {
  padding: 0 20px;
  text-align: center;
  margin-top: var(--container-top-page-vertical);
}

.sns__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sns-title-margin);
  margin-bottom: var(--section-margin-lv1);
}

.sns__text {
  font-size: var(--sns-title);
  color: var(--color-primary);
  font-family: "ten-mincho";
  letter-spacing: 4px;
}


/* ===== ENTRY ===== */
.entry {
  padding: 0 20px;
  margin-top: var(--container-top-page-vertical);
}

.entry__paper {
  background-color: #fff;
  padding: var(--section-vertical) var(--section-horizontal);
}

.entry__title-en {
  font-size: var(--section-title-english);
  font-weight: bold;
  letter-spacing: 3.2px;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.entry__title-ja {
  font-family: "ten-mincho";
  font-size: var(--section-title-heading);
  letter-spacing: 5.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: var(--section-margin-lv1);
}

.entry__step {
  margin-bottom: var(--section-margin-lv1);
}

.entry__step:last-child {
  margin-bottom: 0;
}

.entry__step-title-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: var(--section-margin-lv2);
}

.entry__step-title {
  text-align: center;
  font-size: var(--body-heading-step);
  color: var(--color-primary);
  letter-spacing: 5.2px;
}

.entry__step-subtitle {
  font-family: "ten-mincho";
  font-size: var(--body-heading-font-size);
  letter-spacing: 2.2px;
}

.entry__step-text {
  font-size: var(--body-text-normal);
  line-height: 2;
  letter-spacing: 1.4px;
  margin-bottom: var(--section-margin-lv2);
}

.entry__button {
  display: block;
  text-align: center;
  background-color: var(--color-primary);
  color: white;
  padding: 16px;
  font-size: var(--button-dl-text);
  margin: 0 auto;
  font-family: "ten-mincho";
  letter-spacing: 1.8px;
  max-width: 510px;
}

.entry__button-sub {
  display: block;
  font-size: 12px;
  font-weight: normal;
}

.entry__deadline-label {
  font-size: var(--body-text-large);
  font-weight: bold;
  line-height: 2;
  letter-spacing: 1.6px;
}

.entry__deadline {
  font-size: var(--body-text-large);
  line-height: 2;
  letter-spacing: 1.6px;
  margin-bottom: var(--section-margin-lv2);
}

.entry__highlight {
  color: var(--color-accent);
  font-weight: bold;
}

.entry__department {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: var(--section-margin-lv3);
}

.entry__department-icon {
  width: 24px;
}

.entry__department-title {
  font-size: var(--body-heading);
  font-family: "ten-mincho";
  letter-spacing: 2px;
}

.entry__department-info {
  font-size: var(--body-text-large);
  margin-bottom: 32px;
  line-height: 2;
  letter-spacing: 1.6px;
  word-break: break-all;
}

.entry__department-info a {
  font-size: var(--body-text-large);
  color: var(--color-primary);
  text-decoration: underline;
  line-height: 2;
  letter-spacing: 1.6px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.entry__list {
  margin-bottom: var(--section-margin-lv2);
}

.entry__list-item {
  font-size: var(--body-text-normal);
  line-height: 2;
  letter-spacing: 1.4px;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.entry__list-item::before {
  font-weight: bold;
  content: "・";
  margin-right: 0.5em;
}

.entry__note {
  font-size: var(--body-text-normal);
  line-height: 2;
  letter-spacing: 1.4px;
}

/* ===== Page Top ===== */

.pagetop {
  text-align: right;
  margin-top: var(--container-top-page-vertical);
}

.pagetop__link {
  display: inline-flex;
  gap: 8px;
  padding: 10px 15px;
  align-items: center;
}

.pagetop__link:hover {
  opacity: 0.7;
}

.pagetop__icon {
  display: block;
  width: 24px;
  height: 20px;
  background-image: url('assets/images/kan.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

.pagetop__link:hover .pagetop__icon {
  width: 30px;
  height: 26px;
  background-image: url('assets/images/open-kan.svg');
}

.pagetop__text {
  font-size: var(--page-top-text);
  color: var(--color-primary);
  font-family: "ten-mincho";
  letter-spacing: 1.4px;
  border-bottom: 2px dotted var(--color-primary);
  padding-bottom: 8px;
}

/* ===== Footer ===== */
.footer {
}

.footer__content {
  padding: 30px 20px;
  background-color: var(--color-primary);
  position: relative;
  text-align: center;
}

.footer__logo {
  width: var(--logo-width-footer);
  margin: 0 auto 10px;
}

.footer__logo img {
  width: 100%;
  height: auto;
}

.footer__sns {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}

.footer__sns-link img {
  width: 30px;
  height: 30px;
  
}
.footer__copyright {
  font-size: var(--footer-copyright);
  color: #FFF;
  font-family: "ten-mincho";
}

/* ===== About Page ===== */
.about {
  padding: 0 20px;
}

.about__title-wrapper {
  margin: var(--container-page-vertical) 0;
}

.about__title-en {
  font-size: var(--page-title-english);
  font-weight: bold;
  letter-spacing: 3.2px;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.about__title-ja {
  font-family: "ten-mincho";
  font-size: var(--page-title-heading);
  letter-spacing: 7.2px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
}

.about__title-ja2 {
  font-family: "ten-mincho";
  font-size: var(--section-title-heading);
  letter-spacing: 5.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: var(--section-margin-lv1);
}

.about__paper {
  background-color: #fff;
  padding: var(--section-vertical) var(--section-horizontal);
}

.about__text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 1.6px;
  margin-bottom: var(--section-margin-lv1);
}

.about__text:nth-of-type(3) {
  margin-bottom: 0;
}

.about__images {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--section-margin-lv2);
  margin-bottom: var(--section-margin-lv1);
}

@media screen and (min-width: 769px) {
  .about__images {
    flex-direction: row;
  } 
}

.about__entry-wrapper {
  width: fit-content ;
  margin: var(--container-page-vertical) auto calc(var(--container-page-vertical) * 2);
}

.about__entry-label {
  font-size: var(--button-entry-sub);
  font-family: "ten-mincho";
  letter-spacing: 3.6px;
}

.about__link {
  display: flex;
  font-size: var(--button-entry-text);
  gap: 20px;
  font-family: "ten-mincho";
  align-items: center;
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  width: fit-content;
  letter-spacing: 6.8px;
}

.about__link:hover {
  opacity: 0.7;
}

.about__paper + .about__paper {
  margin-top: var(--section-margin-lv1);
}

.about__subtitle {
  font-family: "ten-mincho";
  font-size: var(--body-heading-font-size);
  text-align: center;
  margin-bottom: var(--section-margin-lv1);
}

.about__description {
  font-size: var(--body-text-large);
  line-height: 2;
  margin-top: var(--section-margin-lv1);
  margin-bottom: var(--section-margin-lv1);
}

.about__awards {
  display: grid;
  width: fit-content;
  grid-template-columns: 1fr 1fr ;
  column-gap: 24px;
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .about__awards {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 60px;
    margin: unset ;
  }
  
}

.awards__item a{
  color: var(--color-primary);
  padding-bottom: 2px;
  border-bottom: 1px solid var(--color-primary);
  font-weight: 600;
  line-height: 2;
}

@media screen and (min-width: 769px) {
}

.awards__year {
}

/* ===== Gallerry Page ===== */
.gallery {
  padding: 0 20px;
}

.gallery__title-wrapper {
  margin: var(--container-page-vertical) 0;
}

.gallery__title-en {
  font-size: var(--page-title-english);
  font-weight: bold;
  letter-spacing: 3.2px;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.gallery__title-ja {
  font-family: "ten-mincho";
  font-size: var(--page-title-heading);
  letter-spacing: 7.2px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
}

.gallery__content {
  margin-bottom: var(--section-margin-lv1);
}

/* WordPressギャラリーブロックのスタイル */
body .foogallery {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--section-margin-lv2) !important;
}

@media screen and (min-width: 769px) {
  body .foogallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 992px) {
  body .foogallery {
    grid-template-columns: repeat(3, 1fr);
  }
}

.foogallery .fg-image {
  width: 100% !important;
}

.gallery__entry-wrapper {
  width: fit-content ;
  margin: var(--container-page-vertical) auto calc(var(--container-page-vertical) * 2);
}

.gallery__entry-label {
  font-size: var(--button-entry-sub);
  font-family: "ten-mincho";
  letter-spacing: 3.6px;
}

.gallery__link {
  display: flex;
  font-size: var(--button-entry-text);
  gap: 20px;
  font-family: "ten-mincho";
  align-items: center;
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  width: fit-content;
  letter-spacing: 6.8px;
}

.gallery__link:hover {
  opacity: 0.7;
}


/* ===== Award Page ===== */
.awards {
  padding: 0 20px;
}

.awards__title-wrapper {
  margin: var(--container-page-vertical) 0;
}

.awards__title-en {
  font-size: var(--page-title-english);
  font-weight: bold;
  letter-spacing: 3.2px;
  text-align: center;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.awards__title-ja {
  font-family: "ten-mincho";
  font-size: var(--page-title-heading);
  letter-spacing: 7.2px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
}

.awards__title-ja2 {
  font-family: "ten-mincho";
  font-size: var(--section-title-heading);
  letter-spacing: 5.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: var(--section-margin-lv1);
}

.awards__paper {
  background-color: #fff;
  padding: var(--section-vertical) var(--section-horizontal);
}

.awards__text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 1.6px;
  margin-bottom: var(--section-margin-lv1);
}

.awards__text:nth-of-type(3) {
  margin-bottom: 0;
}

.awards__images {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--section-margin-lv2);
  margin-bottom: var(--section-margin-lv1);
}

@media screen and (min-width: 769px) {
  .awards__images {
    flex-direction: row;
  } 
}

.awards__entry-wrapper {
  width: fit-content ;
  margin: var(--container-page-vertical) auto calc(var(--container-page-vertical) * 2);
}

.awards__entry-label {
  font-size: var(--button-entry-sub);
  font-family: "ten-mincho";
  letter-spacing: 3.6px;
}

.awards__link {
  display: flex;
  font-size: var(--button-entry-text);
  gap: 20px;
  font-family: "ten-mincho";
  align-items: center;
  color: var(--color-primary);
  border-bottom: 2px dotted var(--color-primary);
  width: fit-content;
  letter-spacing: 6.8px;
}

.awards__link:hover {
  opacity: 0.7;
}

.awards__paper + .awards__paper {
  margin-top: var(--section-margin-lv1);
}

.awards__subtitle {
  font-family: "ten-mincho";
  font-size: var(--body-heading-font-size);
  text-align: center;
  margin-bottom: var(--section-margin-lv1);
}

.awards__description {
  font-size: var(--body-text-large);
  line-height: 2;
  margin-bottom: var(--section-margin-lv1);
}