@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

iframe {
  display: block;
  max-width: 100%;
  height: auto;
}

address,
em {
  font-style: normal;
}

button {
  padding: 0;
  color: inherit;
}

@font-face {
  font-family: "Noto Sans JP VF";
  src: url("/econo/wp-content/themes/yamaguchi-economy/fonts/NotoSansJP-VF.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Marcellus";
  src: url("/econo/wp-content/themes/yamaguchi-economy/fonts/Marcellus-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ZenOldMincho";
  src: url("/econo/wp-content/themes/yamaguchi-economy/fonts/ZenOldMincho-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ZenOldMincho";
  src: url("/econo/wp-content/themes/yamaguchi-economy/fonts/ZenOldMincho-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ZenOldMincho";
  src: url("/econo/wp-content/themes/yamaguchi-economy/fonts/ZenOldMincho-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ZenOldMincho";
  src: url("/econo/wp-content/themes/yamaguchi-economy/fonts/ZenOldMincho-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3651877133vw;
  }
}
@media (min-width: 1172px) {
  html {
    font-size: 16px;
  }
}

:root {
  --wp-admin-bar-height: 0px;
  --base-font-family: "Noto Sans JP VF", sans-serif;
  --font-marcellus: "Marcellus", "ZenOldMincho", serif;
  --font-zen-old-mincho: "ZenOldMincho", serif;
  --color-black: #111;
  --color-white: #fff;
  --color-white09: rgba(255, 255, 255, 0.9);
  --color-deep-green: #004832;
  --color-yellow-green: #9dd100;
  --color-light-green: #f2f6f5;
  --color-border-green: #adc9c0;
  --color-orange: #cd841e;
  --color-purple: #2c1563;
  --color-light-blue: #0d7cac;
  --bg-orange: #fde9d6;
  --bg-purple: #e2deea;
  --bg-light-blue: #e2f3fa;
  --color-brown: #631516;
  --orange-gray: #f6f4f2;
  --gray-lightblue: #f4fdff;
  --border-gray: #e4e4e4;
  --gradient-green-yellow: linear-gradient(#00ae79, #b9c880);
  --header-height: 4.375rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --header-height: 5.625rem;
  }
}

:root:has(.admin-bar) {
  --wp-admin-bar-height: 32px;
}

@media (max-width: 782px) {
  :root:has(.admin-bar) {
    --wp-admin-bar-height: 46px;
  }
}
/* 小さい画面では #wpadminbar を固定 */
@media (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + var(--wp-admin-bar-height)) !important;
  -webkit-text-size-adjust: 100%;
}

body {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--wp-admin-bar-height)) !important;
  min-height: calc(100dvh - var(--wp-admin-bar-height)) !important;
  text-rendering: optimizeSpeed;
  color: var(--color-black);
  font-family: var(--base-font-family);
  line-height: 1.5;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}

main {
  flex: 1;
}

iframe[src*="youtube.com"] {
  aspect-ratio: 16/9;
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

:where(a) {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease-in-out;
}

:where(a:not([class]):not([href^="tel:"]):not(.p-breadcrumb a)) {
  color: var(--text-color, --color-deep-green);
  text-decoration: underline;
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}
/* :focus-visible */
a:focus-visible {
  opacity: 0.7;
}

.eiji16 {
  font-family: var(--font-marcellus);
  font-weight: 400;
  font-size: max(1rem, 10px);
  line-height: 1;
  letter-spacing: 0.05em;
}

.eiji20 {
  font-family: var(--font-marcellus);
  font-weight: 400;
  font-size: max(1.25rem, 10px);
  line-height: 1;
  letter-spacing: 0.05em;
}

.number-news {
  font-size: max(1rem, 10px);
  font-weight: 700;
}

.zenO-32 {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .zenO-32 {
    font-size: max(2rem, 10px);
  }
}

.zenO-48big {
  font-family: var(--font-zen-old-mincho);
  font-size: max(3rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.section-lead {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .section-lead {
    font-size: max(1.25rem, 10px);
  }
}

.h3-zenold {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .h3-zenold {
    font-size: max(1.75rem, 10px);
  }
}

.honbun {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.text-lead {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}

.text-table {
  font-size: max(1rem, 10px);
  font-weight: 400;
}

.l-admissionpolicy {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-admissionpolicy {
    margin-top: 8.3125rem;
  }
}

.l-archive-faculty {
  margin-top: 0.875rem;
}

.l-breadcrumb {
  margin-top: 0.75rem;
}

.l-career {
  margin-top: 0.875rem;
}

.l-course {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-course {
    margin-top: 8.3125rem;
  }
}

.l-drawer {
  position: fixed;
  inset: var(--wp-admin-bar-height) 0 0;
  z-index: 1000;
}
@media screen and (min-width: 1024px) {
  .l-drawer {
    display: none;
  }
}

.l-exam {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-exam {
    margin-top: 9.5rem;
  }
}

.l-features {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-features {
    margin-top: 8.25rem;
  }
}

.l-fixed-buttons {
  position: fixed;
  z-index: 100;
  inset: auto 0 0;
}
@media screen and (min-width: 768px) {
  .l-fixed-buttons {
    inset: clamp(164px * 0.61, 18.2222222222vh, 164px) 0 auto auto;
    margin-block: auto;
  }
}

.l-header {
  position: fixed;
  inset: var(--wp-admin-bar-height) 0 auto 0;
  z-index: 1001;
  width: 100%;
  height: var(--header-height);
}

.l-hero-caption {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .l-hero-caption {
    margin-top: -1.375rem;
  }
}

.l-inner {
  margin-inline: auto;
  max-width: 35.75rem;
  width: 100%;
  padding-inline: 1rem;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: calc(62.5rem + 172px);
    padding-inline: 86px;
  }
}

.l-news {
  margin-top: 5rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .l-news {
    margin-top: 9.625rem;
    margin-bottom: 7.5rem;
  }
}

.l-page-top {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-page-top {
    position: fixed;
    z-index: 100;
    top: max(49.1875rem, 100vh - 6.875rem);
    right: 2.8125rem;
    display: block;
  }
}

.l-page {
  margin-block: 5rem 7.5rem;
}
@media screen and (min-width: 768px) {
  .l-page {
    margin-block: 8.3125rem 6.25rem;
  }
}

.l-single {
  margin-block: 5rem 7.5rem;
}
@media screen and (min-width: 768px) {
  .l-single {
    margin-block: 8.3125rem 6.25rem;
  }
}

.l-top-career {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-top-career {
    margin-top: 6.375rem;
  }
}

.l-top-exam {
  margin-top: 3.75rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-top-exam {
    margin-top: 7.625rem;
  }
}

.l-top-features {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .l-top-features {
    margin-top: 0;
  }
}

.l-top-introduction {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-top-introduction {
    margin-top: 6.25rem;
  }
}

.l-top-loop-slider {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-top-loop-slider {
    position: relative;
    margin-top: 4.375rem;
  }
}

.l-top-mv {
  height: calc(100svh - var(--wp-admin-bar-height) - 5.3125rem);
  min-height: 20.3125rem;
}
@media screen and (min-width: 768px) {
  .l-top-mv {
    height: calc(100svh - var(--wp-admin-bar-height));
    min-height: 37.5rem;
  }
}

.l-top-news {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-top-news {
    margin-top: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .l-top-topics {
    position: absolute;
    right: 0;
    left: 0;
    transform: translateY(-100%);
  }
}

.l-vocational-accountant {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-vocational-accountant {
    margin-top: 8.3125rem;
  }
}

.c-button-contact {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 2.625rem;
  background-color: var(--color-white);
  border-radius: 0.5rem;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-button-contact::before {
  display: inline-block;
  width: 2rem;
  height: auto;
  aspect-ratio: 1;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_mail.svg) no-repeat center/contain;
  content: "";
}
.c-button-donation {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  background-color: var(--color-yellow-green);
  border-radius: 0.25rem;
  color: var(--color-white);
  transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-button-donation {
    padding: min(0.5555555556vw, 8px) min(0.6944444444vw, 10px);
  }
}

.c-button-donation::before,
.c-button-donation::after {
  content: "";
  aspect-ratio: 1;
}

.c-button-donation::before {
  width: 1.875rem;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_heart_on_hand.svg) no-repeat center/60% #5fa51b;
  border-radius: 50%;
  transform: scaleX(-1);
}

.c-button-donation::after {
  --icon-size: 1rem;
  margin-block: calc((1lh - var(--icon-size)) / 2);
  block-size: var(--icon-size);
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_external.svg) no-repeat center/contain;
}

@media (any-hover: hover) {
  .c-button-donation:hover {
    filter: brightness(1.1);
    opacity: 1;
    transform: scale(1.02);
  }
}
/* :focus-visible */
.c-button-donation:focus-visible {
  filter: brightness(1.1);
  opacity: 1;
  transform: scale(1.02);
}

.c-button-en {
  background-color: var(--color-white);
  color: var(--color-deep-green);
  border: 1px solid;
  border-radius: 0.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 6.0625rem;
  height: 3.125rem;
  padding-top: 0.125rem;
  font-family: var(--font-marcellus);
  font-weight: 400;
  font-size: max(1.25rem, 10px);
  line-height: 1;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease-in-out, transform 0.1s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-button-en {
    width: min(5.6944444444vw, 82px);
    height: min(2.7777777778vw, 40px);
    font-size: min(1.3888888889vw, 20px);
  }
}

.c-button-en::before {
  display: inline-block;
  width: 1.5rem;
  height: auto;
  aspect-ratio: 25/24;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_en.svg) no-repeat center/contain;
  content: "";
  transform: translateY(-0.125rem);
}
@media screen and (min-width: 768px) {
  .c-button-en::before {
    width: min(1.6666666667vw, 24px);
  }
}

@media (any-hover: hover) {
  .c-button-en:hover {
    background-color: var(--color-light-green);
    transform: scale(1.02);
    opacity: 1;
  }
}
/* :focus-visible */
.c-button-en:focus-visible {
  background-color: var(--color-light-green);
  transform: scale(1.02);
  opacity: 1;
}

.c-button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-color);
  font-family: var(--font-zen-old-mincho);
  font-weight: 700;
  font-size: max(0.875rem, 10px);
  letter-spacing: 0.05em;
  --text-color: var(--color-black);
  --icon-color: var(--color-deep-green);
  --arrow-color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .c-button-icon {
    font-size: max(1rem, 10px);
  }
}

.c-button-icon__icon {
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
  background-color: var(--icon-color);
  border-radius: 50%;
  overflow: hidden;
}

.c-button-icon__icon::after {
  position: absolute;
  top: 50%;
  right: 0.25rem;
  transform: translate(0%, -50%);
  width: 1.75rem;
  display: inline-block;
  width: 2.375rem;
  aspect-ratio: 51/9;
  -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_small.svg);
          mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_small.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--arrow-color);
  content: "";
  transition: transform 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .c-button-icon:hover {
    opacity: 1;
  }
  .c-button-icon:hover .c-button-icon__icon::after {
    transform: translate(1.375rem, -50%);
  }
}
/* :focus-visible */
.c-button-icon:focus-visible {
  opacity: 1;
}

.c-button-icon:focus-visible .c-button-icon__icon::after {
  transform: translate(1.375rem, -50%);
}

.c-button-orientation {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: 18.125rem;
  max-width: 100%;
  padding: 0.875rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  border-radius: 0.25rem;
  box-shadow: 0 0 0.375rem 0 rgba(3, 32, 23, 0.2);
  white-space: nowrap;
  transition: transform 0.3s ease-in-out;
}
@media screen and (min-width: 1024px) {
  .c-button-orientation {
    flex-direction: column;
    width: auto;
    padding: clamp(26px * 0.61, 2.8888888889vh, 26px) clamp(14px * 0.61, 1.5555555556vh, 14px) clamp(22px * 0.61, 2.4444444444vh, 22px);
    border-radius: clamp(4px * 0.61, 0.4444444444vh, 4px) 0 0 clamp(4px * 0.61, 0.4444444444vh, 4px);
    font-size: clamp(16px * 0.61, 1.7777777778vh, 16px);
    letter-spacing: 0.18em;
  }
}

.c-button-orientation--sp-fixed {
  font-size: max(0.875rem, 10px);
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-button-orientation--sp-fixed {
    display: none;
  }
}

.c-button-orientation--pc-fixed {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-button-orientation--pc-fixed {
    display: inline-flex;
    flex-direction: column;
    width: auto;
    padding: clamp(26px * 0.61, 2.8888888889vh, 26px) clamp(14px * 0.61, 1.5555555556vh, 14px) clamp(22px * 0.61, 2.4444444444vh, 22px);
    border-radius: clamp(4px * 0.61, 0.4444444444vh, 4px) 0 0 clamp(4px * 0.61, 0.4444444444vh, 4px);
    font-size: clamp(16px * 0.61, 1.7777777778vh, 16px);
    letter-spacing: 0.18em;
  }
}

@media screen and (min-width: 1024px) {
  .c-button-orientation__text {
    writing-mode: vertical-rl;
  }
}

@media screen and (min-width: 768px) {
  .c-button-orientation--pc-fixed .c-button-orientation__text {
    writing-mode: vertical-rl;
  }
}

.c-button-orientation--1 {
  position: relative;
  z-index: 0;
  background-image: linear-gradient(135deg, #35d693, #00abbe);
  color: var(--color-white);
}

.c-button-orientation--1::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(135deg, #f3aef1, #4bd9b0);
  border-radius: 0.25rem;
  content: "";
  opacity: 0;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.c-button-orientation--1::after {
  display: block;
  width: 1.25rem;
  height: auto;
  aspect-ratio: 1;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_external.svg) no-repeat center/contain;
  content: "";
}

.c-button-orientation--2 {
  background-color: var(--color-yellow-green);
  color: var(--color-white);
  text-align: center;
  transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .c-button-orientation:hover,
  .c-button-orientation:hover::before {
    opacity: 1;
    transform: scale(1.02);
  }
  .c-button-orientation--2:hover {
    opacity: 1;
    filter: brightness(1.1);
  }
}
/* :focus-visible */
.c-button-orientation:focus-visible,
.c-button-orientation:focus-visible::before {
  opacity: 1;
  transform: scale(1.02);
}

.c-button-orientation--2:focus-visible {
  opacity: 1;
  filter: brightness(1.1);
}

.c-button-simple {
  --icon-image: url("/econo/wp-content/themes/yamaguchi-economy/assets/images/common/carret_right.svg");
  --icon-width: 0.3125rem;
  --icon-aspect-ratio: 5 / 9;
  --bg-color: var(--color-deep-green);
  --text-color: var(--color-white);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding-block: 0.6875rem;
  padding-inline: 3.75rem;
  background-color: var(--bg-color);
  color: var(--text-color);
  border: 1px solid;
  border-radius: 0.5rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .c-button-simple {
    padding-inline: 2rem 1.5rem;
  }
}

.c-button-simple[data-color=transparent] {
  --bg-color: transparent;
  --text-color: var(--color-deep-green);
}

.c-button-simple[target=_blank] {
  --icon-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_external.svg);
  --icon-width: 1rem;
  --icon-aspect-ratio: 1;
}

.c-button-simple::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  display: inline-block;
  width: var(--icon-width);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask-image: var(--icon-image);
          mask-image: var(--icon-image);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
  content: "";
  transition: transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-button-simple::after {
    position: static;
    transform: translateY(0);
  }
}

@media (any-hover: hover) {
  .c-button-simple:hover {
    opacity: 1;
  }
  .c-button-simple:hover::after {
    transform: translate(0.25rem, -50%);
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .c-button-simple:hover::after {
    transform: translateX(0.25rem);
  }
}
/* :focus-visible */
.c-button-simple:focus-visible {
  opacity: 1;
}

.c-button-simple:focus-visible::after {
  transform: translate(0.25rem, -50%);
}
@media screen and (min-width: 768px) {
  .c-button-simple:focus-visible::after {
    transform: translateX(0.25rem);
  }
}

.c-button-small {
  display: inline-flex;
  align-items: center;
  padding: 0.4375rem 0.875rem;
  border: 1px solid;
  border-radius: 100vh;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  transition: background-color 0.3s ease-in-out;
}

.c-button-small[target=_blank]::after {
  margin-left: 0.125rem;
  transform: translateY(0);
}

.c-button-small[data-modal-open] {
  gap: 0.9375rem;
  padding: 0.3125rem 0.5625rem;
}

.c-button-small[data-modal-open]::before,
.c-button-small[data-modal-open]::after {
  width: 1.1875rem;
  aspect-ratio: 1;
  content: "";
}

.c-button-small[data-modal-open]::after {
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_plus.svg) no-repeat center/contain;
}

@media (any-hover: hover) {
  .c-button-small:hover {
    background-color: var(--color-light-green);
    opacity: 1;
  }
}
/* :focus-visible */
.c-button-small:focus-visible {
  background-color: var(--color-light-green);
  opacity: 1;
}

.c-button-square {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 100%;
  max-width: 21.375rem;
  padding: 1.4375rem;
  background-color: var(--color-white);
  border: 1px solid;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-button-square {
    max-width: 30rem;
    padding: 2.125rem;
    font-size: max(1.5rem, 10px);
  }
}

.c-button-square--calendar::before,
.c-button-square--tuition::before {
  width: 2rem;
  height: auto;
  aspect-ratio: 1;
  content: "";
  background: no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .c-button-square--calendar::before,
  .c-button-square--tuition::before {
    width: 2.5rem;
  }
}

.c-button-square--calendar::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_calendar.png);
}

.c-button-square--tuition::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_tuition.png);
}

@media (any-hover: hover) {
  .c-button-square:hover {
    background-color: var(--color-light-green);
    transform: scale(1.02);
    opacity: 1;
  }
}
/* :focus-visible */
.c-button-square:focus-visible {
  background-color: var(--color-light-green);
  transform: scale(1.02);
  opacity: 1;
}

.c-button {
  --text-color: var(--color-deep-green);
  --icon-color: var(--color-deep-green);
  --arrow-color: var(--color-white);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 13.875rem;
  padding-inline: 3.125rem;
  padding-block: 0.875rem;
  background-color: var(--color-white);
  border: 1px solid;
  border-radius: 100vh;
  color: var(--text-color);
  font-family: var(--font-marcellus);
  font-weight: 700;
  font-size: max(1.125rem, 10px);
  line-height: 1;
  letter-spacing: 0.05em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-align: center;
  transition: background-color 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-button {
    min-width: 18.125rem;
    padding-block: 1.25rem;
    padding-inline: 3.9375rem;
    font-size: max(1.25rem, 10px);
  }
}

.c-button[data-dept=economics] {
  --text-color: var(--color-orange);
  --icon-color: var(--color-orange);
}

.c-button[data-dept=business] {
  --text-color: var(--color-purple);
  --icon-color: var(--color-purple);
}

.c-button[data-color=light-blue],
.c-button[data-dept=tourism-policy] {
  --text-color: var(--color-light-blue);
  --icon-color: var(--color-light-blue);
}

.c-button[data-dept=graduate] {
  --text-color: var(--color-brown);
  --icon-color: var(--color-brown);
}

.c-button--en {
  font-weight: 400;
}

.c-button--small {
  min-width: 9.125rem;
  padding-inline: 3.125rem;
  padding-block: 0.5rem;
  font-size: max(1rem, 10px);
}
@media screen and (min-width: 768px) {
  .c-button--small {
    min-width: 11.25rem;
    padding-block: 0.6875rem;
    padding-inline: 2.5rem;
    padding-inline: 3.75rem;
  }
}

.c-button--sp-small {
  min-width: 9.125rem;
  padding-inline: 2.5rem;
  padding-block: 0.5rem;
  font-size: max(0.875rem, 10px);
}
@media screen and (min-width: 768px) {
  .c-button--sp-small {
    min-width: 18.125rem;
    padding-block: 1.25rem;
    padding-inline: 5rem;
    font-size: max(1.25rem, 10px);
  }
}

.c-button--transparent {
  background-color: transparent;
  --text-color: var(--color-white);
  --icon-color: var(--color-white);
  --arrow-color: var(--color-deep-green);
  --arrow-color: #947054;
}

.c-button:not(:has(.c-button__icon))[target=_blank] {
  gap: 0.5625rem;
  padding-block: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .c-button:not(:has(.c-button__icon))[target=_blank] {
    padding-block: 0.5625rem;
  }
}

.c-button:not(:has(.c-button__icon))[target=_blank]::after {
  display: inline-block;
  width: 1.25rem;
  aspect-ratio: 1;
  -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_external.svg);
          mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_external.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
  content: "";
}

.c-button__text {
  transform: translateY(1px);
}

.c-button__icon {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  display: inline-block;
  width: 2rem;
  height: auto;
  aspect-ratio: 1;
  background-color: var(--icon-color);
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-button__icon {
    right: 0.75rem;
    width: 2.25rem;
  }
}

.c-button--small .c-button__icon {
  right: 0.25rem;
  width: 1.375rem;
}
@media screen and (min-width: 768px) {
  .c-button--small .c-button__icon {
    right: 0.375rem;
    width: 1.625rem;
  }
}

.c-button--sp-small .c-button__icon {
  right: 0.25rem;
  width: 1.375rem;
}
@media screen and (min-width: 768px) {
  .c-button--sp-small .c-button__icon {
    right: 0.75rem;
    width: 2.25rem;
  }
}

.c-button__icon::after {
  position: absolute;
  top: 50%;
  right: 0.5625rem;
  transform: translate(0%, -50%);
  display: inline-block;
  width: 2.375rem;
  aspect-ratio: 51/9;
  -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_medium.svg);
          mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_medium.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--arrow-color);
  content: "";
  transition: transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-button__icon::after {
    -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_large.svg);
            mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_large.svg);
    width: 3.1875rem;
    right: 0.5625rem;
  }
}

.c-button--small .c-button__icon::after {
  right: 0.375rem;
  width: 1.75rem;
  -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_small.svg);
          mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_small.svg);
}
@media screen and (min-width: 768px) {
  .c-button--small .c-button__icon::after {
    -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_medium.svg);
            mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_medium.svg);
    width: 2.375rem;
  }
}

.c-button--sp-small .c-button__icon::after {
  right: 0.375rem;
  width: 1.75rem;
  -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_small.svg);
          mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_small.svg);
}
@media screen and (min-width: 768px) {
  .c-button--sp-small .c-button__icon::after {
    -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_large.svg);
            mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_large.svg);
    width: 3.1875rem;
    right: 0.5625rem;
  }
}

@media (any-hover: hover) {
  .c-button:hover {
    opacity: 1;
  }
  .c-button:hover .c-button__icon::after {
    transform: translate(1.5rem, -50%);
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .c-button:hover .c-button__icon::after {
    transform: translate(2.0625rem, -50%);
  }
}
@media (any-hover: hover) {
  .c-button--small:hover .c-button__icon::after {
    transform: translate(1.125rem, -50%);
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .c-button--small:hover .c-button__icon::after {
    transform: translate(1.5rem, -50%);
  }
}
@media (any-hover: hover) {
  .c-button--sp-small:hover .c-button__icon::after {
    transform: translate(1.125rem, -50%);
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .c-button--sp-small:hover .c-button__icon::after {
    transform: translate(2.0625rem, -50%);
  }
}
@media (any-hover: hover) {
  .c-button:not(:has(.c-button__icon))[target=_blank]:hover {
    background-color: var(--color-light-blue);
    color: var(--color-white);
  }
}
/* :focus-visible */
.c-button:focus-visible {
  opacity: 1;
}

.c-button:focus-visible .c-button__icon::after {
  transform: translate(1.5rem, -50%);
}
@media screen and (min-width: 768px) {
  .c-button:focus-visible .c-button__icon::after {
    transform: translate(2.0625rem, -50%);
  }
}

.c-button--small:focus-visible .c-button__icon::after {
  transform: translate(1.125rem, -50%);
}
@media screen and (min-width: 768px) {
  .c-button--small:focus-visible .c-button__icon::after {
    transform: translate(1.5rem, -50%);
  }
}

.c-button--sp-small:focus-visible .c-button__icon::after {
  transform: translate(1.125rem, -50%);
}
@media screen and (min-width: 768px) {
  .c-button--sp-small:focus-visible .c-button__icon::after {
    transform: translate(2.0625rem, -50%);
  }
}

.c-button:not(:has(.c-button__icon))[target=_blank]:focus-visible {
  background-color: var(--color-light-blue);
  color: var(--color-white);
}

.c-headig {
  --en-text: var(--color-yellow-green);
  --ja-text: var(--color-deep-green);
  text-align: center;
}

.c-headig--white {
  --en-text: var(--color-white);
  --ja-text: var(--color-white);
}

.c-heading__en {
  color: var(--en-text);
  font-family: var(--font-marcellus);
  font-weight: 400;
  font-size: max(1rem, 10px);
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-heading__en {
    font-size: max(1.25rem, 10px);
  }
}

.c-heading__ja {
  margin-top: 0.25rem;
  color: var(--ja-text);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-heading__ja {
    margin-top: 0.4375rem;
    font-size: max(2rem, 10px);
  }
}

.c-heading-simple {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-heading-simple {
    font-size: max(1.75rem, 10px);
  }
}

.c-menu-button {
  position: relative;
  width: 4.5rem;
  height: auto;
  aspect-ratio: 1/1;
}

.c-menu-button span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 1.5rem;
  height: 0.1875rem;
  border-radius: 0.0625rem;
  background-color: var(--color-deep-green);
  transition: all 0.3s ease-in-out;
}

.c-menu-button span:before,
.c-menu-button span::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 0.1875rem;
  border-radius: 0.0625rem;
  background-color: var(--color-deep-green);
  border-radius: 100vw;
  content: "";
  transition: all 0.3s ease-in-out;
}

.c-menu-button span::before {
  transform: translateY(-0.4375rem);
}

.c-menu-button span::after {
  transform: translateY(0.4375rem);
}

/* ドロワーメニュー展開時 */
.c-menu-button[aria-expanded=true] span {
  background-color: transparent;
}

.c-menu-button[aria-expanded=true] span::before {
  transform: translateY(0) rotate(45deg);
}

.c-menu-button[aria-expanded=true] span::after {
  transform: translateY(0) rotate(-45deg);
}

.c-no-post {
  text-align: center;
}

.nav-links {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .nav-links {
    gap: 0.75rem;
  }
}

.c-pagenation .page-numbers {
  min-width: 1.875rem;
  padding: 0.3125rem 0.125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: max(1.125rem, 10px);
  font-weight: 400;
  font-family: var(--base-font-family);
  color: var(--color-deep-green);
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-pagenation .page-numbers {
    min-width: 2rem;
    font-size: max(1.25rem, 10px);
    padding: 0.3125rem 0.125rem;
  }
}

.c-pagenation .page-numbers:not(.next):not(.prev) {
  border: 1px solid var(--color-deep-green);
  transition: background-color 0.3s ease-in-out, transform 0.1s ease-in-out;
}

.c-pagenation .page-numbers.current {
  background-color: var(--color-deep-green);
  color: var(--color-white);
  pointer-events: none;
}

.c-pagenation .prev,
.c-pagenation .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5625rem;
  height: 100%;
  font-size: 0;
  font-family: var(--font-marcellus);
}
@media screen and (min-width: 768px) {
  .c-pagenation .prev,
  .c-pagenation .next {
    font-size: max(1.25rem, 10px);
  }
}

.c-pagenation .prev {
  left: -4.25rem;
  justify-content: flex-end;
}

.c-pagenation .next {
  right: -4.25rem;
  justify-content: flex-start;
}

.c-pagenation .prev::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  top: 50%;
  left: 2.5rem;
  border-top: solid 1px currentColor;
  border-right: solid 1px currentColor;
  transform: translateY(-50%) rotate(-135deg);
}
@media screen and (min-width: 768px) {
  .c-pagenation .prev::after {
    left: 0;
  }
}

.c-pagenation .next::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  top: 50%;
  right: 2.5rem;
  border-top: solid 1px currentColor;
  border-right: solid 1px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .c-pagenation .next::after {
    right: 0;
  }
}

@media (any-hover: hover) {
  .c-pagenation .page-numbers:not(.next):not(.prev):hover {
    background-color: var(--color-light-green);
    transform: scale(1.02);
    opacity: 1;
  }
}
/* :focus-visible */
.c-pagenation .page-numbers:not(.next):not(.prev):focus-visible {
  background-color: var(--color-light-green);
  transform: scale(1.02);
  opacity: 1;
}

.c-sidebar {
  padding-bottom: 1.5625rem;
  border-bottom: 1px solid #000000;
}

.c-sidebar__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  font-family: var(--font-zen-old-mincho);
  color: var(--color-deep-green);
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-sidebar__title {
    font-size: max(1.5rem, 10px);
  }
}

.c-sidebar__list {
  margin-top: 2.125rem;
}

.c-sidebar__list-item + .c-sidebar__list-item {
  margin-top: 1.5rem;
}

.c-sidebar__item {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.c-sidebar__thumb {
  flex-shrink: 0;
  width: 7.125rem;
  width: 31.2328767123%;
  height: auto;
  overflow: hidden;
}

.c-sidebar__thumb img {
  aspect-ratio: 114/104;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  transition: transform 0.3s ease-in-out;
}

.c-sidebar__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.c-sidebar__date {
  display: inline-block;
  padding-block: 0.25rem;
  color: var(--color-border-green);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-sidebar__cat {
  margin-top: 0.375rem;
  display: inline-block;
  padding-block: 0.375rem;
  padding-inline: 0.75rem;
  color: var(--color-deep-green);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1;
  border: 1px solid;
}

.c-sidebar__link {
  margin-top: 1.78125rem;
  text-align: right;
}

@media (any-hover: hover) {
  .c-sidebar__list-item-link:hover {
    opacity: 1;
  }
  .c-sidebar__list-item-link:hover .c-sidebar__thumb img {
    transform: scale(1.1);
  }
}
/* focus-visible */
.c-sidebar__list-item-link:focus-visible {
  opacity: 1;
}

.c-sidebar__list-item-link:focus-visible .c-sidebar__thumb img {
  transform: scale(1.1);
}

.c-sub-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c-sub-heading {
    font-size: max(2rem, 10px);
  }
}

.c-sub-heading::before {
  width: 1.5rem;
  height: auto;
  aspect-ratio: 28/38;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/heading_deco.svg) no-repeat center/contain;
  content: "";
}
@media screen and (min-width: 768px) {
  .c-sub-heading::before {
    width: 1.75rem;
  }
}

.p-404 {
  padding-block: 6.25rem;
  background-color: var(--color-light-green);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-404 {
    padding-block: 12.5rem 7.375rem;
  }
}

.p-404__content {
  margin-top: 5rem;
}

.p-404__logo {
  margin-inline: auto;
  width: 12.6875rem;
}

.p-404__description {
  margin-top: 2.5rem;
  line-height: 2;
}

.p-404__button {
  margin-top: 5rem;
}

@media screen and (min-width: 768px) {
  .p-accountant-course__inner {
    max-width: 85.75rem;
  }
}

.p-accountant-course__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__content {
    margin-top: 3.4375rem;
  }
}

.p-accountant-course__sections {
  display: grid;
  gap: 2.25rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__sections {
    margin-inline: auto;
    max-width: 58rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}

.p-accountant-course__item-copy {
  color: var(--color-border-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__item-copy {
    display: block;
    text-align: center;
  }
}

.p-accountant-course__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__item-heading {
    margin-top: 0.25rem;
    font-size: max(1.75rem, 10px);
    display: block;
    text-align: center;
  }
}

.p-accountant-course__item-image {
  margin-top: 0.625rem;
}

.p-accountant-course__item-image img {
  aspect-ratio: 440/215;
}

.p-accountant-course__desc-items {
  margin-top: 0.8125rem;
  margin-right: -0.25rem;
}

.p-accountant-course__table-wrap {
  margin-top: 2.875rem;
  scrollbar-width: none;
}

.p-accountant-course__table {
  --table-border: 1px solid var(--color-border-green);
  --table-cell-padding-inline: 0.6875rem;
  width: 100%;
  border-collapse: collapse;
}

.p-accountant-course__th {
  padding-block: 0.5625rem;
  padding-inline: var(--table-cell-padding-inline);
  background-color: #d0e5df;
  border: var(--table-border);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  text-align: left;
}

.p-accountant-course__td {
  padding-inline: var(--table-cell-padding-inline);
  border: var(--table-border);
  font-size: max(1rem, 10px);
  font-weight: 500;
  padding-block: 0.9375rem;
  line-height: 1.7;
  min-width: 15.75rem;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__td {
    vertical-align: middle;
  }
}

.p-accountant-course__td-red {
  color: #f43600;
  font-weight: 700;
}

.p-accountant-course__td-green {
  color: var(--color-deep-green);
}

.p-accountant-course__td-small {
  margin-left: 0.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
}

.p-accountant-course__td-light {
  font-size: max(0.9375rem, 10px);
  color: #576661;
}

.p-accountant-course__td-bold {
  font-weight: 700;
}

.p-accountant-course__section2 {
  margin-top: 2.5rem;
}

.p-accountant-course__sub-heading {
  text-align: center;
}

.p-accountant-course__containers {
  margin-top: 1.25rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__containers {
    margin-top: 2.5rem;
    margin-inline: auto;
    max-width: 56.25rem;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
  }
}

.p-accountant-course__flow-items + .p-accountant-course__containers {
  margin-top: 1.6875rem;
}

.p-accountant-course__container {
  padding: 1.5rem;
  background-color: var(--color-light-green);
}

.p-accountant-course__container-heading {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__container-heading {
    font-size: max(1.5rem, 10px);
  }
}

.p-accountant-course__container-sub-heading {
  padding-bottom: 0.5rem;
  padding-inline: 1rem;
  border-bottom: 1px solid var(--color-border-green);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}

:is(.p-accountant-course__container-heading, .p-accountant-course__container-heading2) + .p-accountant-course__container-sub-heading {
  margin-top: 0.875rem;
}

:is(.p-accountant-course__container-items, .p-accountant-course__container-note) + .p-accountant-course__container-sub-heading {
  margin-top: 1.5625rem;
}

.p-accountant-course__container-items {
  display: grid;
  gap: 0.125rem;
}

:is(.p-accountant-course__container-items, .p-accountant-course__dl, .p-accountant-course__orderd-items) {
  margin-top: 0.8125rem;
  padding-inline-start: 2rem;
}

.p-accountant-course__dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.125rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-accountant-course__dt {
  font-weight: 700;
}

.p-accountant-course__dt::after {
  margin-inline: 0.25rem;
  content: ":";
  font-weight: 400;
}

.p-accountant-course__container-note {
  margin-top: 0.8125rem;
  padding-inline: 0.5rem;
  color: #e74c3c;
  font-weight: 700;
}

.p-accountant-course__section3 {
  margin-top: 3rem;
}

.p-accountant-course__flow-items {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-items {
    margin-top: 1.875rem;
    margin-inline: auto;
    max-width: 62.5rem;
    flex-direction: row;
    gap: 0;
  }
}

.p-accountant-course__flow-item {
  --arrow-width: 0.9375rem;
  position: relative;
  width: 100%;
  width: 15rem;
  padding-block: 1rem 1.25rem;
  padding-inline: 1.4375rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--arrow-width)), 50% 100%, 0 calc(100% - var(--arrow-width)));
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item {
    width: -moz-fit-content;
    width: fit-content;
    --arrow-width: 1.875rem;
    padding-block: 2.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:not(:last-of-type) {
    clip-path: polygon(calc(100% - var(--arrow-width)) 0, 100% 50%, calc(100% - var(--arrow-width)) 100%, 0 100%, 0 0);
  }
}

@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(n + 2) {
    padding-inline: 1.625rem 1.25rem;
    margin-left: calc(var(--arrow-width) * -1);
  }
}

.p-accountant-course__flow-item:nth-of-type(1) {
  z-index: 5;
  background-color: var(--color-deep-green);
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(1) {
    width: 11rem;
  }
}

.p-accountant-course__flow-item:nth-of-type(2) {
  z-index: 4;
  background-color: #2c6a29;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(2) {
    flex: 1;
  }
}

.p-accountant-course__flow-item:nth-of-type(3) {
  z-index: 3;
  background-color: #508620;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(3) {
    flex: 1;
  }
}

.p-accountant-course__flow-item:nth-of-type(4) {
  z-index: 2;
  background-color: #74a218;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(4) {
    flex: 1;
  }
}

.p-accountant-course__flow-item:nth-of-type(5) {
  z-index: 1;
  background-color: #97bc11;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(5) {
    flex: 1;
  }
}

.p-accountant-course__flow-item:nth-of-type(6) {
  background-color: #e1f31b;
  color: var(--color-deep-green);
}
@media screen and (min-width: 768px) {
  .p-accountant-course__flow-item:nth-of-type(6) {
    padding-left: 2.5rem;
    clip-path: none;
  }
}

.p-accountant-course__container-heading2 {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__container-heading2 {
    font-size: max(1.25rem, 10px);
  }
}

.p-accountant-course__orderd-items {
  display: grid;
  gap: 0.3125rem;
}

.p-accountant-course__result {
  margin-top: 0.5rem;
  padding-inline: 2rem;
  color: #e74c3c;
  font-weight: 700;
}

.p-accountant-course__section4 {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__section4 {
    margin-top: 3.5625rem;
  }
}

.p-accountant-course__pass-table-wrap {
  margin-top: 1.25rem;
  margin-inline: auto;
  max-width: 62.5rem;
  scrollbar-width: none;
}
@media screen and (min-width: 768px) {
  .p-accountant-course__pass-table-wrap {
    margin-top: 2rem;
  }
}

.p-accountant-course__pass-table {
  --table-border: 1px solid var(--color-border-green);
  --table-cell-padding-inline: 0.6875rem;
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}

.p-accountant-course__pass-th {
  background-color: #d0e5df;
  border: var(--table-border);
  min-height: 3.75rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
}

.p-accountant-course__pass-th span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3.75rem;
  padding-block: 0.5625rem;
  padding-inline: var(--table-cell-padding-inline);
}

.p-accountant-course__pass-tr:nth-of-type(2) .p-accountant-course__pass-th,
.p-accountant-course__pass-tr:nth-of-type(3) .p-accountant-course__pass-th {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
}

.p-accountant-course__pass-td {
  padding-inline: var(--table-cell-padding-inline);
  border: var(--table-border);
  padding-block: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
  white-space: nowrap;
}

.p-accountant-course__pass-td:nth-of-type(1) {
  width: 12%;
}

.p-accountant-course__pass-td:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4)) {
  width: 16%;
}

.p-accountant-course__pass-td:is(:nth-of-type(5), :nth-of-type(6), :nth-of-type(7), :nth-of-type(8), :nth-of-type(9)) {
  width: 8%;
}

.p-accountant-course__pass-tfoot-td {
  padding-inline: var(--table-cell-padding-inline);
  border: var(--table-border);
  padding-block: 1.25rem;
  background-color: #d0e5df;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  white-space: nowrap;
}

.p-accountant-course__pass-tr:nth-of-type(odd) .p-accountant-course__pass-td {
  background-color: var(--color-light-green);
}

@media screen and (min-width: 768px) {
  .p-accountant-course__section4-note {
    margin-inline: auto;
    max-width: 62.5rem;
  }
}

.p-accountant-summary__heading {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__heading {
    text-align: left;
    font-size: max(1.75rem, 10px);
  }
}

.p-accountant-summary__content {
  margin-top: 1rem;
}

.p-accountant-summary__desc {
  margin-top: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: #666;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__desc {
    margin-top: 1.5rem;
    font-size: max(1.25rem, 10px);
    text-align: left;
  }
}

.p-accountant-summary__wrap {
  margin-top: 1.5rem;
  display: grid;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__wrap {
    margin-top: 2.3125rem;
    grid-template-columns: auto auto;
    justify-content: start;
    align-items: start;
    justify-content: center;
    gap: 3.625rem;
  }
}

.p-accountant-summary__sub-heading {
  --arrow-width: 1.5rem;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 1rem 1.5rem;
  padding-inline: 3.875rem 4.125rem;
  background-color: var(--color-deep-green);
  color: var(--color-white);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__sub-heading {
    padding-block: 1rem;
    clip-path: polygon(calc(100% - var(--arrow-width)) 0, 100% 50%, calc(100% - var(--arrow-width)) 100%, 0 100%, 0 0);
  }
}

.p-accountant-summary__items {
  display: grid;
  gap: 0.5rem;
}

.p-accountant-summary__item {
  position: relative;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__item {
    text-align: left;
  }
}

.p-accountant-summary__media-items {
  margin-top: 4rem;
  display: grid;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__media-items {
    margin-top: 3.5rem;
    padding-left: 0;
    gap: 3.625rem;
  }
}

.p-accountant-summary__media-item {
  position: relative;
  z-index: 0;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__media-item {
    grid-template-columns: 440fr 530fr;
    align-items: center;
    justify-content: space-between;
    gap: 2.25rem;
  }
}

.p-accountant-summary__media-item:nth-child(even) {
  direction: rtl;
}

.p-accountant-summary__media-item:nth-child(even) > * {
  direction: ltr;
}

@media screen and (min-width: 768px) {
  .p-accountant-summary__media-item:has(iframe[src*="youtube.com"]) {
    grid-template-columns: 440fr 500fr;
  }
}

.p-accountant-summary__media-deco {
  position: absolute;
  top: -5rem;
  z-index: -1;
  left: 50%;
  transform: translateX(-50%);
  color: var(--color-light-green);
  font-family: var(--font-marcellus);
  font-size: max(5.3125rem, 10px);
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-accountant-summary__media-deco {
    top: -1.5rem;
    left: max(-8.4722222222vw, -122px);
    transform: translateX(0);
    font-size: max(7.5rem, 10px);
  }
}

.p-accountant-summary__media-text {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-accountant-summary__media-text + .p-accountant-summary__media-text {
  margin-top: 1rem;
}

.p-accountant-summary__media-image {
  order: var(--order);
}

.p-accountant-summary__pagination {
  position: absolute;
  right: 0.625rem;
  bottom: 0.625rem;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.375rem;
}

.p-accountant-summary__page {
  background-color: var(--color-white);
  width: 0.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
}

.p-accountant-summary__page.is-active {
  background-color: var(--color-yellow-green);
}

.p-admissionpolicy {
  padding-bottom: 7.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .p-admissionpolicy__inner {
    max-width: calc(74.6875rem + 172px);
  }
}

.p-admissionpolicy__content {
  margin-top: 3.125rem;
}

.p-admissionpolicy__summary + .p-admissionpolicy__sub-heading {
  margin-top: 1rem;
}

.p-admissionpolicy__ordered-list + .p-admissionpolicy__sub-heading {
  margin-top: 1.875rem;
}

.p-admissionpolicy__image-wrap + .p-admissionpolicy__sub-heading {
  margin-top: 1.875rem;
}

.p-admissionpolicy__sub-heading {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
}

.p-admissionpolicy__ordered-list {
  margin-top: 1rem;
  counter-reset: number 0;
}

.p-admissionpolicy__ordered-item {
  text-indent: -1rem;
  padding-left: 1.5rem;
}

.p-admissionpolicy__ordered-item:nth-child(n+10) {
  text-indent: -1.5rem;
}

.p-admissionpolicy__ordered-item::before {
  counter-increment: number 1;
  content: counter(number) ". ";
}

.p-admissionpolicy__image-wrap + .p-admissionpolicy__desc,
.p-admissionpolicy__sub-heading + .p-admissionpolicy__desc,
.p-admissionpolicy__ordered-list + .p-admissionpolicy__desc,
.p-admissionpolicy__desc + .p-admissionpolicy__desc {
  margin-top: 1rem;
}

.p-admissionpolicy__image-wrap {
  scrollbar-width: none;
}

.p-admissionpolicy__image {
  margin-top: 2rem;
  margin-inline: auto;
  width: 50rem;
}
@media screen and (min-width: 768px) {
  .p-admissionpolicy__image {
    width: 71.75rem;
  }
}

.p-admissionpolicy__buttons {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-admissionpolicy__buttons {
    margin-top: 3.75rem;
  }
}

.p-archive-faculty {
  padding-block: 5rem 7.5rem;
  background-color: var(--color-light-green);
}
@media screen and (min-width: 768px) {
  .p-archive-faculty {
    padding-block: 7.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-archive-faculty__inner {
    max-width: calc(75rem + 172px);
  }
}

.p-archive-faculty__tabs {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__tabs {
    display: block;
  }
}

.p-archive-faculty__tabs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
}

.p-archive-faculty__tabs-item {
  flex-shrink: 0;
}

.p-archive-faculty__tabs-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11.25rem;
  border: 1px solid;
  border-radius: 0.25rem;
  padding: 0.625rem;
  background-color: #fff;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  transition: all 0.3s ease;
}

.p-archive-faculty__tabs-button.is-active {
  position: relative;
  background-color: var(--color-deep-green);
  color: var(--color-white);
  pointer-events: none;
}

.p-archive-faculty__tabs-button.is-active::after {
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
  display: block;
  width: 0.75rem;
  aspect-ratio: 12/6;
  background-color: var(--color-deep-green);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
}

.p-archive-faculty__results {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__results {
    margin-top: 2.5rem;
    display: block;
    padding: 0.75rem 1rem;
    background-color: #f8f9fa;
    border-left: 4px solid #007b5f;
  }
}

@media screen and (min-width: 768px) {
  .p-archive-faculty__content {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.0625rem;
  }
}

.p-archive-faculty__dept-heading {
  margin-inline: auto;
  position: relative;
  padding: 0.75rem;
  background-color: var(--color-deep-green);
  color: var(--color-white);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 11.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__dept-heading {
    display: none;
  }
}

.p-archive-faculty__dept-heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  display: block;
  width: 0.75rem;
  aspect-ratio: 12/6;
  background-color: var(--color-deep-green);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
}

.p-archive-faculty__splide-wrap + .p-archive-faculty__dept-heading {
  margin-top: 5rem;
}

.p-archive-faculty__splide-wrap {
  margin-top: 2.5rem;
  margin-inline: calc(50% - 50cqi + 1px);
  scrollbar-width: none;
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__splide-wrap {
    margin-inline: 0;
    display: contents;
  }
}

.p-archive-faculty__splide {
  margin-inline: calc(50% - 50cqi);
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__splide {
    margin-inline: 0;
    display: contents;
  }
}

@media screen and (min-width: 768px) {
  .p-archive-faculty__splide-track {
    display: contents;
  }
}

@media screen and (min-width: 768px) {
  .splide.is-initialized:not(.is-active) .splide__list,
  .splide.is-initialized:not(.is-active) .p-archive-faculty__splide-track .p-archive-faculty__cards {
    display: contents;
  }
}

@media screen and (min-width: 768px) {
  .p-archive-faculty__splide {
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
}

.p-archive-faculty__card {
  display: flex;
  flex-direction: column;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-green);
  border-radius: 0.5rem;
  padding: 1.25rem 1.25rem 1.375rem;
  height: 100%;
  transition: 0.7s;
}

@media screen and (min-width: 768px) {
  .p-archive-faculty__slide.is-hidden {
    opacity: 0;
    transform: translateY(20px);
  }
}

@media screen and (min-width: 768px) {
  .p-archive-faculty__slide.is-display-none {
    display: none;
  }
}

.p-archive-faculty__slide:not(.is-active) .p-archive-faculty__card {
  transform: scale(0.9);
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__slide:not(.is-active) .p-archive-faculty__card {
    transform: scale(1);
  }
}

.p-archive-faculty__card-head {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border-green);
}

.p-archive-faculty__position {
  padding-inline: 0.5rem;
  background-color: var(--color-deep-green);
  border-radius: 100vh;
  color: var(--color-white);
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-archive-faculty__title {
  margin-top: 0.5625rem;
  color: var(--color-deep-green);
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.75rem;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.p-archive-faculty__name-ja {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-archive-faculty__name-en {
  font-family: var(--font-marcellus);
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}

.p-archive-faculty__dept {
  margin-top: 0.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
}

.p-archive-faculty__card-content {
  margin-top: 1rem;
  flex: 1;
}

.p-archive-faculty__excerpt {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.6;
}

.p-archive-faculty__actions {
  margin-top: 2.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__actions {
    align-items: flex-end;
  }
}

/* 2つのボタンのサイズを揃える */
:is(.p-archive-faculty__button, .p-archive-faculty__link) {
  height: 1.9375rem;
  width: 10.125rem;
  justify-content: center;
}

.p-archive-faculty__more {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-archive-faculty__more {
    margin-top: 3.5625rem;
    display: block;
    text-align: center;
  }
}

.p-archive-faculty__more.is-display-none {
  display: none;
}

@media (any-hover: hover) {
  .p-archive-faculty__tabs-button:hover {
    background-color: var(--color-light-green);
    opacity: 1;
  }
}
/* :focus-visible */
.p-archive-faculty__tabs-button:focus-visible {
  background-color: var(--color-light-green);
  opacity: 1;
}

.p-banners {
  padding-block: 5rem;
}

.p-banners__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

.p-banners__item {
  width: 100%;
  max-width: 14.875rem;
}
@media screen and (min-width: 768px) {
  .p-banners__item {
    max-width: none;
    width: auto;
  }
}

.p-banners__item-link {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-banners__item-link img {
    height: 3.75rem;
	width: auto;
  }
}

.p-breadcrumb {
  color: var(--color-deep-green);
  font-size: max(1rem, 10px);
  font-weight: 500;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .p-breadcrumb__inner {
    max-width: calc(75rem + 172px);
  }
}

.p-breadcrumb a {
  color: #a6b7b2;
  transition: color 0.3s ease-in-out;
}

.aioseo-breadcrumb-separator {
  margin-inline: 0.5rem;
  display: inline-block;
  width: auto;
  height: 0.5rem;
  aspect-ratio: 5/8;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/breadcrumb-arrow.svg) no-repeat center/contain;
  content: "";
  transform: translateY(-2px);
}

@media (any-hover: hover) {
  .p-breadcrumb a:hover {
    color: var(--color-deep-green);
    opacity: 1;
  }
}
/* :focus-visible */
.p-breadcrumb a:focus-visible {
  color: var(--color-deep-green);
  opacity: 1;
}

.p-button-items {
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-button-items {
    justify-content: center;
    flex-direction: row;
    width: auto;
    gap: 1.5rem;
  }
}

.p-button-items__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-button-items__item {
    width: auto;
  }
}

.p-button-items__item a {
  width: 100%;
  justify-content: center;
}

.p-button-orientations {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.p-career-environment__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-environment__content {
    margin-top: 3.625rem;
  }
}

.p-career-environment__desc1 {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}

.p-career-environment__items {
  margin-top: 1.875rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-environment__items {
    margin-top: 2.375rem;
    gap: 2.5rem;
  }
}

.p-career-environment__item {
  display: grid;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-career-environment__item {
    grid-template-columns: 550fr 400fr;
    gap: 3.125rem;
    align-items: center;
  }
}

.p-career-environment__item:nth-of-type(even) {
  direction: rtl;
}

.p-career-environment__item-content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-career-environment__item-content {
    display: block;
  }
}

.p-career-environment__item:nth-of-type(even) .p-career-environment__item-content {
  direction: ltr;
}

.p-career-environment__item-heading {
  order: 1;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-environment__item-heading {
    font-size: max(1.75rem, 10px);
    text-align: left;
  }
}

.p-career-environment__item-desc {
  order: 3;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-career-environment__item-desc {
    margin-top: 1.75rem;
  }
}

.p-career-environment__item-image {
  order: 2;
}

.p-career-environment__item-image img {
  aspect-ratio: 400/267;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-career-environment__desc2 {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-career-environment__desc2 {
    margin-top: 2.5rem;
    text-align: center;
  }
}

.p-career-environment__button {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-environment__button {
    margin-top: 1.125rem;
  }
}

.p-career-graduate__bg {
  margin-inline: calc(50% - 50cqi);
  padding-block: 3.75rem;
  padding-inline: 1.25rem;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/career/career_graduate_bg.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-career-graduate__bg {
    margin-inline: 0;
    display: grid;
    justify-content: center;
    grid-template-columns: auto auto;
    gap: 8.3125rem;
  }
}

.p-career-graduate__heading {
  color: var(--color-brown);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-graduate__heading {
    font-size: max(2rem, 10px);
  }
}

.p-career-graduate__desc {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-graduate__desc {
    margin-top: 1.875rem;
    text-align: left;
  }
}

.p-career-graduate__button {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-graduate__button {
    margin-top: 0;
    padding-top: 1.4375rem;
  }
}

.p-career-results__bg {
  padding-block: 5rem;
  background-color: var(--color-light-green);
}
@media screen and (min-width: 768px) {
  .p-career-results__bg {
    padding-block: 6.25rem 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-career-results__inner {
    max-width: 85.75rem;
  }
}

.p-career-results__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__content {
    margin-top: 3.5625rem;
  }
}

.p-career-results__desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-career-results__desc {
    text-align: center;
  }
}

.p-career-results__items {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__items {
    margin-top: 2.5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem min(3.0555555556vw, 44px);
  }
}

.p-career-results__item {
  padding: 1rem 1rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-green);
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__item {
    padding: 2.25rem 1.5rem 3.125rem;
  }
}

/* 2番目を3番目の位置に */
@media screen and (min-width: 768px) {
  .p-career-results__item:nth-child(2) {
    order: 3;
  }
}

/* 3番目を2番目の位置に */
@media screen and (min-width: 768px) {
  .p-career-results__item:nth-child(3) {
    order: 2;
    padding-inline: 1.5rem;
  }
}

/* 4番目を4番目の位置に */
@media screen and (min-width: 768px) {
  .p-career-results__item:nth-child(4) {
    order: 4;
    padding-inline: 1.5rem;
  }
}

.p-career-results__item-head {
  padding: 0.25rem 0.5rem;
  background-color: var(--color-light-green);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-head {
    padding: 1rem;
  }
}

.p-career-results__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-heading {
    font-size: max(1.25rem, 10px);
  }
}

.p-career-results__item-content1 {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-content1 {
    margin-top: 1.125rem;
    margin-inline: auto;
    max-width: 29.875rem;
  }
}

.p-career-results__item-content2 {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-content2 {
    margin-top: 1.125rem;
    text-align: center;
  }
}

.p-career-results__item-content3 {
  margin-top: 1rem;
  margin-inline: auto;
  max-width: 19.3125rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-content3 {
    margin-top: 1.625rem;
    max-width: 26.0625rem;
  }
}

.p-career-results__item-content4 {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-content4 {
    margin-top: 1.125rem;
  }
}

.p-career-results__item-title {
  text-align: center;
}

.p-career-results__item-title-text {
  font-family: var(--font-zen-old-mincho);
  color: var(--color-deep-green);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-title-text {
    font-size: max(1.75rem, 10px);
  }
}

.p-career-results__note-ref {
  font-family: var(--font-zen-old-mincho);
  color: var(--color-deep-green);
  font-size: max(0.75rem, 10px);
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-career-results__note-ref {
    margin-left: 0.5rem;
    transform: translateY(-0.375rem);
  }
}

.p-career-results__item-title small {
  display: block;
  font-size: max(0.875rem, 10px);
}
@media screen and (min-width: 768px) {
  .p-career-results__item-title small {
    margin-top: -0.25rem;
  }
}

.p-career-results__item-no {
  padding-right: 0.25rem;
  margin-top: 0.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-no {
    padding-right: 0;
    padding-left: 0.5rem;
    margin-top: 0.8125rem;
  }
}

.p-career-results__item-no-text {
  color: #e74c3c;
  font-family: var(--font-marcellus);
  font-size: max(5rem, 10px);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
  min-width: 11.25rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-no-text {
    min-width: 15.625rem;
    font-size: max(6.875rem, 10px);
  }
}

.p-career-results__item-no-unit {
  color: #e74c3c;
  font-family: var(--font-marcellus);
  font-size: max(1.875rem, 10px);
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-no-unit {
    font-size: max(3.5rem, 10px);
  }
}

.p-career-results__note-text {
  margin-top: 0.25rem;
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: right;
}

.p-career-results__item-container {
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  padding: 0.6875rem 1rem;
  border: 1px solid var(--color-border-green);
}
@media screen and (min-width: 768px) {
  .p-career-results__item-container {
    padding: 0.6875rem 1.375rem;
  }
}

.p-career-results__item-copy {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-career-results__item-copy::after {
  margin-top: 0.3125rem;
  margin-inline: auto;
  display: block;
  height: 2px;
  width: 4em;
  content: "";
  background-color: var(--color-deep-green);
}
@media screen and (min-width: 768px) {
  .p-career-results__item-copy::after {
    margin-top: 0.5rem;
  }
}

.p-career-results__item-list-wrap {
  margin-top: 1.125rem;
}

.p-career-results__item-sub-heading {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-career-results__item-list {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-career-results__item-list-item {
    font-size: 1rem;
  }
}

.p-career-results__item-list-etc {
  margin-top: -0.5rem;
  text-align: right;
}

.p-career-results__item-list2-wrap {
  margin-top: 0.4375rem;
}

.p-career-results__item-desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-career-results__item-content4 .p-career-results__item-desc {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.p-career-results__item-note {
  display: block;
  text-align: right;
}

.p-career-results__button {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-career-results__button {
    margin-top: 3.75rem;
  }
}

.p-career-support__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-support__content {
    margin-top: 3.4375rem;
  }
}

.p-career-support__desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}

.p-career-support__summary {
  margin-top: 2.5rem;
}

.p-career-support__summary-wrap {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-support__summary-wrap {
    grid-template-columns: 633fr 317fr;
    gap: 3.125rem;
  }
}

.p-career-support__summary-desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-career-support__summary-image {
  order: -1;
}
@media screen and (min-width: 768px) {
  .p-career-support__summary-image {
    order: 0;
  }
}

.p-career-support__items {
  margin-top: 2.5rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-career-support__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.375rem;
  }
}

.p-career-support__item {
  padding: 1rem;
  border: 1px solid var(--color-border-green);
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-career-support__item {
    padding: 1.5rem;
  }
}

.p-career-support__item-image img {
  aspect-ratio: 441/147;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-career-support__item-content {
  margin-top: 0.5rem;
}

.p-career-support__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-career-support__item-heading {
    font-size: max(1.5rem, 10px);
  }
}

.p-career-support__item-desc {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-career {
  padding-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-career {
    padding-bottom: 8.75rem;
  }
}

.p-career__support {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-career__support {
    margin-top: 6.375rem;
  }
}

.p-career__environment {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-career__environment {
    margin-top: 6.3125rem;
  }
}

.p-career__graduate {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-career__graduate {
    margin-top: 6.125rem;
  }
}

/* （the_content()で出力したものへのスタイル） */
.wp-block-file a,
.p-content p,
.p-content li,
.p-content th,
.p-content td {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  color: #000000;
  line-height: 1.8;
  word-wrap: break-word;
}
@media screen and (min-width: 768px) {
  .wp-block-file a,
  .p-content p,
  .p-content li,
  .p-content th,
  .p-content td {
    font-size: max(1rem, 10px);
  }
}

.p-content h2 {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  background-color: var(--color-light-green);
  padding: 0.25rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-content h2 {
    font-size: max(1.25rem, 10px);
    padding: 0.5rem 1rem;
  }
}

.p-content h3 {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  padding: 0.25rem 1.3125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-content h3 {
    font-size: max(1.25rem, 10px);
    padding: 0.125rem 1.3125rem;
  }
}

.p-content h3::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 0.3125rem;
  height: 100%;
  background-color: var(--color-deep-green);
}

.p-content h4 {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-content h4 {
    font-size: max(1.1875rem, 10px);
  }
}

.wp-block-file,
.wp-block-image,
.p-content p:nth-child(n+2),
.p-content h2:nth-child(n+2),
.p-content h3:nth-child(n+2),
.p-content h4:nth-child(n+2),
.p-content h5:nth-child(n+2),
.p-content h6:nth-child(n+2),
.p-content h2 + ul:nth-of-type(n + 2),
.p-content h2 + ol:nth-of-type(n + 2),
.p-content ul:not(ul ul),
.p-content ol:not(ol ol),
.p-content figure {
  margin-top: 1rem;
  max-width: 100%;
}

.p-content img {
  width: auto;
}

.p-content figure.aligncenter,
.p-content img.aligncenter {
  margin-right: auto;
  margin-left: auto;
}

.p-content figure.alignright,
.p-content img.alignright {
  margin-left: auto;
}

.p-content ol {
  counter-reset: item;
}

.p-content ol > li {
  counter-increment: item;
}

.p-content ol > li::before {
  content: counters(item, ".") ". ";
  margin-right: 0.5em;
}

.p-content ul > li {
  text-indent: -1.25rem;
  padding-left: 1.25rem;
}

.p-content ul > li::before {
  content: "・";
  margin-right: 0.3125rem;
}

.p-content ul > li ol {
  counter-reset: number 0;
}

.p-content ul > li ol > li {
  text-indent: -2em;
  padding-left: 2em;
}

.p-content ul > li ol > li::before {
  counter-increment: number 1;
  content: "(" counter(number) ") ";
}

.p-content table {
  border-collapse: collapse;
  --cell-padding: 0.5rem 1rem;
  --table-border: 1px solid var(--color-border-green);
}

:is(.p-content th, .p-content td, .wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th) {
  padding: var(--cell-padding);
  border: var(--table-border);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--color-light-green);
}

.p-content figure.aligncenter,
.p-content img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  float: none;
}

.p-content figure.alignright,
.p-content img.alignright {
  margin-left: auto;
  float: none;
}

.p-content a {
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-weight: 700;
  color: var(--color-deep-green);
  text-decoration: underline;
}

.p-content .wp-block-group {
  padding: 1.5rem;
  background-color: #f7f8f8;
  border-radius: 1rem;
  font-size: max(1rem, 10px);
  font-weight: 300;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-content .wp-block-group {
    padding: 1.5rem 1.875rem;
  }
}

.p-content cite {
  font-style: normal;
}

.wp-block-file:not(.wp-element-button) a {
  display: flex;
  align-content: flex-start;
  text-decoration: underline;
}

.wp-block-file:not(.wp-element-button) a::before {
  margin-top: 0.5rem;
  margin-right: 0.25rem;
  flex-shrink: 0;
  transform: translateY(-0.5rem);
  display: inline-block;
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1/1;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_pdf.svg) no-repeat center/contain;
  content: "";
}
@media screen and (min-width: 768px) {
  .wp-block-file:not(.wp-element-button) a::before {
    margin-top: 1rem;
    margin-right: 0.5rem;
    width: 2rem;
  }
}

.p-content pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.wp-block-buttons {
  margin-top: 1rem;
}

.p-content a.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding-block: 0.6875rem;
  padding-inline: 2rem 1.5rem;
  background-color: transparent;
  color: var(--color-deep-green);
  border: 1px solid;
  border-radius: 0.5rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease-in-out, transform 0.1s ease-in-out;
}

@media (any-hover: hover) {
  .p-content a.wp-block-button__link:hover {
    background-color: var(--color-light-green);
    transform: scale(1.02);
    opacity: 1;
  }
}
.p-content a.wp-block-button__link:focus-visible {
  background-color: var(--color-light-green);
  transform: scale(1.02);
  opacity: 1;
}

.p-course {
  padding-bottom: 7.5rem;
}

.p-course [data-dept=economics] {
  --text-color: var(--color-orange);
  --bg-color: var(--bg-orange);
  --text-bg: var(--orange-gray);
  --logo-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_1.svg);
  --gradient-bg: linear-gradient(#f4d368, #cd841e);
}

.p-course [data-dept=business] {
  --text-color: var(--color-purple);
  --bg-color: var(--bg-purple);
  --text-bg: #fbf9ff;
  --logo-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_2.svg);
  --gradient-bg: linear-gradient(#571bbf, #2c1563);
}

.p-course [data-dept=tourism-policy] {
  --text-color: var(--color-light-blue);
  --bg-color: var(--bg-light-blue);
  --text-bg: var(--gray-lightblue);
  --logo-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_3.svg);
  --gradient-bg: linear-gradient(#a3e3ff, #0d7cac);
}

.p-course [data-dept=graduate] {
  --text-color: var(--color-brown);
}

.p-course__features-content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-course__features-content {
    margin-top: 3.5rem;
  }
}

.p-course__section + .p-course__section {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-course__section + .p-course__section {
    margin-top: 3.5625rem;
  }
}

.p-course__features-sub-heading {
  text-align: center;
}

.p-course__features-items {
  margin-top: 2.5rem;
  display: grid;
  gap: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-course__features-items {
    margin-top: 3.5625rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
  }
}

.p-course__features-item {
  position: relative;
  padding: 3.125rem 0.9375rem 1.125rem;
  color: var(--text-color);
  background-color: var(--bg-color);
  min-width: 16.125rem;
}

.p-course__features-item::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 4.0625rem;
  aspect-ratio: 1;
  background: no-repeat center/contain;
  background-image: var(--logo-image);
  content: "";
}

.p-course__features-item-heading {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
}

.p-course__features-item-number {
  margin-top: 0.375rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-course__features-item-dept {
  margin-top: 1rem;
  padding-inline: 1.25rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.p-course__features-list {
  margin-top: 0.375rem;
  display: grid;
  gap: 0.1875rem;
}

.p-course__features-list-item {
  padding: 0.25rem 1.25rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  background-color: var(--text-bg);
}

.p-course__features-copy {
  margin-top: 1.4375rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}

.p-course__features-processes {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.1875rem;
  scrollbar-width: none;
}

.p-course__process {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  min-width: 13.5rem;
  padding: 1.5rem 0.75rem 0.75rem;
  background-color: var(--gb-color);
  --item-color: var(--color-deep-green);
}

.p-course__process:nth-child(1) {
  --gb-color: var(--color-light-green);
  --item-color: var(--color-deep-green);
}

.p-course__process:nth-child(2),
.p-course__process:nth-child(3) {
  --gb-color: var(--color-border-green);
  --item-color: var(--color-deep-green);
}

.p-course__process:nth-child(4) {
  --gb-color: var(--color-deep-green);
  --item-color: var(--color-white);
}

.p-course__process:nth-child(1) {
  background-color: var(--color-light-green);
}

.p-course__process-heading {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem 1.5rem;
  background-color: var(--color-white);
  border-radius: 100vh;
  color: var(--color-deep-green);
}

.p-course__process-items {
  margin-top: 1.875rem;
  align-self: center;
  text-align: center;
}

.p-course__process-item {
  color: var(--item-color, --color-deep-green);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}

.p-course__process-desc {
  margin-top: 0.8125rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0.5rem;
  background-color: rgba(255, 255, 255, 0.8);
}

.p-course__process-desc-item {
  align-self: center;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}

.p-course__process-semi {
  grid-column: 2/5;
  padding: 0.625rem;
  border: 1px solid var(--color-border-green);
  text-align: center;
}

.p-course__undergraduate {
  margin-top: 6.25rem;
}

@media screen and (min-width: 768px) {
  .p-course__undergraduate-top-inner {
    max-width: calc(75rem + 172px);
  }
}

.p-course__table-wrap {
  scrollbar-width: none;
}

.p-course__table {
  margin-top: 5.625rem;
  border-collapse: collapse;
  --table-border: 1px solid var(--border-gray);
}

.p-course__thead-th {
  position: relative;
  padding: 1.875rem 0.9375rem 0.625rem;
  color: var(--text-color);
  background-color: var(--bg-color);
  border: var(--table-border);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-course__thead-th:nth-child(n+2) {
  width: 22.5rem;
  min-width: 16.875rem;
}

.p-course__thead-th::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 4.0625rem;
  aspect-ratio: 1;
  background: no-repeat center/contain;
  background-image: var(--logo-image);
  content: "";
}

.p-course__tbody-th {
  padding-inline: 1.25rem;
  border: var(--table-border);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.1875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.p-course__tr:nth-child(odd) .p-course__tbody-th {
  background-color: #e4e4e4;
}

.p-course__td {
  padding-block: 0.8125rem;
  padding-inline: 1.4375rem;
  border: var(--table-border);
  font-size: max(1rem, 10px);
  font-weight: 400;
}

.p-course__tr:nth-child(odd) .p-course__td {
  background-color: var(--text-bg);
}

.p-course__td-li {
  display: block grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  align-items: flex-start;
}

.p-course__td-li::before {
  --icon-size: 0.25rem;
  margin-block: calc((1lh - var(--icon-size)) / 2);
  block-size: var(--icon-size);
  aspect-ratio: 1/1;
  background-color: currentColor;
  border-radius: 50%;
  content: "";
}

.p-course__undergraduate-bottom-inner {
  margin-top: 4.375rem;
}

.p-course__undergraduate-detail {
  display: grid;
  gap: 3.4375rem;
}

.p-course__dept-head {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-course__dept-head {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.9375rem;
  }
}

.p-course__dept-heading {
  color: var(--text-color);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-course__dept-heading {
    font-size: max(1.75rem, 10px);
  }
}

.p-course__dept-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.p-course__dept-item {
  padding: 0.25rem 1.125rem;
  background-color: var(--text-bg);
  color: var(--text-color);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-course__dept-item {
    padding: 0.5rem 1.5rem;
  }
}

.p-course__dept-content {
  margin-top: 1.5rem;
}

.p-course__dept-summary {
  display: grid;
  gap: 1.0625rem;
  align-items: start;
}
@media screen and (min-width: 768px) {
  .p-course__dept-summary {
    grid-template-columns: 1fr auto;
  }
}

.p-course__dept-button {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-course__dept-button {
    text-align: left;
  }
}

.p-course__dept-copy {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-course__dept-copy {
    font-size: max(1.25rem, 10px);
  }
}

.p-course__dept-desc {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-course__dept-more {
  margin-top: 2.8125rem;
  position: relative;
  background-color: var(--text-bg);
  padding: 3rem 1.25rem 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-course__dept-more {
    padding: 4.25rem 2.375rem 1.75rem;
  }
}

.p-course__more-heading-wrap {
  position: absolute;
  top: 0;
  left: -0.625rem;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .p-course__more-heading-wrap {
    left: -1.25rem;
  }
}

.p-course__more-heading {
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.25rem;
  padding-inline: 0.9375rem 2rem;
  background-image: var(--gradient-bg);
  color: var(--color-white);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  clip-path: polygon(calc(100% - 0.875rem) 0, 100% 50%, calc(100% - 0.875rem) 100%, 0 100%, 0 0);
}
@media screen and (min-width: 768px) {
  .p-course__more-heading {
    padding-block: 0.6875rem;
    padding-inline: 0.9375rem 2rem;
    font-size: max(1.25rem, 10px);
    clip-path: polygon(calc(100% - 1.4375rem) 0, 100% 50%, calc(100% - 1.4375rem) 100%, 0 100%, 0 0);
  }
}

.p-course__more-items {
  display: grid;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-course__more-items {
    gap: 0.9375rem;
  }
}

.p-course__more-item-content {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-course__more-item-content {
    gap: 1.5rem;
    grid-template-columns: 1fr auto;
  }
}

@media screen and (min-width: 768px) {
  .p-course__more-item:nth-of-type(even) .p-course__more-item-content {
    direction: rtl;
  }
}

.p-course__more-item-heading {
  color: var(--text-color);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-course__more-item-desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-course__more-item-desc {
    direction: ltr;
  }
}

.p-course__more-button {
  margin-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-course__more-button {
    text-align: left;
    margin-top: 0.25rem;
  }
}

.p-course__more-item-image {
  order: -1;
  width: 70%;
}
@media screen and (min-width: 768px) {
  .p-course__more-item-image {
    order: 0;
    width: 18.75rem;
  }
}

.p-course__more-item-image img {
  aspect-ratio: 300/240;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-course__graduate {
  margin-top: 6.5rem;
}

@media screen and (min-width: 768px) {
  .p-course__graduate-inner {
    max-width: 83.25rem;
  }
}

.p-course__graduate-desc {
  margin-top: 1.875rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-course__graduate-desc {
    margin-top: 3.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-course__graduate-content {
    margin-inline: auto;
    max-width: 62.5rem;
  }
}

.p-course__graduate-title {
  margin-top: 2.5rem;
  background-color: var(--color-brown);
  color: var(--color-white);
  padding: 0.8125rem 1.4375rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--font-zen-old-mincho);
}
@media screen and (min-width: 768px) {
  .p-course__graduate-title {
    gap: 1.125rem;
  }
}

.p-course__graduate-title-text1 {
  padding: 0.25rem 1.5625rem;
  background-color: var(--color-white);
  color: var(--color-brown);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-course__graduate-title-text1 {
    font-size: max(1rem, 10px);
  }
}

.p-course__graduate-title-text2 {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-course__graduate-title-text2 {
    font-size: max(1.75rem, 10px);
  }
}

.p-course__graduate-program {
  position: relative;
  display: grid;
  gap: 2.25rem;
  align-items: start;
}
@media screen and (min-width: 768px) {
  .p-course__graduate-program {
    margin-left: 2.5rem;
    grid-template-columns: auto 1fr;
  }
}

.p-course__graduate-title + .p-course__graduate-program {
  margin-top: 2.125rem;
}

.p-course__graduate-program + .p-course__graduate-program {
  margin-top: 2.625rem;
}

@media screen and (min-width: 768px) {
  .p-course__graduate-program:first-of-type:before {
    position: absolute;
    inset: -2.125rem auto -3.875rem 0;
    width: 1px;
    content: "";
    background-color: #000;
  }
}

.p-course__graduate-sub-heading {
  display: grid;
  grid-template-columns: auto auto;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .p-course__graduate-sub-heading::before {
    margin-top: 1.25rem;
    display: inline-block;
    width: 2.5625rem;
    height: 1px;
    content: "";
    background-color: #000;
  }
}

.p-course__graduate-sub-heading-text {
  padding: 0.25rem 1.5625rem;
  background-color: var(--color-brown);
  color: var(--color-white);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
}

.p-course__graduate-items {
  display: grid;
  gap: 1.4375rem;
}

.p-course__graduate-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9375rem;
  align-items: start;
}

.p-course__graduate-item::before {
  display: inline-block;
  width: 4.375rem;
  aspect-ratio: 1;
  background: no-repeat center/contain;
  content: "";
}
@media screen and (min-width: 768px) {
  .p-course__graduate-item::before {
    width: 6.125rem;
  }
}

.p-course__graduate-program:nth-of-type(1) .p-course__graduate-item:nth-of-type(1)::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_graduate1-1.png);
}

.p-course__graduate-program:nth-of-type(1) .p-course__graduate-item:nth-of-type(2)::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_graduate1-2.png);
}

.p-course__graduate-program:nth-of-type(2) .p-course__graduate-item:nth-of-type(1)::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_graduate2-1.png);
}

.p-course__graduate-program:nth-of-type(2) .p-course__graduate-item:nth-of-type(2)::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_graduate2-2.png);
}

.p-course__graduate-program:nth-of-type(2) .p-course__graduate-item:nth-of-type(3)::before {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/course/course_graduate2-3.png);
}

.p-course__graduate-item-wrap {
  display: grid;
  gap: 0.6875rem;
}

.p-course__graduate-item-heading {
  color: var(--color-brown);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}

.p-course__graduate-item-desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-course__graduate-button {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-course__graduate-button {
    margin-top: 3.75rem;
  }
}

:where(dialog) {
  inline-size: unset;
  max-inline-size: unset;
  block-size: unset;
  max-block-size: unset;
  padding: unset;
  margin: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(:root[data-mousedown] dialog *) {
  outline: none;
}

[data-modal-open]:where(:root[data-mousedown] *) {
  outline: none;
}

.p-dialog {
  --duration: 0.5s;
  margin: auto;
  width: calc(100% - 2rem);
  height: calc(100svb - 2rem);
  background-color: var(--color-white);
  border-radius: 0.5rem;
  box-shadow: 0 0 0 100vmax rgba(51, 51, 51, 0.8);
  transition: opacity var(--duration), scale var(--duration);
  contain: strict;
  outline: none;
}
@media screen and (min-width: 768px) {
  .p-dialog {
    max-width: 62.5rem;
    height: calc(100svb - 10.75rem);
  }
}
.p-dialog:not([data-active=true]) {
  opacity: 0;
  scale: 0.95;
}
.p-dialog::backdrop {
  transition: opacity 0.5s;
}
.p-dialog:not([data-active=true])::backdrop {
  opacity: 0;
}

.p-dialog__container {
  block-size: 100%;
  padding: 3.5rem 1.25rem;
  overflow: auto;
  overscroll-behavior: contain;
}
@media screen and (min-width: 768px) {
  .p-dialog__container {
    padding: 3.25rem 2.625rem;
    display: grid;
    grid-template-columns: 16.25rem 1fr;
    gap: 1.5625rem;
  }
}

.p-dialog__head {
  border-bottom: 1px solid var(--color-border-green);
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-dialog__head {
    border-bottom: 0;
    padding-right: 1.25rem;
    border-right: 1px solid var(--color-border-green);
  }
}

.p-dialog__position {
  padding-inline: 0.5rem;
  background-color: var(--color-deep-green);
  border-radius: 100vh;
  color: var(--color-white);
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-dialog__title {
  margin-top: 0.6875rem;
  color: var(--color-deep-green);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.p-dialog__name-ja {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.p-dialog__name-en {
  margin-top: 0.4375rem;
  font-family: var(--font-marcellus);
  font-size: max(1rem, 10px);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.p-dialog__dept {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1;
}

.p-dialog__taught_subjects {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
}

.p-dialog__link {
  margin-top: 2.5rem;
}

.p-dialog__content {
  display: grid;
  gap: 2.0625rem;
  padding-top: 1.25rem;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-dialog__content {
    padding-top: 0.25rem;
  }
}

.p-dialog__section-title {
  color: var(--color-deep-green);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8125rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  align-items: start;
}

.p-dialog__section-title-no {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  transform: translateY(-0.25rem);
}

.p-dialog__section-content {
  margin-top: 0.875rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-dialog__thesis-item {
  display: block grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  align-items: flex-start;
}

.p-dialog__thesis-item::before {
  --icon-size: 0.5rem;
  margin-block: calc((1lh - var(--icon-size)) / 2);
  block-size: var(--icon-size);
  aspect-ratio: 1/1;
  background-color: var(--color-deep-green);
  border-radius: 50%;
  content: "";
}

.p-dialog__close {
  position: absolute;
  z-index: 1;
  top: 1.5rem;
  right: 1.5rem;
  width: 3.375rem;
  aspect-ratio: 1;
  transition: opacity 0.3s;
  background-color: var(--color-deep-green);
  border-radius: 50%;
}
@media (any-hover: hover) {
  .p-dialog__close:hover {
    opacity: 0.7;
  }
}
.p-dialog__close:focus-visible {
  opacity: 0.7;
}

.p-dialog__close::before,
.p-dialog__close::after {
  position: absolute;
  inset: 0;
  display: inline-block;
  width: 59.2592592593%;
  height: 0.1875rem;
  margin: auto;
  content: "";
  background-color: var(--color-white);
}

.p-dialog__close::before {
  rotate: 45deg;
}

.p-dialog__close::after {
  rotate: 135deg;
}

.p-drawer {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 6.25rem 0 5rem;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
}

.p-drawer[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.p-drawer__nav-items {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.p-drawer__nav-link {
  display: flex;
  gap: 0.625rem;
  padding: 0.625rem 3.125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
}

.p-drawer__en {
  margin-top: 0.75rem;
  text-align: center;
}

.p-drawer__donation {
  margin-top: 2.5rem;
  text-align: center;
}

.p-drawer__button-orientations {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.p-exam-aply__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-exam-aply__content {
    margin-top: 3.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-exam-aply__desc {
    text-align: center;
  }
}

.p-exam-aply__buttons {
  margin-top: 2.5rem;
}

.p-exam-open-campus {
  padding-block: 3.75rem;
  background-color: var(--color-light-green);
}
@media screen and (min-width: 768px) {
  .p-exam-open-campus {
    padding-block-start: 6.25rem;
  }
}

.p-exam-open-campus__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-exam-open-campus__content {
    margin-top: 3.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-exam-open-campus__desc {
    text-align: center;
  }
}

.p-exam-open-campus__buttons {
  margin-top: 2.5rem;
}

.p-exam-support__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-exam-support__content {
    margin-top: 3.375rem;
  }
}

.p-exam-support__summary {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-exam-support__summary {
    font-size: max(1.25rem, 10px);
    text-align: center;
  }
}

.p-exam-support__wrap {
  margin-top: 2.5rem;
  display: grid;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-exam-support__wrap {
    margin-top: 1.875rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.75rem;
  }
}

.p-exam-support__figcaption {
  margin-top: 0.5rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-exam-support__figcaption {
    margin-top: 1rem;
    font-size: max(1.125rem, 10px);
  }
}

.p-exam-support__desc1 {
  margin-top: 1rem;
}

.p-exam-support__desc2 {
  margin-top: 1rem;
}

.p-exam-support__buttons {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-exam-support__buttons {
    margin-top: 2rem;
  }
}

.p-exam-type__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-exam-type__content {
    margin-top: 3.375rem;
  }
}

.p-exam-type__dl {
  margin-top: 1rem;
  border: 1px solid var(--color-border-green);
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-exam-type__dl {
    margin-top: 2.1875rem;
    grid-template-columns: 9.875rem 1fr 1fr 1fr 1fr;
    justify-content: center;
  }
}

.p-exam-type__dt {
  padding: 0.25rem 1rem;
  font-weight: 900;
  background-color: var(--color-border-green);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p-exam-type__dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-exam-type__dd {
    border-left: 1px solid var(--color-border-green);
  }
}

.p-exam-type__dd small {
  font-size: inherit;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-exam-type__dd small {
    display: block;
  }
}

.p-exam-type__dd:nth-of-type(n + 2) {
  border-top: 1px solid var(--color-border-green);
}
@media screen and (min-width: 768px) {
  .p-exam-type__dd:nth-of-type(n + 2) {
    border-top: none;
  }
}

.p-exam-type__dd:nth-of-type(odd) {
  background-color: var(--color-light-green);
}

.p-exam-type__desc2 {
  margin-top: 2.5rem;
}

.p-exam-type__buttons {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-exam-type__buttons {
    margin-top: 1.125rem;
  }
}

.p-exam {
  padding-bottom: 7.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-exam__support {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-exam__support {
    margin-top: 6.125rem;
  }
}

.p-exam__open-campus {
  margin-top: 3.75rem;
}

.p-exam__aply {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-exam__aply {
    margin-top: 6.25rem;
  }
}

.p-features-history {
  padding-block: 3.5rem;
  background-color: #f2f6f5;
}

@media screen and (min-width: 768px) {
  .p-features-history__inner {
    max-width: calc(75rem + 172px);
  }
}

.p-features-history__content {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-features-history__content {
    margin-top: 3.4375rem;
  }
}

.p-features-history__media {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-history__media {
    grid-template-columns: 653fr 489fr;
    gap: 3.625rem;
  }
}

.p-features-history__media-content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-features-history__media-content {
    display: block;
  }
}

.p-features-history__media-heading {
  order: 1;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .p-features-history__media-heading {
    order: 0;
    font-size: max(1.75rem, 10px);
  }
}

.p-features-history__media-desc {
  order: 3;
}
@media screen and (min-width: 768px) {
  .p-features-history__media-desc {
    order: 0;
    margin-top: 1.125rem;
    font-size: max(1rem, 10px);
    font-weight: 400;
    line-height: 1.7;
  }
}

.p-features-history__media-button {
  margin-top: 1rem;
  order: 4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-features-history__media-button {
    margin-top: 1.875rem;
    order: 0;
    text-align: left;
  }
}

.p-features-history__media-image {
  order: 2;
}
@media screen and (min-width: 768px) {
  .p-features-history__media-image {
    order: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-features-museum__inner {
    max-width: calc(75rem + 172px);
  }
}

.p-features-museum__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-museum__content {
    margin-top: 3.375rem;
  }
}

.p-features-museum__desc {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-features-museum__contact {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-museum__contact {
    margin-top: 1.25rem;
  }
}

.p-features-museum__contact-info {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-features-museum__contact-desc {
  margin-top: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-features-museum__contact-desc {
    margin-top: 1rem;
  }
}

.p-features-museum__contact-items {
  margin-top: 0.5rem;
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .p-features-museum__contact-items {
    margin-top: 1rem;
  }
}

.p-features-museum__media {
  margin-top: 1rem;
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media {
    margin-top: 2.3125rem;
    gap: min(4.0972222222vw, 59px);
    grid-template-columns: 521fr 620fr;
  }
}

.p-features-museum__media-content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-content {
    display: block;
    padding-top: 0.625rem;
    padding-left: 1.9375rem;
  }
}

.p-features-museum__media-heading {
  margin-top: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 4rem;
  padding: 0.3125rem 0.25rem;
  background-color: var(--color-yellow-green);
  color: var(--color-white);
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-heading {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-features-museum__media-items + .p-features-museum__media-heading {
    margin-top: 1.875rem;
  }
}

.p-features-museum__media-items {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-items {
    margin-top: 1rem;
  }
}

.p-features-museum__media-dl {
  margin-top: 0.5rem;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-dl {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    margin-top: 1rem;
  }
}

.p-features-museum__media-dt {
  color: var(--color-deep-green);
  font-weight: 500;
}

.p-features-museum__media-dd {
  position: relative;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-dd {
    -moz-column-gap: 1.0625rem;
         column-gap: 1.0625rem;
  }
}

.p-features-museum__media-dd span {
  padding-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-dd span {
    padding-bottom: 0.5rem;
  }
}

.p-features-museum__media-dd::before {
  transform: translateY(0.5lh);
  width: 1px;
  height: auto;
  background-color: var(--color-deep-green);
  content: "";
}

.p-features-museum__media-dd::after {
  position: absolute;
  top: 0.5lh;
  left: 1px;
  transform: translate(-55%, -50%);
  width: 0.5rem;
  aspect-ratio: 1/1;
  background-color: var(--color-deep-green);
  border-radius: 50%;
  content: "";
}

.p-features-museum__media-image {
  order: -1;
}
@media screen and (min-width: 768px) {
  .p-features-museum__media-image {
    order: 0;
  }
}

.p-features-philosophy__inner {
  max-width: initial;
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-features-philosophy__inner {
    max-width: calc(75rem + 172px);
    padding-inline: 86px;
  }
}

.p-features-philosophy__bg {
  padding: 3.75rem 1.25rem;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/features/features_philosophy_bg.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-features-philosophy__bg {
    padding: 3.75rem;
  }
}

.p-features-philosophy__heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-features-philosophy__heading {
    font-size: max(2rem, 10px);
  }
}

.p-features-philosophy__content {
  margin-top: 1rem;
  margin-inline: auto;
  max-width: 33.75rem;
}
@media screen and (min-width: 768px) {
  .p-features-philosophy__content {
    margin-top: 3.625rem;
    max-width: initial;
  }
}

.p-features-philosophy__desc {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-features-philosophy__desc {
    font-size: max(1.25rem, 10px);
    text-align: center;
  }
}

.p-features-philosophy__button {
  margin-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-features-philosophy__button {
    margin-top: 3.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-features-research__inner {
    max-width: calc(75rem + 172px);
  }
}

.p-features-research__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-research__content {
    margin-top: 3.25rem;
  }
}

.p-features-research__info {
  margin-top: 1rem;
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-features-research__info {
    margin-top: 2.5rem;
    grid-template-columns: 621fr 521fr;
    gap: 3.625rem;
    align-items: center;
  }
}

.p-features-research__info-content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-research__info-content {
    margin-top: 0;
    gap: 0;
  }
}

.p-features-research__info-heading {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 4rem;
  padding: 0.125rem 0.5rem;
  background-color: var(--color-yellow-green);
  color: var(--color-white);
  font-size: max(1rem, 10px);
  font-weight: 500;
  text-align: center;
}
.p-features-research__info-heading + .p-features-research__info-desc {
  margin-top: 1rem;
}

.p-features-research__info-desc + .p-features-research__info-heading {
  margin-top: 1.25rem;
}

.p-features-research__wrap {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-research__wrap {
    margin-top: 2.625rem;
    margin-inline: auto;
    max-width: 62.5rem;
  }
}

.p-features-research__table-wrap {
  scrollbar-width: none;
}

.p-features-research__table {
  border-collapse: collapse;
  --table-border: 1px solid var(--color-border-green);
}
@media screen and (min-width: 768px) {
  .p-features-research__table {
    width: 100%;
  }
}

.p-features-research__th {
  padding-block: 0.5625rem;
  background-color: #d0e5df;
  border: var(--table-border);
  font-weight: 500;
}

.p-features-research__th[colspan="2"] {
  width: 15.625rem;
  min-width: 11.25rem;
}

.p-features-research__th:nth-child(2) {
  width: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-features-research__th:nth-child(2) {
    width: 7.75rem;
  }
}

.p-features-research__td {
  border: var(--table-border);
  width: 15.625rem;
  min-width: 13.5rem;
  text-align: center;
  padding-block: 0.4375rem;
}

.p-features-research__note {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-research__note {
    margin-top: 2.25rem;
    grid-template-columns: auto auto;
    align-items: center;
  }
}

.p-features-research__note-heading {
  font-weight: 500;
}

.p-features-research__note-items {
  margin-top: 1rem;
}

.p-features-research__note-items a {
  color: var(--color-deep-green);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.p-features-research__note-contact {
  padding: 1rem;
  background-color: var(--color-light-green);
}
@media screen and (min-width: 768px) {
  .p-features-research__note-contact {
    padding: 1rem 2.8125rem;
  }
}

.p-features-research__note-contact-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-features-research__note-contact-heading {
    font-size: max(1.5rem, 10px);
  }
}

.p-features-research__note-contact-desc {
  margin-top: 1rem;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(1rem, 10px);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.p-features-research__media {
  margin-top: 2.5rem;
  padding: 2rem 1rem;
  background-color: var(--gray-lightblue);
}
@media screen and (min-width: 768px) {
  .p-features-research__media {
    margin-top: 6.5rem;
    padding: 2.125rem;
  }
}

.p-features-research__media-heading {
  color: var(--color-light-blue);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-features-research__media-heading {
    font-size: max(2rem, 10px);
  }
}

.p-features-research__media-wrap1 {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-research__media-wrap1 {
    margin-top: 1rem;
    grid-template-columns: 686fr 400fr;
    gap: 3.125rem;
  }
}

.p-features-research__media-warp2 {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-features-research__media-warp2 {
    display: block;
  }
}

.p-features-research__media-image {
  order: -1;
}
@media screen and (min-width: 768px) {
  .p-features-research__media-image {
    order: 0;
  }
}

.p-features-research__media-button {
  margin-top: 1.5rem;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .p-features-strength__inner {
    max-width: calc(75rem + 172px);
  }
}

.p-features-strength__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-features-strength__content {
    margin-top: 3.5rem;
  }
}

.p-features-strength__sections {
  display: grid;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-features-strength__sections {
    gap: 3.9375rem;
  }
}

.p-features-strength__section {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section {
    background-color: #f8f8f8;
    display: grid;
    grid-template-columns: 42.875rem 1fr;
    gap: 0.25rem;
  }
}

.p-features-strength__section-content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-content {
    display: block;
    padding: 1.25rem 2.8125rem 1.875rem 4rem;
  }
}

.p-features-strength__section-no {
  font-family: var(--font-marcellus);
}

.p-features-strength__section-no-text {
  background-image: linear-gradient(135deg, #bee041, #00ae79);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: capitalize;
  font-size: max(1.125rem, 10px);
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-no-text {
    font-size: max(1.25rem, 10px);
  }
}

.p-features-strength__section-no-number {
  background-image: linear-gradient(135deg, #bee041, #00ae79);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: capitalize;
  font-size: max(1.5rem, 10px);
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-no-number {
    font-size: max(1.875rem, 10px);
  }
}

.p-features-strength__section-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 900;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-heading {
    margin-top: 0.5625rem;
    font-size: max(1.75rem, 10px);
  }
}

.p-features-strength__section-desc {
  margin-top: 1rem;
  order: 2;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-desc {
    margin-top: 1.0625rem;
  }
}

.p-features-strength__section-desc a {
  color: var(--color-deep-green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.p-features-strength__section-button {
  margin-top: 1rem;
  order: 2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-button {
    order: 0;
    text-align: left;
  }
}

.p-features-strength__section-image {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-features-strength__section-image {
    margin-top: -1.5rem;
    margin-right: -3.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-features-strength__section:nth-of-type(even) {
    direction: rtl;
  }
}

@media screen and (min-width: 768px) {
  .p-features-strength__section:nth-of-type(even) .p-features-strength__section-content {
    direction: ltr;
    padding: 1.5625rem 2.625rem 1.875rem 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-features-strength__section:nth-of-type(even) .p-features-strength__section-image {
    margin-left: -3.5625rem;
    margin-right: 0;
  }
}

.p-features {
  padding-bottom: 7.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}

.p-features__strength {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-features__strength {
    margin-top: 5.75rem;
  }
}

.p-features__history {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-features__history {
    margin-top: 4rem;
  }
}

.p-features__museum {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-features__museum {
    margin-top: 6.375rem;
  }
}

.p-features__research {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-features__research {
    margin-top: 6.375rem;
  }
}

.p-fixed-buttons {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(1.25rem);
  transition: transform 0.3s ease-in, opacity 0.3s ease-in;
  padding: 1rem;
  background-color: var(--color-white09);
  box-shadow: 1px 1px 0.625rem 0 rgba(0, 0, 0, 0.08);
}
@media screen and (min-width: 768px) {
  .p-fixed-buttons {
    padding-inline: 0;
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
    flex-direction: column;
    background-color: transparent;
    box-shadow: none;
  }
}

.p-fixed-buttons.is-mv-passed {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.p-fixed-buttons.is-footer-visible {
  opacity: 0;
  pointer-events: none;
  transform: translateY(1.25rem);
}

.p-footer {
  padding-block: 4.625rem 1.75rem;
  background-color: var(--color-deep-green);
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-footer {
    padding-block: 4.75rem 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-footer__inner {
    max-width: calc(75rem + 172px);
  }
}

@media screen and (min-width: 768px) {
  .p-footer__top {
    display: flex;
    gap: min(2.7777777778vw, 40px);
  }
}

.p-footer__info {
  padding-top: 0.375rem;
}

.p-footer__logo {
  width: 12.6875rem;
}

.p-footer__logo-link {
  display: block;
}

.p-footer__address {
  margin-top: 1.875rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-footer__address {
    margin-top: 2.625rem;
    font-size: max(1rem, 10px);
  }
}

.p-footer__contact {
  margin-top: 2.125rem;
}
@media screen and (min-width: 768px) {
  .p-footer__contact {
    margin-top: 2.5rem;
  }
}

.p-footer__nav {
  margin-top: 2.6875rem;
}
@media screen and (min-width: 768px) {
  .p-footer__nav {
    margin-top: 0;
    flex: 1;
  }
}

.p-footer__nav-items {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-items {
    gap: 2.9375rem 2.6875rem;
    height: 42.75rem;
    flex-wrap: wrap;
    align-content: flex-end;
  }
}
@media screen and (min-width: 1280px) {
  .p-footer__nav-items {
    height: 33.75rem;
  }
}

.p-footer__nav-items-child {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-items-child {
    display: initial;
  }
}

.p-footer__nav-item-grandchild {
  padding-left: 1.25rem;
}

.p-footer__nav-link {
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  padding-block: 0.75rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-link {
    padding-block: 0.25rem;
    font-size: max(1rem, 10px);
  }
}

.p-footer__nav-link--parent {
  font-family: var(--font-zen-old-mincho);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-footer__nav-link--child,
.p-footer__nav-link--grandchild {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.p-footer__nav-link--child::before,
.p-footer__nav-link--grandchild::before {
  display: inline-block;
  width: 0.875rem;
  height: 1px;
  background-color: currentColor;
  content: "";
}

.p-footer__bottom {
  margin-top: 1.0625rem;
  padding-top: 1.25rem;
  border-top: 1px solid;
}
@media screen and (min-width: 768px) {
  .p-footer__bottom {
    padding-top: 3.3125rem;
  }
}

.p-footer__bottom-items {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-footer__bottom-items {
    flex-direction: row;
    justify-content: flex-end;
    gap: 2rem;
  }
}

.p-footer__bottom-item-link {
  display: inline grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  padding-block: 0.375rem;
  gap: 0.375rem;
}

.p-footer__nav-link[target=_blank]::after,
.p-footer__bottom-item-link[target=_blank]::after {
  --icon-size: 1rem;
  --icon-size: 1.25rem;
  margin-block: calc((1lh - var(--icon-size)) / 2);
  block-size: var(--icon-size);
  aspect-ratio: 1/1;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon_external.svg) no-repeat center/contain;
  content: "";
  transform: translateY(0);
}

.p-footer__copyright {
  margin-top: 5.3125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer__copyright {
    margin-top: 5.4375rem;
  }
}

.p-footer__copyright small {
  font-size: max(0.625rem, 10px);
  font-weight: 400;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-footer__copyright small {
    font-size: max(0.75rem, 10px);
  }
}

.p-graph {
  --color0: #ccc;
  --sum1: var(--width1);
  --sum2: calc(var(--width1) + var(--width2));
  --sum3: calc(var(--width1) + var(--width2) + var(--width3));
  --sum4: calc(var(--width1) + var(--width2) + var(--width3) + var(--width4));
  --sum5: calc(var(--width1) + var(--width2) + var(--width3) + var(--width4) + var(--width5));
  --percentage1: calc(var(--sum1) * 1%);
  --percentage2: calc(var(--sum2) * 1%);
  --percentage3: calc(var(--sum3) * 1%);
  --percentage4: calc(var(--sum4) * 1%);
  --percentage5: calc(var(--sum5) * 1%);
  /* 角度を計算で求める（HTMLの数値から、単位なし） */
  --angle1: calc(var(--width1) / 2); /* 20 / 2 = 10 */
  --angle2: calc(var(--sum1) + var(--width2) / 2); /* 20 + 20 / 2 = 30 */
  --angle3: calc(var(--sum2) + var(--width3) / 2); /* 40 + 25 / 2 = 52.5 */
  --angle4: calc(var(--sum3) + var(--width4) / 2); /* 65 + 15 / 2 = 72.5 */
  --angle5: calc(var(--sum4) + var(--width5) / 2); /* 80 + 15 / 2 = 87.5 */
  --angle6: calc(var(--sum5) + var(--width6) / 2); /* 95 + 5 / 2 = 97.5 */
  /* conic-gradientで使用する累積角度（度単位） */
  --deg1: calc(var(--sum1) * 3.6deg); /* 20 * 3.6 = 72deg */
  --deg2: calc(var(--sum2) * 3.6deg); /* 40 * 3.6 = 144deg */
  --deg3: calc(var(--sum3) * 3.6deg); /* 65 * 3.6 = 234deg */
  --deg4: calc(var(--sum4) * 3.6deg); /* 80 * 3.6 = 288deg */
  --deg5: calc(var(--sum5) * 3.6deg); /* 95 * 3.6 = 342deg */
  /* レイアウト設定 */
  position: relative;
}

.p-graph__circle {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  /* アニメーション用に初期状態はcolor0に設定 */
  background: conic-gradient(var(--color0) 0deg, var(--color0) 360deg);
  border-radius: 50%;
}

.p-graph__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-content: center;
  text-align: center;
  background-color: var(--color-white);
  aspect-ratio: 1;
  border-radius: 50%;
  width: 50%;
}

.p-graph__title-text {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-graph__title-text {
    font-size: max(2rem, 10px);
  }
}

.p-graph__title small {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-graph__title small {
    font-size: 1rem;
  }
}

.p-graph__label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(calc((var(--angle) - 25) * 3.6deg)) translateX(6.875rem) rotate(calc(-1 * (var(--angle) - 25) * 3.6deg));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  font-weight: 500;
  line-height: 1;
  /* 初期状態は非表示 */
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-graph__label {
    transform: translate(-50%, -50%) rotate(calc((var(--angle) - 25) * 3.6deg)) translateX(9.375rem) rotate(calc(-1 * (var(--angle) - 25) * 3.6deg));
  }
}

/* アニメーション後は表示 */
.p-graph__label.is-visible {
  opacity: 1;
}

/* 各ラベルの角度を個別に設定（nth-of-typeで1から開始） */
.p-graph__label:nth-of-type(1) {
  --angle: var(--angle1);
}

.p-graph__label:nth-of-type(2) {
  --angle: var(--angle2);
}

.p-graph__label:nth-of-type(3) {
  --angle: var(--angle3);
  color: var(--color-white);
}

.p-graph__label:nth-of-type(4) {
  --angle: var(--angle4);
  color: var(--color-white);
}

.p-graph__label:nth-of-type(5) {
  --angle: var(--angle5);
}

.p-graph__label:nth-of-type(6) {
  --angle: var(--angle6);
}

.p-graph__label-text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-graph__label-text {
    font-size: 1.125rem;
  }
}

.p-graph__label-value {
  margin-top: 0.25rem;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-graph__label-value {
    font-size: 1.75rem;
  }
}

.p-graph__label-percent {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-graph__label-percent {
    font-size: 1.25rem;
  }
}

.p-header {
  background-color: var(--color-white09);
}

.p-header__inner {
  display: flex;
  height: 100%;
  max-width: initial;
}
@media screen and (min-width: 1024px) {
  .p-header__inner {
    padding-inline: min(3.4722222222vw, 50px);
    gap: min(2.7777777778vw, 40px);
  }
}

.p-header__logo {
  height: 100%;
  display: flex;
  align-items: center;
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    width: 11.0625rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-header__logo {
    width: min(12.2916666667vw, 177px);
  }
}

.p-header__logo-link {
  display: flex;
  align-items: center;
  height: 100%;
  padding-left: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-header__logo-link {
    padding-left: 0;
  }
}

.p-header__menu-button {
  margin-left: auto;
  z-index: 101;
}
@media screen and (min-width: 1024px) {
  .p-header__menu-button {
    display: none;
  }
}

.p-header__pc-nav {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-header__pc-nav {
    flex: 1;
    display: flex;
    height: 100%;
    margin-left: auto;
    justify-content: space-between;
    max-width: 65rem;
  }
}

.p-header__pc-nav-items {
  height: 100%;
  display: flex;
}

.p-header__pc-nav-item {
  height: 100%;
}

.p-header__pc-nav-link {
  display: flex;
  align-items: center;
  height: 100%;
  padding-inline: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-header__pc-nav-link {
    padding-inline: min(1.1111111111vw, 16px);
    font-size: max(0.875rem, 10px);
    font-weight: 500;
  }
}

.p-header__en {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-header__en {
    margin-left: max(-1.1111111111vw, -16px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.p-header__donation {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-header__donation {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.p-list-simple__item {
  --list-indent: 0.5625rem;
  padding-left: var(--list-indent);
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  text-indent: calc(var(--list-indent) * -1);
}

.p-list-simple__item::before {
  margin-right: 0.25rem;
  content: "•";
}

.p-list__item {
  display: block grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  align-items: flex-start;
}

.p-list__item::before {
  --icon-size: 0.5rem;
  margin-block: calc((1lh - var(--icon-size)) / 2);
  block-size: var(--icon-size);
  aspect-ratio: 1/1;
  background-color: var(--color-deep-green);
  border-radius: 50%;
  content: "";
}

.p-news-list__item {
  border-top: 1px solid var(--color-border-green);
}

.p-news-list__item-link {
  display: block;
  padding-block: 1.375rem 1.625rem;
  padding-inline: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-news-list__item-link {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2.5rem;
    padding-block: 1.1875rem;
    padding-inline: 1rem;
  }
}

.p-news-list__item-thumbnail {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-news-list__item-thumbnail {
    display: block;
    width: 9.375rem;
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .p-news-list__item-thumbnail img {
    transition: transform 0.3s ease-in-out;
    aspect-ratio: 150/100;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-news-list__item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
}

.p-news-list__item-date {
  display: inline-block;
  padding-block: 0.375rem;
  color: var(--color-border-green);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-news-list__item-date {
    font-size: max(1rem, 10px);
  }
}

.p-news-list__item-categories {
  display: contents;
}

.p-news-list__category {
  display: inline-block;
  padding-block: 0.375rem;
  padding-inline: 0.625rem;
  color: var(--color-deep-green);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  border: 1px solid;
}

.p-news-list__item-title {
  margin-top: 0.4375rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.47;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 制限したい行数が3の場合 */
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-news-list__item-title {
    margin-top: 1rem;
    -webkit-line-clamp: 1; /* 制限したい行数が3の場合 */
  }
}

@media screen and (any-hover: hover) and (min-width: 768px) {
  .p-news-list__item-link:hover .p-news-list__item-thumbnail img {
    transform: scale(1.1);
  }
}
/* :focus-visible */
@media screen and (min-width: 768px) {
  .p-news-list__item-link:focus-visible .p-news-list__item-thumbnail img {
    transform: scale(1.1);
  }
}

.p-news__tabs-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-news__tabs-list {
    gap: 1.1875rem;
    justify-content: center;
  }
}

.p-news__tabs-button {
  display: block;
  padding: 0.125rem 0.75rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  color: var(--color-deep-green);
  line-height: 1.7;
  border: 1px solid var(--color-deep-green);
  transition: background-color 0.3s ease-in-out, transform 0.1s ease-in-out;
}

.p-news__tabs-item a.is-active {
  background-color: var(--color-deep-green);
  color: var(--color-white);
  cursor: default;
  pointer-events: none;
}

.p-news__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-news__content {
    margin-top: 3.625rem;
  }
}

.p-news__content .p-news-list__item:last-child {
  border-bottom: 1px solid var(--color-border-green);
}

.p-news__pagenation {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-news__pagenation {
    margin-top: 3.625rem;
  }
}

@media (any-hover: hover) {
  .p-news__tabs-item a:hover {
    background-color: var(--color-light-green);
    transform: scale(1.02);
    opacity: 1;
  }
}
/* :focus-visible */
.p-news__tabs-item a:focus-visible {
  background-color: var(--color-light-green);
  transform: scale(1.02);
  opacity: 1;
}

.p-page-top {
  opacity: 0;
  pointer-events: none;
  transform: translateY(1.25rem);
  transition: transform 0.3s ease-in, opacity 0.3s ease-in;
}

.p-page-top.is-show {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.p-page-top__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 4.0625rem;
  aspect-ratio: 1;
  background-color: var(--color-deep-green);
  border: 1px solid;
  color: var(--color-white);
  font-family: var(--font-marcellus);
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  text-transform: uppercase;
  transition: transform 0.3s ease-in-out;
}

.p-page-top__link::before {
  display: inline-block;
  width: 1.4375rem;
  height: auto;
  aspect-ratio: 23/14;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/carret_top.svg) no-repeat center/contain;
  content: "";
}

@media (any-hover: hover) {
  .p-page-top__link:hover {
    opacity: 1;
    transform: translateY(-0.3125rem);
  }
}
/* :focus-visible */
.p-page-top__link:focus-visible {
  opacity: 1;
  transform: translateY(-0.3125rem);
}

.p-pagenavi .nav-links,
.p-pagenavi .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p-pagenavi .nav-links,
  .p-pagenavi .wp-pagenavi {
    gap: 1.375rem;
  }
}

.p-pagenavi .previouspostslink,
.p-pagenavi .nextpostslink {
  display: inline-block;
}
.p-pagenavi .previouspostslink {
  order: -1;
  margin-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-pagenavi .previouspostslink {
    margin-right: 0.75rem;
  }
}

.p-pagenavi .nextpostslink {
  margin-left: 0.625rem;
  order: 2;
}
@media screen and (min-width: 768px) {
  .p-pagenavi .nextpostslink {
    margin-left: 0.75rem;
  }
}

.p-pavinavi__prev,
.p-pavinavi__next {
  display: block;
  width: 1.125rem;
  height: auto;
  aspect-ratio: 1/1;
  background: no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-pavinavi__prev,
  .p-pavinavi__next {
    width: 1.5rem;
  }
}

.p-pavinavi__prev {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon-arrow-right-orange2.svg);
  transform: scale(-1, 1);
}

.p-pavinavi__next {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon-arrow-right-orange2.svg);
}

.p-pavinavi__prev.is-disabled {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon-arrow-left-beige.svg);
  transform: scale(1, 1);
}

.p-pavinavi__next.is-disabled {
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/icon-arrow-left-beige.svg);
  transform: scale(-1, 1);
}

@media screen and (min-width: 768px) {
  .p-single__inner.l-inner {
    max-width: calc(74.6875rem + 172px);
  }
}

@media screen and (min-width: 768px) {
  .p-single__contents {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-single__container {
    width: 67.7824267782%;
  }
}

.p-single__head {
  border-bottom: 1px solid var(--color-deep-green);
  padding-bottom: 1rem;
}

.p-single__meta {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.p-single__date {
  flex-shrink: 0;
  display: inline-block;
  padding-block: 0.25rem;
  color: var(--color-border-green);
  font-size: max(1rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-single__date {
    font-size: max(1.125rem, 10px);
  }
}

.p-single__cats {
  display: contents;
}

.p-single__cat {
  display: inline-block;
  padding-block: 0.375rem;
  padding-inline: 0.75rem;
  color: var(--color-deep-green);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1;
  border: 1px solid;
}

.p-single__title {
  margin-top: 1.25rem;
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  color: var(--color-black);
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .p-single__title {
    width: 85.9259259259%;
    margin-inline: auto;
    margin-top: 1.5rem;
    font-size: max(1.5rem, 10px);
  }
}

.p-single__content {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .p-content__inner {
    width: 85.9259259259%;
    margin-inline: auto;
  }
}

.p-single__sidebar {
  margin-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-single__sidebar {
    margin-top: 0;
    flex-shrink: 0;
    padding-top: 0.3125rem;
    width: 30.5439330544%;
  }
}

.p-sub-mv {
  position: relative;
  z-index: 0;
  padding-top: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-sub-mv {
    padding-top: 9.1875rem;
  }
}

.p-sub-mv::before {
  position: absolute;
  z-index: -1;
  top: 1.5rem;
  left: 0;
  display: block;
  width: 15.3125rem;
  height: auto;
  aspect-ratio: 392/434;
  background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/sub-mv_deco.svg) no-repeat center/contain;
  content: "";
}
@media screen and (min-width: 768px) {
  .p-sub-mv::before {
    width: 24.5rem;
  }
}

.p-sub-mv__inner {
  max-width: initial;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__inner {
    max-width: calc(75rem + 172px);
  }
}
@media screen and (min-width: 1440px) {
  .p-sub-mv__inner {
    max-width: initial;
    padding-inline: 7.5rem;
  }
}

.p-sub-mv__title {
  color: var(--color-deep-green);
  padding-bottom: 3.625rem;
}

.p-sub-mv__title-ja {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__title-ja {
    font-size: max(3rem, 10px);
  }
}

.p-sub-mv__title-en {
  margin-top: 0.25rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__title-en {
    font-size: max(1rem, 10px);
  }
}

.p-sub-mv__image img {
  aspect-ratio: 375/200;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 24.375rem;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__image img {
    max-height: 24.375rem;
    aspect-ratio: 2880/780;
  }
}

.p-sub-mv__image img[src*=news_mv] {
  -o-object-position: 80%;
     object-position: 80%;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__image img[src*=news_mv] {
    -o-object-position: initial;
       object-position: initial;
  }
}

@media screen and (min-width: 768px) {
  .p-sub-mv:not(:has(img)) {
    padding-top: 14.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-sub-mv:not(:has(img))::before {
    top: 7.0625rem;
  }
}

.p-top-campus-life {
  padding-block: 6.375rem 3.75rem;
  background-image: linear-gradient(var(--color-deep-green) 26.25rem, var(--color-light-green) 26.25rem);
}
@media screen and (min-width: 768px) {
  .p-top-campus-life {
    padding-block: 6.375rem 6.25rem;
    background-image: linear-gradient(var(--color-deep-green) 23.75rem, var(--color-light-green) 23.75rem);
  }
}

@media screen and (min-width: 768px) {
  .p-top-campus-life__inner {
    max-width: calc(67.5rem + 172px);
  }
}

.p-top-campus-life__content {
  margin-top: 2.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__content {
    margin-top: 4.5rem;
  }
}

.p-top-campus-life__items {
  margin-inline: auto;
  display: grid;
  gap: 1rem;
  max-width: 20.6875rem;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__items {
    max-width: 62.5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}

.p-top-campus-life__item-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 1rem 1.125rem;
  background-color: var(--color-white);
  border-radius: 0.5rem;
  box-shadow: 1px 1px 0.625rem 0 rgba(0, 0, 0, 0.08);
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__item-link {
    padding: 2.8125rem 1rem 2.25rem;
    gap: 1.6875rem;
  }
}

.p-top-campus-life__item-image {
  width: 4.0625rem;
  border-radius: 50%;
  border: 1px solid var(--color-deep-green);
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__item-image {
    width: 6.5625rem;
  }
}

.p-top-campus-life__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__item-heading {
    font-size: max(1.5rem, 10px);
  }
}

.p-top-campus-life__voice {
  margin-top: 2.9375rem;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice {
    margin-top: 4rem;
  }
}

.p-top-campus-life__voice-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-heading {
    font-size: max(1.8125rem, 10px);
  }
}

.p-top-campus-life__voice-cards {
  margin-top: 1.625rem;
  display: grid;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-cards {
    margin-top: 2rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3125rem;
  }
}

.p-top-campus-life__voice-card {
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--color-white);
  box-shadow: 0.25rem 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.08);
}

.p-top-campus-life__voice-link {
  position: relative;
  display: block;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-link {
    display: flex;
    flex-direction: column;
  }
}

.p-top-campus-life__voice-link-icon {
  position: absolute;
  right: 1.375rem;
  bottom: 1.5625rem;
  width: 2.25rem;
  aspect-ratio: 1;
  background-color: var(--color-deep-green);
  border-radius: 50%;
  overflow: hidden;
}

.p-top-campus-life__voice-link-icon::after {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  -webkit-mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_large.svg);
          mask-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/common/arrow_right2_large.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 3.1875rem;
  aspect-ratio: 51/9;
  right: 0.5625rem;
  background-color: var(--color-white);
  content: "";
  transition: transform 0.3s ease-in-out;
}

.p-top-campus-life__voice-image {
  overflow: hidden;
}

.p-top-campus-life__voice-image img {
  aspect-ratio: 342/228;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-in-out;
}

.p-top-campus-life__voice-content {
  padding: 0.75rem 0.75rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.875rem 0.75rem 1.25rem;
  }
}

.p-top-campus-life__voice-no {
  padding-right: 0.1875rem;
  color: var(--color-deep-green);
  font-family: var(--font-marcellus);
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-no {
    padding-right: 0.5625rem;
  }
}

.p-top-campus-life__voice-copy-wrap {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-copy-wrap {
    margin-top: -0.25rem;
  }
}

.p-top-campus-life__voice-copy {
  position: relative;
  padding-inline: 0.625rem;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-copy {
    padding-inline: 0.5rem;
    font-size: max(1.125rem, 10px);
  }
}

.p-top-campus-life__voice-copy::before,
.p-top-campus-life__voice-copy::after {
  position: absolute;
  display: block;
  width: 0.625rem;
  aspect-ratio: 1;
  content: "";
}

.p-top-campus-life__voice-copy::before {
  top: -0.1875rem;
  left: 0;
  border-top: 1px solid var(--color-deep-green);
  border-left: 1px solid var(--color-deep-green);
}

.p-top-campus-life__voice-copy::after {
  right: 0.125rem;
  bottom: -0.5rem;
  border-right: 1px solid var(--color-deep-green);
  border-bottom: 1px solid var(--color-deep-green);
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-copy::after {
    right: 0.1875rem;
  }
}

.p-top-campus-life__voice-name {
  margin-top: 1rem;
  padding-top: 0.4375rem;
  padding-inline: 0.75rem;
  border-top: 1px solid var(--color-border-green);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-name {
    font-size: max(1rem, 10px);
  }
}

.p-top-campus-life__voice-san {
  margin-left: 0.375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-san {
    font-size: max(0.875rem, 10px);
  }
}

.p-top-campus-life__voice-attr {
  margin-top: 0.125rem;
  padding-inline: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-top-campus-life__voice-attr {
    font-size: max(0.9375rem, 10px);
  }
}

@media (any-hover: hover) {
  .p-top-campus-life__item-link:hover {
    opacity: 1;
    background-color: var(--color-light-green);
    box-shadow: 1px 1px 1.25rem 0 rgba(0, 0, 0, 0.16);
    transform: translateY(3px);
  }
  .p-top-campus-life__voice-link:hover {
    opacity: 1;
  }
  .p-top-campus-life__voice-link:hover .p-top-campus-life__voice-link-icon::after {
    transform: translate(2.0625rem, -50%);
  }
  .p-top-campus-life__voice-link:hover .p-top-campus-life__voice-image img {
    transform: scale(1.1);
  }
}
/* :focus-visible */
.p-top-campus-life__item-link:focus-visible {
  opacity: 1;
  background-color: var(--color-light-green);
  box-shadow: 1px 1px 1.25rem 0 rgba(0, 0, 0, 0.16);
  transform: translateY(3px);
}

.p-top-campus-life__voice-link:focus-visible {
  opacity: 1;
}

.p-top-campus-life__voice-link:focus-visible .p-top-campus-life__voice-link-icon::after {
  transform: translate(2.0625rem, -50%);
}

.p-top-campus-life__voice-link:focus-visible .p-top-campus-life__voice-image img {
  transform: scale(1.1);
}

@media screen and (min-width: 768px) {
  .p-top-career__inner {
    max-width: calc(49.625rem + 172px);
  }
}

.p-top-career__content {
  margin-top: 2.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-career__content {
    margin-top: 4.375rem;
  }
}

.p-top-career__copy {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4166666667;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-career__copy {
    font-size: max(1.75rem, 10px);
  }
}

.p-top-career__description {
  margin-top: 1.625rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-career__description {
    font-size: max(1.125rem, 10px);
  }
}

.p-top-career__items {
  margin-top: 2rem;
  background-color: var(--color-light-green);
  border-radius: 0.5rem;
  padding: 1.875rem;
  display: grid;
  gap: 1.5625rem;
}

.p-top-career__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-top-career__item-description {
  margin-top: 0.375rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.9;
}

.p-top-exam__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-exam__content {
    margin-top: 4.1875rem;
  }
}

.p-top-exam__buttons {
  display: grid;
  gap: 1rem;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-top-exam__buttons {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}

.p-top-exam__open-campus {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-exam__open-campus {
    margin-top: 4.375rem;
  }
}

.p-top-features {
  overflow: hidden;
  padding-block: 3.75rem;
  background-color: var(--color-light-green);
}
@media screen and (min-width: 768px) {
  .p-top-features {
    padding-block: 8.625rem 6.375rem;
  }
}

.p-top-features__content {
  margin-top: 2.5rem;
  display: grid;
  gap: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__content {
    margin-top: 4.125rem;
    gap: 5.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-features__item {
    display: flex;
    gap: 2.8125rem;
    align-items: center;
  }
}

.p-top-features__item:nth-child(even) {
  flex-direction: row-reverse;
}

.p-top-features__item-images {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-top-features__item:nth-child(odd) .p-top-features__item-images {
    padding-left: min(5.4861111111vw, 79px);
  }
}

@media screen and (min-width: 768px) {
  .p-top-features__item:nth-child(even) .p-top-features__item-images {
    padding-right: min(5.4861111111vw, 79px);
  }
}

@media screen and (min-width: 768px) {
  .p-top-features__item-image--1-1 {
    width: min(30.8333333333vw, 444px);
  }
}

.p-top-features__item-image--1-2 {
  position: absolute;
  top: -2.25rem;
  left: -1rem;
  width: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item-image--1-2 {
    top: max(-5.0694444444vw, -73px);
    left: max(-3.1944444444vw, -46px);
    width: min(10.4861111111vw, 151px);
  }
}

@media screen and (min-width: 768px) {
  .p-top-features__item-image--2-1 {
    width: min(30.8333333333vw, 444px);
  }
}

.p-top-features__item-image--2-2 {
  position: absolute;
  right: -1rem;
  bottom: -2.5rem;
  width: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item-image--2-2 {
    right: max(-2.5vw, -36px);
    bottom: max(-5.6944444444vw, -82px);
    width: min(10.4166666667vw, 150px);
  }
}

@media screen and (min-width: 768px) {
  .p-top-features__item-image--3-1 {
    width: min(30.8333333333vw, 444px);
  }
}

.p-top-features__item-image--3-2 {
  position: absolute;
  bottom: -2rem;
  left: -3rem;
  width: 12.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item-image--3-2 {
    width: min(13.8888888889vw, 200px);
    bottom: max(-3.8888888889vw, -56px);
    left: max(-2.6388888889vw, -38px);
  }
}

.p-top-features__item-content {
  flex: 1;
}

.p-top-features__item--1 .p-top-features__item-content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item--1 .p-top-features__item-content {
    margin-top: 0;
  }
}

.p-top-features__item--2 .p-top-features__item-content {
  margin-top: 3.6875rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item--2 .p-top-features__item-content {
    margin-top: 0;
  }
}

.p-top-features__item--3 .p-top-features__item-content {
  margin-top: 3.5625rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item--3 .p-top-features__item-content {
    margin-top: 0;
  }
}

.p-top-features__item-hgroup {
  position: relative;
  z-index: 0;
}

.p-top-features__item-copy {
  position: absolute;
  z-index: -1;
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--font-marcellus);
  font-weight: 400;
  font-size: max(5.3125rem, 10px);
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-top-features__item-copy {
    font-size: min(8.6805555556vw, 125px);
  }
}

.p-top-features__item--1 .p-top-features__item-copy {
  right: -1.375rem;
  bottom: 0;
}

.p-top-features__item--2 .p-top-features__item-copy {
  top: -2.3125rem;
  left: -1.4375rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item--2 .p-top-features__item-copy {
    top: -3.25rem;
    left: auto;
    right: 2.125rem;
  }
}

.p-top-features__item--3 .p-top-features__item-copy {
  top: -0.75rem;
  right: -1.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-features__item--3 .p-top-features__item-copy {
    top: -4.25rem;
    right: -2.8125rem;
  }
}

.p-top-features__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 900;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-top-features__item-heading {
    font-size: max(1.75rem, 10px);
  }
}

.p-top-features__item-description {
  margin-top: 1.1875rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.85;
}
@media screen and (min-width: 768px) {
  .p-top-features__item-description {
    font-size: max(1.125rem, 10px);
  }
}

.p-top-features__more {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-features__more {
    margin-top: 5rem;
  }
}

.p-top-introduction {
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-introduction {
    padding-bottom: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-introduction__inner {
    max-width: 78.25rem;
    max-width: calc(67.5rem + 172px);
  }
}

.p-top-introduction__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-introduction__content {
    margin-top: 4.125rem;
  }
}

.p-top-introduction__items {
  margin-top: 1.125rem;
  display: grid;
  gap: 0.875rem;
}

@media screen and (min-width: 768px) {
  .p-top-introduction__items--1 {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-introduction__items--2 {
    margin-top: 1.625rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem;
  }
}

.p-top-introduction__item {
  padding-top: 3.3125rem;
}

.p-top-introduction__item-link {
  position: relative;
  display: block;
  min-height: 15.75rem;
  padding: 4.1875rem 1.25rem 1.25rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-deep-green);
  border-radius: 0.5rem;
  transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-top-introduction__item-link {
    min-height: 14.125rem;
    height: 100%;
  }
}

.p-top-introduction__item-image {
  position: absolute;
  inset: 0 0 auto;
  transform: translateY(-50%);
  margin-inline: auto;
  margin-inline: auto;
  width: 6.625rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-deep-green);
  border-radius: 50%;
  transition: background-color 0.3s ease-in-out;
}

.p-top-introduction__item-heading {
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.5rem, 10px);
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
}
.p-top-introduction__item-copy {
  margin-top: 0.5rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

.p-top-introduction__item-description {
  margin-top: 0.625rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border-green);
  font-size: max(1rem, 10px);
  line-height: 1.6;
}

.p-top-introduction__sub-heading {
  margin-top: 3.625rem;
  color: var(--color-deep-green);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-introduction__sub-heading {
    margin-top: 4.375rem;
    font-size: max(2rem, 10px);
  }
}

.p-top-introduction__more {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-introduction__more {
    margin-top: 4.375rem;
  }
}

@media (any-hover: hover) {
  .p-top-introduction__item-link:hover {
    opacity: 1;
    background-color: var(--color-light-green);
    transform: translateY(3px);
  }
  .p-top-introduction__item-link:hover .p-top-introduction__item-image {
    opacity: 1;
    background-color: var(--color-light-green);
  }
}
/* :focus-visible */
.p-top-introduction__item-link:focus-visible {
  opacity: 1;
  background-color: var(--color-light-green);
  transform: translateY(3px);
}

.p-top-introduction__item-link:focus-visible .p-top-introduction__item-image {
  opacity: 1;
  background-color: var(--color-light-green);
}

.p-top-loop-slider__slider-item {
  width: 16.875rem;
}
@media screen and (min-width: 768px) {
  .p-top-loop-slider__slider-item {
    width: 20.625rem;
  }
}

.p-top-mv {
  position: relative;
  padding-top: var(--header-height);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-mv {
    padding-top: 0;
  }
}

.p-top-mv__slider {
  position: relative;
  height: 100%;
}

.p-top-mv__slider::after {
  position: absolute;
  inset: 0;
  background-color: rgba(63, 79, 74, 0.25);
  content: "";
}

.p-top-mv__slider-track {
  height: 100%;
}

.p-top-mv__slider-list {
  height: 100%;
}

.p-top-mv__slider-item {
  height: 100%;
  overflow: hidden;
}

.p-top-mv__slider-item img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 8s ease-out;
}

.p-top-mv__slider-item.is-active img {
  transform: scale(1.1);
}

.p-top-mv__copy {
  position: absolute;
  top: 23%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-mv__copy {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

.p-top-mv__inner {
  max-width: calc(75rem + 172px);
}

.p-top-mv__copy-text {
  color: var(--color-white);
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 2.5;
  text-shadow: 1px 2px 0.375rem rgba(4, 17, 13, 0.2);
}
@media screen and (min-width: 768px) {
  .p-top-mv__copy-text {
    font-size: max(2.5rem, 10px);
  }
}

.p-top-mv__illust {
  position: absolute;
  bottom: 0;
  left: calc(50% - 12.75rem);
  width: 24.5625rem;
}
@media screen and (min-width: 768px) {
  .p-top-mv__illust {
    width: 86.5rem;
    bottom: 4.375rem;
    left: calc(50% - 45.125rem);
  }
}

.p-top-news {
  padding-block: 3.75rem 6.25rem;
  background-color: var(--color-light-green);
}
@media screen and (min-width: 768px) {
  .p-top-news {
    padding-block: 6.25rem 7.375rem;
  }
}

.p-top-news__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__content {
    margin-top: 4.25rem;
  }
}

.p-top-news__more {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-news__more {
    margin-top: 4.375rem;
  }
}

.p-top-news__no-posts {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-news__no-posts {
    margin-top: 2.5rem;
  }
}

.p-top-open-campus {
  padding-block: 6.25rem 5.625rem;
  background: var(--open-campus-bg-sp) no-repeat center/cover;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-top-open-campus {
    min-height: 32.375rem;
    padding-block: 7.375rem 9rem;
    background-image: var(--open-campus-bg-pc);
  }
}

@media screen and (min-width: 768px) {
  .p-top-open-campus__inner {
    max-width: calc(74.625rem + 172px);
  }
}

.p-top-open-campus__heading {
  font-family: var(--font-marcellus);
  font-size: max(3rem, 10px);
  font-weight: 400;
  letter-spacing: 0.45em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(0.22em);
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__heading {
    font-size: min(4.8611111111vw, 70px);
  }
}

.p-top-open-campus__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__content {
    position: relative;
  }
}

.p-top-open-campus__copy {
  font-family: var(--font-zen-old-mincho);
  font-size: max(1.6875rem, 10px);
  font-weight: 700;
  letter-spacing: 0.45em;
  line-height: 1.4444444444;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(0.22em);
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__copy {
    margin-inline: auto;
    max-width: 57.5rem;
    font-size: min(2.1527777778vw, 31px);
    /* テキストを長くする場合
    margin-inline: auto;
    max-width: rem(750);
    */
  }
}

.p-top-open-campus__info {
  margin-top: 2.375rem;
  padding-right: 1.25rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__info {
    margin-top: 0;
    position: absolute;
    top: max(-2.5vw, -36px);
    right: 0;
    aspect-ratio: 1;
    background: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-open-campus_subtract.svg) no-repeat center/contain;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.875rem;
  }
}

.p-top-open-campus__year {
  font-family: var(--font-marcellus);
  font-size: max(1.125rem, 10px);
  font-weight: 400;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__year {
    font-size: min(1.6666666667vw, 24px);
  }
}

.p-top-open-campus__info-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.p-top-open-campus__date {
  font-family: var(--font-marcellus);
  font-size: max(2.625rem, 10px);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__date {
    font-size: min(4.9305555556vw, 71px);
  }
}

.p-top-open-campus__day {
  writing-mode: vertical-rl;
  font-family: var(--font-marcellus);
  font-size: max(1.125rem, 10px);
  letter-spacing: 0.15em;
  line-height: 1;
  transform: translate(0.125rem, -0.375rem);
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__day {
    font-size: min(2.2222222222vw, 32px);
  }
}

.p-top-open-campus__location {
  margin-top: -0.1875rem;
  font-family: var(--font-zen-old-mincho);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__location {
    font-size: min(1.25vw, 18px);
  }
}

.p-top-open-campus__more {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-open-campus__more {
    margin-top: 2.875rem;
  }
}

.p-top-topics {
  background-color: var(--color-white);
}

.p-top-topics__inner {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-top-topics__inner {
    grid-template-columns: auto 1fr;
    padding-right: min(4.8611111111vw, 70px);
    padding-right: 86px;
  }
}

.p-top-topics__heading {
  background-color: var(--color-deep-green);
  color: var(--color-white);
  font-family: var(--font-marcellus);
  font-size: max(1rem, 10px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  display: grid;
  align-items: center;
  text-align: center;
  text-transform: uppercase;
  grid-template-columns: auto 1fr;
  min-height: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .p-top-topics__heading {
    font-size: max(1.25rem, 10px);
    min-height: initial;
    width: min(22.2222222222vw, 320px);
    grid-template-columns: auto;
  }
}

.p-top-topics__heading::after {
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-light-green);
  content: "";
}
@media screen and (min-width: 768px) {
  .p-top-topics__heading::after {
    content: none;
  }
}

.p-top-topics__heading-text {
  padding-block: 0.375rem;
  padding-inline: 3.25rem;
}

.p-top-topics__content {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-top-topics__content {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}

.p-top-topics__item-link {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 1rem;
  height: 100%;
  padding-inline: 1.4375rem 1rem;
  padding-block-start: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-topics__item-link {
    align-items: center;
    gap: min(2.7777777778vw, 40px);
    padding-inline: min(5.4861111111vw, 79px) min(2.7777777778vw, 40px);
    padding-block-start: 0;
  }
}

.p-top-topics__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 制限したい行数が3の場合 */
  overflow: hidden;
  width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(0.875rem, 10px);
  line-height: 1.55;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-top-topics__title {
    font-size: max(1rem, 10px);
    -webkit-line-clamp: 1; /* 制限したい行数が3の場合 */
  }
}

.p-top-topics__date {
  font-family: var(--font-marcellus);
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: calc(0.875rem * 1.55);
}
@media screen and (min-width: 768px) {
  .p-top-topics__date {
    font-size: max(1rem, 10px);
    line-height: 1.5;
  }
}

.p-top-topics__more {
  text-align: right;
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-topics__more {
    padding-right: 0;
  }
}

.p-top-topics__no-posts {
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-topics__no-posts {
    margin-top: 0rem;
    padding-inline: 4.9375rem 2.5rem;
    text-align: left;
  }
}

.p-vocational-accountant {
  padding-bottom: 7.5rem;
}

.p-accountant__course {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-accountant__course {
    margin-top: 6.25rem;
  }
}

/* 動きを抑えたい人への配慮 */
@media (prefers-reduced-motion: reduce) {
  [data-fadein] {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* 初期（見えない＆少し下） */
[data-fadein] {
  opacity: 0;
  transform: translateY(2.5rem);
  transition: opacity 1.4s cubic-bezier(0.2, 0.6, 0.2, 1), transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}

/* 表示状態 */
[data-fadein].is-show {
  opacity: 1;
  transform: translateY(0);
}

/* 遅延設定（pcで1行・複数列を想定／最大4列） */
@media screen and (min-width: 768px) {
  [data-fadein="200"] {
    transition-delay: 200ms;
  }
}

@media screen and (min-width: 768px) {
  [data-fadein="400"] {
    transition-delay: 400ms;
  }
}

@media screen and (min-width: 768px) {
  [data-fadein="600"] {
    transition-delay: 600ms;
  }
}

/* 遅延設定（pcで複数行・3列を想定） */
.u-deco {
  position: relative;
  z-index: 0;
}

section.u-deco {
  overflow-x: clip;
}

.u-deco::before,
.u-deco::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  background: no-repeat center/contain;
}

.u-deco--top-features::before {
  top: 32.9375rem;
  right: -5.75rem;
  width: 12.1875rem;
  aspect-ratio: 316/280;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-features_deco.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-features::before {
    top: min(29.7222222222vw, 428px);
    right: max(-5.0694444444vw, -73px);
    width: min(21.9444444444vw, 316px);
  }
}

.u-deco--top-introduction::before {
  top: -7rem;
  right: -2.625rem;
  width: 8.6875rem;
  aspect-ratio: 1;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-introduction_deco1.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-introduction::before {
    top: max(-17.3611111111vw, -250px);
    right: max(-11.1111111111vw, -160px);
    width: min(26.4583333333vw, 381px);
  }
}

.u-deco--top-introduction::after {
  bottom: -3.8125rem;
  left: -3.3125rem;
  width: 8.25rem;
  aspect-ratio: 423/345;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-introduction_deco2.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-introduction::after {
    bottom: max(-4.2361111111vw, -61px);
    left: max(-11.6666666667vw, -168px);
    width: min(29.375vw, 423px);
  }
}

.u-deco--top-campus-life::before {
  top: 1.9375rem;
  left: calc(50% - 9.1875rem);
  width: 4.8125rem;
  aspect-ratio: 145/44;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-campus-life_deco1.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-campus-life::before {
    top: min(6.4583333333vw, 93px);
    left: calc(50% - min(39.1666666667vw, 564px));
    width: min(10.0694444444vw, 145px);
  }
}

.u-deco--top-campus-life::after {
  top: 4.625rem;
  right: calc(50% - 47.625rem);
  width: 7.125rem;
  aspect-ratio: 262/68;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-campus-life_deco2.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-campus-life::after {
    top: min(5.1388888889vw, 74px);
    right: calc(50% - min(52.9166666667vw, 762px));
    width: min(18.1944444444vw, 262px);
  }
}

.u-deco--top-campus-life2::before {
  top: -0.25rem;
  left: calc(50% - 12.6875rem);
  width: 4.4375rem;
  aspect-ratio: 188/175;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-campus-life_deco3.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-campus-life2::before {
    top: min(8.75vw, 126px);
    left: calc(50% - min(49.5833333333vw, 714px));
    width: min(13.0555555556vw, 188px);
  }
}

.u-deco--top-career {
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .u-deco--top-career::before {
    bottom: max(-3.0555555556vw, -44px);
    right: -3.875rem;
    width: min(14.6527777778vw, 211px);
    background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-career_deco3.svg);
    aspect-ratio: 1;
  }
}

@media screen and (min-width: 768px) {
  .u-deco--top-career::after {
    z-index: 1000;
    left: calc(50% - min(41.6666666667vw, 600px));
    aspect-ratio: 24/84;
    background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-career_deco1.svg);
    bottom: max(-7.1527777778vw, -103px);
    width: min(1.6666666667vw, 24px);
  }
}

.u-deco--top-career2::before {
  top: 2.0625rem;
  left: calc(50% - 11.3125rem);
  width: 1rem;
  aspect-ratio: 24/84;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-career_deco1.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-career2::before {
    top: min(2.7777777778vw, 40px);
    left: calc(50% - min(43.2638888889vw, 623px));
    width: min(1.6666666667vw, 24px);
  }
}

.u-deco--top-news::before {
  top: -3.5625rem;
  left: -3.3125rem;
  width: 8.5rem;
  aspect-ratio: 136/147;
  background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-news_deco1_sp.svg);
}
@media screen and (min-width: 768px) {
  .u-deco--top-news::before {
    top: -16.6875rem;
    left: -11.375rem;
    width: 29.1875rem;
    aspect-ratio: 467/431;
    background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-news_deco1.svg);
  }
}

@media screen and (min-width: 768px) {
  .u-deco--top-news::after {
    bottom: 5.25rem;
    right: calc(50% - 42.5rem);
    width: 6.625rem;
    aspect-ratio: 106/155;
    background-image: url(/econo/wp-content/themes/yamaguchi-economy/assets/images/top/top-news_deco2.svg);
  }
}

.u-inline-block {
  display: inline-block;
}

div:has(> img.u-no-image),
figure:has(> img.u-no-image) {
  background-color: var(--color-white);
}

img.u-no-image {
  padding: 15%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-news div:has(> img.u-no-image),
.p-news figure:has(> img.u-no-image) {
  background-color: var(--color-light-green);
}

.c-sidebar div:has(> img.u-no-image),
.c-sidebar figure:has(> img.u-no-image) {
  background-color: var(--color-light-green);
}

.u-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc {
    display: block;
    display: revert;
  }
}

@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}

/**
* CSSアニメーションを使ったホバーエフェクト
* jsで初回読み込み時にis-hoverを付与し、そこにホバーエフェクトをつける
* 
**/
a.is-hover .u-underline {
  --bottom: 0;
  --dulatin: 0.3s;
  --delay: 0s;
  --line-width: 1px;
  background-repeat: no-repeat;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% var(--line-width);
  animation: contract var(--dulatin) forwards;
}

.u-underline--en {
  --bottom: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .u-underline--en {
    --bottom: 0.375rem;
  }
}

@media screen and (min-width: 768px) {
  a.is-hover .u-underline--sp {
    background: initial;
  }
}

.u-underline--delay {
  --delay: 0.15s;
}

@keyframes expand {
  0% {
    background-size: 0% var(--line-width);
    background-position: bottom var(--bottom) left;
  }
  100% {
    background-position: bottom var(--bottom) left;
    background-size: 100% var(--line-width);
  }
}
@keyframes contract {
  0% {
    background-size: 100% var(--line-width);
    background-position: bottom var(--bottom) right;
  }
  100% {
    background-position: bottom var(--bottom) right;
    background-size: 0% var(--line-width);
  }
}
@media (any-hover: hover) {
  a:hover:has(.u-underline) {
    opacity: 1;
  }
  a.is-hover:hover:has(.u-underline) .u-underline {
    animation: expand var(--dulatin) var(--delay) forwards;
  }
}
/* :focus-visible */
a:focus-visible:has(.u-underline) {
  opacity: 1;
}

a.is-hover:focus-visible:has(.u-underline) .u-underline {
  animation: expand var(--dulatin) var(--delay) forwards;
}
/*# sourceMappingURL=style.css.map */
