@charset "UTF-8";
:root {
  --shadow-sm: 0 2px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.15);
}
.shadow-sm {
  box-shadow: var(--shadow-sm);
}
.shadow-md {
  box-shadow: var(--shadow-md);
}
.shadow-lg {
  box-shadow: var(--shadow-lg);
}
.drop-shadow-sm {
  filter: drop-shadow(var(--shadow-sm));
}
.drop-shadow-md {
  filter: drop-shadow(var(--shadow-md));
}
.drop-shadow-lg {
  filter: drop-shadow(var(--shadow-lg));
}
.margin-top-sm {
  margin-top: var(--wp--preset--spacing--60);
}
.margin-top-md {
  margin-top: var(--wp--preset--spacing--70);
}
.text-center {
  text-align: center;
}
@media (min-width: 601px) {
  .hide-pc {
    display: none;
  }
}
.flex-between, .flex-between-top, .flex-between-center, .flex-between-bottom {
  display: flex;
  justify-content: space-between;
}
.flex-between-top {
  align-items: flex-start;
}
.flex-between-center {
  align-items: center;
}
.flex-between-bottom {
  align-items: flex-end;
}
.alignnone, .alignwide, .alignwider, .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  padding-inline: clamp(1rem, 5%, 5%);
}
.site-main {
  padding-bottom: calc(var(--wp--preset--spacing--80) + 100px);
}
.bg-color {
  background: var(--wp--preset--color--base-2);
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--70);
  position: relative;
  background: transparent;
  z-index: 0;
}
.bg-color::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--wp--preset--color--base-2);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), 0 100%);
  z-index: -1;
}
.bg-color.wp-block-group.alignfull {
  margin-top: var(--wp--preset--spacing--80);
}
.left-aside-layout {
  position: relative;
  padding-inline: 1rem;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  /* 左下の丸ボタン */
  /* 左サイドメニュー（オーバーレイ） */
  /* 背景オーバーレイ */
}
.left-aside-layout #left-aside-layout-menu-toggle {
  position: fixed;
  left: 0;
  bottom: 12px;
  width: 66px;
  min-width: initial;
  padding: 0;
  height: 60px;
  border-radius: 0 100px 100px 0;
  background: var(--wp--preset--color--accent-1);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: end;
  z-index: 20;
  transition: width 0.05s ease-in, left 0.05s ease-in;
}
.left-aside-layout #left-aside-layout-menu-toggle .arrow {
  display: inline-block;
  width: 16px;
  height: 16px;
  color: #fff;
  margin-right: 22px;
}
.left-aside-layout #left-aside-layout-menu-toggle.open {
  border-radius: 100px;
  left: 6px;
  width: 60px;
}
.left-aside-layout #left-aside-layout-menu-toggle.open .arrow {
  transform: rotate(-180deg);
}
.left-aside-layout aside.side-menu-left {
  position: fixed;
  top: 0;
  bottom: 0;
  left: -300px;
  width: 300px;
  height: 100vh;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
  overflow-y: auto;
  transition: left 0.3s ease;
  z-index: 15;
}
.left-aside-layout aside.side-menu-left.open {
  left: 0;
  padding-top: 6rem;
}
.left-aside-layout aside.side-menu-left .side-menu-list {
  list-style: none;
  padding: 0;
}
.left-aside-layout aside.side-menu-left .side-menu-list li a {
  display: block;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) var(--wp--preset--spacing--60);
  text-decoration: none;
  color: var(--wp--preset--color--contrast-1);
  transition: all 0.1s;
  font-weight: 700;
}
.left-aside-layout aside.side-menu-left .side-menu-list li a.active {
  color: var(--wp--preset--color--accent-1);
  background: rgba(206, 186, 158, 0.12);
  font-weight: 700;
  position: relative;
  padding-left: var(--wp--preset--spacing--60);
  transition: all 0.1s;
}
.left-aside-layout aside.side-menu-left .side-menu-list li a.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.4em;
  width: 6px;
  height: 6px;
  background: var(--wp--preset--color--accent-1);
  border-radius: 50%;
  margin-left: var(--wp--preset--spacing--50);
  transition: all 0.1s;
}
.left-aside-layout aside.side-menu-left .index {
  padding-left: var(--wp--preset--spacing--60);
}
.left-aside-layout aside.side-menu-left .index::before {
  margin-left: var(--wp--preset--spacing--50);
}
.left-aside-layout .menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 10;
}
@media (min-width: 1100px) {
  .left-aside-layout {
    display: flex;
    gap: clamp(var(--wp--preset--spacing--40), 3%, 3%);
  }
  .left-aside-layout #left-aside-layout-menu-toggle, .left-aside-layout .menu-overlay {
    display: none;
  }
  .left-aside-layout aside.side-menu-left {
    position: sticky;
    background: transparent;
    top: 80px;
    width: 300px;
    height: calc(100vh - 80px);
    overflow-y: auto;
    scrollbar-width: none;
    box-shadow: none;
  }
  .left-aside-layout aside.side-menu-left::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
  .left-aside-layout aside.side-menu-left::-webkit-scrollbar-track {
    background: transparent;
  }
  .left-aside-layout aside.side-menu-left:hover, .left-aside-layout aside.side-menu-left:focus-within {
    scrollbar-width: thin;
  }
  .left-aside-layout aside.side-menu-left:hover::-webkit-scrollbar, .left-aside-layout aside.side-menu-left:focus-within::-webkit-scrollbar {
    width: 8px;
  }
  .left-aside-layout aside.side-menu-left:hover::-webkit-scrollbar-thumb, .left-aside-layout aside.side-menu-left:focus-within::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    transition: background-color 0.18s ease;
  }
  .left-aside-layout aside.side-menu-left:hover::-webkit-scrollbar-thumb:hover, .left-aside-layout aside.side-menu-left:focus-within::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.1);
  }
  .left-aside-layout aside.side-menu-left .side-menu-list li a.active {
    border-radius: var(--wp--preset--spacing--20);
  }
  .left-aside-layout main {
    flex: 1;
  }
}
.site-footer {
  background: #3D352E;
  color: #fff;
  padding: 100px 0 var(--wp--preset--spacing--50);
  margin-top: -100px;
  clip-path: polygon(0 0, 100% 80px, 100% 100%, 0 100%);
}
.site-footer .logo {
  width: 50%;
  max-width: 240px;
  margin: var(--wp--preset--spacing--60) auto 0;
  display: block;
}
.site-footer * {
  color: inherit;
  text-decoration: none;
}
.copyright {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  padding: var(--wp--preset--spacing--50) 0;
  border-top: solid 1px #7A746D;
  text-align: center;
}
.menu-menu-footer-container {
  padding: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--60);
}
.menu-menu-footer-container ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu-menu-footer-container ul li {
  position: relative;
}
.menu-menu-footer-container ul li a {
  display: inline-block;
  padding: 0 var(--wp--preset--spacing--40);
}
.menu-menu-footer-container ul li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 60%;
  background-color: #7A746D;
}
.sns__area {
  background: rgba(0, 0, 0, 0.13);
  padding: 1.8rem 0;
}
.sns__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--30);
  line-height: 1.5;
}
@media (min-width: 601px) {
  .sns__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1100px) {
  .sns__content {
    grid-template-columns: repeat(3, 1fr);
  }
}
.sns {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 1em;
  align-items: center;
  justify-content: start;
  background: #fff;
  color: var(--wp--preset--color--contrast-1);
  padding: var(--wp--preset--spacing--30);
  border-radius: var(--wp--preset--spacing--30);
  width: 100%;
  box-sizing: border-box;
}
.sns img {
  flex-shrink: 0;
}
h3 {
  color: var(--wp--preset--color--accent-2);
}
.products h3.title, .breadcrumb {
  position: relative;
  padding-left: var(--wp--preset--spacing--40);
}
.products h3.title::before, .breadcrumb::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  background: var(--wp--preset--color--accent-3);
  border-radius: 50%;
}
h2.wp-block-heading, .products h3.title {
  position: relative;
  padding-bottom: var(--wp--preset--spacing--40);
}
h2.wp-block-heading::after, .products h3.title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: clamp(3px, 0.1rem, 0.25rem);
  width: 100%;
  background: linear-gradient(to right, var(--wp--preset--color--accent-3) 0 15rem, #d7d7d7 15rem 100%);
}
.grid4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--20);
}
@media (min-width: 601px) {
  .grid4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .grid4 {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--wp--preset--spacing--30);
  }
}
@media (min-width: 1280px) {
  .grid4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.grid3 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: var(--wp--preset--spacing--30);
}
@media (min-width: 601px) {
  .grid3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 900px) {
  .grid3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.grid2 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.5em;
}
@media (min-width: 768px) {
  .grid2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal[hidden] {
  display: none;
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: rgba(209, 209, 209, 0.6);
}
.modal-content {
  position: relative;
  background: #fff;
  border-radius: 8px;
  width: 96%;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 20;
  box-shadow: var(--shadow-md);
}
.close-modal {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  color: var(--wp--preset--color--accent-1);
  transition: color 0.3s ease;
}
h2.wp-block-heading {
  padding-top: var(--wp--preset--spacing--60);
}
h3.wp-block-heading {
  padding-top: var(--wp--preset--spacing--40);
}
ol li::marker {
  font-family: var(--wp--preset--font-family--accentfont);
  font-weight: bold;
  font-size: 1.2em;
  color: var(--wp--preset--color--accent-3);
  content: counter(list-item) ". ";
}
ul li::marker {
  font-size: 1.2em;
  color: var(--wp--preset--color--accent-3);
}
hr.wp-block-separator {
  border: solid 1px #ECE4D5;
  background-color: #ECE4D5;
  height: 0px;
  margin-block: 3em;
}
.wp-block-embed.is-type-video.is-provider-youtube {
  border-radius: 16px;
  overflow: hidden;
}
.wp-block-media-text {
  gap: clamp(var(--wp--preset--spacing--50), 3vw, 3rem);
}
.wp-block-media-text > .wp-block-media-text__content {
  padding: 0 var(--wp--preset--spacing--30);
}
.wp-block-media-text > .wp-block-media-text__content .wp-block-heading:first-child {
  padding-top: 0;
  margin-top: 0;
}
.wp-block-column .wp-block-heading:first-child {
  padding-top: 0;
  margin-top: 0;
}
.wp-block-heading .entry-title {
  word-break: break-all;
  overflow-wrap: break-word;
  white-space: normal;
}
.breadcrumb-area {
  background: #E3DED0;
  margin: calc(20px + 4rem) auto var(--wp--preset--spacing--60);
  padding: var(--wp--preset--spacing--40) 1rem;
}
.breadcrumb-area .breadcrumb {
  margin: 0 auto;
  max-width: var(--wp--style--global--content-size);
  word-break: break-all;
}
.breadcrumb-area .breadcrumb svg {
  width: 0.5em;
  margin: 0 0.85em;
  margin-bottom: 0.1em;
  vertical-align: middle;
  color: #9E9E9E;
}
.breadcrumb-area a {
  color: var(--wp--preset--color--contrust--1);
}
@media (min-width: 768px) {
  .breadcrumb-area {
    margin-top: calc(60px + 3rem);
  }
}
.icon-arrow-right {
  aspect-ratio: 1;
}
.icon-renewal-old, .icon-renewal-new {
  aspect-ratio: 1.8518518519;
}
.icon-renewal-arrow {
  aspect-ratio: 1.72;
}
.icon-search {
  aspect-ratio: 1;
}
.icon-title {
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.2em;
  vertical-align: middle;
}
.page-title-wrapper {
  position: relative;
  margin-top: var(--wp--preset--spacing--70);
  padding-top: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--50);
}
.page-title-wrapper::before {
  content: attr(data-en);
  position: absolute;
  left: 0;
  width: 102%;
  top: var(--wp--preset--spacing--20);
  font-family: var(--wp--preset--font-family--accentfont);
  font-size: clamp(2rem, 10vw, 6rem);
  font-weight: 900;
  line-height: 0.8;
  color: rgba(139, 107, 29, 0.12);
  white-space: nowrap;
  z-index: 0;
  overflow: hidden;
}
.page-title-wrapper .page-title, .page-title-wrapper .wp-block-button {
  position: relative;
  z-index: 1;
}
.page-title-wrapper .page-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0;
  margin-top: 1em;
  font-size: clamp(1.5rem, 2vw, 2.1rem);
  font-weight: 900;
}
@media (max-width: 768px) {
  .page-title-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .page-title-wrapper::before {
    font-size: clamp(1.5rem, 15vw, 4rem);
  }
}
.en-title {
  font-family: var(--wp--preset--font-family--accentfont);
  font-size: 3em;
  color: rgba(139, 107, 29, 0.17);
  font-weight: 900;
  margin: 0;
  display: block;
  line-height: 0.8;
  text-transform: uppercase;
  width: fit-content;
}
.page-header {
  position: relative;
  height: auto;
  clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
  z-index: 0;
  overflow: hidden;
  background-color: #E2D8C7;
  padding-bottom: 4rem;
  z-index: 1;
}
.page-header > .animation-stroke {
  position: absolute;
  top: 0;
  left: 50%;
  max-height: max-content;
  width: 2000px;
  transform: translate(-50%, 0);
}
.page-header > .animation-stroke path {
  stroke-width: clamp(2px, 0.3em, 4px);
}
.page-header::before {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 4rem;
  background-image: var(--bg2-url);
  background-repeat: repeat;
  background-size: auto;
  clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
  z-index: -1;
}
.page-header .breadcrumb-area {
  background: transparent;
}
/*.navigation.pagination {
    text-align: center;
    margin: 2em 0;
    font-family: var(--wp--preset--font-family--accentfont);

    .nav-links {
        display: inline-flex;
        gap: 0.5em;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;

        .page-numbers {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            color: var(--wp--preset--color--accent-1);
            text-decoration: none;
            font-weight: 600;
            transition: background-color 0.3s ease, color 0.3s ease;

            &:hover {
                background-color: var(--wp--preset--color--accent-1);
                color: var(--wp--preset--color--base-1);
            }

            &.current {
                opacity: 0.5;
                cursor: default;
                pointer-events: none;
                font-weight: 700;
            }

            &.dots {
                width: auto;
                height: auto;
                border-radius: 0;
                padding: 0 0.5em;
                pointer-events: none;
                background: none;
                color: #999;
                font-weight: normal;
                cursor: default;

                &:hover {
                    background: none;
                    color: #999;
                }
            }

            &.prev,
            &.next {
                background-color: var(--wp--preset--color--accent-1);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 36px;
                height: 36px;
                border: solid 2px var(--wp--preset--color--accent-1);
                border-radius: 50%;
                color: #fff;
                transition: color 0.3s ease, background-color 0.3s ease;

                &:hover {
                    background-color: var(--wp--preset--color--base-1);
                    color: var(--wp--preset--color--accent-1);
                }

                svg {
                    width: 8px;
                }
            }
        }

    }
}*/
.navigation.pagination {
  text-align: center;
  margin: 2em 0;
  font-family: var(--wp--preset--font-family--accentfont);
}
.navigation.pagination .page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--wp--preset--color--accent-1);
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.navigation.pagination .page-numbers:hover {
  background-color: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--base-1);
}
.navigation.pagination .page-numbers.current {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
  font-weight: 700;
}
.navigation.pagination .page-numbers.dots {
  width: auto;
  height: auto;
  border-radius: 0;
  padding: 0 0.5em;
  pointer-events: none;
  background: none;
  color: #999;
  font-weight: normal;
  cursor: default;
}
.navigation.pagination .page-numbers.dots:hover {
  background: none;
  color: #999;
}
.navigation.pagination .page-numbers.prev, .navigation.pagination .page-numbers.next {
  background-color: var(--wp--preset--color--accent-1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: solid 2px var(--wp--preset--color--accent-1);
  border-radius: 50%;
  color: #fff;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.navigation.pagination .page-numbers.prev:hover, .navigation.pagination .page-numbers.next:hover {
  background-color: var(--wp--preset--color--base-1);
  color: var(--wp--preset--color--accent-1);
}
.navigation.pagination .page-numbers.prev svg, .navigation.pagination .page-numbers.next svg {
  width: 8px;
  height: auto;
}
.tag {
  font-size: var(--wp--preset--font-size--small);
}
.tag a {
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.tag a:hover {
  opacity: 0.6;
}
.tag span {
  display: inline-block;
  border-radius: 30px;
  border: solid 1px var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--accent-1);
  padding: 0.1em 0.8em 0.2em;
  margin: 0 0.2em 0.3em 0;
  line-height: 1.6;
}
.tag.color span {
  font-size: var(--wp--preset--font-size--medium);
  background: var(--wp--preset--color--accent-1);
  color: #fff;
}
table {
  border-collapse: collapse;
}
.wp-block-table {
  display: block;
}
.wp-block-table th, .wp-block-table td {
  border: 1px solid #EFEFEF;
  padding: 1em;
  text-align: left;
  vertical-align: middle;
}
.wp-block-table thead, .wp-block-table tfoot {
  background: var(--wp--preset--color--base-3);
  color: #8F7756;
  border-top: none;
}
.wp-block-table thead, .wp-block-table tbody, .wp-block-table th, .wp-block-table td, .wp-block-table tr {
  display: block;
  width: 100%;
}
@media (min-width: 601px) {
  .wp-block-table {
    display: table;
  }
  .wp-block-table thead, .wp-block-table tbody {
    display: table-row-group;
  }
  .wp-block-table th, .wp-block-table td {
    display: table-cell;
  }
  .wp-block-table tr {
    display: table-row;
  }
}
.wp-block-table.is-style-left td:first-child {
  background: var(--wp--preset--color--base-3);
  color: #8F7756;
  font-weight: 700;
  border-bottom: solid 1px #EFEFEF;
  border-top: solid 1px #EFEFEF;
  border-left: solid 1px #EFEFEF;
  border-right: none;
  width: 100%;
}
@media (min-width: 601px) {
  .wp-block-table.is-style-left td:first-child {
    width: 30%;
  }
}
.fixed-style-table {
  display: table;
  width: 100%;
}
.fixed-style-table thead, .fixed-style-table tfoot {
  background: var(--wp--preset--color--base-3);
  color: #8F7756;
  border-top: none;
}
.fixed-style-table th, .fixed-style-table td {
  border: 1px solid #EFEFEF;
  padding: 1em;
  vertical-align: middle;
}
.fixed-style-table tr {
  display: table-row;
}
figcaption {
  text-align: center;
}
.wp-block-gallery.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--gallery-gap, 1.5em);
  margin-bottom: 1.5em;
  box-sizing: border-box;
}
.wp-block-gallery.is-layout-flex.columns-2 .wp-block-image, .wp-block-gallery.is-layout-flex.columns-3 .wp-block-image, .wp-block-gallery.is-layout-flex.columns-4 .wp-block-image, .wp-block-gallery.is-layout-flex.columns-5 .wp-block-image {
  flex: 0 0 calc((100% - 1 * var(--gallery-gap)) / 2);
  max-width: calc((100% - 1 * var(--gallery-gap)) / 2);
}
.wp-block-gallery.is-layout-flex .wp-block-image img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}
.wp-block-gallery.is-layout-flex .wp-block-image figcaption {
  text-align: center;
}
@media (min-width: 768px) {
  .wp-block-gallery.is-layout-flex.columns-2 .wp-block-image {
    flex: 0 0 calc((100% - 1 * var(--gallery-gap)) / 2);
    max-width: calc((100% - 1 * var(--gallery-gap)) / 2);
  }
  .wp-block-gallery.is-layout-flex.columns-3 .wp-block-image {
    flex: 0 0 calc((100% - 2 * var(--gallery-gap)) / 3);
    max-width: calc((100% - 2 * var(--gallery-gap)) / 3);
  }
  .wp-block-gallery.is-layout-flex.columns-4 .wp-block-image {
    flex: 0 0 calc((100% - 3 * var(--gallery-gap)) / 4);
    max-width: calc((100% - 3 * var(--gallery-gap)) / 4);
  }
  .wp-block-gallery.is-layout-flex.columns-5 .wp-block-image {
    flex: 0 0 calc((100% - 4 * var(--gallery-gap)) / 5);
    max-width: calc((100% - 4 * var(--gallery-gap)) / 5);
  }
}
/* custom */
/*
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gallery-gap);
}

.gallery-grid img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.gallery-large {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .gallery-large {
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
    }
}*/
/* 共通 */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gallery-gap);
  margin-top: var(--gallery-gap);
}
.gallery-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.gallery-large {
  grid-column: 1 / -1;
  /* モバイルでは横幅いっぱい */
}
/* PC用 */
@media (min-width: 768px) {
  /* デフォルト（左大きい） */
  /* 右大きいだけ特別扱い */
  .gallery-grid {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .gallery-large {
    grid-row: 1 / span 2;
    /* 大きい画像は縦2マス固定 */
  }
  .gallery-grid .gallery-large {
    grid-column: 1 / span 2;
  }
  .gallery-grid .gallery-small:nth-of-type(2) {
    grid-column: 3;
    grid-row: 1;
  }
  .gallery-grid .gallery-small:nth-of-type(3) {
    grid-column: 4;
    grid-row: 1;
  }
  .gallery-grid .gallery-small:nth-of-type(4) {
    grid-column: 5;
    grid-row: 1;
  }
  .gallery-grid .gallery-small:nth-of-type(5) {
    grid-column: 3;
    grid-row: 2;
  }
  .gallery-grid .gallery-small:nth-of-type(6) {
    grid-column: 4;
    grid-row: 2;
  }
  .gallery-grid .gallery-small:nth-of-type(7) {
    grid-column: 5;
    grid-row: 2;
  }
  .gallery-grid.right-large .gallery-large {
    grid-column: 4 / span 2;
  }
  .gallery-grid.right-large .gallery-small:nth-of-type(2) {
    grid-column: 3;
    grid-row: 1;
  }
  .gallery-grid.right-large .gallery-small:nth-of-type(3) {
    grid-column: 2;
    grid-row: 1;
  }
  .gallery-grid.right-large .gallery-small:nth-of-type(4) {
    grid-column: 1;
    grid-row: 1;
  }
  .gallery-grid.right-large .gallery-small:nth-of-type(5) {
    grid-column: 3;
    grid-row: 2;
  }
  .gallery-grid.right-large .gallery-small:nth-of-type(6) {
    grid-column: 2;
    grid-row: 2;
  }
  .gallery-grid.right-large .gallery-small:nth-of-type(7) {
    grid-column: 1;
    grid-row: 2;
  }
}
.gallery-item {
  opacity: 1;
  height: 100%;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.gallery-item.hidden {
  opacity: 0;
  height: 0;
  transform: translateY(20px);
  display: block;
}
/* 塗りつぶしボタン（デフォルト） */
button, input[type="button"], input[type="reset"], input[type="submit"], input[type="file"]::file-selector-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: clamp(12px, 1em, var(--wp--preset--spacing--30)) var(--wp--preset--spacing--50);
  border-radius: 100px;
  font-weight: 700;
}
input[type="file"] {
  width: 100%;
}
input[type="file"]::file-selector-button {
  margin-right: 1em;
  display: inline-flex;
  margin-bottom: 1em;
}
.input-button-wrap {
  position: relative;
  margin-inline: auto;
  width: fit-content;
  display: block;
}
input[type="submit"] {
  padding-right: 3em;
}
.input-button-wrap .icon-arrow-right {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background-image: url("../images/icon-arrow-right-wht.svg");
  background-repeat: no-repeat;
}
.input-button-wrap:hover .icon-arrow-right {
  background-image: url("../images/icon-arrow-right-color.svg");
}
/* default */
input[type="submit"], .wp-block-button .wp-block-button__link {
  background: linear-gradient(135deg, var(--wp--preset--color--accent-1) 0%, #DB2222 100%);
  color: var(--wp--preset--color--base-1);
  border: 3px solid var(--wp--preset--color--accent-1);
  transition: background 0.3s ease, color 0.3s ease;
}
input[type="submit"]::after, .wp-block-button .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: var(--wp--preset--spacing--50);
  vertical-align: middle;
  background-image: url("../images/icon-arrow-right-wht.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
}
input[type="submit"]:hover, .wp-block-button .wp-block-button__link:hover {
  background: var(--wp--preset--color--base-1);
  color: var(--wp--preset--color--accent-1);
}
input[type="submit"]:hover::after, .wp-block-button .wp-block-button__link:hover::after {
  background-image: url("../images/icon-arrow-right-color.svg");
}
/* outline */
.is-style-outline .btn-back.wp-block-button__link, .wpcf7-previous, input[type="file"]::file-selector-button, button.is-style-outline, input[type="button"].is-style-outline, .wp-block-button.is-style-outline .wp-block-button__link {
  background: var(--wp--preset--color--base-1);
  color: var(--wp--preset--color--accent-1);
  border: 3px solid var(--wp--preset--color--accent-1);
  transition: background 0.3s ease, color 0.3s ease;
}
.is-style-outline .btn-back.wp-block-button__link::after, .wpcf7-previous::after, input[type="file"]::file-selector-button::after, button.is-style-outline::after, input[type="button"].is-style-outline::after, .wp-block-button.is-style-outline .wp-block-button__link::after {
  background-image: url("../images/icon-arrow-right-color.svg");
}
.is-style-outline .btn-back.wp-block-button__link:hover, .wpcf7-previous:hover, input[type="file"]::file-selector-button:hover, button.is-style-outline:hover, input[type="button"].is-style-outline:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--base-1);
}
.is-style-outline .btn-back.wp-block-button__link:hover::after, .wpcf7-previous:hover::after, input[type="file"]::file-selector-button:hover::after, button.is-style-outline:hover::after, input[type="button"].is-style-outline:hover::after, .wp-block-button.is-style-outline .wp-block-button__link:hover::after {
  background-image: url("../images/icon-arrow-right-wht.svg");
}
.wp-block-button.is-style-outline .wp-block-button__link::after {
  background-image: url("../images/icon-arrow-right-color.svg");
}
.wp-block-button.is-style-outline .wp-block-button__link:hover::after {
  background-image: url("../images/icon-arrow-right-wht.svg");
}
input[type="submit"] {
  margin-inline: auto;
  min-width: 12rem;
  text-align: left;
}
.wp-block-button__link {
  padding: clamp(12px, 1em, var(--wp--preset--spacing--30)) var(--wp--preset--spacing--50);
}
.disabled, button:disabled {
  background-color: #F4F4F4 !important;
  color: #E2E2E2 !important;
  border-color: #F4F4F4 !important;
  pointer-events: none;
}
.button-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: var(--wp--preset--spacing--20);
}
.button-icon {
  background: var(--wp--preset--color--accent-1);
  color: #fff;
  width: var(--wp--preset--font-size--large);
  height: var(--wp--preset--font-size--large);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
}
.button-icon .icon {
  width: 5px;
  height: 100%;
}
.wp-lightbox-container button:focus, .wp-lightbox-container button:hover, .wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
  width: 100%;
  height: 100%;
  top: 0 !important;
  right: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  /* 影を消す */
  backdrop-filter: none !important;
  /* ぼかし（もや）を消す */
  filter: none !important;
  /* その他フィルターをリセット */
}
.block-card {
  background: #fff;
  border-radius: var(--wp--preset--spacing--30);
  padding: clamp(var(--wp--preset--spacing--50), 4%, 4%) clamp(var(--wp--preset--spacing--50), 5%, 5%);
  box-shadow: var(--shadow-md);
}
.card-with-image {
  background: #fff;
  border-radius: var(--wp--preset--spacing--20);
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.6s ease;
}
@media (min-width: 768px) {
  .card-with-image {
    border-radius: var(--wp--preset--spacing--30);
  }
}
.card-with-image:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
.card-with-image .card-link {
  color: inherit;
  text-decoration: none;
}
.card-with-image .card-image img {
  aspect-ratio: 1.7777777778;
  object-fit: cover;
}
.card-with-image .card-content {
  padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}
.card-with-image .card-title {
  font-weight: 700;
  font-size: var(--wp--preset--font-size-medium);
  line-height: 1.5;
  margin: 0 0 var(--wp--preset--spacing--20) 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], select, textarea {
  border: 1px solid rgba(191, 174, 123, 0.5);
  border-radius: 3px;
  padding: var(--wp--preset--spacing--20);
  background: #fff;
}
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff url("../images/icon-arrow-bottom.svg") no-repeat center right 12px;
}
.wpcf7-form-control.wpcf7-not-valid {
  border: 2px solid var(--wp--preset--color--accent-1);
  background-color: #fff0f0;
}
.formtable {
  display: block;
}
.formtable thead, .formtable tbody, .formtable th, .formtable td, .formtable tr {
  display: block;
  width: 100%;
}
.formtable th {
  margin: var(--wp--preset--spacing--50) 0 5px;
  vertical-align: top;
  text-align: left;
}
.formtable td label, .formtable td fieldset, .formtable td legend {
  margin: 0;
  padding: 0;
  border: none;
}
.formtable td.name select, .formtable td.name input, .formtable td.col-2 select, .formtable td.col-2 input {
  max-width: 16rem;
  width: calc(50% - var(--wp--preset--spacing--30));
}
.formtable td select.s, .formtable td input.s, .formtable td .p-region {
  max-width: 20rem;
  width: calc(50% - var(--wp--preset--spacing--30));
}
.formtable td.address .postal-code input {
  width: 5rem;
}
.formtable td.tel input {
  max-width: 6rem;
}
.formtable td.tel input:first-child {
  max-width: 4rem;
}
.formtable td p {
  margin: 0 0 var(--wp--preset--spacing--20) 0;
}
@media (min-width: 601px) {
  .formtable {
    display: table;
  }
  .formtable thead, .formtable tbody {
    display: table-row-group;
  }
  .formtable th, .formtable td {
    display: table-cell;
    padding-block: var(--wp--preset--spacing--30);
  }
  .formtable th {
    display: table-cell;
    padding-right: var(--wp--preset--spacing--50);
  }
  .formtable tr {
    display: table-row;
  }
  .formtable th {
    margin: 0;
    width: 30%;
    min-width: 250px;
  }
}
.required, .optional {
  border-radius: 3px;
  font-size: var(--wp--preset--font-size--small);
  padding: 1px var(--wp--preset--spacing--20) 2px;
  margin-right: var(--wp--preset--spacing--20);
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
}
.required {
  background: var(--wp--preset--color--accent-1);
}
.optional {
  background: #C1C1C1;
}
/* radio */
/*
.wpcf7-list-item {
    margin: 0;
    padding: 4px 0;
    display: inline-block;
    margin-right: 12px;
}

.wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.wpcf7-list-item label:hover {
    color: var(--wp--preset--color--accent-1);
}

.wpcf7-list-item input[type="radio"] {
    margin-right: 8px;
    accent-color: var(--wp--preset--color--accent-1);
}

.radio-vertical .wpcf7-list-item {
    margin: 0;
    display: block;
}

.wpcf7-list-item input[type="radio"]:checked+span {
    font-weight: bold;
}
*/
/*-------------------------------------*/
.checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2em;
  list-style: none;
  padding: 0;
  margin: 0;
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
  position: relative;
  line-height: 1;
  margin-block: 0.5em;
}
.checkbox-label input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: calc(var(--wp--preset--font-size--medium) * 1.2);
  height: calc(var(--wp--preset--font-size--medium) * 1.2);
  border-radius: 100px;
  background: #F6F3F2;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.checkbox-label input[type="checkbox"]:checked {
  background: var(--check-icon-url);
  background-size: var(--wp--preset--font-size--medium);
  background-color: var(--wp--preset--color--accent-1);
  background-repeat: no-repeat;
  background-position: center center;
}
/* contact form 7*/
.wpcf7 {
  margin-top: var(--wp--preset--spacing--50);
}
.wpcf7 .wpcf7-response-output {
  margin: var(--wp--preset--spacing--40) 0 !important;
  padding: 12px 15px;
  background: #fff0f0;
  border: none !important;
  color: var(--wp--preset--color--accent-1);
  font-weight: 500;
}
.wpcf7-not-valid-tip {
  margin-bottom: 0.5em;
}
.wpcf7-spinner {
  display: none;
}
/* ラジオボタン全体 */
/* ---------- ラジオボタンリスト全体 ---------- */
.wpcf7-list-item {
  margin: 0;
  padding: 4px 0;
  display: inline-flex;
  align-items: center;
  margin-right: 12px;
  position: relative;
  cursor: pointer;
}
/* 縦並びにしたい場合 */
.radio-vertical .wpcf7-list-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 8px;
}
/* ラベル全体 */
.wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
}
.wpcf7-list-item label:hover {
  color: var(--wp--preset--color--accent-1);
}
.wpcf7-list-item input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  border: none;
  background-color: #F6F3F2;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-right: 12px;
}
.wpcf7-list-item input[type="radio"]:checked::after {
  content: "";
  display: block;
  width: 50%;
  height: 50%;
  background-color: var(--wp--preset--color--accent-1);
  border-radius: 50%;
  position: absolute;
  top: 25%;
  left: 25%;
}
.wpcf7-list-item input[type="radio"]:checked + span {
  font-weight: bold;
}
/* custom */
.form-step {
  display: block;
  width: 85%;
  max-width: 260px;
  height: auto;
  margin-block: var(--wp--preset--spacing--50);
}
.form-step + h2 {
  padding-top: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--xlarge);
  font-weight: 700;
}
.form-step + h2::after {
  display: none;
}
.confirm-buttons {
  display: flex;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
  gap: var(--wp--preset--spacing--20);
}
.form-buttons {
  width: fit-content;
  margin: var(--wp--preset--spacing--60) auto;
}
.wpcf7-form-control-wrap {
  line-height: 1;
}
.block-department {
  overflow: hidden;
  padding: 0;
  gap: 0;
  margin-bottom: var(--wp--preset--spacing--40);
}
.block-department .wp-block-media-text__media {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.block-department .wp-block-media-text__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-department .wp-block-media-text__content {
  padding: var(--wp--preset--spacing--50);
}
.block-department .wp-block-media-text__content h3 {
  border-bottom: solid 3px #ECECEC;
  padding-bottom: var(--wp--preset--spacing--30);
  margin-bottom: 0;
  color: var(--wp--preset--color--contrast-1);
}
.block-department .wp-block-media-text__content .wp-block-list {
  margin-bottom: var(--wp--preset--spacing--20);
}
@media (min-width: 768px) {
  .block-department {
    grid-template-columns: 35% auto;
  }
  .block-department .wp-block-media-text__content {
    padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
  }
}
.block-recruit-button {
  gap: var(--wp--preset--spacing--50);
  max-width: 800px;
}
.block-recruit-button .wp-block-button {
  flex: 1 1 50%;
}
.block-recruit-button .wp-block-button__link {
  padding: var(--wp--preset--spacing--50);
  border-radius: var(--wp--preset--spacing--40);
  font-size: var(--wp--preset--font-size--large);
}
/*
//拠点ブロック
.block-location {
    height: 100%;

    h3 {
        border-bottom: solid 3px #ECECEC;
        padding: 0.3em 0 0.5em;
    }

    strong {
        font-family: var(--wp--preset--font-family--accentfont);
        color: var(--wp--preset--color--accent-2);
        font-weight: 900;
        padding-right: var(--wp--preset--spacing--40);

        &:nth-child(2) {
            padding-left: 2em;
        }
    }

    .icon_map {
        width: 3em;
        height: 3em;
        text-decoration: none;
        margin: 0;
        padding: 0;

        img {
            aspect-ratio: 1/1;
        }
    }
}

.block-associate {
    height: 100%;

    .block-card-link {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: var(--wp--preset--color--accent-2);

        &:hover {
            color: var(--wp--preset--color--accent-1);
        }
    }
}
*/
.block-renewal-item {
  position: relative;
}
.block-renewal-item .columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  box-shadow: var(--shadow-sm);
  border-radius: 6px;
}
.block-renewal-item .column {
  padding: var(--wp--preset--spacing--30) 0;
  text-align: center;
  position: relative;
}
.block-renewal-item .column.old {
  background: var(--wp--preset--color--base-3);
}
.block-renewal-item .column.old .year {
  color: var(--wp--preset--color--accent-2);
}
.block-renewal-item .column.new .year {
  color: var(--wp--preset--color--accent-1);
}
.block-renewal-item img {
  width: 100%;
  aspect-ratio: 1.3963636364;
  object-fit: contain;
}
.block-renewal-item .year {
  margin-top: var(--wp--preset--spacing--30);
  line-height: 1;
  font-weight: 700;
}
.block-renewal-item .year span {
  font-family: var(--wp--preset--font-family--accentfont);
  font-size: var(--wp--preset--font-size--xlarge);
}
.block-renewal-item .icon-renewal-old, .block-renewal-item .icon-renewal-new {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 3em;
}
.block-renewal-item .icon-renewal-arrow {
  position: absolute;
  bottom: 2em;
  left: 50%;
  transform: translateX(-50%);
  width: 3em;
}
.slide-image-gallery-block {
  padding: 1px 0 var(--wp--preset--spacing--80);
  margin-bottom: var(--wp--preset--spacing--70);
  background: var(--wp--preset--color--base-2);
}
.slide-image-gallery-block .swiper-slide {
  width: 100%;
  max-width: 500px;
  aspect-ratio: 1;
  overflow: hidden;
}
.slide-image-gallery-block .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.slide-image-gallery-block .dots {
  text-align: center;
}
.note-block {
  background: var(--wp--preset--color--base-3);
  padding: var(--wp--preset--spacing--50);
  border-radius: var(--wp--preset--spacing--20);
  box-sizing: border-box;
}
.explanation-block {
  background: var(--wp--preset--color--base-3);
  margin-top: var(--wp--preset--spacing--60);
  padding: clamp(var(--wp--preset--spacing--50), 4%, 4%) clamp(var(--wp--preset--spacing--50), 5%, 5%);
  border-radius: var(--wp--preset--spacing--20);
  box-sizing: border-box;
}
.explanation-block .explanation-columns {
  flex-wrap: wrap;
  margin: 0;
  gap: clamp(var(--wp--preset--spacing--40), 5%, 5%);
}
.explanation-block .explanation-columns > .image-column {
  flex: 0 0 25%;
  max-width: 100%;
  min-width: 200px;
  align-self: start;
}
.explanation-block .explanation-columns > .content-column {
  flex: 1;
}
.explanation-block .explanation-columns > .content-column h3 {
  font-weight: 700;
}
.explanation-block + .explanation-block {
  margin-top: var(--wp--preset--spacing--40);
}
.text-big-media-block, .big-media-text-block, .block-concept {
  margin-bottom: var(--wp--preset--spacing--60);
}
@media (min-width: 768px) {
  .text-big-media-block, .big-media-text-block, .block-concept {
    margin: var(--wp--preset--spacing--60) auto;
  }
}
.text-big-media-block .wp-block-columns .wp-block-column.content-column h3, .big-media-text-block .wp-block-columns .wp-block-column.content-column h3, .block-concept .wp-block-columns .wp-block-column.content-column h3 {
  color: var(--wp--preset--color--accent-1);
  font-size: var(--wp--preset--font-size--xxlarge);
}
.text-big-media-block .wp-block-columns .wp-block-column.image-column img, .big-media-text-block .wp-block-columns .wp-block-column.image-column img, .block-concept .wp-block-columns .wp-block-column.image-column img {
  border-radius: var(--wp--preset--spacing--40);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .text-big-media-block .wp-block-columns, .big-media-text-block .wp-block-columns, .block-concept .wp-block-columns {
    gap: var(--wp--preset--spacing--60);
  }
  .text-big-media-block .wp-block-columns .wp-block-column.content-column, .big-media-text-block .wp-block-columns .wp-block-column.content-column, .block-concept .wp-block-columns .wp-block-column.content-column {
    align-self: center;
  }
  .text-big-media-block .wp-block-columns .wp-block-column.image-column, .big-media-text-block .wp-block-columns .wp-block-column.image-column, .block-concept .wp-block-columns .wp-block-column.image-column {
    flex: 0 0 55%;
  }
}
.text-big-media-block .wp-block-columns {
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .text-big-media-block .wp-block-columns {
    flex-direction: row;
  }
}
.block-concept {
  margin: var(--wp--preset--spacing--70) auto;
}
.block-concept .wp-block-columns .wp-block-column.content-column h3 {
  color: var(--wp--preset--color--contrast-1);
}
.lineup-block .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.lineup-block .wp-block-columns .wp-block-column {
  text-align: center;
}
.lineup-block .wp-block-columns .wp-block-column p {
  margin: 0.5rem 0 0;
  line-height: 1.4;
}
.lineup-block .wp-block-columns .wp-block-column .sub-text {
  margin: 0;
}
.lineup-block .wp-block-columns .wp-block-image {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.lineup-block .wp-block-columns .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 768px) {
  .lineup-block .wp-block-columns {
    grid-template-columns: repeat(4, 1fr);
  }
}
.sub-text {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--contrast-2);
  margin: 0;
}
.contact-info-block {
  background: var(--wp--preset--color--base-2);
  padding: clamp(var(--wp--preset--spacing--50), 4%, 4%) clamp(var(--wp--preset--spacing--50), 5%, 5%);
  border-radius: var(--wp--preset--spacing--40);
}
.contact-info-block p {
  margin: 0;
}
.contact-info-block .tel {
  font-family: var(--wp--preset--font-family--accentfont);
  font-size: var(--wp--preset--font-size--xxlarge);
  color: var(--wp--preset--color--accent-2);
  font-weight: 900;
}
.text-wide-image {
  display: block;
}
.text-wide-image > .text {
  padding-inline: clamp(var(--wp--preset--spacing--40), 5%, 5%);
}
.text-wide-image > figure.wp-block-image {
  width: 100%;
  height: auto;
  padding-top: var(--wp--preset--spacing--40);
  overflow: hidden;
}
.text-wide-image > figure.wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 768px) {
  .text-wide-image {
    display: grid;
    grid-template-columns: auto 50vw;
    align-items: center;
    padding-left: clamp(var(--wp--preset--spacing--40), 5%, 5%);
  }
  .text-wide-image > .text {
    padding-left: 0;
    padding-right: var(--wp--preset--spacing--60);
  }
  .text-wide-image > figure.wp-block-image {
    padding: 0;
    height: 400px;
    border-radius: var(--wp--preset--spacing--60) 0 0 var(--wp--preset--spacing--60);
  }
}
@media screen and (min-width: 768px) and (min-width: 1200px) {
  .text-wide-image {
    padding-left: calc((100vw - var(--wp--style--global--content-size)) / 2 + clamp(var(--wp--preset--spacing--40), 5%, 5%));
  }
}
.title-accent {
  color: rgba(191, 174, 123, 0.5);
  font-family: var(--wp--preset--font-family--accentfont);
  position: relative;
  padding-left: var(--wp--preset--spacing--40);
}
.title-accent::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  background: var(--wp--preset--color--accent-2);
  border-radius: 50%;
  margin-left: 0;
}
.plus-toggle-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  position: relative;
  margin-left: var(--wp--preset--spacing--30);
}
.plus-toggle-icon .hor, .plus-toggle-icon .ver {
  position: absolute;
  background: var(--wp--preset--color--accent-1);
  transition: all 0.3s ease;
}
.plus-toggle-icon .hor {
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.plus-toggle-icon .ver {
  width: 2px;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(0deg);
  transform-origin: center;
}
.text-with-icon {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.text-with-icon svg {
  aspect-ratio: 1;
  width: 1em;
}
.animation-stroke svg {
  width: 100%;
  height: auto;
}
.animation-stroke path {
  fill: none;
  stroke-width: 0.18em;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 4000;
  stroke-dashoffset: 4000;
  animation-duration: 5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.66, 0, 0.34, 1);
  animation-play-state: paused;
}
.animation-stroke path:nth-of-type(1) {
  animation-name: draw-left-to-right;
}
.animation-stroke path:nth-of-type(2) {
  stroke-dashoffset: -4000;
  animation-name: draw-right-to-left;
}
.animation-stroke.visible path {
  animation-play-state: running;
}
@keyframes draw-left-to-right {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw-right-to-left {
  to {
    stroke-dashoffset: 0;
  }
}
.l-contents ul, .l-contents ol, .undercam ul, .undercam ol {
  list-style: none;
  padding: 0;
}
.l-contents a, .undercam a {
  text-decoration: none;
}
.l-contents .pc, .undercam .pc {
  display: block !important;
}
.l-contents .sp, .undercam .sp {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .l-contents .pc, .undercam .pc {
    display: none !important;
  }
  .l-contents .sp, .undercam .sp {
    display: block !important;
  }
}
.l-contents .pc_only, .undercam .pc_only {
  display: none !important;
}
.l-contents .mb_only, .undercam .mb_only {
  display: block;
}
@media only screen and (min-width: 769px) {
  .l-contents .pc_only, .undercam .pc_only {
    display: block !important;
  }
  .l-contents .mb_only, .undercam .mb_only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .mb_hidden {
    display: none !important;
  }
  .res img {
    max-width: 100%;
    width: 100%;
  }
}
/*pndl*/
.pndl h2 span {
  font-size: var(--wp--preset--font-size--small);
}
/*questionnare*/
.quesback form ul {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .quesback {
    background: #fffaee;
    padding: 50px 0 80px;
    box-sizing: border-box;
  }
}
/* 手帳ダウンロード */
h4.title_tdl {
  font-size: var(--wp--preset--font-size--xlarge);
  font-weight: 900;
  color: var(--wp--preset--color--accent-2);
}
.c_tdlbox {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: var(--wp--preset--spacing--40);
  gap: var(--wp--preset--spacing--20);
}
.c_tdlbox li {
  flex-basis: 0 0 calc(100% - var(--wp--preset--spacing--20)*3)/4;
}
.c_tdlbox li a {
  display: block;
  color: var(--wp--preset--color--contrast-2);
}
.c_tdlbox li img {
  width: 100%;
  box-shadow: var(--shadow-sm);
}
.c_tdlbox li h2 {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 500;
  margin: 0;
}
.c_tdlbox li p {
  color: #999999;
  font-size: 14px;
  line-height: 2em;
}
.tdlunder {
  margin-bottom: var(--wp--preset--spacing--60);
}
.quesback .tdl_addtext2 {
  margin-bottom: 30px;
}
.quesback .tdl_addtext3 {
  margin-bottom: 0px;
}
.quesback .tdl_addtext4 {
  margin-bottom: 0px;
}
.tdl_addtext2 {
  /*font-size: 13px;
    color: #999999;*/
  line-height: 2em;
  text-align: left;
  display: flex;
  font-weight: 900;
}
.tdl_addtext3 {
  /*font-size: 13px;
    color: #999999;*/
  line-height: 2em;
  text-align: left;
  display: flex;
  font-weight: 900;
}
.tdl_addtext4 {
  /*font-size: 13px;
    color: #999999;*/
  line-height: 2em;
  text-align: left;
  display: flex;
}
.tdl_addtext2 span {
  color: #e41332;
}
.c_tdlbox li a:hover h2 {
  color: #e41332;
  text-decoration: underline;
}
.sp_only {
  display: none;
}
@media only screen and (max-width: 768px) {
  .c_tdlbox {
    margin-bottom: 0px;
    flex-wrap: wrap;
  }
  .c_tdlbox li {
    flex-basis: 48%;
    margin-right: 4%;
    margin-bottom: 15px;
  }
  .c_tdlbox li img {
    /*width: 80%;*/
    margin-bottom: 10px;
  }
  .c_tdlbox li h2 {
    font-size: 16px;
    line-height: 1.5em;
  }
  .sp_only {
    display: block;
  }
}
.l-contents .breadcrumb, .l-contents .u_header, .l-contents .red_title {
  display: none;
}
.under_sg_inner {
  width: 1000px;
  margin: 0 auto;
}
.under_sg_inner img.pc_only {
  margin-bottom: 50px;
}
.under_sg_inner img.mb_only {
  margin-bottom: 25px;
}
.under_ser_inner ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.under_ser_inner ul li {
  flex-basis: 48%;
  text-align: left;
}
.under_ser_inner img {
  margin-bottom: 30px;
}
.cam_two span {
  line-height: 2.5em;
}
.cam_two span a:hover {
  color: #e41332;
  text-decoration: underline;
}
.under_ser_inner span.arw {
  display: block;
  background: url(../img/c_right_ci.png) no-repeat;
  background-size: 12px 9px;
  background-position: left center;
  padding-left: 20px;
  margin-left: 20px;
}
.cam_inner {
  position: relative;
}
.cam_inner_text {
  font-weight: 600;
  position: absolute;
  text-align: center;
  top: 42%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  width: 100%;
}
.cam_inner_text p {
  font-size: 15px;
  margin-bottom: 5px;
}
.cam_inner_text h2 {
  font-size: 26px;
  color: #007b42;
}
.cam_inner_text.redt h2 {
  color: #d2101b;
}
.cam_inner img {
  width: 100% !important;
}
.under_ser_inner span.arw a {
  color: #312f2d;
  font-weight: normal;
}
@media only screen and (max-width: 768px) {
  .under_ser_inner span.arw {
    background-position: left top 8px;
    margin-bottom: 10px;
  }
  .under_sg_inner {
    width: 100%;
    margin: 0 auto;
  }
  .under_ser_inner {
    box-sizing: border-box;
  }
  .under_ser_inner ul {
    display: block;
  }
  .under_ser_inner ul li:first-child {
    margin-bottom: 40px;
  }
  .under_ser_inner img {
    margin-bottom: 20px;
  }
  .under_ser_inner span {
    background-position: left 12px;
  }
  .cam_two span {
    line-height: 1.8em;
  }
  .cam_inner_text {
    top: 45%;
  }
  .cam_inner_text h2 {
    line-height: 1.3em;
    font-size: 20px;
  }
}
.dot {
  text-align: center;
  font-weight: 900;
  line-height: 13px;
  margin-top: 10px;
  color: #999999;
}
.c_top {
  position: relative;
  text-align: center;
}
.c_top_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 30px);
  font-weight: 600;
}
.c_top_inner p {
  font-weight: 500;
  margin: 0;
}
.c_top_inner h2 {
  color: #007b42;
  margin: 0;
}
.c_lead {
  font-size: 20px;
  font-weight: 600;
  padding: 80px 0;
}
.kids_cont_inner {
  text-align: center;
}
.kids_cont_head {
  margin: 0 auto;
  margin-bottom: 40px;
  background: url(../img/kids_cont_head_bg.png) no-repeat;
  background-position: center;
}
.kids_cont_head_kids {
  font-size: 30px;
  font-weight: 600;
  background-size: 1000px 66px;
  color: #ffffff;
  line-height: 66px;
}
.kids_cont_block {
  display: flex;
  justify-content: space-between;
  padding-bottom: 50px;
}
.kids_cont_block .fl {
  flex-basis: 60%;
}
.kids_cont_block .fl:first-child {
  flex-basis: 34%;
}
.kids_cont_block .fl:first-child img {
  border: 1px solid #dddddd;
  margin-bottom: 30px;
}
.kids_cont_block .fl h4 {
  font-size: 20px;
  font-weight: 600;
  color: #007b42;
  text-align: left;
  padding-left: 55px;
  background: url(../img/kids_h3_01.png) no-repeat;
  line-height: 44px;
  margin-bottom: 15px;
}
.kids_cont_block .fl h4.l {
  background: url(../img/kids_h3_02.png) no-repeat;
}
.kids_cont_block .fl p.fukidashi {
  background: #fff1cb;
  padding: 30px;
  position: relative;
  text-align: left;
  border-radius: 10px;
  margin-bottom: 40px;
}
.kids_cont_block .fl p.fukidashi:after {
  content: "";
  position: absolute;
  top: -25px;
  left: 45px;
  margin-left: -15px;
  border: 10px solid transparent;
  border-bottom: 15px solid #fff1cb;
}
.kids_cont_dot {
  text-align: left;
  margin-bottom: 30px;
}
.kids_cont_dot strong {
  margin-left: 20px;
  display: block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
}
.kids_cont_dot strong:before {
  position: relative;
  top: -2px;
  left: -18px;
  display: inline-block;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 100%;
  background: #007b42;
}
.kids_cont_dot p {
  color: #999999;
  font-size: 15px;
  line-height: 2em;
}
.kids_cont_dot span.arw {
  display: block;
  background: url(../img/c_right_cg.png) no-repeat;
  background-size: 12px 9px;
  background-position: left center;
  padding-left: 20px;
  margin-left: 0px;
}
.kids_cont_dot span.arw a {
  color: #312f2d;
  font-weight: normal;
}
.under_c_sg {
  background: #f5f5f5;
  padding: clamp(1rem, 5%, 5%);
}
.under_c_sg h2 {
  font-weight: 600;
  margin-bottom: 0.8em;
}
.under_c_sg ul {
  width: 100%;
  max-width: 1000px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}
.under_c_sg ul li {
  flex: 0 1 49.5%;
  margin-bottom: 10px;
}
.under_c_sg ul li a {
  display: block;
  background: #ffffff;
  color: #007b42;
  padding: 10px 0;
  text-align: center;
}
.under_c_sg ul li a:hover {
  background: #007b42;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .c_top {
    background: url(../img/kids_01_mb.jpg) no-repeat;
    background-size: 670px 567px;
  }
  .c_top_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -30px);
    font-weight: 600;
    width: 100%;
  }
  .c_top_inner p {
    font-size: 14px;
    margin-bottom: 5px;
    line-height: 1.8em;
  }
  .c_top_inner h2 {
    font-size: 24px;
    line-height: 1.62em;
  }
  .c_lead {
    font-size: 18px;
    line-height: 1.8em;
    font-weight: 600;
    padding: 50px 0;
  }
  .kids_cont_inner {
    text-align: center;
  }
  .kids_cont_head {
    margin: 0 auto;
    margin-bottom: 20px;
    background: #cccccc url(../img/kids_cont_head_bg_mb.png) no-repeat;
    position: relative;
    top: 0;
    left: 0;
    background-size: cover;
  }
  .kids_cont_head_kids {
    color: #ffffff;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.5em;
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
  }
  .kids_cont_block {
    display: inline-block;
    padding-bottom: 0;
  }
  .kids_cont_block .fl:first-child img {
    margin-bottom: 30px;
  }
  .kids_cont_block .fl {
    width: 100%;
  }
  .kids_cont_block .fl h4 {
    font-size: 18px;
    padding-left: 55px;
    line-height: 44px;
    margin-bottom: 20px;
  }
  .kids_cont_block .fl p.fukidashi {
    background: #fff1cb;
    padding: 15px;
    position: relative;
    margin-bottom: 30px;
    font-size: 14px;
  }
  .kids_cont_dot strong {
    margin-left: 10px;
    display: block;
    font-size: 16px;
    font-weight: 600;
    /*line-height: 0.9em;*/
    margin-bottom: 5px;
  }
  .kids_cont_dot strong:before {
    position: relative;
    top: -2px;
    left: -8px;
    display: inline-block;
    width: 8px;
    height: 8px;
    content: "";
    border-radius: 100%;
    background: #007b42;
  }
  .kids_cont_dot p {
    font-size: 14px;
    line-height: 1.9em;
  }
  .kids_cont_dot span.arw {
    display: block;
    background: url(../img/c_right_cg.png) no-repeat;
    background-size: 12px 9px;
    background-position: left center;
    padding-left: 20px;
    margin-left: 0px;
  }
  .kids_cont_dot span.arw a {
    color: #312f2d;
    font-weight: normal;
  }
  .under_c_sg {
    background: #f5f5f5;
  }
  .under_c_sg h2 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.45em;
  }
  .under_c_sg ul {
    width: 100%;
    display: block;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .under_c_sg ul li a {
    display: block;
    font-size: 14px;
  }
  .under_c_sg ul li a:hover {
    background: #007b42;
    color: #ffffff;
  }
}
.goodwaku .c_top_inner h2 {
  color: #d2101b;
}
.goodwaku .kids_cont_head {
  margin: 0 auto;
  margin-bottom: 40px;
  background: none;
}
.goodwaku .kids_cont_head .kids_cont_head_kids {
  color: #d2101b;
  line-height: 60px;
  border: 2px solid #d2101b;
}
.goodwaku .kids_cont_block .fl h4 {
  color: #d2101b;
  background: url(../img/good_h3_01.png) no-repeat;
}
.goodwaku .kids_cont_block .fl h4.l {
  background: url(../img/good_h3_02.png) no-repeat;
}
.goodwaku .kids_cont_dot strong:before {
  background: #d2101b;
}
.goodwaku .kids_cont_dot span.arw {
  background: url(../img/c_right_cr.png) no-repeat;
  background-size: 12px 9px;
  background-position: left center;
  padding-left: 20px;
  margin-left: 0px;
}
.goodwaku .kids_cont_block .fl p.fukidashi {
  background: #f5f5f5;
}
.goodwaku .kids_cont_block .fl p.fukidashi:after {
  border-bottom: 15px solid #f5f5f5;
}
.goodwaku .under_c_sg ul li a {
  color: #d2101b;
}
.goodwaku .under_c_sg ul li a:hover {
  background: #d2101b;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .goodwaku .kids_cont_head {
    margin-bottom: 20px;
  }
  .goodwaku .kids_cont_head_kids {
    padding: 11px 0;
    color: #d2101b;
    line-height: 1.3em !important;
    transform: none;
    position: relative;
  }
  .goodwaku .c_top_inner {
    transform: translate(-50%, -20px);
  }
}
.rel {
  position: relative;
}
.imgblank {
  position: absolute;
  top: 0;
  left: 0;
  border: none !important;
}
.block-title {
  margin-bottom: 0;
}
.block-title + * {
  margin-top: 0;
}
a .image-wrap {
  overflow: hidden;
  display: block;
  margin: 0;
}
a .image-wrap img {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
  object-fit: contain;
  display: block;
  width: 100%;
  height: auto;
}
a:hover .image-wrap img {
  transform: scale(1.15);
  z-index: 1;
}
.image-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--preset--spacing--20);
  list-style: none;
  padding: 0;
}
.image-links li a {
  text-decoration: none;
  transition: color 0.6s;
  color: var(--wp--preset--color--contrast-1);
}
.image-links li a:hover {
  color: var(--wp--preset--color--accent-1);
}
.image-links li .image-wrap {
  border-radius: var(--wp--preset--spacing--30);
  box-shadow: var(--shadow-sm);
}
.image-links li h3 {
  all: unset;
  font-weight: 700;
  margin: var(--wp--preset--spacing--20) 0;
}
@media (min-width: 768px) {
  .image-links {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--wp--preset--spacing--30);
  }
}
.icon-arrow-left {
  transform: rotate(180deg);
}
.topic-card, .product-card {
  position: relative;
}
.topic-card .icon-newmark, .product-card .icon-newmark {
  position: absolute;
  top: var(--wp--preset--spacing--20);
  left: var(--wp--preset--spacing--20);
  z-index: 1;
}
.icon-newmark {
  color: var(--wp--preset--color--accent-1);
  aspect-ratio: 1;
  width: clamp(1.8rem, 3vw, 3rem);
  height: clamp(1.8rem, 3vw, 3rem);
}
.more-product-button-wrap {
  align-self: center;
  display: flex;
  justify-content: center;
  margin-bottom: 3em;
}
.more-product-button {
  aspect-ratio: 1;
  width: 10em;
  height: auto;
  background: #fff;
  color: var(--wp--preset--color--accent-1);
  border: solid 3px var(--wp--preset--color--accent-1);
  transition: background 0.6s ease, color 0.6s ease, outline 0.6s ease;
  white-space: nowrap;
}
.more-product-button:hover {
  background: var(--wp--preset--color--accent-1);
  color: #fff;
  outline: solid 1px var(--wp--preset--color--accent-1);
  outline-offset: 0.5em;
}
.colorme-sync-result {
  margin-top: var(--wp--preset--spacing--60);
}
.search-label {
  font-weight: 900;
  font-size: var(--wp--preset--font-size--large);
  white-space: nowrap;
}
.search-label .icon-search {
  color: var(--wp--preset--color--accent-1);
  aspect-ratio: 1;
  width: 1.2em;
}
.colorme-sync-list form {
  background: #f8f3ee;
  border: solid 1px #e6e1d9;
  border-radius: var(--wp--preset--spacing--50);
}
.colorme-sync-search {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 var(--wp--preset--spacing--20);
  align-items: center;
}
.colorme-sync-search .search-label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  grid-column: 1;
  justify-self: center;
}
.colorme-sync-search .search-input-wrapper {
  position: relative;
  width: 100%;
  grid-column: 1;
}
.colorme-sync-search .search-input-wrapper input {
  width: 100%;
  padding: var(--wp--preset--spacing--30) 2.5em var(--wp--preset--spacing--30) 1.2em;
  border-radius: 100px;
  box-shadow: var(--shadow-md);
  margin-bottom: 0;
}
.colorme-sync-search .search-input-wrapper button {
  position: absolute;
  top: 50%;
  right: 0.75em;
  transform: translateY(-50%);
  background: none;
  border: none;
  height: 1.5em;
  width: 1.5em;
  cursor: pointer;
  padding: 0;
}
.colorme-sync-search .search-input-wrapper button .icon-search {
  color: #E3DCC6;
  width: 1.5em;
}
.colorme-sync-search .search-input-wrapper button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.colorme-sync-search .wp-block-button.is-style-outline {
  grid-column: 1;
  grid-row: 4;
  justify-self: end;
  width: 8em;
}
.colorme-sync-search .wp-block-button.is-style-outline .wp-block-button__link {
  padding-block: 6px;
}
.colorme-sync-search .keyword-links {
  grid-column: 1;
  grid-row: 3;
  margin-top: var(--wp--preset--spacing--20);
}
@media (min-width: 601px) {
  .colorme-sync-search {
    grid-template-columns: auto 8em;
  }
  .colorme-sync-search .search-label {
    grid-column: 1 / 3;
    justify-self: start;
  }
  .colorme-sync-search .search-input-wrapper {
    grid-column: 1;
  }
  .colorme-sync-search .wp-block-button.is-style-outline {
    grid-column: 2;
    grid-row: auto;
    justify-self: end;
  }
  .colorme-sync-search .keyword-links {
    grid-column: 1 / 3;
    grid-row: auto;
  }
}
@media (min-width: 900px) {
  .colorme-sync-search {
    grid-template-columns: 10em auto 8em;
  }
  .colorme-sync-search .search-label {
    grid-column: 1;
  }
  .colorme-sync-search .search-input-wrapper {
    grid-column: 2;
  }
  .colorme-sync-search .wp-block-button.is-style-outline {
    grid-column: 3;
    justify-self: end;
  }
  .colorme-sync-search .keyword-links {
    grid-column: 2 / 3;
  }
}
.advanced-search-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--bg1-url);
  background-color: rgba(173, 150, 126, 0.4);
  background-repeat: repeat;
  background-blend-mode: multiply;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.advanced-search-modal[hidden] {
  display: none;
}
.advanced-search-modal .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}
.advanced-search-modal .modal-content {
  position: relative;
  background: #fff;
  border-radius: 8px;
  width: 96%;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 20;
  box-shadow: var(--shadow-md);
}
.advanced-search-modal .close-modal {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  color: var(--wp--preset--color--accent-1);
  transition: color 0.3s ease;
}
.advanced-search-modal .advanced-search-form {
  padding-block: var(--wp--preset--spacing--60);
  max-width: var(--wp--style--global--content-size);
}
.advanced-search-modal .advanced-search-form h3 {
  margin-bottom: 1em;
  color: var(--wp--preset--color--contrast-1);
  justify-content: center;
}
.advanced-search-modal .advanced-search-form h3 svg {
  color: var(--wp--preset--color--accent-1);
  width: 1.5em;
  height: 100%;
}
.advanced-search-modal .advanced-search-form .form-group {
  margin-bottom: var(--wp--preset--spacing--50);
}
.advanced-search-modal .advanced-search-form .form-group h4.text-with-icon {
  padding-bottom: 6px;
  font-size: 1.05em;
  margin-block: 0;
}
.keyword-links a {
  text-decoration: none;
  font-weight: 700;
}
.product-card:hover .image-wrap, .swiper-slide-active .image-wrap {
  border-color: var(--wp--preset--color--accent-1) !important;
}
.product-description-area {
  background: var(--wp--preset--color--base-3);
  border-radius: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--50) clamp(var(--wp--preset--spacing--40), 5%, 5%);
}
.product-description {
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  margin-block: var(--wp--preset--spacing--40);
}
.product-images .slider-button {
  display: flex;
  justify-content: center;
}
.product-images .thumbnail-item {
  outline: solid 1px #F0F0F0;
}
.product-images .thumbnail-item.active {
  outline-color: var(--wp--preset--color--accent-3);
}
.product-card {
  color: var(--wp--preset--color--contrast-1);
}
.product-card .product-name {
  font-size: calc(var(--wp--preset--font-size--medium) * 0.98);
}
.product-card .icon-newmark {
  position: absolute;
  top: var(--wp--preset--spacing--20);
  left: var(--wp--preset--spacing--20);
  z-index: 1;
  overflow: visible;
}
.product-card .image-wrap {
  border-radius: var(--wp--preset--spacing--30);
  box-shadow: var(--shadow-sm);
  border: solid 0.16em #e4e0d6;
}
.product-card .image-wrap img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
}
.product-meta .tag {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
}
.product-meta .model-number, .product-meta .price {
  font-weight: 700;
}
.product-meta .entry-title {
  font-size: var(--wp--preset--font-size--xxlarge);
  margin-bottom: var(--wp--preset--spacing--40);
  word-break: break-all;
}
.pickup-item {
  width: fit-content;
  margin: 0 auto var(--wp--preset--spacing--70);
}
.pickup-item figure {
  max-width: 100%;
  max-height: 300px;
  overflow: hidden;
  outline: solid 0.2em var(--wp--preset--color--accent-3);
  outline-offset: 0.5em;
}
.pickup-item figure img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.colorme-random-products .prev-btn, .colorme-random-products .next-btn {
  color: transparent;
}
@media (min-width: 601px) {
  .colorme-random-products :hover .prev-btn, .colorme-random-products :hover .next-btn {
    color: var(--wp--preset--color--accent-1);
    transition: color 0.6s ease;
  }
}
.products .share-area {
  margin-top: var(--wp--preset--spacing--40);
}
.wp-block-button__link.toggle-advanced-search::after, .wp-block-button__link.clear-btn::after {
  display: none;
}
.card-with-image.topic-card .card-title {
  height: 3em;
  -webkit-line-clamp: 2;
}
.post-date {
  text-align: right;
  color: #A6A091;
}
.kind-filter {
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: 2rem;
  text-align: center;
}
.kind-filter ul {
  display: inline-flex;
  gap: var(--wp--preset--spacing--20);
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
.kind-filter ul li a {
  display: inline-block;
  padding: 4px clamp(var(--wp--preset--spacing--30), 2vw, var(--wp--preset--spacing--40));
  border-radius: 30px;
  border: 1px solid var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--accent-1);
  text-decoration: none;
  transition: all 0.2s;
}
.kind-filter ul li a:hover, .kind-filter ul li a.active {
  background-color: var(--wp--preset--color--accent-1);
  color: #fff;
}
.topic-card .post-date {
  font-size: var(--wp--preset--font-size--small);
}
.topics .post-meta {
  display: flex;
  justify-content: space-between;
}
.topics .post-meta .tag span {
  font-size: var(--wp--preset--font-size--medium);
}
.share-area {
  background: var(--wp--preset--color--base-3);
  margin-top: var(--wp--preset--spacing--70);
  padding: var(--wp--preset--spacing--40);
  border-radius: var(--wp--preset--spacing--30);
}
.share-area > span {
  padding-right: var(--wp--preset--spacing--20);
}
@media (min-width: 768px) {
  .pickup-items-4.grid4 > :nth-child(4) {
    display: none;
  }
}
@media (min-width: 1280px) {
  .pickup-items-4.grid4 > :nth-child(4) {
    display: block;
  }
}
.topics-template-single-topics-temp-lp h1 {
  margin-top: 3em;
  margin-bottom: 1em;
}
.topics-template-single-topics-temp-lp .wp-block-embed.is-type-video {
  max-width: 800px;
  margin: 0 auto;
}
.voice h3.wp-block-heading {
  padding-bottom: var(--wp--preset--spacing--20);
  border-bottom: solid 0.2em #ECECEC;
}
.voice-profile {
  margin: var(--wp--preset--spacing--60) auto;
  background: linear-gradient(to bottom, transparent 0, transparent var(--wp--preset--spacing--60), var(--wp--preset--color--base-3) var(--wp--preset--spacing--60), var(--wp--preset--color--base-3) 100%);
}
.voice-profile .voice-profile-columns {
  display: block;
}
.voice-profile .voice-profile-columns figure img {
  width: 100%;
  display: block;
  border-radius: var(--wp--preset--spacing--40);
}
.voice-profile .voice-profile-columns > div {
  padding-bottom: var(--wp--preset--spacing--60);
}
@media (min-width: 768px) {
  .voice-profile {
    background: linear-gradient(to bottom, transparent 0, transparent var(--wp--preset--spacing--60), var(--wp--preset--color--base-3) var(--wp--preset--spacing--60), var(--wp--preset--color--base-3) calc(100% - var(--wp--preset--spacing--60)), transparent calc(100% - var(--wp--preset--spacing--60)), transparent 100%);
  }
  .voice-profile .voice-profile-columns {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--60);
  }
  .voice-profile .voice-profile-columns figure {
    flex: 0 0 50%;
  }
  .voice-profile .voice-profile-columns > div {
    flex: 1;
    padding-block: var(--wp--preset--spacing--60);
  }
}
.voice-content {
  max-width: 1100px;
  margin-inline: auto;
}
.voice-item {
  text-decoration: none;
  color: var(--wp--preset--color--contrast-1);
}
.voice-item .columns {
  display: block;
  margin-bottom: var(--wp--preset--spacing--40);
  background: #fff;
  border-radius: var(--wp--preset--spacing--40);
  box-shadow: var(--shadow-md);
  align-items: stretch;
}
.voice-item .columns figure {
  width: 100%;
  overflow: hidden;
  border-radius: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 0 0;
  margin: 0;
}
.voice-item .columns figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.voice-item .columns .voice-info {
  flex: 1;
  padding: clamp(var(--wp--preset--spacing--40), 3%, 3%) clamp(var(--wp--preset--spacing--40), 4%, 4%);
}
.voice-item .columns .voice-info h2 {
  all: unset;
  font-size: var(--wp--preset--font-size--xlarge);
  margin: var(--wp--preset--spacing--20) 0;
  font-weight: 900;
}
.voice-item .columns .voice-info h2::after {
  all: unset;
}
.voice-item .columns .voice-info .voice-tag {
  border-radius: 100px;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  gap: var(--wp--preset--spacing--20);
}
.voice-item .columns .voice-info .voice-tag span {
  background: var(--wp--preset--color--accent-1);
  color: #fff;
  border-radius: 100px;
  padding: 2px var(--wp--preset--spacing--40);
  font-weight: 500;
  width: initial;
}
.voice-item .columns .voice-info p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  margin: 0;
}
@media (min-width: 768px) {
  .voice-item .columns {
    display: grid;
    grid-template-columns: 3fr 7fr;
  }
  .voice-item .columns figure {
    border-radius: var(--wp--preset--spacing--40) 0 0 var(--wp--preset--spacing--40);
  }
  .voice-item .columns figure img {
    height: 100%;
  }
  .voice-item .columns .voice-info .voice-tag {
    background: var(--wp--preset--color--base-3);
    color: var(--wp--preset--color--accent-2);
    padding-right: var(--wp--preset--spacing--40);
    margin-bottom: 0.5rem;
    border-radius: 100px;
    gap: var(--wp--preset--spacing--40);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }
}
.card-with-image.voice-card .card-title {
  -webkit-line-clamp: 1;
  margin: 0;
}
/* 全体コンテナ */
.buzai_products {
  display: grid;
  gap: var(--wp--preset--spacing--20);
  margin-block: var(--wp--preset--spacing--50);
  grid-template-columns: 1fr;
}
@media (min-width: 600px) {
  .buzai_products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 900px) {
  .buzai_products {
    grid-template-columns: repeat(3, 1fr);
  }
}
.buzai_item {
  border-radius: 6px;
  box-shadow: var(--shadow-sm);
  background: #fff;
}
.buzai_item__image {
  margin: 0 auto;
  overflow: hidden;
  border-radius: 6px 6px 0 0;
}
.buzai_item__image img {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
  height: auto;
}
.buzai_item_content {
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}
/* 品名・品番 */
.buzai_item__lbl {
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}
.buzai_item__lbl__name {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 700;
  line-height: 1.2;
}
/* チェックリスト */
.buzai_item__type_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 4px;
  margin-top: var(--wp--preset--spacing--20);
  padding-top: var(--wp--preset--spacing--20);
  border-top: solid 1px #E1E1E1;
}
.buzai_item__type_list__box .kakaku {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--accent-2);
  line-height: 1;
}
.buzai_item__lbl__buzai_num {
  color: var(--wp--preset--color--accent-2);
}
.buzai-select {
  width: 80px;
  margin-bottom: 0;
}
/* 合計表示 */
.result__box {
  width: 100%;
}
.cart-list {
  border: 1px solid #EFEFEF;
  box-shadow: var(--shadow-md);
}
.cart-header {
  display: none;
}
.cart-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0 2em;
  padding-block: 1em;
  border-block: solid 1px #EFEFEF;
  background: #fff;
}
.cart-row .cart-col:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1 / 6;
}
.cart-row .cart-col:nth-of-type(n+2) {
  grid-column: 2;
}
.cart-col.product-name {
  font-size: 1.1em;
  font-weight: 700;
}
.cart-total {
  display: flex;
  align-items: end;
  flex-direction: column;
}
.cart-total hr {
  height: 3px;
  background: #EFEFEF;
  padding: 0;
  margin: 0;
  width: 100%;
}
.cart-total span, .cart-col span {
  display: inline-block;
  font-weight: 700;
  color: var(--wp--preset--color--accent-2);
  padding-right: 1rem;
  min-width: 6em;
}
.cart-col span:not(.model) {
  font-size: var(--wp--preset--font-size--small);
}
.cart-total {
  text-align: right;
  padding: 1em;
}
.cart-total-row {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 400px;
  padding: 1em;
}
.cart-total-row:last-child {
  font-size: var(--wp--preset--font-size--xlarge);
  font-weight: 700;
}
.cart-total span {
  text-align: center;
}
@media (min-width: 767px) {
  .cart-list {
    box-shadow: none;
  }
  .cart-col img {
    width: 100%;
  }
  .cart-header {
    display: grid;
    grid-template-columns: 6fr 3fr 2fr 6em 6em;
    padding: 0;
    color: #8F7756;
    background: var(--wp--preset--color--base-3);
    font-weight: 700;
  }
  .cart-row {
    display: grid;
    grid-template-columns: 2fr 4fr 3fr 2fr 6em 6em;
    gap: 0;
    align-items: center;
    padding: 0;
  }
  .cart-col {
    grid-row: auto !important;
    grid-column: auto !important;
    padding: 1em;
  }
  .cart-col span {
    display: none;
  }
}
#shipping-modal .modal-content {
  max-width: 800px;
}
.delivery-info {
  margin: 0 auto;
  padding: var(--wp--preset--spacing--50) clamp(1rem, 5%, 5%);
}
.shipping-table {
  text-align: center;
}
.shipping-table th, .shipping-table td {
  width: 50%;
}
