@charset "UTF-8";
/*
Theme Name: iwamichisuikan
Description: iwamichisuikan Template
Author: kashimura co.ltd..
*/
:root {
  --color-font-base: #60451b;
  --color-accent: #2fc07b;
  --color-bg-light-green: #36d27e2e;
  --color-bg-footer: #373535;
  --color-bg-menu: #f8f8f8;
  --color-line-menu: #231815;
  --color-gray-border: #e6e6e6;
  --color-gradation: linear-gradient(270deg, #3ed5a5 -0.39%, #59d149 95.82%
  );
  --color-gradation-blue: linear-gradient(270deg, #2ebf91 0%, #38a5e8 100%);
  --opacity-white: rgba(255, 255, 255, .9);
  --logo-width: clamp(18.75rem, 5.438rem + 14.79vw, 23.188rem);
  --rounded-corners: 5px;
  --transition: all .5s cubic-bezier(0.43, 0.05, 0.17, 1);
}

body {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 2;
  font-size: 0.875rem;
  color: #60451b;
}

ul,
li {
  list-style: none;
}

a {
  display: inline-block;
  transition: 0.5s;
}

a:hover {
  opacity: 0.7;
}

img {
  display: inline-block;
  clear: both;
  max-width: 100%;
  height: auto;
}

.in {
  width: 90%;
  max-width: 1100px;
  margin: auto;
}
.in__inner {
  width: 100%;
  max-width: 900px;
  margin: auto;
}

.l-flex-layout {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.l-spacer {
  padding: 150px 0 50px;
}

h1,
h2,
h3,
h4 {
  font-weight: 700;
}

.bg-gray {
  background: var(--color-bg-light-green);
}

header {
  position: sticky;
  top: 0;
  left: 0;
  animation: add-shadow linear both;
  animation-timeline: scroll();
  animation-range: 0 150px;
  z-index: 100;
}

@keyframes add-shadow {
  to {
    box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.26);
  }
}
#header {
  display: flex;
  justify-content: flex-end;
  gap: 3.125vw;
  align-items: center;
  position: relative;
  padding-left: 2%;
  padding-right: 4%;
  z-index: 5;
  background: #fff;
}
#header .header-logo {
  margin-right: auto;
}
#header .header-logo a img {
  width: var(--logo-width);
}
#header .header-sns a img {
  width: 30px;
}
#header .header-nav ul {
  display: flex;
}
#header .header-nav .header-menu-list > li {
  padding: 3vw 1.5625vw 0;
}
#header .header-nav .header-menu-list > li:first-child {
  padding-left: 0;
}
#header .header-nav .header-menu-list > li:last-child {
  padding-right: 0;
}
#header .header-nav .header-menu-list > li:not(:first-child) > a::after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background: var(--color-line-menu);
  position: absolute;
  left: -1.5625vw;
  top: 50%;
  transform: translateY(-50%);
}
#header .header-nav .header-menu-list > li:hover .sub-menu-wrapper {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0);
}
#header .header-nav .header-menu-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
#header .header-nav .header-menu-list a:hover {
  color: var(--color-accent);
}
#header .header-nav .sub-menu-wrapper {
  display: flex;
  width: 70%;
  background: var(--opacity-white);
  border-radius: var(--rounded-corners);
  overflow: hidden;
  position: absolute;
  right: 4%;
  top: calc(100% + 8px);
  visibility: hidden;
  opacity: 0;
  transition: var(--transition);
  transform: translate(0px, -8px);
}
#header .header-nav .sub-menu-wrapper__title {
  width: 23%;
  text-align: center;
  font-size: 1rem;
  position: relative;
  display: flex;
  flex-direction: column;
}
#header .header-nav .sub-menu-wrapper__title p {
  padding: 0.5em 1em;
}
#header .header-nav .sub-menu-wrapper__image {
  width: 100%;
  padding-top: 10px;
  padding-left: 10px;
}
#header .header-nav .sub-menu-wrapper__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 242/100;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: var(--rounded-corners);
}
#header .header-nav .sub-menu-wrapper .sub-menu {
  width: 77%;
  height: -moz-fit-content;
  height: fit-content;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0.7rem 1.6875rem calc(1.6875rem + 1em);
}
#header .header-nav .sub-menu-wrapper .sub-menu > li {
  width: calc((100% - 4rem) / 2);
  position: relative;
}
#header .header-nav .sub-menu-wrapper .sub-menu > li::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: var(--color-gray-border);
  left: 0;
  bottom: 0;
}
#header .header-nav .sub-menu-wrapper .sub-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1em;
}
#header .header-nav .sub-menu-wrapper .sub-menu a::before {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-gradation);
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.5s;
}
#header .header-nav .sub-menu-wrapper .sub-menu a::after {
  content: "→";
  display: inline-block;
  margin-left: 0.5em;
  color: var(--color-accent);
}
#header .header-nav .sub-menu-wrapper .sub-menu a:hover::before {
  transform: scale(1, 1);
}

.header-nav,
.header-menu-list,
.header-menu-list > li {
  height: 100%;
}

.menu-trigger {
  display: block;
  width: 80px;
  height: 80px;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
  color: var(--color-accent);
  position: relative;
  z-index: 99;
  cursor: pointer;
}
.menu-trigger.is-active, .menu-trigger:hover {
  background: var(--color-gradation);
  color: #fff;
}
.menu-trigger span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.menu-trigger span.menu-trigger__after {
  opacity: 0;
}
.menu-trigger.is-active span.menu-trigger__before {
  opacity: 0;
}
.menu-trigger.is-active span.menu-trigger__after {
  opacity: 1;
}

.c-overlay-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding-top: 220px;
  background: #eceeee;
  background: var(--color-bg-footer);
  color: #fff;
  z-index: 4;
  overflow-y: scroll;
}
.c-overlay-menu.is-active {
  display: block;
}

.c-mega-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5%;
}

.c-access-info__name {
  font-size: 1.09375rem;
  margin-bottom: 1em;
}

.c-sns-links {
  margin-top: 50px;
}
.c-sns-links__item {
  margin-left: -1.2em;
}
.c-sns-links__item img {
  width: 32px;
}

.c-global-nav {
  width: 100%;
}
.c-global-nav__list {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.c-global-nav__list > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  color: var(--color-font-base);
  background: #fff;
  border-radius: var(--rounded-corners);
  font-size: 0.984375rem;
  padding: 0.5em 1em;
  margin-bottom: 20px;
}
.c-global-nav__list > li > a::after {
  content: "→";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.1875rem;
  height: 2.1875rem;
  background: var(--color-gradation);
  clip-path: circle();
  color: #fff;
  font-size: 0.765625rem;
}
.c-global-nav__list > li > a:hover {
  color: #fff;
  background: var(--color-gradation);
  opacity: 1;
}
.c-global-nav__list > li > a:hover::after {
  background: #fff;
  color: var(--color-accent);
}
.c-global-nav__list .sub-menu {
  margin-left: 18px;
  line-height: 1.2;
}
.c-global-nav__list .sub-menu li {
  margin-bottom: 1em;
}

.header-sub-nav {
  position: absolute;
  top: 1rem;
  right: calc(4% + 80px + 3.125vw + 30px + 3.125vw);
  width: -webkit-fill-available;
  width: -moz-available;
  width: stretch;
}

.header-sub-menu-list .c-button-sub a:hover {
  background: #fff;
  color: var(--color-accent);
  opacity: 1;
}

.site-footer {
  background: var(--color-bg-footer);
  padding-top: 55px;
  color: #fff;
}
.site-footer .copyright {
  margin-top: 40px;
  padding: 20px 0;
  text-align: center;
  font-size: 0.65625rem;
}

.footer-sitepolicy {
  margin-top: 1rem;
}

#other-nav {
  margin-top: 80px;
  margin-bottom: 45px;
}

.other-menu-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.125vw;
  color: var(--color-accent);
}
.other-menu-list > li:not(:first-child) > a::after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background: currentColor;
  position: absolute;
  left: -1.5625vw;
  top: 50%;
  transform: translateY(-50%);
}
.other-menu-list a {
  position: relative;
}
.other-menu-list a:hover {
  color: var(--color-accent);
}

.c-heading-primary {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 20px;
  text-align: center;
}

.c-heading-secondary {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1em;
}

.c-heading-sm {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.8;
  color: var(--color-accent);
  margin-bottom: 1em;
}

.c-form-select,
.c-nav-list {
  width: calc(75% - 12.5px);
}

.c-button-tag {
  display: inline-block;
  padding: 6px 14px;
  margin: 0 4px 8px 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: var(--rounded-corners);
  color: #666;
  font-size: 0.85rem;
}
.c-button-tag:hover {
  background: var(--color-gradation);
  color: #fff;
  border-color: var(--color-accent);
}

.c-form-select {
  position: relative;
}
.c-form-select__input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: var(--rounded-corners);
  background: #fff;
  font-size: 0.9rem;
  cursor: pointer;
}

.c-table th,
.c-table td {
  border: 1px solid var(--color-accent);
  text-align: center;
  vertical-align: top;
  padding: 0.5em;
}
.c-table th {
  font-weight: normal;
  white-space: nowrap;
  background: var(--color-bg-light-green);
  text-align: center;
}
.c-table td {
  text-align: left;
}
.c-table ul,
.c-table li {
  list-style-type: disc;
}
.c-table__item-list {
  margin: 0 1em;
}

.c-section-title {
  font-size: 1.9140625rem;
  color: var(--color-accent);
  margin-bottom: 2.1875rem;
}

.c-lead-box {
  border: 1px solid var(--color-accent);
  border-radius: var(--rounded-corners);
  padding: 0.4em;
  text-align: center;
  font-size: 1.3125rem;
  line-height: 1.125;
  margin-bottom: 2.734375rem;
}

.c-icon-arrow {
  box-sizing: border-box;
  display: inline-block;
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  background: var(--color-gradation);
  border: solid 1px transparent;
  margin-right: 0.875rem;
  vertical-align: middle;
  position: relative;
  transition: background 0.3s, border-color 0.3s;
}
.c-icon-arrow::after {
  content: "→";
  display: block;
  color: #fff;
  font-size: 0.765625rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: color 0.3s;
}
a:hover .c-icon-arrow {
  border-color: var(--color-accent);
  background: #fff;
}
a:hover .c-icon-arrow::after {
  color: var(--color-accent);
}
.p-archive-club__list .p-card__title .c-icon-arrow {
  margin-right: 0;
}

.c-media-block {
  width: 100%;
}
.c-media-block__nav {
  flex: 1;
}
.c-media-block__nav-item a {
  display: flex;
  align-items: center;
  margin-bottom: 1.640625rem;
  font-size: 0.984375rem;
  font-weight: 700;
}
.c-media-block__nav-item a:hover {
  color: var(--color-accent);
}
.c-media-block__img {
  width: 100%;
  aspect-ratio: 755/438;
}
.c-media-block__img img {
  width: 100%;
  height: 100%;
  border-radius: var(--rounded-corners);
  -o-object-fit: cover;
     object-fit: cover;
}

.c-button-sub a,
.c-label-cat,
.c-button-cat {
  min-width: 4.921875rem;
  padding: 0 1em;
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: var(--rounded-corners);
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
}

.c-button-sub a,
.c-label-cat {
  background: var(--color-gradation);
  color: #fff;
}

.c-main-visual {
  width: 100%;
  height: 445px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.c-main-visual::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e5f1ec;
  mix-blend-mode: multiply;
}
.c-main-visual__inner {
  position: relative;
  z-index: 1;
}

.c-entry-header {
  border-left: 15px solid var(--color-accent);
  margin-bottom: 45px;
}
.c-entry-header__title {
  font-size: 1.9140625rem;
  color: var(--color-accent);
  line-height: 1.8;
  border-bottom: 1px solid var(--color-accent);
  padding: 0 1.9140625rem 1.09375rem;
}
.c-entry-header__sub-title {
  display: block;
  font-size: 1.3125rem;
  line-height: 1.125;
  margin-top: 0.2em;
}
.c-entry-header__lead {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-accent);
  padding: 0.8203125rem 1.9140625rem;
}

.c-layout-item:not(:first-of-type) {
  margin-top: 2.734375rem;
}
.c-heading-block + .c-layout-item:not(:first-of-type) {
  margin-top: 1.3671875rem;
}

.c-heading-block__second {
  font-size: 1.3125rem;
  color: var(--color-accent);
  border-bottom: 1px solid var(--color-accent);
}

.c-text-block p {
  text-align: justify;
}

.c-list-block__list:is(ol) {
  counter-reset: circled-num;
}
.c-list-block__list:is(ol) .c-list-block__item::before {
  counter-increment: circled-num;
  content: counter(circled-num);
  color: #fff;
  font-size: 1em;
  line-height: 1;
}
.c-list-block__item {
  position: relative;
  padding-left: 2.3em;
  margin-bottom: 0.8em;
}
.c-list-block__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 1.5em;
  height: 1.5em;
  background: var(--color-gradation);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-media-grid {
  display: grid;
  gap: 2.6vw;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  justify-content: center;
  width: 100%;
}
.c-media-grid__item {
  width: 100%;
  text-align: center;
}
.c-media-grid__item img {
  max-height: 525px;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: bottom;
  border-radius: var(--rounded-corners);
}
.c-media-grid__item p {
  text-align: center;
  margin-top: 1rem;
}
.c-media-grid.p-schedule__images {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 5%;
       column-gap: 5%;
  row-gap: 30px;
}
.c-media-grid.p-schedule__images .c-media-grid__item {
  aspect-ratio: 457/275;
}
.c-media-grid.p-schedule__images .c-media-grid__item img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.p-archive-club__list .c-card-grid {
  grid-template-columns: repeat(4, 1fr);
}

.c-category-tabs {
  display: flex;
  gap: 27px;
  list-style: none;
  margin-bottom: 30px;
  padding: 0;
}
.c-category-tabs__item {
  width: 100%;
}
.c-category-tabs__item a {
  display: block;
  padding: 17px 12px;
  border-radius: var(--rounded-corners);
  color: #bebebe;
  transition: all 0.3s;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 1.7;
}
.c-category-tabs__item a.is-active, .c-category-tabs__item a:hover {
  background: var(--color-gradation);
  color: #fff;
}
.c-category-tabs__item a.is-active {
  position: relative;
}
.c-category-tabs__item a.is-active::after {
  content: "";
  position: absolute;
}

.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--color-gradation);
  border: 2px solid var(--color-accent);
  border-radius: var(--rounded-corners);
  font-size: 12px;
  font-style: italic;
  letter-spacing: 0.12em;
  width: 187px;
  height: 46px;
}
.c-button--blue {
  background: var(--color-gradation-blue);
}
.c-button:hover {
  color: var(--color-accent);
  background: #fff;
}
.p-contact-form .c-button, .p-club__button .c-button, .p-lead__actions .c-button {
  margin: 0 auto;
}
.c-button.distant-button {
  font-size: 0.984375rem;
  font-weight: 700;
  width: 100%;
  height: 60px;
  gap: 0.5em;
}
.c-button.distant-button .fa-calendar-days {
  font-size: 1.5em;
}

.c-shadow-block {
  background: #fff;
  box-shadow: 0 0 6px rgba(0, 119, 61, 0.16);
}

.c-button-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 800px) {
  .c-button-grid {
    flex-direction: column;
    align-items: center;
  }
}
.c-button-grid__item {
  display: contents;
}
.c-button-grid .c-button {
  font-size: 14px;
  width: 300px;
  height: 90px;
}
.info-content .c-button-grid {
  justify-content: center;
  gap: 5%;
}

.c-hover-trigger {
  overflow: hidden;
}
.c-hover-trigger img {
  transition: transform 0.3s ease;
}
a:hover .c-hover-trigger img, .c-hover-trigger:hover img {
  transform: scale(1.1);
}

.scroll-title-wrap {
  overflow: hidden;
}

.scroll-title.is-active {
  display: block;
  animation: titleEffectAnimation 0.75s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.2s normal forwards;
  opacity: 0;
  translate: 0% 140%;
}

@keyframes titleEffectAnimation {
  0% {
    opacity: 0;
    translate: 0% 140%;
  }
  100% {
    opacity: 1;
    translate: 0% 0%;
  }
}
.smooth {
  clip-path: inset(0 100% 0 0);
  animation: smoothReveal 1.5s cubic-bezier(0.37, 0, 0.63, 1) forwards;
  animation-delay: 1s;
}

@keyframes smoothReveal {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0);
  }
}
/* 下線アニメーション */
.scroll-underline {
  position: relative;
  /* 下線のスタイル　*/
}
.scroll-underline::after {
  background: currentColor;
  bottom: -4px;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
}
.scroll-underline {
  /* リンクにホバーした際の下線の表示 */
}
a:hover .scroll-underline::after, .scroll-underline:hover::after {
  bottom: 0;
  opacity: 1;
}

.overlay-sub-menu-list .scroll-underline::after {
  display: none;
}
.overlay-sub-menu-list .c-button-sub a {
  border-color: transparent;
}

.u-text-accent {
  color: var(--color-accent);
}

.u-text-accent--1 {
  color: #E85298;
}

.u-text-accent--2 {
  color: #ED6D34;
}

.u-text-accent--3 {
  color: #00A7CB;
}

.u-font-min {
  font-size: 0.765625rem;
}

.u-text-vertical {
  writing-mode: vertical-lr;
  text-orientation: upright;
}

.u-text-center {
  text-align: center;
}

.u-flex {
  display: flex;
  justify-content: space-between;
}
.c-flexbox-block .u-flex {
  gap: 2%;
}
.u-flex.header-sub-menu-list {
  align-items: center;
  justify-content: flex-end;
  gap: 1.5625vw;
}
.u-flex.p-top-fix-button {
  justify-content: flex-start;
  flex-direction: column;
  gap: 10px;
}
.u-flex__item {
  flex: 1;
  min-width: 0;
}
.u-flex__image img {
  width: 100%;
  height: auto;
  border-radius: var(--rounded-corners);
}

.c-main-visual__title,
.p-firstview__copy {
  font-size: 4.375rem;
  font-weight: 700;
  font-style: italic;
  color: #fff;
  text-align: center;
}

.swiper-fade .swiper-slide {
  transition-property: opacity !important;
}
.swiper-fade .swiper-slide img.animate {
  animation: kenburns 8s ease-out forwards;
}

@keyframes kenburns {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: 50%;
  border: 1px solid var(--color-accent);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 8px;
  height: 8px;
  content: "";
  border: solid var(--color-accent);
  position: absolute;
  top: 50%;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
@media (max-width: 800px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 25px;
    height: 25px;
  }
}

.swiper-button-prev::after {
  right: 45%;
  transform: translateY(-50%) translateX(50%) rotate(-45deg);
  border-width: 1px 0 0 1px;
}

.swiper-button-next::after {
  left: 45%;
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
  border-width: 0 1px 1px 0;
}

.p-banner .swiper-button-prev,
.p-banner .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.p-banner .swiper-button-prev {
  right: 100%;
}
.p-banner .swiper-button-next {
  left: 100%;
}

.p-firstview {
  position: relative;
}
.p-firstview__swiper {
  width: 100%;
  height: 645px;
}
.p-firstview__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-firstview__pagination {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  justify-content: flex-start;
  margin: 0 auto 0 0;
  text-align: center;
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.p-firstview__pagination .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  cursor: pointer;
  vertical-align: top;
  background: #cccccc;
}
.p-firstview__pagination .swiper-pagination-bullet-active {
  background: var(--color-gradation);
}
.p-firstview__content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.p-firstview__apply {
  position: absolute;
  right: 4.6875%;
  bottom: 68px;
  z-index: 2;
}

.p-apply {
  background: #fff;
  padding: 20px 15px 15px 24px;
  border-radius: var(--rounded-corners);
}
.p-apply__year {
  background: var(--color-gradation);
  border-radius: var(--rounded-corners);
  text-align: center;
  color: #fff;
  font-size: 1.1484375rem;
  font-weight: 700;
}
.p-apply__text {
  color: var(--color-accent);
  font-size: 1.8046875rem;
  font-weight: 700;
}

.p-top-fix-button {
  width: 4.921875rem;
  position: fixed;
  top: 200px;
  bottom: 0;
  right: 0;
  z-index: 3;
  animation: slide-in-button-right linear both;
  animation-timeline: scroll();
  animation-range: 500px 700px;
}
@keyframes slide-in-button-right {
  from {
    opacity: 0;
    transform: translateX(100%);
    visibility: hidden;
  }
  to {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }
}
.p-top-fix-button a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border-top-left-radius: var(--rounded-corners);
  border-bottom-left-radius: var(--rounded-corners);
  color: #fff;
  background: var(--color-gradation);
  position: relative;
  font-weight: 700;
  overflow: hidden;
  box-sizing: border-box;
  font-size: 1.2578125rem;
  width: 100%;
  padding: 2.0234375rem 0 2.1875rem;
}
.p-top-fix-button a.bg-black {
  background: #000;
}
.p-top-fix-button a span {
  display: block;
}
.p-top-fix-button .c-icon-arrow {
  margin-right: 0;
  background: #fff;
}
.p-top-fix-button .c-icon-arrow::after {
  color: var(--color-accent);
}

.p-banner {
  padding-top: 70px;
}
.p-banner .in {
  width: 65%;
  max-width: calc(1100px + 4.375vw);
}
.p-banner__swiper-area {
  position: relative;
  padding: 0 2.1875vw;
}
.p-banner__swiper {
  width: 100%;
}
.p-banner__link {
  display: block;
  width: 100%;
  aspect-ratio: 600/207;
  border-radius: var(--rounded-corners);
}
.p-banner__link img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-news {
  padding: 62px 0 90px;
}
.p-news__cat-list {
  display: flex;
  gap: 1.09375rem;
}
.p-news__cat-item {
  width: 100%;
}
.p-news__cat-item button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent);
  letter-spacing: 0.01em;
  border-bottom: 1px solid var(--color-accent);
  transition: 300ms ease;
}
.p-news__cat-item button.is-active {
  color: #fff;
  background: var(--color-gradation);
  border: 1px solid var(--color-accent);
}
.p-news__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 27px 5%;
}
.p-news__link {
  display: block;
  border-left: 15px solid var(--color-gray-border);
  padding: 1.3125rem 1.640625rem;
}
.p-news__link:hover {
  border-color: var(--color-accent);
  opacity: 1;
}
.p-news__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.p-news__date {
  letter-spacing: 0.1em;
}
.p-news__title {
  font-size: 0.984375rem;
}

.p-class-course {
  padding: 30px 0 70px;
}
.p-class-course__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 5%;
}
.p-class-course__img {
  border-radius: var(--rounded-corners);
  aspect-ratio: 235/220;
  overflow: hidden;
  margin-top: 10px;
}
.p-class-course__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-class-course__name {
  font-size: 0.984375rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-class-course__text {
  text-align: justify;
  margin-top: 10px;
}

.p-school-life {
  padding: 40px 0;
}

/* チェックボックス自体は画面から隠す */
.accordion-toggle {
  display: none;
}

/* 離れた場所にあるボタンの見た目 */
/* ★アニメーションを制御する外枠（初期状態は高さ0） */
.accordion-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-out;
  margin-top: 40px;
}

/* アコーディオンのコンテンツ部分（初期状態は非表示） */
.accordion-content {
  overflow: hidden;
}

/* チェックボックスがONになった時（クリックされた時）の処理 */
.accordion-toggle:checked ~ .accordion-wrapper {
  grid-template-rows: 1fr;
}

.p-club {
  padding: 55px 0 78px;
}
.p-club .l-flex-layout {
  margin-bottom: 3.28125rem;
}
.p-club__head {
  font-size: 0.984375rem;
}
.p-club__head a {
  width: 100%;
  aspect-ratio: 400/200;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: var(--rounded-corners);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.9140625rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-bottom: 20px;
}
.p-club__head a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 119, 61, 0.15);
  /* 30%の暗さのフィルター */
  z-index: -1;
}
.p-club__sub-list {
  margin-top: 1.640625rem;
  padding-left: 3.0625rem;
}
.p-club__sub-list a {
  width: 100%;
  padding: 1.3671875rem 3px 0.546875rem;
  border-bottom: 1px solid var(--color-accent);
  font-size: 0.984375rem;
}
.p-club__button {
  margin-top: 50px;
}

.p-admission-information {
  padding: 55px 0 135px;
}

.p-entry-detail {
  padding: 60px 0;
}
.p-entry-detail__news {
  margin-top: 100px;
}

.p-entry-section:not(:first-of-type) {
  margin-top: 4.375rem;
}

.p-card__img {
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 12px;
  border-radius: var(--rounded-corners);
}
.p-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-card__date {
  font-size: 12px;
  color: #888;
  display: block;
  margin-bottom: 5px;
}
.p-card__title {
  font-weight: 700;
  line-height: 1.5;
}
.p-archive-club__list .p-card {
  border-radius: var(--rounded-corners);
  padding: 20px;
}
.p-archive-club__list .p-card__img {
  aspect-ratio: 207/139;
}
.p-archive-club__list .p-card__title {
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-breadcrumb {
  margin-top: 1.3671875rem;
  font-size: 12px;
}
.p-breadcrumb ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.p-breadcrumb ul li:not(:last-of-type)::after {
  content: "＞";
  display: inline-block;
  margin: 0 1em;
}

.p-post-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  gap: 40px;
  margin-top: 40px;
  overflow: hidden;
}
.p-club .p-post-list {
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  margin-top: 0;
}

.p-post-card__link {
  display: block;
  position: relative;
}
.p-post-card__link::after {
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  position: absolute;
  right: -20px;
  top: 0;
  background: var(--color-gradation);
}
.p-post-card__figure {
  overflow: hidden;
  aspect-ratio: 408/245;
  background: #eee;
  border-radius: var(--rounded-corners);
}
.p-post-card__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-post-card__title {
  font-size: 1rem;
  margin: 3px 0 0;
  line-height: 1.5;
}
.p-post-card__cat, .p-post-card__date {
  display: block;
  font-size: 12px;
  text-align: right;
  color: #949494;
  line-height: 1.8;
}
.p-post-card__cat a {
  color: #d44747;
  text-decoration: underline;
  margin-left: 0.5em;
}

.p-entry-article {
  margin-bottom: 100px;
}

.p-entry-header {
  text-align: center;
  padding-top: 80px;
}
.p-entry-header__date {
  display: block;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  color: #888;
}
.p-entry-header__categories {
  margin-top: 20px;
}
.p-entry-header__categories a {
  color: var(--color-accent);
  font-weight: 700;
}

.p-entry-body__thumbnail {
  margin-bottom: 50px;
}
.p-entry-body__thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}
.p-entry-body__content {
  width: calc(100% - 100px);
  display: block;
  margin: 0 auto;
  color: #444;
  font-size: 1rem;
}
.p-entry-body__content p {
  margin-bottom: 50px;
}
.p-entry-body__content img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}

.p-sub-content {
  margin-top: 50px;
}
.p-sub-content__grid {
  padding: 50px;
  border: 1px solid #000;
}
.p-sub-content__item {
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.p-sub-content__item:first-child {
  border-bottom: 1px solid #000;
  margin-bottom: 50px;
  padding-bottom: 50px;
}
.p-sub-content__item:last-child {
  margin-bottom: 0;
}

.p-archive-club__list {
  padding: 40px 0 70px;
  margin-top: 60px;
}

.p-lead__title {
  color: var(--color-accent);
  font-size: 21px;
  letter-spacing: 2.2px;
  margin-bottom: 23px;
  text-align: center;
}
.p-lead__text {
  margin-bottom: 33px;
  text-align: center;
}

.p-club-detail {
  margin-top: 40px;
}
.p-club-detail__summary {
  max-width: 900px;
}
.p-club-detail .swiper-content {
  width: 100%;
  margin: 0 auto 73px;
}
.p-club-detail .swiper-content__control {
  margin-top: 25px;
}
.p-club-detail__swiper {
  width: 100%;
  height: 500px;
  border-radius: var(--rounded-corners);
  overflow: hidden;
  position: relative;
}
.p-club-detail__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-club-detail__pagination {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  justify-content: center;
  margin: 0 auto 0 0;
}
.p-club-detail__pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  cursor: pointer;
  vertical-align: top;
  background: var(--color-gradation);
  border: 1px solid var(--color-accent);
}
.p-club-detail__pagination .swiper-pagination-bullet-active {
  background: var(--color-gradation);
  background: #fff;
}
.p-club-detail__label {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  background: var(--color-gradation);
  z-index: 2;
  margin: 0;
  padding: 13px;
  letter-spacing: 5px;
  border-radius: 5px 0 5px 0;
}
.p-club-detail .title {
  color: var(--color-accent);
  font-size: 26px;
  letter-spacing: 3px;
  margin-bottom: 17px;
  text-align: center;
}
.p-club-detail .text {
  text-align: center;
}
.p-club-detail__more {
  padding: 60px 0 80px;
  margin-top: 73px;
}

.info-block {
  border-radius: var(--rounded-corners);
  padding: 30px;
  margin-bottom: 30px;
}
.info-block .info-header {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.info-block .info-header .icon {
  width: 24px;
  height: 24px;
  background: #333;
  margin-right: 10px;
  border-radius: var(--rounded-corners);
}
.info-block .info-header h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
}
.info-block .info-content dl {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #eee;
  padding: 15px 0;
}
.info-block .info-content dl dt {
  width: 30%;
  font-weight: 700;
  color: #555;
}
@media (max-width: 800px) {
  .info-block .info-content dl dt {
    width: 100%;
    margin-bottom: 5px;
  }
}
.info-block .info-content dl dd {
  width: 70%;
  margin: 0;
}
@media (max-width: 800px) {
  .info-block .info-content dl dd {
    width: 100%;
  }
}

.navigation-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 50px;
}
.navigation-links a:not(.c-button) {
  color: #333;
  font-weight: 700;
}

.p-schedule {
  border: 1px solid var(--color-accent);
  border-radius: var(--rounded-corners);
  padding: 2.1875rem 2.734375rem;
  position: relative;
}
.p-schedule:not(:first-of-type) {
  margin-top: 4.375rem;
}
.p-schedule__month {
  position: absolute;
  top: -1.640625rem;
  left: -1.53125rem;
  color: #fff;
  background: var(--color-gradation);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  width: 6.5625rem;
  height: 6.5625rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-schedule__item {
  font-size: 0.984375rem;
  font-weight: 700;
  margin-left: 3.28125rem;
}
.p-schedule__images {
  margin-top: 1.640625rem;
}

.hikaku-rank {
  transition: 1s;
  opacity: 0;
}

.hikaku-rank.is-show {
  opacity: 1;
}

.p-faq {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-faq__item {
  background: #fff;
  border-radius: var(--rounded-corners);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  margin-bottom: 16px;
  transition: background 0.4s ease;
}
.p-faq__item.is-open {
  background: var(--color-gradation);
}
.p-faq__item.is-open .p-faq__question {
  color: #fff;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.6);
}
.p-faq__item.is-open .p-faq__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}
.p-faq__question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  align-items: center;
  padding: 24px;
  cursor: pointer;
  font-weight: bold;
  color: var(--color-accent);
  position: relative;
  list-style: none;
}
.p-faq__question::-webkit-details-marker {
  display: none;
}
.p-faq__icon {
  font-size: 1.3125rem;
  margin-right: 16px;
  flex-shrink: 0;
}
.p-faq__text {
  flex-grow: 1;
}
.p-faq__toggle {
  position: absolute;
  right: 24px;
  width: 16px;
  height: 16px;
}
.p-faq__toggle::before, .p-faq__toggle::after {
  content: "";
  position: absolute;
  background: currentColor;
  top: 50%;
  left: 50%;
  transition: 0.3s;
}
.p-faq__toggle::before {
  width: 100%;
  height: 2px;
  transform: translate(-50%, -50%);
}
.p-faq__toggle::after {
  width: 2px;
  height: 100%;
  transform: translate(-50%, -50%);
}
.p-faq__answer {
  display: none;
  color: #fff;
  overflow: hidden;
  padding: 24px;
}
.p-faq__answer-inner {
  display: flex;
  align-items: flex-start;
}
.p-faq__content {
  display: flex;
  gap: 20px;
}
@media (max-width: 800px) {
  .p-faq__content {
    flex-direction: column;
  }
}
.p-faq__image {
  flex-shrink: 0;
  width: 200px;
}
.p-faq__image img {
  width: 100%;
  height: auto;
  border-radius: var(--rounded-corners);
}

.p-ratio-display {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 16px;
  font-weight: bold;
  margin-top: 1em;
}
.p-ratio-display__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.p-ratio-display--column .p-ratio-display__item {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  margin-top: 1em;
}
.p-ratio-display__label {
  color: #666;
}
.p-ratio-display__number {
  font-size: clamp(3.75rem, -2.985rem + 13.45vw, 5.625rem);
  line-height: 1;
}
.p-ratio-display__number .u-font-min {
  font-size: 0.875rem;
}
.p-ratio-display__separator {
  font-size: clamp(1.563rem, -1.805rem + 6.73vw, 2.5rem);
  padding-bottom: 4px;
}
.p-ratio-display--column {
  align-items: center;
  flex-direction: column;
}

.c-history__item {
  position: relative;
  display: flex;
}
.c-history__year-block {
  width: 9rem;
  text-align: right;
  padding: 1rem 0;
}
.c-history__details-block {
  margin-left: 1rem;
  padding: 1rem;
  width: calc(100% - 13rem - 1px);
  border-left: 1px solid #333;
}
.c-history__details-block .c-media-grid {
  margin-top: 1rem;
}
.c-history__details-block::before {
  content: "";
  width: 11px;
  height: 11px;
  background: var(--color-primary, #000);
  position: absolute;
  left: calc(9rem + 11px);
  top: 1.5rem;
  border-radius: 50%;
}

.section-post__thumb {
  width: 100%;
  aspect-ratio: 2/1;
  margin-bottom: 20px;
}
.section-post__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--rounded-corners);
}
.section-post__meta {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.section-post__meta time {
  font-size: 12px;
  font-style: italic;
  color: #b9b9b9;
  letter-spacing: 0.06em;
  transition: all 0.2s ease;
}
.section-post__cat {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  margin-left: 10px;
}
.section-post__cat a {
  display: block;
  text-align: center;
  border: 1px solid var(--color-accent);
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.24em;
  padding: 4px;
  border-radius: 5px;
  color: var(--color-accent);
  min-width: 58px;
}
.section-post__title {
  font-size: 22px;
  margin-bottom: 15px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.section-post__content a {
  color: #0066cc;
  text-decoration: underline;
}
.section-post__content a:hover {
  text-decoration: none;
  filter: opacity(0.8);
}

.p-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  margin-top: 40px;
}
.p-pagination > * {
  color: var(--color-accent);
}

.p-calendar {
  padding: 55px 0 80px;
  margin-bottom: 100px;
}

/* イベント全体のコンテナ */
.fc-custom-event-container {
  padding: 2px 4px;
  border-radius: var(--rounded-corners);
  overflow: hidden;
}

.fc-toolbar-chunk > div:has(.fc-toolbar-title) {
  display: flex;
  align-items: center;
  gap: 2.5em;
}

/* タイトル（年.月） */
.fc .fc-toolbar-title {
  color: var(--color-accent);
  font-size: 2.1875em;
  font-weight: 700;
}

/* 次へ・前へボタン */
.fc .fc-prev-button,
.fc .fc-next-button {
  background: var(--color-gradation);
  border-color: var(--color-accent);
  color: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 矢印のアイコンをカスタマイズ（標準のアイコンを隠して疑似要素で描画） */
.fc-icon-chevron-left::before {
  content: "←" !important;
}

.fc-icon-chevron-right::before {
  content: "→" !important;
}

.fc .fc-button .fc-icon {
  font-weight: 700;
}

/* 次へ・前へボタンのホバー時（マウスを乗せた時） */
.fc .fc-prev-button:hover,
.fc .fc-next-button:hover {
  background: #fff;
  border-color: var(--color-accent);
  color: var(--color-accent);
}

/* カレンダーボタン同士の間に余白を入れる */
.fc .fc-toolbar .fc-button-group > .fc-button {
  margin-right: 10px !important;
  margin-left: 0 !important;
  border-radius: 0;
  width: 6.125em;
  height: 1.6875em;
  line-height: 1;
  padding: 0;
  font-weight: 700;
}

/* 最後のボタンの右余白は不要な場合 */
.fc .fc-toolbar .fc-button-group > .fc-button:last-child {
  margin-right: 0 !important;
}

/* 通常時のスタイル */
.fc .fc-button-group .fc-button-primary {
  background: #fff;
  color: var(--color-accent);
  border-color: var(--color-accent);
  background-image: none;
  box-shadow: none;
  text-transform: none;
  transition: all 0.2s;
}

/* ホバー時（マウスを乗せた時）の微調整 */
.fc .fc-button-group .fc-button-primary:hover {
  background: rgba(255, 0, 139, 0.05);
  border-color: var(--color-accent) !important;
  color: var(--color-accent);
}

/* 表示中のボタン（アクティブ時）のスタイル */
.fc .fc-button-group .fc-button-primary.fc-button-active {
  background: var(--color-accent) !important;
  color: #fff !important;
  border-color: var(--color-accent) !important;
}

/* ボタンが押されている時の影などをリセット */
.fc .fc-button-group .fc-button-primary:focus,
.fc .fc-button-group .fc-button-primary:not(:disabled):active {
  box-shadow: none !important;
}

/* カレンダー全体の外枠とテーブルの罫線を消す */
.fc-theme-standard td,
.fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
  border: none !important;
}

/* 日付枠の余白設定 */
.fc .fc-daygrid-day {
  padding-bottom: 1.3636363636%;
  background: transparent !important;
}

.fc .fc-daygrid-day:not(:first-of-type) {
  padding-left: 1.3636363636%;
}

/* 日付枠の中身を白、角丸にする */
.fc .fc-daygrid-day-frame {
  background: #fff;
  border-radius: var(--rounded-corners);
  padding: 0 10px;
}

/* 今日の枠の中身を変える */
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame {
  background: var(--fc-today-bg-color);
}

/* カレンダーの日付の色,サイズを変える */
.fc .fc-daygrid-day-number {
  color: var(--color-accent);
  font-size: 2.8125em;
  line-height: 1;
}

/* カレンダーの日付をセンター寄せにする */
/* FullCalendarはデフォルトで右寄せ(flex-end)なので、centerに変更 */
.fc .fc-daygrid-day-top {
  justify-content: center;
  flex-direction: row;
}

/* 画像とタイトルを横並びにする */
.fc-event-flex-row {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* サムネイル画像の枠 */
.fc-event-thumb {
  flex-shrink: 0;
  width: clamp(1.875rem, -1.447rem + 5.9vw, 3.125rem);
  height: auto;
  aspect-ratio: 188/266;
  overflow: hidden;
}

/* タイトルのスタイル */
.fc-event-main-title {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /* 長いタイトルを「...」で省略 */
  line-height: 1.2;
}

.fc-daygrid-event {
  border: none !important;
  margin-bottom: 5px;
}

.u-required {
  color: red;
}

.p-contact-form {
  margin-top: 2.734375rem;
}

.p-contact-form {
  margin-bottom: calculate-font-size(50);
}
.p-contact-form > p {
  margin: 2rem 0 0;
}
.p-contact-form__precautions {
  margin: 1rem 0;
}
.p-contact-form {
  /* inputの「type="submit"以外」と textarea にスタイルを適用 */
}
.p-contact-form input:not([type=submit]),
.p-contact-form textarea {
  padding: 10px 5px;
  border: 1px solid var(--color-gray-border);
  border-radius: var(--rounded-corners);
  background: var(--color-bg-menu);
  letter-spacing: 0.1em;
}
.p-contact-form {
  /* inputの「type="submit"以外」のみ横幅100%にする */
}
.p-contact-form input:not([type=submit]) {
  width: 100%;
}
.p-contact-form textarea {
  width: 100%;
  resize: none;
}/*# sourceMappingURL=style.css.map */