@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");
* {
  box-sizing: border-box;
}

*::before, *::after {
  box-sizing: border-box;
}

a {
  color: inherit;
}

a[class] {
  text-decoration: none;
}

ul[class], ol[class], li[class], dl[class], dt[class], dd[class] {
  margin: 0;
  padding: 0;
  list-style: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

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

input,
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  outline: none;
  color: inherit;
  font-family: inherit;
}

input::-ms-expand,
select::-ms-expand,
textarea::-ms-expand,
button::-ms-expand {
  display: none;
}

button {
  display: block;
  cursor: pointer;
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid #ccc;
  background: none;
}

body {
  line-height: 1.75;
  letter-spacing: 0.05em;
}
body.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.entry-content)) {
  width: 92%;
}

.entry-content {
  max-width: none !important;
}

.wp-block-post {
  display: flex;
  flex-direction: column;
}
.wp-block-post .wp-block-post-featured-image {
  position: relative;
  padding-top: 80%;
}
.wp-block-post .wp-block-post-featured-image img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: contain !important;
     object-fit: contain !important;
  transform: translate(-50%, -50%);
}

.wp-block-table table {
  width: 100%;
}
.wp-block-table th, .wp-block-table td {
  padding: min(5.3333333333vw, 30px) min(2.6666666667vw, 20px);
  vertical-align: top;
  border-color: var(--wp--preset--color--custom-gray);
}
.wp-block-table th:nth-child(1), .wp-block-table td:nth-child(1) {
  white-space: nowrap;
}
.wp-block-table.is-style-border-vertical th, .wp-block-table.is-style-border-vertical td {
  border-left: none;
  border-right: none;
}
.wp-block-table.is-style-no-border td, .wp-block-table.is-style-no-border th {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.wp-block-query-pagination {
  margin-top: min(16vw, 100px);
}
.wp-block-query-pagination-numbers .page-numbers {
  display: inline-block;
  width: 2em;
  height: 2em;
  margin: 0 0.25em;
  padding-top: 0.15em;
  border: 2px solid var(--wp--preset--color--custom-main);
  border-radius: 50%;
  background-color: #fff;
  color: var(--wp--preset--color--custom-main);
  text-decoration: none;
  text-align: center;
}
.wp-block-query-pagination-numbers .page-numbers.current {
  background-color: var(--wp--preset--color--custom-main);
  color: #fff;
}
.wp-block-query-pagination-previous {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--wp--preset--color--custom-main);
}
.wp-block-query-pagination-previous::before {
  font-size: 1.5em;
  font-family: "Material Symbols Rounded";
  content: "\e5cb";
}
.wp-block-query-pagination-next {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--wp--preset--color--custom-main);
}
.wp-block-query-pagination-next::after {
  font-size: 1.5em;
  font-family: "Material Symbols Rounded";
  content: "\e5cc";
}

.wp-block-buttons .wp-block-button {
  display: block;
  width: min(80vw, 300px);
}
.wp-block-buttons .wp-block-button.wp-block-button__width-100 {
  width: 100%;
}
.wp-block-buttons .wp-block-button.wp-block-button__width-75 {
  width: min(106.6666666667vw, 400px);
}
.wp-block-buttons .wp-block-button.wp-block-button__width-50 {
  width: 100%;
  width: min(69.3333333333vw, 260px);
}
.wp-block-buttons .wp-block-button.wp-block-button__width-25 {
  width: 100%;
  width: min(48vw, 180px);
}
.wp-block-buttons .wp-block-button__link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 4.5em;
  padding: 0;
  font-size: min(3.776vw, 14.16px);
  font-weight: bold;
}
.wp-block-buttons .wp-block-button__link::after {
  font-size: 1.5em;
  font-family: "Material Symbols Rounded";
  content: "\e5cc";
  display: block;
  position: absolute;
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
}
@media (hover) {
  .wp-block-buttons .wp-block-button__link {
    transition: background-color 0.5s;
  }
  .wp-block-buttons .wp-block-button__link:hover {
    border: 1px solid currentColor;
    background-color: #fff !important;
  }
}

.c-headerNav {
  position: fixed;
  right: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  transition: 0.5s;
  transform: translateX(100%);
  overflow-y: scroll;
  z-index: 5000;
  pointer-events: none;
}
.c-headerNav__toggle {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  right: min(3.7333333333vw, 14px);
  top: min(1.3333333333vw, 5px);
  align-items: center;
  width: min(10.6666666667vw, 60px);
  height: min(10.6666666667vw, 60px);
  border-radius: 50%;
  background-color: var(--wp--preset--color--custom-main);
  transition: 0.5s;
  z-index: 6000;
}
.c-headerNav__toggle .wp-block-button {
  display: block;
  position: relative;
  width: 50%;
  flex-basis: auto;
  height: min(0.5333333333vw, 2px);
  background-color: #fff;
  font-size: 0;
  border-radius: 10px;
}
.c-headerNav__toggle .wp-block-button::before, .c-headerNav__toggle .wp-block-button::after {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: inherit;
  background-color: #fff;
  border-radius: inherit;
  content: "";
}
.c-headerNav__toggle .wp-block-button::before {
  transform: translateY(max(-1.8666666667vw, -10px));
}
.c-headerNav__toggle .wp-block-button::after {
  transform-origin: left top;
  transform: translateY(min(1.8666666667vw, 10px));
}
.c-headerNav__toggle .wp-block-button a {
  display: none;
}
.c-headerNav__toggle.is-open + .c-headerNav {
  transform: translateX(0);
}
.c-headerNav__toggle.is-open .wp-block-button {
  background-color: transparent;
}
.c-headerNav__toggle.is-open .wp-block-button::before {
  transform: translateY(0) rotate(45deg);
  animation: menuBtnTopOpen 0.5s;
}
.c-headerNav__toggle.is-open .wp-block-button::after {
  transform-origin: center center;
  transform: translateY(0) rotate(-45deg);
  animation: menuBtnBottomOpen 0.5s;
}
.c-headerNav__toggle.is-close + .c-headerNav {
  transform: translateX(100%);
}
.c-headerNav__toggle.is-close .wp-block-button {
  background-color: #fff;
}
.c-headerNav__toggle.is-close .wp-block-button::before {
  transform: translateY(max(-1.8666666667vw, -10px)) rotate(0);
  animation: menuBtnTopClose 0.5s;
}
.c-headerNav__toggle.is-close .wp-block-button::after {
  transform-origin: left top;
  transform: translateY(min(1.8666666667vw, 10px)) rotate(0);
  animation: menuBtnBottomClose 0.5s;
}
@media screen and (min-width: 768px) {
  .c-headerNav__toggle {
    display: none;
  }
}
@keyframes menuBtnTopOpen {
  0% {
    transform: translateY(max(-1.8666666667vw, -10px)) rotate(0);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(45deg);
  }
}
@keyframes menuBtnBottomOpen {
  0% {
    transform-origin: left top;
    transform: translateY(min(1.8666666667vw, 10px)) rotate(0);
  }
  50% {
    transform-origin: left top;
    transform: translateY(0) rotate(0);
  }
  51% {
    transform-origin: center center;
    transform: translateY(0) rotate(0);
  }
  100% {
    transform-origin: center center;
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes menuBtnTopClose {
  0% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(max(-1.8666666667vw, -10px)) rotate(0);
  }
}
@keyframes menuBtnBottomClose {
  0% {
    transform-origin: center center;
    transform: translateY(0) rotate(-45deg);
  }
  49% {
    transform-origin: center center;
    transform: translateY(0) rotate(0);
  }
  50% {
    transform-origin: left top;
    transform: translateY(0) rotate(0);
  }
  100% {
    transform-origin: left top;
    transform: translateY(min(1.8666666667vw, 10px)) rotate(0);
  }
}

.c-navigation {
  max-width: 500px;
  height: 100%;
  margin-left: auto;
  padding: min(16vw, 80px) 3% 0;
  background-color: var(--wp--preset--color--custom-main);
}
.c-navigation .wp-block-navigation__container {
  display: block;
  width: 100%;
}
.c-navigation .wp-block-navigation-item {
  display: block;
  position: relative;
  transform-origin: right top;
  transition: 0.5s;
  pointer-events: auto;
}
.c-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
  display: flex;
  align-items: center;
  width: 100%;
  padding-left: 1em;
  height: 3.5em;
  background-color: var(--wp--preset--color--custom-main);
  color: #fff;
}

.c-breadcrumb {
  padding: min(5.3333333333vw, 20px) 0;
  gap: 0;
  line-height: 1;
  font-size: min(3.7333333333vw, 14px);
}
.c-breadcrumb p {
  display: flex;
  align-items: center;
}
.c-breadcrumb p::after {
  font-size: 1.5em;
  font-family: "Material Symbols Rounded";
  content: "\e5cc";
}
.c-breadcrumb p a {
  color: var(--wp--preset--color--custom-main);
}
.c-breadcrumb p:last-child::after {
  display: none;
}
.c-breadcrumb .wp-block-post-title {
  font-size: 1em;
  font-weight: normal;
}

.l-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.06);
  z-index: 5000;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: min(16vw, 80px);
  position: relative;
  padding: 0 3.7333333333%;
}
.l-header__inner > .wp-block-image {
  margin: 0 !important;
}
.l-header__inner > .wp-block-image img {
  height: min(10.1333333333vw, 61px);
}

.l-footer ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  gap: 2em;
}
.p-kv {
  position: relative;
  z-index: 10;
}
.p-kv_bg {
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(50%, -20%);
  z-index: -1;
}

.wp-site-blocks {
  overflow: hidden;
}