/*
Theme Name: iwamichisuikan
Description: iwamichisuikan Template
Author: kashimura co.ltd..
*/
:root {
  --menu-width: 280px;
}

body {
  font-size: clamp(0.813rem, -0.015rem + 3.53vw, 1.75rem);
}

.pc {
  display: none !important;
}

#header {
  padding: clamp(1.25rem, 0.699rem + 2.35vw, 1.875rem) 5%;
}
#header .header-logo a img {
  width: 52vw;
}
#header .sns-logo a img {
  width: 30px;
}
#header .header-nav {
  position: fixed;
  top: 0;
  right: calc(var(--menu-width) * -1);
  width: var(--menu-width);
  height: 100vh;
  background: var(--color-bg-menu);
  z-index: 100;
  transition: all 0.4s ease;
  padding-top: 60px;
}
#header .header-nav.is-active {
  right: 0;
}
#header .header-nav .header-menu-list {
  flex-direction: column;
  gap: 0;
}
#header .header-nav .header-menu-list li a {
  display: block;
  padding: 15px 20px;
  border-bottom: 1px solid #ddd;
}

.menu-trigger {
  width: clamp(3.75rem, 2.096rem + 7.06vw, 5.625rem);
  height: clamp(3.75rem, 2.096rem + 7.06vw, 5.625rem);
  font-size: clamp(0.75rem, 0.419rem + 1.41vw, 1.125rem);
}

.c-section-title {
  font-size: 1.9285714286em;
  margin-bottom: 0.9259259259em;
  line-height: 1.5;
}
.p-news .c-section-title {
  margin-bottom: 0;
}
.p-admission-information .c-section-title, .p-class-course .c-section-title {
  margin-bottom: 1.0185185185em;
}

.c-lead-box {
  font-size: 1.2857142857em;
}
.p-class-course .c-lead-box {
  margin-bottom: 2.4166666667em;
}
.p-school-life .c-lead-box {
  margin-bottom: 2.2222222222em;
}

.c-icon-arrow {
  width: clamp(2rem, -0.096rem + 8.94vw, 4.375rem);
  height: clamp(2rem, -0.096rem + 8.94vw, 4.375rem);
  font-size: clamp(0.75rem, 0.088rem + 2.82vw, 1.5rem);
}
.c-icon-arrow::after {
  font-size: 1em;
}

.c-media-block__nav-item a {
  font-size: 1.1428571429em;
}

.c-button-cat {
  font-size: 0.9285714286em;
}

.c-label-cat {
  font-size: 1em;
}

.c-media-grid {
  grid-template-columns: 1fr;
}

.c-card-grid {
  grid-template-columns: 1fr;
}
.p-archive-club__list .c-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8.75vw;
}

.c-mega-menu {
  justify-content: center;
}

.c-sns-links {
  margin: 10% 0 15%;
}

.c-overlay-menu {
  padding: clamp(9.375rem, 4.963rem + 18.82vw, 14.375rem) 0 clamp(2.344rem, 1.654rem + 2.94vw, 3.125rem);
}
.c-overlay-menu .c-access-info {
  display: none;
}
.c-overlay-menu .c-global-nav__list {
  grid-template-columns: 1fr;
  gap: 5vw;
}

.c-main-visual {
  height: 53.3333333333vw;
}

.overlay-sub-menu-list {
  margin-top: 5vw;
}

.c-main-visual__title,
.p-firstview__copy {
  font-size: 2.2857142857em;
}

.c-flexbox-block .u-flex {
  flex-direction: column;
  gap: 20px;
}
.u-flex__item {
  width: 100%;
}

.p-firstview__swiper {
  height: auto;
  aspect-ratio: 800/490;
}
.p-firstview__apply {
  position: relative;
  top: 100%;
  bottom: unset;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.7857142857em;
}

.p-apply {
  padding: 0.8214285714em 0.6428571429em 0.8214285714em 0.9642857143em;
  border: 1px solid var(--color-accent);
  border-radius: var(--rounded-corners);
}
.p-apply__year {
  font-size: 0.8571428571em;
}
.p-apply__text {
  font-size: 1.2857142857em;
}

.p-top-fix-button {
  width: 3.5714285714em;
}
.p-top-fix-button a {
  font-size: 0.8928571429em;
  border-top-left-radius: 1.32em;
  border-bottom-left-radius: 1.32em;
  padding: 1.6em 0 1.8em;
}
.p-top-fix-button .c-icon-arrow {
  font-size: 0.6em;
  width: 2.9333333333em;
  height: 2.9333333333em;
}
.p-top-fix-button .c-icon-arrow::after {
  color: var(--color-accent);
}

.p-news {
  padding: 3.0357142857em 0 3.8214285714em;
}
.p-news__header {
  margin-bottom: 10.5vw;
}
.p-news__cat-list {
  gap: 0.6em;
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  white-space: nowrap;
  margin-bottom: 2em;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.p-news__cat-list::-webkit-scrollbar {
  display: none;
}
.p-news__cat-item {
  width: unset;
  flex: 0 0 auto;
}
.p-news__cat-item button {
  padding: 0 1.5em;
}
.p-news__list {
  grid-template-columns: 1fr;
  gap: 1.7142857143em;
  margin-bottom: 2.8571428571em;
}
.p-news__link {
  border-left: 0.9642857143em solid var(--color-gray-border);
  padding: 1.4285714286em 1.9642857143em;
}
.p-news__link:hover {
  border-color: var(--color-accent);
  opacity: 1;
}
.p-news__title {
  font-size: 1.1428571429em;
  margin-top: 0.3125em;
}

.p-class-course {
  padding: 4.5357142857em 0 5.3571428571em;
}
.p-class-course__list {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8.75vw;
}
.p-class-course__img {
  border-radius: var(--rounded-corners);
  margin: 1em 0 0.6428571429em;
}
.p-class-course__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-class-course__name {
  font-size: 0.9642857143em;
}
.p-class-course__name .c-icon-arrow {
  font-size: 0.7407407407em;
  width: 2.95em;
  height: 2.95em;
  margin-right: 1em;
}

.p-school-life {
  padding: 4.5357142857em 0 3.5714285714em;
}
.p-school-life .l-flex-layout {
  flex-direction: column-reverse;
}

.p-club {
  padding: 4.5357142857em 0 3.5714285714em;
}
.p-club__head {
  font-size: 1.1428571429em;
}
.p-club__sub-list a {
  font-size: 1.1428571429em;
}

.p-admission-information {
  padding: 4.5357142857em 0 8.5em;
}

.fc .fc-toolbar {
  flex-direction: column-reverse;
}

.fc .fc-toolbar-title {
  font-size: 2.0357142857em;
}

.fc-toolbar-chunk:has(.fc-toolbar-title) {
  margin-bottom: 2.1428571429em;
}

.fc .fc-toolbar .fc-button-group > .fc-button {
  font-size: 1.25em;
}

.fc .fc-daygrid-day-number {
  font-size: 1.2142857143em;
}

.fc .fc-col-header-cell-cushion {
  font-size: 0.8214285714em;
}

.fc-event-main-title {
  font-size: 12px;
}

.fc .fc-prev-button,
.fc .fc-next-button {
  width: 2.2857142857em;
  height: 2.2857142857em;
}

.fc .fc-button .fc-icon {
  font-size: 0.7857142857em;
}

.p-contact-form {
  margin-bottom: 30px;
}
.p-contact-form tr,
.p-contact-form th,
.p-contact-form td {
  display: block;
  width: 100%;
  text-align: left;
}
.p-contact-form tr {
  border-bottom: 1px solid #000;
  padding: 10px 0;
}
.p-contact-form th {
  margin-bottom: 5px;
}
.p-contact-form input[name=com_field01],
.p-contact-form input[name=com_field02] {
  width: 100%;
}/*# sourceMappingURL=style_mob.css.map */