@charset "utf-8";

/*---------------------------------

  common

---------------------------------*/
p,
h1,
h2,
h3,
h4,
h5,
h6,
li {
  letter-spacing: 0;
  line-height: 1.4;
}

body {
  background-color: var(--color-white);
  font-family: 'Noto Sans JP', sans-serif;
}

p+p {}

img {
  height: auto;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

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

@media screen and (max-width: 768px) {}

/*---------------------------------

  header

---------------------------------*/
.header {}

.header-inner {
  margin: auto;
  padding: min(var(--vw32), 40px) 0 min(var(--vw24), 30px);
}

.header-logo {
  width: min(80%, 533px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .header-head {}
}


/*---------------------------------

  global-nav

---------------------------------*/
.global-nav-outer {
  background: var(--color-black-main);
}

.global-nav .list {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.global-nav .list a {
  display: block;
  padding: min(var(--vw5), 20px) 0;
  text-align: center;
  color: #fff;
}


/*---------------------------------

  search-form

---------------------------------*/
.search-form-outer {
  min-height: 300px;
  background: url(../img/adobe-dummy.jpg) no-repeat center / cover;
  padding: 25px 10px;
}

.search-form {
  background: rgb(255 255 255 / .7);
  padding: 30px 10px;
}

.search-form-inner {}

.search-form-input-block {
  gap: 12px;
  max-width: 960px;
  margin: 35px auto 0;
}

.search-form-input-block input {
  width: 100%;
  height: min(var(--vw50), 70px);
  padding: 0 16px;
}

.search-button {
  width: 100%;
  gap: 4px;
  height: min(var(--vw50), 70px);
}

.search-form-option-block {
  gap: 20px;
  margin: 35px auto 0;
}

.search-form-option-block label {
  gap: 12px;
}

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

  .search-form-input-block input {
    flex: 7;
    padding: 0 16px;
  }

  .search-button {
    flex: 1;
  }
}


.breadcrumb-ul {
  gap: min(var(--vw8), 8px);
  mask-image: linear-gradient(to right, #fff calc(100% - 50px), transparent 100%);
  padding: min(var(--vw4), 5px) 50px min(var(--vw4), 5px) 0;
  white-space: nowrap;
  overflow-x: scroll;
}

.breadcrumb-li {
  display: flex;
  align-items: center;
  gap: min(var(--vw6), 8px);
}
.breadcrumb-li:not(:last-of-type)::after {
  content: '';
  display: grid;
  place-items: center;
  width: 14px;
  height: 14px;
  text-decoration: none;
  background-image: url('../img/icon-2-lined-arrow-gray.svg');
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (min-width: 768px) {
  .breadcrumb-ul {
    mask-image: none;
    padding: min(var(--vw4), 5px) 0;
    white-space: normal;
    overflow-x: visible;
  }
}

/*---------------------------------

  footer

---------------------------------*/
.footer {
  margin: min(var(--vw72), 90px) 0 0;
  background: var(--color-black-main);
  padding: min(var(--vw30), 30px) 0;
  position: relative;
}

.footer-inner {
  margin: auto;
}

.footer-logo {
  width: min(80%, 500px);
  margin: 0 auto;
}

.copyright {
  margin: min(var(--vw12), 18px) 0 0;
  font-size: var(--st12);
}

.footer-page-top {
  height: 28px;
  position: absolute;
  top: -28px;
  right: 10%;
  border-radius: 10px 10px 0 0;
  padding: 4px 12px;
}

@media screen and (max-width: 768px) {
  .footer-inner {}
}


/*---------------------------------

  component

---------------------------------*/
.section-inner {
  width: var(--common-main-w-m);
  margin: auto;
}

.section-inner-grid {}

.common-heading-h2 {}

@media screen and (max-width: 768px) {
  .section-inner {}

  .section-inner-grid {}

  .common-heading-h2 {}
}

.title>* {}

@media (any-hover: hover) {
  .link:hover .title>* {}
}

.subtitle {}

.paginate {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: min(var(--vw32), 40px) 0 0;
}

.page-numbers {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: var(--color-green-600);
  color: var(--color-white);
}

.page-numbers.current {
  border: 2px solid var(--color-green-600);
  background: #fff;
  font-weight: bold;
  color: var(--color-green-600);
}

.page-numbers.prev {}

.page-numbers.next {}

.page-numbers.prev::before,
.page-numbers.next::after {
  content: '';
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: var(--color-green-600);
  text-decoration: none;
  background-image: url('../img/icon-3-lined-arrow-r-white.svg');
  background-repeat: no-repeat;
  background-position: center;
}

.page-numbers.prev::before {
  transform: rotate(180deg);
}
/*---------------------------------

  parts

---------------------------------*/
.category-lists {}

@media screen and (max-width: 768px) {
  .category-lists {}
}


/*---------------------------------

  PDF

---------------------------------*/
.pdf-thumbnail {
  border: 1px solid #707070;
}

.pdf-thumbnail img {
  aspect-ratio: 3/4;
}

@media screen and (max-width: 768px) {}

.pdf-lists {
  gap: min(var(--vw12), 24px);
}

.pdf-list .pdf-wrapper {
  height: 100%;
}
.pdf-list .link {
  gap: 16px;
  height: 100%;
  border-bottom: 1px solid #ddd;
  padding: 0 16px 16px;
}

.pdf-list .link .pdf-thumbnail {
  flex: 1.5;
}

.pdf-list .link .pdf-read {
  flex: 3.5;
}

.pdf-list .pdf-dl {
  justify-content: end;
  gap: 8px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 8px;
  bottom: 0;
  right: 0;
}

.pdf-category-list {
  padding: 2px 8px;
}

/*---------------------------------

  news

---------------------------------*/
.news-list {}

.news-lists li {
  margin: 0 0 24px;
  border-bottom: #bbb solid 1px;
  padding: 0 0 24px;
}

.news-head {}

.news-head-icon {}

.news-date {}

.news-title {
  margin: 5px 0 0;
}

.news-content {}

.news-content a {}

.news-paginate {}


/*---------------------------------

  category-lists

---------------------------------*/
.category-lists {
  gap: min(var(--vw12), 28px);
}

.category-list {
  height: min(var(--vw50), 80px);
}

.category-list a {
  height: 100%;
  padding: 0 15px;
}

.category-list a::after {
  content: "";
  display: block;
  width: min(var(--vw24), 40px);
  height: min(var(--vw24), 40px);
  background: url(../img/icon-3-lined-arrow-r-green-circle.svg) no-repeat center / contain;
}

/*---------------------------------

  records

---------------------------------*/
.record-pdf-single-content-main {
  gap: min(var(--vw32), 40px);
}

.common-editor-content .record-pdf-category-lists {
  margin: 0;
}

/*---------------------------------

  swiper

---------------------------------*/
.swiper-main {
  max-width: 100%;
  max-height: 100%;
  cursor: pointer;
}

.swiper-thumbnail {
  width: 100%;
  align-self: start;
}

.swiper-thumbnail .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.swiper-thumbnail .swiper-slide {
  width: 100% !important;
  cursor: pointer;
  transition: opacity .15s;
}

@media (any-hover: hover) {
  .swiper-thumbnail .swiper-slide:hover {
    opacity: .8;
  }
}

@media screen and (max-width: 768px) {
  .swiper-main {
    margin-inline: auto;
    width: 62.723%;
  }
}

/*---------------------------------

  record PDF

---------------------------------*/
.pdf-category-lists {
  margin: 5px 0 0;
}
.record-pdf-category-lists {
  flex-direction: row;
  order: 2;
}

.record-imgs {
  grid-template-columns: 1fr;
}

.record-book {
  margin: 16px 0 32px;
}

.record-pdf-subtitle {
  margin: 15px 0 0;
}

.record-pdf-about {
  margin: 10px 0 0;
}
.record-pdf-dl-outer {
  border: 1px solid #ccc;
  padding: 10px 16px;
}
.record-pdf-dl {
  gap: 8px;
}

@media screen and (max-width: 768px) {
  .swiper-thumbnail .swiper-wrapper {
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
  }
}

/*---------------------------------

  swiper data main

---------------------------------*/
.swiper-outer [class*="swiper-button-"] {
  position: static;
}

/*---------------------------------

  js ( + swiper)

---------------------------------*/
.js-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
}

@media screen and (max-width: 768px) {
  .js-modal {
    padding: 60px 20px;
  }
}

.js-modal::after {
  content: "";
  position: absolute;
  display: block;
  background-color: rgb(0 0 0 / .8);
  opacity: .8;
  width: 100%;
  height: 100%;
}

.js-modal.show {
  opacity: 1;
  pointer-events: auto;
}

.swiper-modal {
  width: 100%;
  height: 100%;
}

.swiper-modal .swiper-slide img {
  width: fit-content;
  height: fit-content;
}

.swiper-modal .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.swiper-modal .swiper-pagination-bullet {
  background: var(--color-white) !important;
}

.swiper-modal .swiper-button-next,
.swiper-button-prev {
  color: var(--color-green-500);
}

.js-close {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  z-index: 1;
}

.js-close::before,
.js-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 40px;
  background-color: var(--color-white);
}

.js-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.js-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* swiper prev next */
/* 前へ次への矢印カスタマイズ */
.swiper-button-outer {
  gap: min(var(--vw10), 12px);
}

.swiper-button-prev,
.swiper-button-next {
  height: 50px;
  width: 50px;
  background: var(--color-green-600);
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  width: 24px;
  height: 24px;
  margin: auto;
}

/* 前への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-image: url(../img/icon-3-lined-arrow-r-white.svg);
}

.swiper-button-prev::after {
  transform: rotate(180deg);
}