@charset "UTF-8";
/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	reset

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-print-color-adjust: exact;
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea,
select {
  *font-size: 100%;
}

.clearfix::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
  user-select: none;
  pointer-events: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
a[href],
label[for],
button,
input[type=button],
input[type=submit],
input[type=reset],
input[type=image],
input[type=radio],
input[type=checkbox],
select {
  cursor: pointer;
}

a[href^="tel:"] {
  cursor: default;
}

@media print {
  * {
    -webkit-print-color-adjust: exact;
  }
}
/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	PLUGIN

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
/*== Splide.js ====================================================================================================*/
/*@import "./plugin/_splide";*/
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/*== scroll-hint.js ====================================================================================================*/
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
/*
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
*/
.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/*== mailformpro ====================================================================================================*/
div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}

div#mfp_hidden input {
  margin: 10px;
}

div.mfp_thanks {
  padding: 30px;
}

div.mfp_thanks p {
  line-height: 1.7em;
}

div.mfp_thanks ul.mfp_caution {
  margin: 0px;
  padding: 0px;
}

div.mfp_thanks ul.mfp_caution li {
  display: block;
  color: #C00;
  margin: 0px;
  padding: 5px 0px;
}

div#mfp_thanks {
  text-align: center;
  font-size: 18px;
  padding: 20px 0px;
}

div#mfp_thanks strong {
  color: #C00;
  font-size: 24px;
}

/*
form#mailformpro {
	padding: 10px 0px;
}
form#mailformpro dl dt {
	float: left;
	width: 160px;
	clear: both;
	font-size: 12px;
	padding: 10px 0px;
	text-align: right;
	border-top: solid 1px #CCC;
	margin: 0px;
}
form#mailformpro dl dd {
	border-top: solid 1px #CCC;
	margin: 0px;
	padding: 10px 5px 20px 170px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}
form#mailformpro dl dd ul,form#mailformpro dl dd ol {
	margin: 0px;
	padding: 0px;
}
form#mailformpro dl dd ul li,form#mailformpro dl dd ol li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
*/
.must {
  display: block;
  background-color: #C00;
  border: solid 2px #C00;
  text-shadow: 0px 1px 2px #933;
  padding: 2px 5px;
  font-size: 10px;
  color: #FFF;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #CCC;
  background-image: url(../form/mfp.statics/_images/mfp_header.png);
  background-size: 100% 100%;
}

.optionally {
  display: block;
  background-color: #06C;
  border: solid 2px #06C;
  text-shadow: 0px 1px 2px #933;
  padding: 2px 5px;
  font-size: 10px;
  color: #FFF;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #CCC;
  background-image: url(../form/mfp.statics/_images/mfp_header.png);
  background-size: 100% 100%;
}

/*
form#mailformpro label {
	border-radius: 3px;
	margin: 3px;
	display: inline-block;
	white-space: nowrap;
}
*/
form#mailformpro label.mfp_checked {
  /*
  padding: 3px;
  border: solid 1px #CCC;
  background-color: #E8EEF9;
  box-shadow: 0px 1px 3px #CCC inset;
  */
}

form#mailformpro label.mfp_not_checked {
  /*
  padding: 3px;
  border: solid 1px #EEE;
  */
}

/*
table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table#mfp_confirm_table tr.mfp_colored {
	background-color: #F6F7F9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #FFF;
}
table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 12px;
	border-top: solid 1px #CCC;
	padding: 5px 10px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}
*/
div#mfp_phase_confirm {
  clear: both;
}

/*
div#mfp_phase_confirm h4 {
	font-size: 36px;
	padding: 10px 0px 0px 0px;
	text-align: center;
}
*/
div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001;
}

div#mfp_overlay_inner {
  background-color: #FFF;
  padding: 15px;
  margin: 0px auto;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #000;
  width: 640px;
  max-width: 90%;
}

div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000;
}

div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}

/*
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(../form/mfp.statics/_images/mfp_loading.gif);
}
*/
.mfp_colored {
  background-color: #F6F7F9;
}

.mfp_achroma {
  background-color: #FFF;
}

/*
div.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 17px;
	color: #F00;
	font-size: 12px;
	line-height: normal;
	background-position: 0px 1px;
}
	*/
/*
.mfp_parent_error {
	border: solid 2px #F00;
}
	*/
.problem {
  background-color: #FCC;
}

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
}

div#mfp_error p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center;
}

div#mfp_error p strong {
  font-size: 18px;
  color: #F00;
}

div#mfp_warning {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
  border-radius: 5px;
}

div#mfp_warning p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center;
}

div#mfp_warning p strong {
  font-size: 18px;
  color: #F00;
}

div#mfp_price {
  color: #C00;
  font-size: 36px;
  padding: 10px;
  font-weight: bolder;
}

div#mfp_price span {
  color: #666;
  font-size: 12px;
  font-weight: normal;
}

button.mfp_next, button.mfp_prev {
  font-size: 18px;
  margin: 10px;
  padding: 5px 10px;
}

button.mfp_next {
  float: right;
}

button.mfp_prev {
  float: left;
}

ul#mfp_phase_stat {
  padding: 10px;
  text-align: center;
}

ul#mfp_phase_stat li {
  display: inline-block;
  padding: 8px 15px;
  border-radius: 5px;
  margin: 0px 5px;
  list-style: none;
  font-size: 14px;
}

ul#mfp_phase_stat li.mfp_phase_arrow {
  box-shadow: none;
  color: #999;
  padding: 8px 0px;
}

ul#mfp_phase_stat li.mfp_active_phase {
  box-shadow: 0px 1px 6px #000;
  background-image: url(../form/mfp.statics/_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #0068B7;
  border: solid 2px #0068B7;
  font-weight: bolder;
  color: #FFF;
  text-shadow: 0px 1px 3px #000;
}

ul#mfp_phase_stat li.mfp_inactive_phase {
  background-image: url(../form/mfp.statics/_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #EEE;
  border: solid 2px #EEE;
  color: #999;
  box-shadow: 0px 1px 6px #CCC;
}

div#mfp_shopping_cart {
  border: solid 1px #CCC;
  margin: 0px;
  padding: 0px;
}

div#mfp_shopping_cart p {
  margin: 0px;
  text-align: center;
  padding: 20px 10px;
  font-size: 12px;
  background-color: #FEE;
}

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

table.mfp_shoppingcart thead tr td {
  background-color: #EEE;
  border-bottom: solid 1px #CCC;
  text-align: center;
  font-size: 12px;
  padding: 5px;
}

table.mfp_shoppingcart tbody tr th, table.mfp_shoppingcart tbody tr td {
  font-size: 12px;
  padding: 5px;
  border-bottom: solid 1px #CCC;
}

table.mfp_shoppingcart tbody tr td select {
  display: block;
  margin: 0px auto;
  text-align: center;
}

table.mfp_shoppingcart tbody tr td select option {
  text-align: center;
}

table.mfp_shoppingcart tbody tr th span {
  display: block;
  font-weight: normal;
  font-size: 10px;
  color: #666;
  padding: 3px 0px;
}

table.mfp_shoppingcart tfoot tr td {
  padding: 5px;
  font-size: 16px;
  font-weight: bolder;
  color: #900;
}

td.msc_price {
  font-size: 12px;
  text-align: right;
}

div.mfp_buttons {
  clear: both;
  padding: 10px 0px;
  text-align: center;
}

.imagebutton {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  background: none;
}

.mfp_element_all {
  /*
  max-width: 90%;
  */
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
  /*
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  padding: 3px 8px;
  margin: 2px;
  vertical-align: middle;
  */
}

.mfp_element_checkbox,
.mfp_element_radio {
  /*
  vertical-align: middle;
  margin: 0px 2px;
  */
}

.mfp_element_file {
  /*
  font-size: 12px;
  display: inline-block;
  padding: 10px 10px;
  vertical-align: middle;
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  background: #EEE;
  */
}

.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
  /*
  border-radius: 5px;
  padding: 5px 10px;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
  font-size: 18px;
  cursor: pointer;
  outline: none;
  */
}

.mfp_element_reset {
  /*
  color: #333;
  */
}

.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover {
  /*
  background: gradient(linear, center top, center bottom, from(#FFF), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#FFF), to(#CCC));
  background: -moz-linear-gradient(top, #FFF, #CCC);
  background: -ms-linear-gradient(top, #FFF 0%, #CCC 100%);
  box-shadow: 0px 2px 15px #CCC;
  */
}

button.mfp_next, button.mfp_prev {
  font-size: 14px;
}

input#mfp_reserve_item, input#mfp_reserve_date {
  display: none;
}

div#mfp_reserve_wrapper {
  position: relative;
  overflow: hidden;
  border: solid 1px #CCC;
}

div#mfp_reserve_inner {
  position: relative;
  padding: 0px 0px 0px 100px;
  overflow: auto;
}

div#mfp_reserve_wrapper table {
  border-spacing: 0px;
  border-collapse: collapse;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_label {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100px;
  background-color: #FEE;
  z-index: 100;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value {
  padding: 0px 0px 0px 0px;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning {
  cursor: pointer;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active:hover,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning:hover {
  background-color: #E8EEF9;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_current {
  background-color: #0068B7;
  color: #FFF;
}

td.mfp_reserve_disabled {
  background-color: #CCC;
}

td.mfp_reserve_warning {
  background-color: #FFC;
}

div#mfp_reserve_wrapper table tr td, div#mfp_reserve_wrapper table tr th {
  border: solid 1px #CCC;
  padding: 0px 5px;
  font-size: 12px;
  text-align: center;
  font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-weight: normal;
  height: 20px;
  text-align: left;
}

td.mfp_reserve_week_0 {
  color: #F00;
  background-color: #FEE;
}

td.mfp_reserve_week_6 {
  color: #00F;
  background-color: #EEF;
}

div.mfp_ok {
  border-radius: 5px;
  background-color: #090;
  border: solid 1px #090;
  display: inline-block;
  line-height: 1.5em;
  padding: 0px 5px;
  margin: 0px 2px;
  color: #FFF;
  font-size: 10px;
  background-image: url(../form/mfp.statics/_images/mfp_header.png);
  background-size: 100% 100%;
  display: none;
}

div.prefcodeWrapper {
  position: relative;
}

div.prefcodeResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none;
}

div.prefcodeResult div {
  cursor: pointer;
}

div.prefcodeResult div:hover {
  background-color: #C9EBFB;
}

div.prefcodeResult div.prefcodeNext {
  background-color: #EEE;
  text-align: center;
}

div.prefLoading {
  padding: 60px 100px;
  background: url(../form/mfp.statics/_images/mfp_zip_loading.gif) no-repeat center center;
}

div.mfpSuggestWrapper {
  position: relative;
}

div.mfpSuggestResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none;
}

div.mfpSuggestResult div {
  cursor: pointer;
}

div.mfpSuggestResult div:hover {
  background-color: #C9EBFB;
}

div.mfpSuggestResult div.mfpSuggestNext {
  background-color: #EEE;
  text-align: center;
}

div.prefLoading {
  padding: 60px 100px;
  background: url(../form/mfp.statics/_images/mfp_zip_loading.gif) no-repeat center center;
}

.hidefield {
  height: 0px;
  overflow: hidden;
}

.showfield {
  height: auto;
  overflow: visible;
}

div.mfp_attached_thumbnails {
  display: none;
  padding: 5px;
  margin: 5px auto;
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  background: #EEE;
}

div.mfp_attached_thumbnails ul {
  margin: 0px;
  padding: 0px;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li {
  display: inline-block;
  vertical-align: top;
  padding: 0px;
  border: solid 4px #FFF;
  margin: 5px;
  box-shadow: 0px 2px 5px #999;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li a {
  display: block;
  max-height: 100px;
  overflow: hidden;
}

div.mfp_attached_thumbnails ul li a img {
  display: block;
  max-width: 80px;
}

button.mfp_attached_reset {
  font-size: 14px;
}

div.mfp_draganddrop {
  width: 100%;
  height: 200px;
  border: solid 2px #CCC;
  border-radius: 3px;
  background: url(../form/mfp.statics/_images/draganddrop.png) no-repeat center center #EEE;
  background-size: auto 80%;
}

div.mfp_dragover {
  border: solid 2px #0068B7;
  background-color: #FFF;
}

div.mfp_attached_filelist {
  padding: 5px;
  width: 100%;
  border: solid 1px #CCC;
  border-radius: 3px;
}

form#mailformpro dl dd div.mfp_attached_filelist ul,
div.mfp_attached_filelist ul {
  padding: 5px;
}

form#mailformpro dl dd div.mfp_attached_filelist ul li,
div.mfp_attached_filelist ul li {
  padding: 5px 5px 5px 2em;
  background: url(../form/mfp.statics/_images/file.png) no-repeat 5px center;
  background-size: 1.3em 1.3em;
  display: inline-block;
  margin-right: 1em;
}

form#mailformpro dl dd div.mfp_attached_filelist ul li:last-child,
div.mfp_attached_filelist ul li:last-child {
  border: none;
}

div.mfp_guide {
  position: relative;
  width: 1px;
  height: 1px;
}

div.mfp_guide div {
  position: absolute;
  bottom: 0px;
  left: 0px;
  margin-top: -2em;
  white-space: nowrap;
  border-radius: 5px;
  padding: 5px 10px;
  line-height: 1em;
  font-size: 12px;
  color: #FFF;
  font-weight: bolder;
  background: #F00;
  display: none;
}

div#mfp_numticket_wrapper,
div#mfp_numticket_wrapper * {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

div#mfp_numticket_wrapper {
  clear: both;
  padding: 15px;
}

div#mfp_numticket_wrapper section#numticket_message_wrapper {
  border: solid 3px #F00;
  border-radius: 5px;
  background: #FEE;
  padding: 15px;
  font-size: 16px;
  line-height: 1.7em;
  margin: 5px auto;
}

div#mfp_numticket_wrapper section#numticket_waitTime {
  border: solid 3px #CCC;
  border-radius: 5px;
  background: #FFF;
  padding: 15px;
  font-size: 16px;
  margin: 10px auto;
}

div#mfp_numticket_wrapper section#numticket_waitTime strong {
  font-size: 32px;
  display: block;
  text-align: center;
}

div#mfp_numticket_wrapper section#numticket_waitTime p.numticket_center {
  text-align: center;
}

div.mfp_traffic_status {
  max-width: 460px;
  margin: 10px auto;
  border: solid 1px #CCC;
  border-radius: 3px;
  padding: 15px;
}

div.mfp_traffic_status h3 {
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-weight: normal;
  color: #999;
}

div.mfp_traffic_status table {
  text-align: center;
  width: 100%;
}

div#wrapper div.mfp_traffic_status table tr th,
div#wrapper div.mfp_traffic_status table tr td,
div.mfp_traffic_status table td,
div.mfp_traffic_status table th {
  border: none;
  padding: 0;
}

div#wrapper div.mfp_traffic_status table tr td,
div.mfp_traffic_status table td {
  padding: 0 2px;
}

div#wrapper div.mfp_traffic_status table tr th,
div.mfp_traffic_status table th {
  border-top: solid 1px #CCC;
  font-size: 10px;
  font-weight: normal;
  padding-top: 5px;
  color: #999;
}

div.mfp_traffic_status table td {
  height: 100px;
}

div.mfp_traffic_status table td span {
  display: block;
  background: #7BAAF7;
  border-radius: 3px 3px 0 0;
  border-top: solid 1px #66A1F7;
  border-right: solid 1px #66A1F7;
  border-left: solid 1px #66A1F7;
  min-width: 10px;
  max-width: 30px;
  margin: 0 auto;
  padding-bottom: 10px;
}

div.mfp_traffic_status table td span.mfp_traffic_status_current {
  background: #5D7AF2;
  border-top: solid 1px #546CD1;
  border-right: solid 1px #546CD1;
  border-left: solid 1px #546CD1;
}

.mfp_ok {
  background-color: rgba(0, 255, 0, 0.2);
}

.mfp_ng {
  background-color: rgba(255, 0, 0, 0.2);
}

div#mfp_OperationCheck div#mfp_OperationCheck_inner {
  display: none;
}

div#mfp_OperationCheck strong {
  background: #090;
  display: block;
  color: #222;
  text-align: center;
  border-radius: 3px;
}

div#mfp_OperationCheck * {
  padding: 0px;
  margin: 0px;
  font-size: 12px;
}

div#mfp_OperationCheck p {
  padding: 0px 5px;
  margin: 0px;
  font-size: 12px;
}

div#mfp_OperationCheck p a {
  color: #0C0;
  text-decoration: none;
}

div#mfp_OperationCheck p a:hover,
div#mfp_OperationCheck p button:hover {
  text-decoration: underline;
}

div#mfp_OperationCheck p button {
  border: none;
  background: none;
  color: #0C0;
  cursor: pointer;
}

div#mfp_OperationCheck ul li,
div#mfp_OperationCheck ul li label,
div#mfp_OperationCheck ul li label input {
  line-height: 12px;
  font-size: 12px;
  list-style: none;
  vertical-align: middle;
}

div#mfp_OperationCheck ul li {
  padding: 5px 10px;
}

div#mfp_OperationCheck ul li label {
  text-decoration: underline;
}

button#mfp_recorder_record,
button#mfp_recorder_clear,
button#mfp_recorder_restore {
  border-radius: 5px;
  padding: 5px 10px 5px 2em;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
  font-size: 16px;
  cursor: pointer;
  outline: none;
  display: inline-block;
  margin: 5px auto;
}

button#mfp_recorder_record {
  background: url(../form/mfp.statics/_images/mfp_record_disabled.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button#mfp_recorder_clear {
  background: url(../form/mfp.statics/_images/mfp_record_remove.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button#mfp_recorder_restore {
  background: url(../form/mfp.statics/_images/mfp_record_restore.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button.enabled#mfp_recorder_record,
button.enabled#mfp_recorder_clear,
button.enabled#mfp_recorder_restore {
  background: url(../form/mfp.statics/_images/mfp_record_enabled.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

div#mfp_recorder_wrap {
  border: solid 1px #CCC;
  padding: 10px;
  text-align: center;
  margin: 5px auto;
}

td.request_image {
  width: 100px;
}

td.request_image img {
  max-width: 100px;
}

button.mfp_submit_enable {
  background: none;
  background: #000090;
}

button.mfp_submit_disable {
  background: none;
  background: #FD8282;
}

span.mfp_tips {
  background-image: url(../form/mfp.statics/_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #FCC;
  display: block;
  border-radius: 5px;
  padding: 10px;
  margin: 2px;
  box-shadow: 0px 2px 10px #999;
}

span.mfp_tips strong {
  color: #800040;
}

span.mfp_tips span {
  display: block;
  padding: 10px;
  color: #008080;
}

span.mfp_tips em {
  font-style: normal;
  color: #090;
  font-weight: bold;
}

div.mfp_estimate_wrapper {
  border: solid 1px #CCC;
  padding: 10px;
  margin: 5px;
  border-radius: 5px;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap {
  position: relative;
  padding: 10px;
  border: solid 1px #CCC;
  border-radius: 5px;
  margin: 10px 0;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap div.mfp_estimate_label {
  position: absolute;
  top: -0.7em;
  left: 1em;
  display: inline-block;
  background: #FFF;
  font-size: 12px;
  padding: 0 0.5em;
  color: #666;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap select {
  font-size: 18px;
  margin: 5px 0;
  padding: 5px 10px;
  line-height: 1em;
  min-height: 2.5em;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap img {
  width: 100%;
  max-width: 240px;
  display: block;
  margin: 0 auto;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap strong {
  display: block;
  text-align: right;
  color: #900;
  font-size: 24px;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap strong em {
  display: inline-block;
  font-size: 30px;
}

div.mfp_estimate_wrapper button.mfp_estimate_button {
  margin: 10px 0 0 0;
  padding: 5px 10px;
  border-radius: 5px;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
}

div.mfp_estimate_list table.mfp_estimate_list_table {
  width: 100%;
  margin: 10px 0;
}

div.mfp_estimate_list table.mfp_estimate_list_table thead tr th {
  text-align: center;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tr th,
div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tr td,
div.mfp_estimate_list table.mfp_estimate_list_table tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tr td {
  border: none;
  border-bottom: solid 1px #333;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr th,
div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr td,
div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr td {
  border: none;
  text-align: right;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th,
div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td {
  padding: 0;
  margin: 0;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th {
  padding: 0 10px;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th span,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th span {
  font-size: 10px;
  display: block;
  color: #666;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(1),
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(1) {
  width: 80px;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(2),
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(2) {
  text-align: right;
  padding: 0 10px;
  width: 120px;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(3),
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(3) {
  width: 60px;
}

div.mfp_estimate_list table.mfp_estimate_list_table tbody td img {
  max-width: 80px;
}

div.mfp_estimate_list table.mfp_estimate_list_table tbody td button {
  border: none;
  background: none;
  font-size: 24px;
  cursor: pointer;
}

div.mfp_ticket_wrapper {
  border: solid 1px #CCC;
  margin: 5px;
  overflow: auto;
}

div.mfp_ticket_map {
  position: relative;
  background-position: left top;
  background-repeat: no-repeat;
}

div.mfp_ticket_map div {
  position: absolute;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
}

div.mfp_ticket_map div label {
  position: relative;
}

div.mfp_ticket_map div label span {
  position: absolute;
  top: 0px;
  left: 20px;
  display: inline-block;
  font-size: 10px;
  white-space: nowrap;
  display: none;
  background-color: #FFF;
  border: solid 1px #CCC;
  padding: 3px 3px;
  line-height: 1em;
}

div.mfp_ticket_map div label:hover span {
  display: block;
  z-index: 10;
}

div.mfp_ticket_map div label input {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background-color: #CCC;
}

@media screen and (max-width: 800px) {
  /*
  form#mailformpro dl dt {
  	float: none;
  	width: auto;
  	font-size: 12px;
  	padding: 5px;
  	text-align: left;
  }
  form#mailformpro dl dd {
  	clear: both;
  	border-top: none;
  	padding: 5px 15px;
  	font-size: 12px;
  	line-height: 1.5em;
  }
  div.mfp_buttons button {
  	font-size: 14px;
  }
  div#mfp_phase_confirm h4 {
  	font-size: 18px;
  }
  */
  ul#mfp_phase_stat {
    padding: 0px;
    text-align: left;
  }
  ul#mfp_phase_stat li {
    text-align: center;
    padding: 5px 0px;
    border-radius: 3px;
    margin: 5px;
    list-style: none;
    font-size: 14px;
    width: 28%;
  }
  ul#mfp_phase_stat li.mfp_phase_arrow {
    bos-shadow: none;
    display: none;
  }
  /*
  table#mfp_confirm_table tr th {
  	white-space: nowrap;
  	width: 100px;
  }
  */
  div#mfp_thanks {
    text-align: center;
    font-size: 18px;
    padding: 20px 0px;
  }
  div#mfp_thanks strong {
    color: #C00;
    font-size: 24px;
    display: block;
  }
}
/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	COMMON

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
/*== root ====================================================================================================*/
:root {
  --vw: 1vw;
  --vp: 19.20;
  --c_black: #000;
  --c_white: #fff;
  --c_red: #D53232;
  --c_text: #333333;
  --c_link: var(--c_blue1);
  --c_gray1: #222222;
  --c_gray2: #888888;
  --c_gray3: #EEEEEE;
  --c_gray4: #F4F6F6;
  --c_gray5: #D9D9D9;
  --c_gray6: #E4EBEF;
  --c_gray7: #444444;
  --c_gray8: #666666;
  --c_gray9: #XXXXXX;
  --c_gray10: #XXXXXX;
  --c_gray11: #XXXXXX;
  --c_gray12: #XXXXXX;
  --c_red1: #D53232;
  --c_blue1: #285BC8;
  --c_yellow1: #FFF6A0;
  --c_yellow2: #FFFCAF;
  --i_color1: #695378;
  --i_color2: #4F6492;
  --i_color3: #197698;
  --i_color4: #3E8388;
  --i_color5: #59844E;
  --i_color6: #868648;
  --i_color7: #A34651;
  --i_color8: #484A4D;
  --i_color9: var(--c_gray7);
  --i_color10: var(--c_gray7);
  --i_new: var(--c_red);
  --i_recommend: #DD6D1E;
  --i_sales_end: var(--i_color8);
  --i_support_end: var(--i_color2);
  --shadow: 0px 0px 6px rgba(117, 152, 186, 0.2);
  --shadow2: 0px 0px 10px rgba(0, 0, 0, 0.43);
  --spacer: 40px;
  --spacer2: 64px;
  --spacer3: 80px;
  --bdrs1: 2px;
  --bdrs2: 4px;
  --bdrs3: 8px;
  --lh_hd: 1.5;
  --lh_other: 1.6;
  --ls25: 0.025em;
  --ls50: 0.05em;
  --headerH: 142px;
}
@media screen and (max-width: 767px) {
  :root {
    --vp: 3.90;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --spacer: 35px;
  }
}
@media screen and (max-width: 1024px) {
  :root {
    --spacer2: 25px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --spacer3: 40px;
  }
}
@media screen and (max-width: 1320px) {
  :root {
    --headerH: 107px;
  }
}
@media screen and (max-width: 1023px) {
  :root {
    --headerH: 70px;
  }
}

/*== common_default ====================================================================================================*/
/*-------------------------
  ROLL OVER
-------------------------*/
.ro {
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) .ro:hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.ro:hover img {
  opacity: 1;
}
.ro a:hover, .ro a:hover img {
  transition: none;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .ro:hover, .ro a:hover, .ro a:hover img {
    opacity: 1;
  }
}

/*-------------------------
  pcCont/spCont
-------------------------*/
@media screen and (min-width: 768px) {
  .sp, .spCont {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc, .pcCont {
    display: none;
  }
}
/*-------------------------
  COMMONS
-------------------------*/
.tac {
  text-align: center;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.f_left {
  float: left;
}

.f_right {
  float: right;
}

.clear {
  clear: both;
}

button {
  cursor: pointer;
  outline: none;
}

.fBox, .flex {
  display: flex;
}

svg {
  fill: currentColor;
}

.preload * {
  transition: none !important;
}

.ofi {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.ac_btn {
  cursor: pointer;
}

.ac_box {
  display: none;
}

.slider {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.slider.slick-initialized {
  opacity: 1;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: inherit;
}

.bold, strong {
  /*font-weight: inherit;*/
}

@media screen and (min-width: 768px) {
  .ptac {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .pc_flex, .pflex {
    display: flex;
  }
}

.sp_ac_btn {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .sp_ac_btn {
    pointer-events: none;
  }
}

@media screen and (min-width: 768px) {
  .sp_ac_box {
    display: block !important;
    height: auto !important;
    transition: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp_ac_box {
    display: none;
  }
}

code {
  display: inline-block;
  padding: 0.1em 0.25em;
  color: #444;
  background-color: #e7edf3;
  border-radius: 3px;
  border: solid 1px #d6dde4;
  text-indent: 0;
  font-size: 100%;
  line-height: 1.2;
}
code.red {
  display: block;
  background-color: #dc143c;
  border: none;
  border-radius: 0;
  color: #fff;
  font-weight: bold;
  padding: 1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  code.red {
    font-size: 80%;
  }
}
code.red::before {
  content: "⚠️";
}

/*== common ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■setting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 100%;
}

body {
  position: relative;
  background: var(--c_white);
  color: var(--c_text);
  font-size: 1.125rem;
  line-height: 2;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
  -webkit-touch-callout: none;
}
@media screen and (max-width: 767px) {
  body {
    font-size: min(calc(16 / var(--vp) * var(--vw)), 16px);
    line-height: 1.8;
  }
}
body a[href^=⚠️] {
  position: relative;
}
body a[href^=⚠️]::after {
  content: "⚠️";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 0.8em;
  line-height: 1;
  transform: translate(-50%, -50%);
  animation: blink 1s ease infinite;
}
@keyframes blink {
  0%, 40%, 90%, 100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
  }
}
body a[href=""],
body a.disabled {
  cursor: not-allowed;
  pointer-events: none;
  text-decoration: none;
}
body.spMenu_open, body.modal_open {
  position: fixed;
  width: 100%;
}
body *[hidden] {
  display: none !important;
}

body:not(.view_sp) a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

#container {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}

.contents {
  container: contents/inline-size;
  position: relative;
  flex: 1;
  width: 100%;
  background: var(--c_gray6);
  padding-top: var(--headerH);
}

.innerWrap {
  position: relative;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .innerWrap {
    max-width: none;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■HEADER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header {
  position: absolute;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-columns: max-content auto;
  width: 100%;
  height: var(--headerH);
  background: var(--c_gray4);
  padding: 0 64px;
}
@media screen and (max-width: 1320px) {
  #header {
    padding: 0 10px 0 16px;
  }
}
@media screen and (max-width: 1023px) {
  #header {
    position: fixed;
    grid-template-columns: 180px auto;
    row-gap: 5px;
  }
}
#header .site_name {
  grid-area: 1/2/3/3;
}
@media screen and (max-width: 1499px) {
  #header .site_name {
    grid-area: 1/1/2/2;
    align-self: flex-end;
    margin-top: auto;
  }
}
#header .logo {
  grid-area: 1/1/3/2;
}
@media screen and (max-width: 1499px) {
  #header .logo {
    grid-area: 2/1/3/2;
  }
}
#header .head_top {
  grid-area: 1/3/2/6;
}
#header .head_main {
  grid-area: 2/3/3/6;
}
#header .site_name {
  align-self: flex-end;
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 0 0 30px 40px;
}
@media screen and (max-width: 1499px) {
  #header .site_name {
    padding: 0;
  }
}
@media screen and (max-width: 1320px) {
  #header .site_name {
    align-self: flex-start;
    font-size: 0.625rem;
    font-weight: 400;
  }
}
#header .logo {
  align-self: flex-end;
  width: 300px;
  padding: 0 0 24px 0;
}
@media screen and (max-width: 1320px) {
  #header .logo {
    align-self: flex-start;
    width: 170px;
    padding: 0;
  }
}
@media screen and (max-width: 1023px) {
  #header .logo {
    align-self: flex-start;
    line-height: 1;
    padding: 0;
  }
}
#header .logo a {
  display: inline-block;
}
#header .logo svg {
  width: 100%;
  height: auto;
}
#header .head_top {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 32px;
  padding: 10px 8px 0 0;
}
@media screen and (max-width: 1023px) {
  #header .head_top {
    display: none;
  }
}
#header .language {
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  letter-spacing: calc(0em / 1000);
  text-transform: uppercase;
}
#header .language a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 113px;
  min-height: 40px;
  background: var(--c_gray1);
  border: 1px solid var(--c_gray1);
  border-radius: var(--bdrs1);
  color: var(--c_white);
  font-size: 1rem;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
@media screen and (max-width: 1320px) {
  #header .language a {
    min-width: 90px;
    min-height: 32px;
    font-size: 0.75rem;
  }
}
#header .language a:hover {
  background-color: var(--c_white);
  color: currentColor;
}
#header .tel {
  display: flex;
  align-items: center;
  gap: 0 15px;
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (max-width: 1320px) {
  #header .tel {
    font-size: 0.625rem;
  }
}
#header .tel dd {
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (max-width: 1320px) {
  #header .tel dd {
    font-size: 1.125rem;
  }
}
#header .tel a {
  display: inline-block;
  color: var(--c_red1);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  letter-spacing: calc(0em / 1000);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 20'%3E%3Cpath d='M12.874,17.95,11.158,14.6A1.354,1.354,0,0,0,9.351,14l-.545.269C6.918,15.194,3.075,7.6,4.921,6.6l.516-.257a1.383,1.383,0,0,0,.61-1.861l-1.7-3.361A1.353,1.353,0,0,0,2.531.516L1.957.8C-4.114,4,5.525,22.949,11.735,20.079c.035-.016.255-.124.528-.26A1.384,1.384,0,0,0,12.874,17.95Z' transform='translate(-0.027 -0.374)' fill='%23D53232' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 13px auto;
  background-position: left center;
  padding-left: 20px;
}
#header .head_main {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 36px;
  padding: 0 0 16px 0;
}
@media screen and (max-width: 1023px) {
  #header .head_main {
    display: none;
  }
}
#header .list_menu {
  align-self: flex-end;
  font-size: 1rem;
  font-weight: 500;
  line-height: var(--lh_other);
}
@media screen and (max-width: 1320px) {
  #header .list_menu {
    font-size: 0.75rem;
  }
}
#header .list_wrap {
  display: flex;
  gap: 0 38px;
}
#header .list_item {
  position: relative;
  z-index: 1;
}
#header .list_item .parents {
  cursor: default;
  position: relative;
  padding: 8px 20px 16px 0;
}
@media screen and (max-width: 1320px) {
  #header .list_item .parents {
    padding-bottom: 8px;
  }
}
#header .list_item .parents::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--c_blue1);
  transform: scaleX(0);
  transform-origin: center bottom;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#header .list_item .parents::after {
  content: "";
  position: absolute;
  top: 16px;
  right: -2px;
  width: 12px;
  aspect-ratio: 12/7;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath d='M6.632,7.162.632.83,1.385.162,6.632,5.7,11.879.162l.753.668Z' transform='translate(-0.632 -0.162)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
#header .list_item .parents ._en {
  display: none;
}
#header .list_item:hover .parents::before, #header .list_item:focus-within .parents::before {
  transform: scaleX(1);
}
#header .list_item:hover .list_child, #header .list_item:focus-within .list_child {
  z-index: 5;
  clip-path: inset(0 -50vw -20px);
  visibility: visible;
}
#header .list_item .list_child {
  position: absolute;
  z-index: 10;
  top: 100%;
  left: 0;
  width: 373px;
  padding: 45px 40px 26px 36px;
  clip-path: inset(0 -50vw 100%);
  visibility: hidden;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
  transition: all 0.3s;
}
@media screen and (max-width: 1320px) {
  #header .list_item .list_child {
    left: 50%;
    transform: translate(-50%);
  }
}
#header .list_item .list_child::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(175, 175, 175, 0.4588235294);
  background: var(--c_white);
  border-radius: 3px;
  box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.25);
}
#header .list_item .page_item a {
  position: relative;
  display: block;
  padding: 8px 0;
}
#header .list_item .page_item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 11px;
  background-position: center center;
  transform: translate(0, -50%);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#header .list_item .page_item a:not([target=_blank])::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
#header .list_item .page_item a:not([target=_blank]):hover::after {
  transform: translate(4px, -50%);
}
#header .list_item .page_item a[target=_blank]::after {
  aspect-ratio: 14/13;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transform: translate(0, -50%) scale(1);
}
#header .list_item .page_item a[target=_blank]:hover::after {
  transform: translate(0, -50%) scale(1.2);
}
#header .btn .btn_inner {
  width: 100%;
  font-size: 1rem;
  font-weight: 700;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #header .btn .btn_inner {
    font-size: min(calc(15 / var(--vp) * var(--vw)), 15px);
  }
}
#header .btn .btn_inner span {
  min-width: inherit;
}
#header .btn._blue {
  width: 139px;
}
@media screen and (max-width: 1320px) {
  #header .btn._blue {
    width: 100px;
  }
}
#header .btn._blue .btn_inner {
  min-height: 37px;
  font-weight: 500;
}
@media screen and (max-width: 1320px) {
  #header .btn._blue .btn_inner {
    min-height: 28px;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 1320px) {
  #header .btn._blue span {
    padding-left: 20px;
  }
}
@media screen and (max-width: 1320px) {
  #header .btn._blue span::before {
    width: 12px;
  }
}
#header .btn._red {
  width: 200px;
}
@media screen and (max-width: 1320px) {
  #header .btn._red {
    width: 160px;
  }
}
#header .btn._red .btn_inner {
  min-height: 48px;
}
@media screen and (max-width: 1320px) {
  #header .btn._red .btn_inner {
    min-height: 32px;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 1320px) {
  #header .btn._red span::after {
    right: 16px;
    width: 12px;
  }
}
#header .sp_menu_btn_wrap {
  grid-area: 1/2/3/3;
  z-index: 1;
  display: flex;
  align-items: center;
  align-self: center;
  gap: 0 6px;
  margin-left: auto;
}
@media screen and (min-width: 1024px) {
  #header .sp_menu_btn_wrap {
    display: none;
  }
}
#header .sp_menu_btn_wrap > * {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 48px;
  aspect-ratio: 1/1;
  border-radius: 3px;
  line-height: 1;
}
#header .sp_menu_btn_wrap button {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  appearance: none;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100%;
  font-weight: inherit;
}
#header .sp_menu_btn_wrap .icon {
  display: block;
  background-position: center center;
}
#header .sp_menu_btn_wrap .icon._mail {
  width: 22px;
  aspect-ratio: 22/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 15'%3E%3Cpath d='M21.134,15H.873A.879.879,0,0,1,0,14.114v-10a.868.868,0,0,1,1.4-.7l9.069,7.155a.854.854,0,0,0,1.062,0L20.6,3.413a.868.868,0,0,1,1.4.7v10A.879.879,0,0,1,21.134,15ZM11.619,8.161a1.132,1.132,0,0,1-1.232,0L.557,1.6C-.216,1.083.2,0,1.173,0H20.832c.972,0,1.389,1.08.616,1.6Z' transform='translate(-0.003 -0.003)' fill='%23FFFFFF' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#header .sp_menu_btn_wrap .icon._search {
  width: 20px;
  aspect-ratio: 16/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 15'%3E%3Cpath d='M14.372,14.717,11.04,11.335a6.435,6.435,0,0,1-4.533,1.871A6.563,6.563,0,0,1,0,6.6,6.563,6.563,0,0,1,6.507,0a6.563,6.563,0,0,1,6.506,6.6,6.639,6.639,0,0,1-.805,3.18l3.513,3.564a.979.979,0,0,1,0,1.369.944.944,0,0,1-1.348,0ZM1.907,6.6a4.639,4.639,0,0,0,4.6,4.668,4.669,4.669,0,0,0,0-9.336A4.639,4.639,0,0,0,1.907,6.6Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#header .sp_menu_btn_wrap .contact {
  background-color: var(--c_red1);
}
#header .sp_menu_btn_wrap .search {
  background-color: var(--c_blue1);
}
#header .menuBtn {
  background: var(--c_gray1);
}

/*-------------------------
  追従ヘッダー
-------------------------*/
.header_fixed #header {
  position: fixed;
}
@media screen and (min-width: 1024px) {
  .header_fixed #header {
    left: 25px;
    right: 25px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    column-gap: 26px;
    max-width: 1680px;
    width: auto;
    height: 84px;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.2);
    padding: 0 30px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .header_fixed #header {
    justify-content: flex-end;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1320px) {
  .header_fixed #header {
    justify-content: center;
  }
}
@media screen and (min-width: 1024px) {
  .header_fixed #header .site_name {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .header_fixed #header .logo {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .header_fixed #header .language {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 1024px) {
  .header_fixed #header .head_top {
    padding: 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .header_fixed #header .tel {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 4px;
  }
}
@media screen and (min-width: 1024px) {
  .header_fixed #header .head_main {
    padding: 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .header_fixed #header .head_main {
    column-gap: 24px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .header_fixed #header .list_wrap {
    column-gap: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .header_fixed #header .list_item .parents {
    padding-bottom: 8px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .header_fixed #header .btn._red {
    width: 140px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■FOOTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#eye_catcher img {
  opacity: 0.8 !important;
}

/*-------------------------
  support
-------------------------*/
#cmn-support {
  overflow: clip;
  position: relative;
  z-index: 0;
  background: var(--c_gray3);
  padding: 144px var(--spacer) 162px;
}
@media screen and (max-width: 767px) {
  #cmn-support {
    padding: 48px 25px 46px;
  }
}
#cmn-support .title_en {
  position: absolute;
  z-index: -1;
  color: #f00;
  color: var(--c_white);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  letter-spacing: calc(0em / 1000);
  font-size: 11.25rem;
  line-height: 1;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #cmn-support .title_en {
    top: 64px;
    right: -0.155555em;
    font-size: min(calc(180 / var(--vp) * var(--vw)), 180px);
  }
}
@media screen and (max-width: 767px) {
  #cmn-support .title_en {
    top: 16px;
    left: -0.115em;
    font-size: min(calc(120 / var(--vp) * var(--vw)), 120px);
  }
}
#cmn-support .title_en {
  top: -0.085225em;
  right: auto;
  left: -0.1em;
  font-size: min(calc(176 / var(--vp) * var(--vw)), 176px);
}
@media screen and (max-width: 767px) {
  #cmn-support .title_en {
    opacity: 0.5;
    font-size: min(calc(100 / var(--vp) * var(--vw)), 100px);
  }
}
#cmn-support .innerWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 75px 0;
  max-width: 1414px;
}
@media screen and (max-width: 1379px) {
  #cmn-support .innerWrap {
    flex-direction: column;
    row-gap: 40px;
  }
}
#cmn-support .innerWrap > * {
  width: 100%;
}
#cmn-support .innerWrap > ._left {
  max-width: 669px;
  width: 47.313%;
}
@media screen and (max-width: 1379px) {
  #cmn-support .innerWrap > ._left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
#cmn-support .innerWrap > ._right {
  max-width: 600px;
  width: 42.433%;
}
@media screen and (max-width: 1379px) {
  #cmn-support .innerWrap > ._right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  #cmn-support ._left {
    padding: 0 7px;
  }
}
#cmn-support ._left .hd {
  font-size: 3rem;
  font-weight: 500;
  line-height: var(--lh_hd);
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  #cmn-support ._left .hd {
    font-size: min(calc(24 / var(--vp) * var(--vw)), 24px);
    padding-right: 0.5em;
  }
}
#cmn-support ._left .hd + p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: var(--lh_other);
  text-align: center;
}
@media screen and (max-width: 767px) {
  #cmn-support ._left .hd + p {
    font-size: min(calc(16 / var(--vp) * var(--vw)), 16px);
    line-height: 1.7;
    text-align: left;
  }
}
#cmn-support ._left ul {
  display: flex;
  justify-content: center;
  gap: 1.917em;
  margin: 56px 0 0;
}
@media screen and (max-width: 767px) {
  #cmn-support ._left ul {
    flex-wrap: wrap;
    gap: 0 26px;
    padding-bottom: 11px;
    margin: 24px 0 0;
  }
}
#cmn-support ._left ul li {
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 12px;
  background: var(--c_white);
  border-radius: 100%;
  text-align: center;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #cmn-support ._left ul li {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  #cmn-support ._left ul li {
    max-width: 200px;
    width: calc(50% - 13px);
    row-gap: 10px;
    margin-bottom: -11px;
  }
}
#cmn-support ._left ul .icon {
  display: block;
  width: 40%;
}
#cmn-support ._left ul .icon img {
  width: 100%;
  height: auto;
}
#cmn-support ._left ul .text {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: var(--lh_hd);
}
@media screen and (max-width: 767px) {
  #cmn-support ._left ul .text {
    font-size: min(calc(15 / var(--vp) * var(--vw)), 15px);
  }
}
#cmn-support ._right {
  padding: 6px 0 0;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right {
    padding: 0;
  }
}
#cmn-support ._right .btn .btn_inner {
  width: 100%;
  min-height: 143px;
  border-radius: var(--bdrs2);
  font-size: 1.5rem;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .btn .btn_inner {
    min-height: 88px;
    font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
  }
}
#cmn-support ._right .btn .btn_inner > span {
  min-width: inherit;
}
#cmn-support ._right .btn._mail span {
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .btn._mail span {
    width: 85.295%;
  }
}
#cmn-support ._right .btn._mail span::before {
  width: 30px;
}
#cmn-support ._right .btn._arrow > a::before, #cmn-support ._right .btn._arrow > button::before {
  right: 23px;
  width: 64px;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .btn._arrow > a::before, #cmn-support ._right .btn._arrow > button::before {
    right: 21px;
    width: 41px;
  }
}
#cmn-support ._right .btn._arrow > a::after, #cmn-support ._right .btn._arrow > button::after {
  width: 16px;
  right: 46px;
  aspect-ratio: 16/17;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 17'%3E%3Cpath d='M16,8.97l-.528.523L7.445,17.47,6.387,16.421l6.754-6.709H0V8.229H13.142L6.387,1.518,7.445.47Z' transform='translate(0 -0.47)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .btn._arrow > a::after, #cmn-support ._right .btn._arrow > button::after {
    right: 34px;
  }
}
#cmn-support ._right .btn._white .btn_inner {
  border: none;
}
#cmn-support ._right .btn a {
  transition: all 0.25s ease;
}
#cmn-support ._right .btn a:hover {
  background-color: var(--c_gray6);
}
#cmn-support ._right .tel_wrap {
  margin: 58px 0 0;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .tel_wrap {
    margin-top: 44px;
  }
}
#cmn-support ._right .tel_wrap .hd {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: var(--lh_hd);
  margin-left: 8px;
  margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .tel_wrap .hd {
    font-size: min(calc(20 / var(--vp) * var(--vw)), 20px);
    text-align: center;
    margin-left: 0;
    margin-bottom: 27px;
  }
}
#cmn-support ._right .tel_wrap .hd span {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 20'%3E%3Cpath d='M12.874,17.95,11.158,14.6A1.354,1.354,0,0,0,9.351,14l-.545.269C6.918,15.194,3.075,7.6,4.921,6.6l.516-.257a1.383,1.383,0,0,0,.61-1.861l-1.7-3.361A1.353,1.353,0,0,0,2.531.516L1.957.8C-4.114,4,5.525,22.949,11.735,20.079c.035-.016.255-.124.528-.26A1.384,1.384,0,0,0,12.874,17.95Z' transform='translate(-0.027 -0.374)' fill='%23285BC8' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 16px auto;
  padding-left: 29px;
}
@media screen and (max-width: 767px) {
  #cmn-support ._right .tel_wrap .hd span {
    background-size: 14px auto;
    padding-left: 20px;
  }
}

.tel_wrap dl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .tel_wrap dl {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 22px;
  }
}
.tel_wrap dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 66px;
  background: rgba(119, 119, 119, 0.0784313725);
  background: var(--c_white);
  font-size: 1rem;
  font-weight: 500;
  line-height: var(--lh_hd);
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .tel_wrap dt {
    min-height: 48px;
    font-size: min(calc(16 / var(--vp) * var(--vw)), 16px);
    margin-bottom: 16px;
  }
}
.tel_wrap dd {
  text-align: center;
}
.tel_wrap a {
  display: inline-block;
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: calc(0em / 1000);
  line-height: 1;
}
.tel_wrap .tel {
  border-bottom: 1px solid var(--c_blue1);
  line-height: 1;
}
.tel_wrap .tel._free {
  color: var(--c_blue1);
  font-size: 2.5rem;
  padding: 0 0 11px 11px;
}
@media screen and (max-width: 767px) {
  .tel_wrap .tel._free {
    font-size: min(calc(40 / var(--vp) * var(--vw)), 40px);
    padding: 0 0 9px;
  }
}
.tel_wrap .ip {
  font-size: 1rem;
  font-weight: 500;
  margin: 24px 0 0;
}
@media screen and (max-width: 767px) {
  .tel_wrap .ip {
    font-size: min(calc(16 / var(--vp) * var(--vw)), 16px);
    margin-top: 14px;
  }
}
.tel_wrap .ip a {
  font-size: 1.5rem;
  font-weight: inherit;
  margin: 5px 0 0;
}
@media screen and (max-width: 767px) {
  .tel_wrap .ip a {
    font-size: min(calc(24 / var(--vp) * var(--vw)), 24px);
  }
}

/*-------------------------
  footer
-------------------------*/
#footer {
  position: relative;
  background: var(--c_gray1);
  color: var(--c_gray2);
  padding: 132px var(--spacer);
}
@media screen and (max-width: 1024px) {
  #footer {
    padding: 48px var(--spacer) 52px;
  }
}
#footer .innerWrap {
  display: grid;
  grid-template-columns: 262px max-content 1fr;
  grid-template-rows: max-content;
  gap: 0 40px;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap {
    grid-template-columns: 1fr max-content;
  }
}
@media screen and (max-width: 767px) {
  #footer .innerWrap {
    display: block;
  }
}
#footer .innerWrap .site_name {
  grid-area: 1/2/2/3;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .site_name {
    grid-area: 1/1/2/2;
  }
}
#footer .innerWrap .logo {
  grid-area: 1/1/2/2;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .logo {
    grid-area: 2/1/3/2;
  }
}
#footer .innerWrap .address {
  grid-area: 2/1/3/4;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .address {
    grid-area: 3/1/4/3;
  }
}
#footer .innerWrap .sns {
  grid-area: 1/3/2/4;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .sns {
    grid-area: 1/2/2/3;
  }
}
#footer .innerWrap .list_menu._main {
  grid-area: 3/1/4/4;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .list_menu._main {
    grid-area: 4/1/5/3;
  }
}
#footer .innerWrap .list_menu._sub {
  grid-area: 4/1/5/3;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .list_menu._sub {
    grid-area: 5/1/6/2;
  }
}
#footer .innerWrap .copyright {
  grid-area: 4/3/5/4;
}
@media screen and (max-width: 1024px) {
  #footer .innerWrap .copyright {
    grid-area: 5/2/6/3;
  }
}
#footer .site_name {
  color: var(--c_white);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  padding: 18px 0 0;
}
@media screen and (max-width: 1024px) {
  #footer .site_name {
    font-size: min(calc(15 / var(--vp) * var(--vw)), 15px);
    padding: 0;
    margin-bottom: 22px;
  }
}
#footer .logo {
  width: 262px;
  line-height: 1;
}
#footer .logo a {
  display: inline-block;
}
#footer .logo svg {
  width: 100%;
  height: auto;
}
#footer .address {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: var(--lh_other);
  padding: 17px 0 0;
  margin: 0 0 64px;
}
@media screen and (max-width: 767px) {
  #footer .address {
    font-size: min(calc(14 / var(--vp) * var(--vw)), 14px);
    padding: 0 6px;
    margin: 20px 0 35px;
  }
}
#footer .sns {
  padding: 12px 0 0;
}
@media screen and (max-width: 1024px) {
  #footer .sns {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  #footer .sns {
    position: static;
    padding: 0 4px;
    margin: 0 0 30px;
  }
}
#footer .sns .list_btn {
  display: flex;
  justify-content: flex-end;
  gap: 0 24px;
}
@media screen and (max-width: 767px) {
  #footer .sns .list_btn {
    justify-content: flex-start;
  }
}
#footer .sns .icon {
  display: block;
  width: 32px;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  #footer .sns .icon {
    width: 39px;
  }
}
#footer .sns a {
  display: inline-block;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) #footer .sns a:hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#footer .sns .youtube .icon {
  background-image: url(../img/sns-youtube.png);
}
#footer .sns .x .icon {
  width: 27px;
  background-image: url(../img/sns-x.png);
}
@media screen and (max-width: 767px) {
  #footer .sns .x .icon {
    width: 33px;
  }
}
#footer .sns .facebook .icon {
  background-image: url(../img/sns-facebook.png);
}
#footer .sns .blog .icon {
  background-image: url(../img/sns-blog.png);
}
#footer .list_menu {
  align-self: flex-end;
  font-weight: 500;
  line-height: var(--lh_other);
}
#footer .list_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 44px 88px;
}
@media screen and (max-width: 767px) {
  #footer .list_wrap {
    flex-direction: column;
    gap: 27px 0;
  }
}
#footer .list_item {
  position: relative;
  z-index: 1;
}
#footer .list_item .parents {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  #footer .list_item .parents {
    margin-bottom: 10px;
  }
}
#footer .list_item .parents ._jp {
  display: none;
}
#footer .list_item .parents ._en {
  color: var(--c_gray2);
  font-size: 1.0625rem;
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  #footer .list_item .parents ._en {
    font-size: min(calc(17 / var(--vp) * var(--vw)), 17px);
  }
}
#footer .list_item button {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  appearance: none;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100%;
  font-weight: inherit;
}
#footer .list_item a, #footer .list_item button {
  display: inline-block;
  color: var(--c_white);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) #footer .list_item a:hover, body:not(.view_sp) #footer .list_item button:hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#footer .list_item a[target=_blank]::after, #footer .list_item button[target=_blank]::after {
  content: "";
  display: inline-block;
  vertical-align: bottom;
  width: 14px;
  aspect-ratio: 1/1;
  aspect-ratio: 14/13;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-size: 100% auto;
  transform: translateY(-4px);
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  #footer .list_item a[target=_blank]::after, #footer .list_item button[target=_blank]::after {
    transform: translateY(-2px);
  }
}
#footer .list_item .list_child {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #footer .list_item .list_child {
    font-size: min(calc(15 / var(--vp) * var(--vw)), 15px);
  }
}
#footer .list_item .list_child .list_child {
  margin-top: 8px;
}
#footer .list_item .list_child .list_child > li {
  position: relative;
  padding-left: 0.75em;
}
@media screen and (max-width: 767px) {
  #footer .list_item .list_child .list_child > li {
    padding-left: 0.7em;
  }
}
#footer .list_item .list_child .list_child > li::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}
#footer .list_menu._main {
  font-size: 1rem;
  margin-bottom: 52px;
}
@media screen and (max-width: 767px) {
  #footer .list_menu._main {
    font-size: min(calc(16 / var(--vp) * var(--vw)), 16px);
    margin-bottom: 46px;
  }
}
#footer .list_menu._sub {
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  #footer .list_menu._sub {
    font-size: min(calc(13 / var(--vp) * var(--vw)), 13px);
  }
}
#footer .copyright {
  color: var(--c_gray2);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  letter-spacing: calc(0em / 1000);
  font-size: 0.875rem;
  line-height: var(--lh_other);
  margin-top: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  #footer .copyright {
    font-size: min(calc(14 / var(--vp) * var(--vw)), 14px);
    margin-top: 80px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■overlay
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.overlay {
  opacity: 0;
  position: fixed;
  display: block;
  padding: 0;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 901;
  z-index: 900001;
  background: transparent;
  transform: none;
  overflow: hidden;
  transform: translateX(100%);
  transform-origin: top center;
  margin-right: auto;
  transition: opacity 0.25s linear;
}
body.spMenu_open .overlay {
  opacity: 1;
}
.overlay button {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  appearance: none;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100%;
  font-weight: inherit;
}
.overlay .menu_title {
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  letter-spacing: calc(0em / 1000);
  font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
  line-height: 1.389;
  text-transform: uppercase;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .overlay .menu_title {
    font-size: 1.125rem;
  }
}

.overlay_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

body.spMenu_open #spMenu,
body.modal_open #searchModal {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.25s linear;
}

.overlay_innerWrap {
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  background: var(--c_gray1);
  color: var(--c_gray2);
  line-height: var(--lh_other);
  padding: 0;
}
.overlay_innerWrap::-webkit-scrollbar {
  display: none;
}

.overlay_inner {
  width: 100%;
  padding: 48px 40px;
  margin: 0 auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■MENU
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
  spMenuBtn / closeBtn
-------------------------*/
#spMenuBtn {
  z-index: 99999;
  border: none;
  background-color: transparent;
  outline: none;
  width: 100%;
  height: 100%;
}
#spMenuBtn .spMenuBtn_bar {
  display: block;
  position: relative;
}
#spMenuBtn .spMenuBtn_bar::before, #spMenuBtn .spMenuBtn_bar::after {
  content: "";
}
#spMenuBtn .spMenuBtn_bar span, #spMenuBtn .spMenuBtn_bar::before, #spMenuBtn .spMenuBtn_bar::after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}
#spMenuBtn .spMenuBtn_bar span {
  top: 0;
  bottom: 0;
}
#spMenuBtn .spMenuBtn_bar::before {
  top: 0;
}
#spMenuBtn .spMenuBtn_bar::after {
  bottom: 0;
}
#spMenuBtn .spMenuBtn_bar {
  width: 17px;
  height: 14px;
  margin: auto;
}
body.spMenu_open #spMenuBtn .spMenuBtn_bar {
  position: relative;
}
body.spMenu_open #spMenuBtn .spMenuBtn_bar::before, body.spMenu_open #spMenuBtn .spMenuBtn_bar::after {
  content: "";
}
body.spMenu_open #spMenuBtn .spMenuBtn_bar span, body.spMenu_open #spMenuBtn .spMenuBtn_bar::before, body.spMenu_open #spMenuBtn .spMenuBtn_bar::after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}
body.spMenu_open #spMenuBtn .spMenuBtn_bar span {
  opacity: 0;
  top: 0;
  bottom: 0;
}
body.spMenu_open #spMenuBtn .spMenuBtn_bar::before {
  top: 0;
  bottom: 0;
  transform: rotate(45deg);
}
body.spMenu_open #spMenuBtn .spMenuBtn_bar::after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#spMenuBtn .spMenuBtn_bar span, #spMenuBtn .spMenuBtn_bar::before, #spMenuBtn .spMenuBtn_bar::after {
  height: 2px;
  background: var(--c_white);
  border-radius: 100px;
}
#closeBtn {
  z-index: 99999;
  border: none;
  background-color: transparent;
  outline: none;
  position: absolute;
  top: 10px;
  right: 10px;
}
#closeBtn .spMenuBtn_bar {
  display: block;
  position: relative;
}
#closeBtn .spMenuBtn_bar::before, #closeBtn .spMenuBtn_bar::after {
  content: "";
}
#closeBtn .spMenuBtn_bar span, #closeBtn .spMenuBtn_bar::before, #closeBtn .spMenuBtn_bar::after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}
#closeBtn .spMenuBtn_bar span {
  top: 0;
  bottom: 0;
}
#closeBtn .spMenuBtn_bar::before {
  top: 0;
}
#closeBtn .spMenuBtn_bar::after {
  bottom: 0;
}
#closeBtn .spMenuBtn_bar {
  width: 34px;
  height: 34px;
  margin: auto;
  position: relative;
}
#closeBtn .spMenuBtn_bar::before, #closeBtn .spMenuBtn_bar::after {
  content: "";
}
#closeBtn .spMenuBtn_bar span, #closeBtn .spMenuBtn_bar::before, #closeBtn .spMenuBtn_bar::after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: auto;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}
#closeBtn .spMenuBtn_bar span {
  opacity: 0;
  top: 0;
  bottom: 0;
}
#closeBtn .spMenuBtn_bar::before {
  top: 0;
  bottom: 0;
  transform: rotate(45deg);
}
#closeBtn .spMenuBtn_bar::after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#closeBtn .spMenuBtn_bar::before, #closeBtn .spMenuBtn_bar::after {
  height: 2px;
  background-color: var(--c_white);
}

/*-------------------------
  spMenu
-------------------------*/
@media screen and (min-width: 1024px) {
  #spMenu {
    display: none;
  }
}
#spMenu .language {
  max-width: 220px;
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  letter-spacing: calc(0em / 1000);
  text-transform: uppercase;
  margin-bottom: 25px;
}
#spMenu .language .btn_inner {
  min-height: 40px;
  border: 1px solid var(--c_white);
  font-size: min(calc(16 / var(--vp) * var(--vw)), 16px);
}
@media screen and (min-width: 768px) {
  #spMenu .language .btn_inner {
    font-size: 1rem;
  }
}
#spMenu .language._arrow span::after {
  right: 13px;
  width: 14px;
}
#spMenu .list_menu .list_wrap {
  display: grid;
  row-gap: 24px;
}
#spMenu .list_menu a, #spMenu .list_menu button {
  color: var(--c_white);
}
#spMenu .list_menu .parents {
  display: none;
}
#spMenu .list_menu .page_item {
  padding: 5px 0;
  border-bottom: 1px solid var(--c_gray7);
}
#spMenu .list_menu .page_item > a, #spMenu .list_menu .page_item > button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  min-height: 39px;
  padding-right: 30px;
}
#spMenu .list_menu .page_item > a::after, #spMenu .list_menu .page_item > button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 14px;
  transform: translateY(-50%);
}
#spMenu .list_menu .page_item > a:not([target=_blank])::after, #spMenu .list_menu .page_item > button:not([target=_blank])::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23888888'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
#spMenu .list_menu .page_item > a[target=_blank]::after, #spMenu .list_menu .page_item > button[target=_blank]::after {
  aspect-ratio: 14/13;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z' fill='%23888888'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
#spMenu .list_menu .list_child .list_child {
  display: flex;
  flex-direction: column;
  row-gap: 11px;
  font-size: min(calc(14 / var(--vp) * var(--vw)), 14px);
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #spMenu .list_menu .list_child .list_child {
    font-size: 0.875rem;
  }
}
#spMenu .list_menu .list_child .list_child > li {
  position: relative;
  padding-left: 0.75em;
}
@media screen and (max-width: 767px) {
  #spMenu .list_menu .list_child .list_child > li {
    padding-left: 0.7em;
  }
}
#spMenu .list_menu .list_child .list_child > li::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}

/* アニメーション */
#spMenu .list_menu .item_name {
  overflow: hidden;
}
#spMenu .list_menu .item_name span {
  transform: translateY(100%);
  transition: transform 0.8s 0s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

body.spMenu_open #spMenu .list_menu .item_name span {
  transform: translateY(0);
}
body.spMenu_open #spMenu .list_menu .item_name._ja span {
  transition: transform 0.8s 0.2s cubic-bezier(0.19, 1, 0.22, 1) !important;
}
body.spMenu_open #spMenu .list_menu .item_name._en span {
  transition: transform 0.8s 0.6s cubic-bezier(0.19, 1, 0.22, 1) !important;
}
@media screen and (max-width: 767px) {
  body.spMenu_open #spMenu .list_menu .item_name._en span {
    transition: transform 0.8s 0.2s cubic-bezier(0.19, 1, 0.22, 1) !important;
  }
}

/*-------------------------
  search
-------------------------*/
@media screen and (min-width: 768px) {
  #searchModal {
    padding: var(--spacer);
  }
}
@media screen and (min-width: 768px) {
  #searchModal .overlay_innerWrap {
    overflow: hidden;
    max-width: 1680px;
    background-color: transparent;
    padding-top: 49px;
    margin: 0 auto 0;
  }
}
@media screen and (min-width: 768px) {
  #searchModal #closeBtn {
    top: 0;
    right: 0;
  }
}
#searchModal .overlay_inner {
  height: 100%;
  padding: 0;
}
@media screen and (min-width: 768px) {
  #searchModal .overlay_inner {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 860px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #searchModal .overlay_inner {
    background: var(--c_gray4);
  }
}
@media screen and (max-width: 767px) {
  #searchModal .overlay_inner {
    overflow: hidden;
  }
}
#searchModal .overlay_contents {
  height: 100%;
  background: var(--c_gray4);
}
@media screen and (min-width: 768px) {
  #searchModal .overlay_contents {
    display: grid;
    grid-template-columns: 1fr max-content;
    max-width: 1680px;
    min-height: 430px;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  #searchModal .overlay_contents {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
@media screen and (min-width: 768px) {
  #searchModal ._right {
    width: 320px;
    grid-area: 1/2/2/3;
  }
}
#searchModal ._left {
  background: var(--c_gray4);
}
@media screen and (min-width: 768px) {
  #searchModal ._left {
    grid-area: 1/1/2/2;
    height: 100%;
    overflow: hidden;
  }
}

/* ローカル用 */
.test_local #searchModal .products_category .groupA {
  background: #fcc;
}
.test_local #searchModal .products_category .groupB {
  background: #cfc;
}
.test_local #searchModal .products_category .groupC {
  background: #ccf;
}
.test_local #searchModal .products_category ul > li:not(.top) {
  border-bottom-color: #f00;
}
.test_local #searchModal .products_overlay {
  opacity: 1;
  background-color: #000;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■製品検索
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#searchModal .menu_title {
  padding: 48px 25px 0;
  margin: 0;
  background: var(--c_gray1);
}
#searchModal ._right {
  background-color: var(--c_gray1);
  padding: 35px;
}
@media screen and (max-width: 1280px) {
  #searchModal ._right {
    padding: 16px 25px 32px;
  }
}
#searchModal ._left {
  padding-top: 58px;
}
@media screen and (max-width: 1280px) {
  #searchModal ._left {
    padding: 24px 25px 0;
  }
}
@media screen and (max-width: 767px) {
  #searchModal ._left {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--c_gray4);
  }
}
#searchModal .searchbox dl {
  display: grid;
  row-gap: 64px;
}
@media screen and (max-width: 767px) {
  #searchModal .searchbox dl {
    row-gap: 32px;
  }
}
#searchModal .searchbox dl > div {
  display: grid;
  row-gap: 24px;
}
#searchModal .searchbox dt {
  display: flex;
  align-items: flex-end;
  column-gap: 16px;
  color: var(--c_white);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
}
#searchModal .searchbox dt small {
  display: inline-block;
  background: #667979;
  border-radius: var(--bdrs2);
  font-size: 0.75rem;
  line-height: 1;
  padding: 4px 8px;
}
#searchModal .searchbox form {
  position: relative;
  display: block;
}
#searchModal .searchbox input[type=text] {
  position: relative;
  border-radius: var(--bdrs1);
  border: none;
  width: 100%;
  height: 52px;
  font-size: 1rem;
  padding: 0.25em 15px;
}
#searchModal .searchbox input[type=submit] {
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  aspect-ratio: 16/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 15'%3E%3Cpath d='M14.372,14.717,11.04,11.335a6.435,6.435,0,0,1-4.533,1.871A6.563,6.563,0,0,1,0,6.6,6.563,6.563,0,0,1,6.507,0a6.563,6.563,0,0,1,6.506,6.6,6.639,6.639,0,0,1-.805,3.18l3.513,3.564a.979.979,0,0,1,0,1.369.944.944,0,0,1-1.348,0ZM1.907,6.6a4.639,4.639,0,0,0,4.6,4.668,4.669,4.669,0,0,0,0-9.336A4.639,4.639,0,0,0,1.907,6.6Z' fill='%23222222'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-color: transparent;
  border: none;
  box-shadow: none;
  appearance: none;
  font-size: 0;
  line-height: 0;
  transform: translate(-15px, -50%);
}

.test_url {
  display: grid;
  row-gap: 1em;
  padding: 1em;
}
.test_url a {
  display: inline-block;
  color: var(--c_blue1);
  text-decoration: underline;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) .test_url a:hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}

/*-------------------------
  タブ切り替え
-------------------------*/
#searchModal .tab_wrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  #searchModal .tab_wrap {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}
#searchModal .tab_radio {
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
}
#searchModal .tab_btn {
  color: var(--c_blue1);
  font-size: 1.125rem;
  font-weight: bold;
  line-height: var(--lh_hd);
  padding: 0 64px;
}
@media screen and (max-width: 1280px) {
  #searchModal .tab_btn {
    font-size: 1rem;
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #searchModal .tab_btn {
    flex: 1 0 auto;
  }
}
#searchModal .tab_btn ul {
  display: flex;
  align-items: flex-end;
  column-gap: 16px;
  border-bottom: 3px solid currentColor;
}
@media screen and (max-width: 767px) {
  #searchModal .tab_btn ul {
    column-gap: 8px;
  }
}
@media screen and (max-width: 767px) {
  #searchModal .tab_btn li {
    width: 100%;
  }
}
#searchModal .tab_box_wrap {
  position: relative;
  z-index: 0;
  padding-top: 40px;
  padding: 40px 64px 0;
}
@media screen and (max-width: 1280px) {
  #searchModal .tab_box_wrap {
    padding: 24px 0 0;
  }
}
@media screen and (min-width: 768px) {
  #searchModal .tab_box_wrap {
    overflow: hidden;
    height: 100%;
  }
}
#searchModal .tab_box {
  display: none;
}
@media screen and (min-width: 768px) {
  #searchModal .tab_box {
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  #searchModal .tab_box {
    overflow: hidden;
  }
}

#searchModal .tab_btn label {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  background: var(--c_white);
  border: 2px solid var(--c_blue1);
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  text-align: center;
  padding: 6px 60px;
}
@media screen and (max-width: 1280px) {
  #searchModal .tab_btn label {
    padding: 6px 40px;
  }
}
@media screen and (max-width: 767px) {
  #searchModal .tab_btn label {
    padding-left: calc(20 / var(--vp) * var(--vw));
    padding-right: calc(20 / var(--vp) * var(--vw));
  }
}
#searchModal .tab_btn label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath d='M6.632,7.162.632.83,1.385.162,6.632,5.7,11.879.162l.753.668Z' transform='translate(-0.632 -0.162)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
}
@media screen and (max-width: 1280px) {
  #searchModal .tab_btn label::after {
    right: 15px;
  }
}
#searchModal .tab_btn label span {
  display: block;
  min-width: 180px;
}
@media screen and (max-width: 1280px) {
  #searchModal .tab_btn label span {
    min-width: inherit;
  }
}
@media screen and (max-width: 1280px) {
  #searchModal .tab_btn label br.sp {
    display: block;
  }
}

#searchModal #tab-0:checked ~ .tab_btn label[for=tab-0] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-0:checked ~ .tab_btn label[for=tab-0]::after {
  display: none;
}

#searchModal #tab-0:checked ~ .tab_box_wrap .tab_box.tab-0 {
  display: block;
}

#searchModal #tab-1:checked ~ .tab_btn label[for=tab-1] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-1:checked ~ .tab_btn label[for=tab-1]::after {
  display: none;
}

#searchModal #tab-1:checked ~ .tab_box_wrap .tab_box.tab-1 {
  display: block;
}

#searchModal #tab-2:checked ~ .tab_btn label[for=tab-2] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-2:checked ~ .tab_btn label[for=tab-2]::after {
  display: none;
}

#searchModal #tab-2:checked ~ .tab_box_wrap .tab_box.tab-2 {
  display: block;
}

#searchModal #tab-3:checked ~ .tab_btn label[for=tab-3] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-3:checked ~ .tab_btn label[for=tab-3]::after {
  display: none;
}

#searchModal #tab-3:checked ~ .tab_box_wrap .tab_box.tab-3 {
  display: block;
}

#searchModal #tab-4:checked ~ .tab_btn label[for=tab-4] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-4:checked ~ .tab_btn label[for=tab-4]::after {
  display: none;
}

#searchModal #tab-4:checked ~ .tab_box_wrap .tab_box.tab-4 {
  display: block;
}

#searchModal #tab-5:checked ~ .tab_btn label[for=tab-5] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-5:checked ~ .tab_btn label[for=tab-5]::after {
  display: none;
}

#searchModal #tab-5:checked ~ .tab_box_wrap .tab_box.tab-5 {
  display: block;
}

#searchModal #tab-6:checked ~ .tab_btn label[for=tab-6] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-6:checked ~ .tab_btn label[for=tab-6]::after {
  display: none;
}

#searchModal #tab-6:checked ~ .tab_box_wrap .tab_box.tab-6 {
  display: block;
}

#searchModal #tab-7:checked ~ .tab_btn label[for=tab-7] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-7:checked ~ .tab_btn label[for=tab-7]::after {
  display: none;
}

#searchModal #tab-7:checked ~ .tab_box_wrap .tab_box.tab-7 {
  display: block;
}

#searchModal #tab-8:checked ~ .tab_btn label[for=tab-8] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-8:checked ~ .tab_btn label[for=tab-8]::after {
  display: none;
}

#searchModal #tab-8:checked ~ .tab_box_wrap .tab_box.tab-8 {
  display: block;
}

#searchModal #tab-9:checked ~ .tab_btn label[for=tab-9] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-9:checked ~ .tab_btn label[for=tab-9]::after {
  display: none;
}

#searchModal #tab-9:checked ~ .tab_box_wrap .tab_box.tab-9 {
  display: block;
}

#searchModal #tab-10:checked ~ .tab_btn label[for=tab-10] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-10:checked ~ .tab_btn label[for=tab-10]::after {
  display: none;
}

#searchModal #tab-10:checked ~ .tab_box_wrap .tab_box.tab-10 {
  display: block;
}

#searchModal #tab-11:checked ~ .tab_btn label[for=tab-11] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-11:checked ~ .tab_btn label[for=tab-11]::after {
  display: none;
}

#searchModal #tab-11:checked ~ .tab_box_wrap .tab_box.tab-11 {
  display: block;
}

#searchModal #tab-12:checked ~ .tab_btn label[for=tab-12] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-12:checked ~ .tab_btn label[for=tab-12]::after {
  display: none;
}

#searchModal #tab-12:checked ~ .tab_box_wrap .tab_box.tab-12 {
  display: block;
}

#searchModal #tab-13:checked ~ .tab_btn label[for=tab-13] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-13:checked ~ .tab_btn label[for=tab-13]::after {
  display: none;
}

#searchModal #tab-13:checked ~ .tab_box_wrap .tab_box.tab-13 {
  display: block;
}

#searchModal #tab-14:checked ~ .tab_btn label[for=tab-14] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-14:checked ~ .tab_btn label[for=tab-14]::after {
  display: none;
}

#searchModal #tab-14:checked ~ .tab_box_wrap .tab_box.tab-14 {
  display: block;
}

#searchModal #tab-15:checked ~ .tab_btn label[for=tab-15] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-15:checked ~ .tab_btn label[for=tab-15]::after {
  display: none;
}

#searchModal #tab-15:checked ~ .tab_box_wrap .tab_box.tab-15 {
  display: block;
}

#searchModal #tab-16:checked ~ .tab_btn label[for=tab-16] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-16:checked ~ .tab_btn label[for=tab-16]::after {
  display: none;
}

#searchModal #tab-16:checked ~ .tab_box_wrap .tab_box.tab-16 {
  display: block;
}

#searchModal #tab-17:checked ~ .tab_btn label[for=tab-17] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-17:checked ~ .tab_btn label[for=tab-17]::after {
  display: none;
}

#searchModal #tab-17:checked ~ .tab_box_wrap .tab_box.tab-17 {
  display: block;
}

#searchModal #tab-18:checked ~ .tab_btn label[for=tab-18] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-18:checked ~ .tab_btn label[for=tab-18]::after {
  display: none;
}

#searchModal #tab-18:checked ~ .tab_box_wrap .tab_box.tab-18 {
  display: block;
}

#searchModal #tab-19:checked ~ .tab_btn label[for=tab-19] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-19:checked ~ .tab_btn label[for=tab-19]::after {
  display: none;
}

#searchModal #tab-19:checked ~ .tab_box_wrap .tab_box.tab-19 {
  display: block;
}

#searchModal #tab-20:checked ~ .tab_btn label[for=tab-20] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-20:checked ~ .tab_btn label[for=tab-20]::after {
  display: none;
}

#searchModal #tab-20:checked ~ .tab_box_wrap .tab_box.tab-20 {
  display: block;
}

#searchModal #tab-21:checked ~ .tab_btn label[for=tab-21] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-21:checked ~ .tab_btn label[for=tab-21]::after {
  display: none;
}

#searchModal #tab-21:checked ~ .tab_box_wrap .tab_box.tab-21 {
  display: block;
}

#searchModal #tab-22:checked ~ .tab_btn label[for=tab-22] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-22:checked ~ .tab_btn label[for=tab-22]::after {
  display: none;
}

#searchModal #tab-22:checked ~ .tab_box_wrap .tab_box.tab-22 {
  display: block;
}

#searchModal #tab-23:checked ~ .tab_btn label[for=tab-23] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-23:checked ~ .tab_btn label[for=tab-23]::after {
  display: none;
}

#searchModal #tab-23:checked ~ .tab_box_wrap .tab_box.tab-23 {
  display: block;
}

#searchModal #tab-24:checked ~ .tab_btn label[for=tab-24] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-24:checked ~ .tab_btn label[for=tab-24]::after {
  display: none;
}

#searchModal #tab-24:checked ~ .tab_box_wrap .tab_box.tab-24 {
  display: block;
}

#searchModal #tab-25:checked ~ .tab_btn label[for=tab-25] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-25:checked ~ .tab_btn label[for=tab-25]::after {
  display: none;
}

#searchModal #tab-25:checked ~ .tab_box_wrap .tab_box.tab-25 {
  display: block;
}

#searchModal #tab-26:checked ~ .tab_btn label[for=tab-26] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-26:checked ~ .tab_btn label[for=tab-26]::after {
  display: none;
}

#searchModal #tab-26:checked ~ .tab_box_wrap .tab_box.tab-26 {
  display: block;
}

#searchModal #tab-27:checked ~ .tab_btn label[for=tab-27] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-27:checked ~ .tab_btn label[for=tab-27]::after {
  display: none;
}

#searchModal #tab-27:checked ~ .tab_box_wrap .tab_box.tab-27 {
  display: block;
}

#searchModal #tab-28:checked ~ .tab_btn label[for=tab-28] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-28:checked ~ .tab_btn label[for=tab-28]::after {
  display: none;
}

#searchModal #tab-28:checked ~ .tab_box_wrap .tab_box.tab-28 {
  display: block;
}

#searchModal #tab-29:checked ~ .tab_btn label[for=tab-29] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-29:checked ~ .tab_btn label[for=tab-29]::after {
  display: none;
}

#searchModal #tab-29:checked ~ .tab_box_wrap .tab_box.tab-29 {
  display: block;
}

#searchModal #tab-30:checked ~ .tab_btn label[for=tab-30] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-30:checked ~ .tab_btn label[for=tab-30]::after {
  display: none;
}

#searchModal #tab-30:checked ~ .tab_box_wrap .tab_box.tab-30 {
  display: block;
}

#searchModal #tab-31:checked ~ .tab_btn label[for=tab-31] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-31:checked ~ .tab_btn label[for=tab-31]::after {
  display: none;
}

#searchModal #tab-31:checked ~ .tab_box_wrap .tab_box.tab-31 {
  display: block;
}

#searchModal #tab-32:checked ~ .tab_btn label[for=tab-32] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-32:checked ~ .tab_btn label[for=tab-32]::after {
  display: none;
}

#searchModal #tab-32:checked ~ .tab_box_wrap .tab_box.tab-32 {
  display: block;
}

#searchModal #tab-33:checked ~ .tab_btn label[for=tab-33] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-33:checked ~ .tab_btn label[for=tab-33]::after {
  display: none;
}

#searchModal #tab-33:checked ~ .tab_box_wrap .tab_box.tab-33 {
  display: block;
}

#searchModal #tab-34:checked ~ .tab_btn label[for=tab-34] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-34:checked ~ .tab_btn label[for=tab-34]::after {
  display: none;
}

#searchModal #tab-34:checked ~ .tab_box_wrap .tab_box.tab-34 {
  display: block;
}

#searchModal #tab-35:checked ~ .tab_btn label[for=tab-35] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-35:checked ~ .tab_btn label[for=tab-35]::after {
  display: none;
}

#searchModal #tab-35:checked ~ .tab_box_wrap .tab_box.tab-35 {
  display: block;
}

#searchModal #tab-36:checked ~ .tab_btn label[for=tab-36] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-36:checked ~ .tab_btn label[for=tab-36]::after {
  display: none;
}

#searchModal #tab-36:checked ~ .tab_box_wrap .tab_box.tab-36 {
  display: block;
}

#searchModal #tab-37:checked ~ .tab_btn label[for=tab-37] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-37:checked ~ .tab_btn label[for=tab-37]::after {
  display: none;
}

#searchModal #tab-37:checked ~ .tab_box_wrap .tab_box.tab-37 {
  display: block;
}

#searchModal #tab-38:checked ~ .tab_btn label[for=tab-38] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-38:checked ~ .tab_btn label[for=tab-38]::after {
  display: none;
}

#searchModal #tab-38:checked ~ .tab_box_wrap .tab_box.tab-38 {
  display: block;
}

#searchModal #tab-39:checked ~ .tab_btn label[for=tab-39] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-39:checked ~ .tab_btn label[for=tab-39]::after {
  display: none;
}

#searchModal #tab-39:checked ~ .tab_box_wrap .tab_box.tab-39 {
  display: block;
}

#searchModal #tab-40:checked ~ .tab_btn label[for=tab-40] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-40:checked ~ .tab_btn label[for=tab-40]::after {
  display: none;
}

#searchModal #tab-40:checked ~ .tab_box_wrap .tab_box.tab-40 {
  display: block;
}

#searchModal #tab-41:checked ~ .tab_btn label[for=tab-41] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-41:checked ~ .tab_btn label[for=tab-41]::after {
  display: none;
}

#searchModal #tab-41:checked ~ .tab_box_wrap .tab_box.tab-41 {
  display: block;
}

#searchModal #tab-42:checked ~ .tab_btn label[for=tab-42] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-42:checked ~ .tab_btn label[for=tab-42]::after {
  display: none;
}

#searchModal #tab-42:checked ~ .tab_box_wrap .tab_box.tab-42 {
  display: block;
}

#searchModal #tab-43:checked ~ .tab_btn label[for=tab-43] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-43:checked ~ .tab_btn label[for=tab-43]::after {
  display: none;
}

#searchModal #tab-43:checked ~ .tab_box_wrap .tab_box.tab-43 {
  display: block;
}

#searchModal #tab-44:checked ~ .tab_btn label[for=tab-44] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-44:checked ~ .tab_btn label[for=tab-44]::after {
  display: none;
}

#searchModal #tab-44:checked ~ .tab_box_wrap .tab_box.tab-44 {
  display: block;
}

#searchModal #tab-45:checked ~ .tab_btn label[for=tab-45] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-45:checked ~ .tab_btn label[for=tab-45]::after {
  display: none;
}

#searchModal #tab-45:checked ~ .tab_box_wrap .tab_box.tab-45 {
  display: block;
}

#searchModal #tab-46:checked ~ .tab_btn label[for=tab-46] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-46:checked ~ .tab_btn label[for=tab-46]::after {
  display: none;
}

#searchModal #tab-46:checked ~ .tab_box_wrap .tab_box.tab-46 {
  display: block;
}

#searchModal #tab-47:checked ~ .tab_btn label[for=tab-47] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-47:checked ~ .tab_btn label[for=tab-47]::after {
  display: none;
}

#searchModal #tab-47:checked ~ .tab_box_wrap .tab_box.tab-47 {
  display: block;
}

#searchModal #tab-48:checked ~ .tab_btn label[for=tab-48] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-48:checked ~ .tab_btn label[for=tab-48]::after {
  display: none;
}

#searchModal #tab-48:checked ~ .tab_box_wrap .tab_box.tab-48 {
  display: block;
}

#searchModal #tab-49:checked ~ .tab_btn label[for=tab-49] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-49:checked ~ .tab_btn label[for=tab-49]::after {
  display: none;
}

#searchModal #tab-49:checked ~ .tab_box_wrap .tab_box.tab-49 {
  display: block;
}

#searchModal #tab-50:checked ~ .tab_btn label[for=tab-50] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-50:checked ~ .tab_btn label[for=tab-50]::after {
  display: none;
}

#searchModal #tab-50:checked ~ .tab_box_wrap .tab_box.tab-50 {
  display: block;
}

#searchModal #tab-51:checked ~ .tab_btn label[for=tab-51] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-51:checked ~ .tab_btn label[for=tab-51]::after {
  display: none;
}

#searchModal #tab-51:checked ~ .tab_box_wrap .tab_box.tab-51 {
  display: block;
}

#searchModal #tab-52:checked ~ .tab_btn label[for=tab-52] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-52:checked ~ .tab_btn label[for=tab-52]::after {
  display: none;
}

#searchModal #tab-52:checked ~ .tab_box_wrap .tab_box.tab-52 {
  display: block;
}

#searchModal #tab-53:checked ~ .tab_btn label[for=tab-53] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-53:checked ~ .tab_btn label[for=tab-53]::after {
  display: none;
}

#searchModal #tab-53:checked ~ .tab_box_wrap .tab_box.tab-53 {
  display: block;
}

#searchModal #tab-54:checked ~ .tab_btn label[for=tab-54] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-54:checked ~ .tab_btn label[for=tab-54]::after {
  display: none;
}

#searchModal #tab-54:checked ~ .tab_box_wrap .tab_box.tab-54 {
  display: block;
}

#searchModal #tab-55:checked ~ .tab_btn label[for=tab-55] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-55:checked ~ .tab_btn label[for=tab-55]::after {
  display: none;
}

#searchModal #tab-55:checked ~ .tab_box_wrap .tab_box.tab-55 {
  display: block;
}

#searchModal #tab-56:checked ~ .tab_btn label[for=tab-56] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-56:checked ~ .tab_btn label[for=tab-56]::after {
  display: none;
}

#searchModal #tab-56:checked ~ .tab_box_wrap .tab_box.tab-56 {
  display: block;
}

#searchModal #tab-57:checked ~ .tab_btn label[for=tab-57] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-57:checked ~ .tab_btn label[for=tab-57]::after {
  display: none;
}

#searchModal #tab-57:checked ~ .tab_box_wrap .tab_box.tab-57 {
  display: block;
}

#searchModal #tab-58:checked ~ .tab_btn label[for=tab-58] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-58:checked ~ .tab_btn label[for=tab-58]::after {
  display: none;
}

#searchModal #tab-58:checked ~ .tab_box_wrap .tab_box.tab-58 {
  display: block;
}

#searchModal #tab-59:checked ~ .tab_btn label[for=tab-59] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-59:checked ~ .tab_btn label[for=tab-59]::after {
  display: none;
}

#searchModal #tab-59:checked ~ .tab_box_wrap .tab_box.tab-59 {
  display: block;
}

#searchModal #tab-60:checked ~ .tab_btn label[for=tab-60] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-60:checked ~ .tab_btn label[for=tab-60]::after {
  display: none;
}

#searchModal #tab-60:checked ~ .tab_box_wrap .tab_box.tab-60 {
  display: block;
}

#searchModal #tab-61:checked ~ .tab_btn label[for=tab-61] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-61:checked ~ .tab_btn label[for=tab-61]::after {
  display: none;
}

#searchModal #tab-61:checked ~ .tab_box_wrap .tab_box.tab-61 {
  display: block;
}

#searchModal #tab-62:checked ~ .tab_btn label[for=tab-62] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-62:checked ~ .tab_btn label[for=tab-62]::after {
  display: none;
}

#searchModal #tab-62:checked ~ .tab_box_wrap .tab_box.tab-62 {
  display: block;
}

#searchModal #tab-63:checked ~ .tab_btn label[for=tab-63] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-63:checked ~ .tab_btn label[for=tab-63]::after {
  display: none;
}

#searchModal #tab-63:checked ~ .tab_box_wrap .tab_box.tab-63 {
  display: block;
}

#searchModal #tab-64:checked ~ .tab_btn label[for=tab-64] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-64:checked ~ .tab_btn label[for=tab-64]::after {
  display: none;
}

#searchModal #tab-64:checked ~ .tab_box_wrap .tab_box.tab-64 {
  display: block;
}

#searchModal #tab-65:checked ~ .tab_btn label[for=tab-65] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-65:checked ~ .tab_btn label[for=tab-65]::after {
  display: none;
}

#searchModal #tab-65:checked ~ .tab_box_wrap .tab_box.tab-65 {
  display: block;
}

#searchModal #tab-66:checked ~ .tab_btn label[for=tab-66] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-66:checked ~ .tab_btn label[for=tab-66]::after {
  display: none;
}

#searchModal #tab-66:checked ~ .tab_box_wrap .tab_box.tab-66 {
  display: block;
}

#searchModal #tab-67:checked ~ .tab_btn label[for=tab-67] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-67:checked ~ .tab_btn label[for=tab-67]::after {
  display: none;
}

#searchModal #tab-67:checked ~ .tab_box_wrap .tab_box.tab-67 {
  display: block;
}

#searchModal #tab-68:checked ~ .tab_btn label[for=tab-68] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-68:checked ~ .tab_btn label[for=tab-68]::after {
  display: none;
}

#searchModal #tab-68:checked ~ .tab_box_wrap .tab_box.tab-68 {
  display: block;
}

#searchModal #tab-69:checked ~ .tab_btn label[for=tab-69] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-69:checked ~ .tab_btn label[for=tab-69]::after {
  display: none;
}

#searchModal #tab-69:checked ~ .tab_box_wrap .tab_box.tab-69 {
  display: block;
}

#searchModal #tab-70:checked ~ .tab_btn label[for=tab-70] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-70:checked ~ .tab_btn label[for=tab-70]::after {
  display: none;
}

#searchModal #tab-70:checked ~ .tab_box_wrap .tab_box.tab-70 {
  display: block;
}

#searchModal #tab-71:checked ~ .tab_btn label[for=tab-71] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-71:checked ~ .tab_btn label[for=tab-71]::after {
  display: none;
}

#searchModal #tab-71:checked ~ .tab_box_wrap .tab_box.tab-71 {
  display: block;
}

#searchModal #tab-72:checked ~ .tab_btn label[for=tab-72] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-72:checked ~ .tab_btn label[for=tab-72]::after {
  display: none;
}

#searchModal #tab-72:checked ~ .tab_box_wrap .tab_box.tab-72 {
  display: block;
}

#searchModal #tab-73:checked ~ .tab_btn label[for=tab-73] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-73:checked ~ .tab_btn label[for=tab-73]::after {
  display: none;
}

#searchModal #tab-73:checked ~ .tab_box_wrap .tab_box.tab-73 {
  display: block;
}

#searchModal #tab-74:checked ~ .tab_btn label[for=tab-74] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-74:checked ~ .tab_btn label[for=tab-74]::after {
  display: none;
}

#searchModal #tab-74:checked ~ .tab_box_wrap .tab_box.tab-74 {
  display: block;
}

#searchModal #tab-75:checked ~ .tab_btn label[for=tab-75] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-75:checked ~ .tab_btn label[for=tab-75]::after {
  display: none;
}

#searchModal #tab-75:checked ~ .tab_box_wrap .tab_box.tab-75 {
  display: block;
}

#searchModal #tab-76:checked ~ .tab_btn label[for=tab-76] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-76:checked ~ .tab_btn label[for=tab-76]::after {
  display: none;
}

#searchModal #tab-76:checked ~ .tab_box_wrap .tab_box.tab-76 {
  display: block;
}

#searchModal #tab-77:checked ~ .tab_btn label[for=tab-77] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-77:checked ~ .tab_btn label[for=tab-77]::after {
  display: none;
}

#searchModal #tab-77:checked ~ .tab_box_wrap .tab_box.tab-77 {
  display: block;
}

#searchModal #tab-78:checked ~ .tab_btn label[for=tab-78] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-78:checked ~ .tab_btn label[for=tab-78]::after {
  display: none;
}

#searchModal #tab-78:checked ~ .tab_box_wrap .tab_box.tab-78 {
  display: block;
}

#searchModal #tab-79:checked ~ .tab_btn label[for=tab-79] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-79:checked ~ .tab_btn label[for=tab-79]::after {
  display: none;
}

#searchModal #tab-79:checked ~ .tab_box_wrap .tab_box.tab-79 {
  display: block;
}

#searchModal #tab-80:checked ~ .tab_btn label[for=tab-80] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-80:checked ~ .tab_btn label[for=tab-80]::after {
  display: none;
}

#searchModal #tab-80:checked ~ .tab_box_wrap .tab_box.tab-80 {
  display: block;
}

#searchModal #tab-81:checked ~ .tab_btn label[for=tab-81] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-81:checked ~ .tab_btn label[for=tab-81]::after {
  display: none;
}

#searchModal #tab-81:checked ~ .tab_box_wrap .tab_box.tab-81 {
  display: block;
}

#searchModal #tab-82:checked ~ .tab_btn label[for=tab-82] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-82:checked ~ .tab_btn label[for=tab-82]::after {
  display: none;
}

#searchModal #tab-82:checked ~ .tab_box_wrap .tab_box.tab-82 {
  display: block;
}

#searchModal #tab-83:checked ~ .tab_btn label[for=tab-83] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-83:checked ~ .tab_btn label[for=tab-83]::after {
  display: none;
}

#searchModal #tab-83:checked ~ .tab_box_wrap .tab_box.tab-83 {
  display: block;
}

#searchModal #tab-84:checked ~ .tab_btn label[for=tab-84] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-84:checked ~ .tab_btn label[for=tab-84]::after {
  display: none;
}

#searchModal #tab-84:checked ~ .tab_box_wrap .tab_box.tab-84 {
  display: block;
}

#searchModal #tab-85:checked ~ .tab_btn label[for=tab-85] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-85:checked ~ .tab_btn label[for=tab-85]::after {
  display: none;
}

#searchModal #tab-85:checked ~ .tab_box_wrap .tab_box.tab-85 {
  display: block;
}

#searchModal #tab-86:checked ~ .tab_btn label[for=tab-86] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-86:checked ~ .tab_btn label[for=tab-86]::after {
  display: none;
}

#searchModal #tab-86:checked ~ .tab_box_wrap .tab_box.tab-86 {
  display: block;
}

#searchModal #tab-87:checked ~ .tab_btn label[for=tab-87] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-87:checked ~ .tab_btn label[for=tab-87]::after {
  display: none;
}

#searchModal #tab-87:checked ~ .tab_box_wrap .tab_box.tab-87 {
  display: block;
}

#searchModal #tab-88:checked ~ .tab_btn label[for=tab-88] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-88:checked ~ .tab_btn label[for=tab-88]::after {
  display: none;
}

#searchModal #tab-88:checked ~ .tab_box_wrap .tab_box.tab-88 {
  display: block;
}

#searchModal #tab-89:checked ~ .tab_btn label[for=tab-89] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-89:checked ~ .tab_btn label[for=tab-89]::after {
  display: none;
}

#searchModal #tab-89:checked ~ .tab_box_wrap .tab_box.tab-89 {
  display: block;
}

#searchModal #tab-90:checked ~ .tab_btn label[for=tab-90] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-90:checked ~ .tab_btn label[for=tab-90]::after {
  display: none;
}

#searchModal #tab-90:checked ~ .tab_box_wrap .tab_box.tab-90 {
  display: block;
}

#searchModal #tab-91:checked ~ .tab_btn label[for=tab-91] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-91:checked ~ .tab_btn label[for=tab-91]::after {
  display: none;
}

#searchModal #tab-91:checked ~ .tab_box_wrap .tab_box.tab-91 {
  display: block;
}

#searchModal #tab-92:checked ~ .tab_btn label[for=tab-92] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-92:checked ~ .tab_btn label[for=tab-92]::after {
  display: none;
}

#searchModal #tab-92:checked ~ .tab_box_wrap .tab_box.tab-92 {
  display: block;
}

#searchModal #tab-93:checked ~ .tab_btn label[for=tab-93] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-93:checked ~ .tab_btn label[for=tab-93]::after {
  display: none;
}

#searchModal #tab-93:checked ~ .tab_box_wrap .tab_box.tab-93 {
  display: block;
}

#searchModal #tab-94:checked ~ .tab_btn label[for=tab-94] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-94:checked ~ .tab_btn label[for=tab-94]::after {
  display: none;
}

#searchModal #tab-94:checked ~ .tab_box_wrap .tab_box.tab-94 {
  display: block;
}

#searchModal #tab-95:checked ~ .tab_btn label[for=tab-95] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-95:checked ~ .tab_btn label[for=tab-95]::after {
  display: none;
}

#searchModal #tab-95:checked ~ .tab_box_wrap .tab_box.tab-95 {
  display: block;
}

#searchModal #tab-96:checked ~ .tab_btn label[for=tab-96] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-96:checked ~ .tab_btn label[for=tab-96]::after {
  display: none;
}

#searchModal #tab-96:checked ~ .tab_box_wrap .tab_box.tab-96 {
  display: block;
}

#searchModal #tab-97:checked ~ .tab_btn label[for=tab-97] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-97:checked ~ .tab_btn label[for=tab-97]::after {
  display: none;
}

#searchModal #tab-97:checked ~ .tab_box_wrap .tab_box.tab-97 {
  display: block;
}

#searchModal #tab-98:checked ~ .tab_btn label[for=tab-98] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-98:checked ~ .tab_btn label[for=tab-98]::after {
  display: none;
}

#searchModal #tab-98:checked ~ .tab_box_wrap .tab_box.tab-98 {
  display: block;
}

#searchModal #tab-99:checked ~ .tab_btn label[for=tab-99] {
  color: var(--c_white);
  background: var(--c_blue1);
}
#searchModal #tab-99:checked ~ .tab_btn label[for=tab-99]::after {
  display: none;
}

#searchModal #tab-99:checked ~ .tab_box_wrap .tab_box.tab-99 {
  display: block;
}

/*-------------------------
  カテゴリーから探す
-------------------------*/
#searchModal .products_category {
  display: flex;
  max-height: 100%;
  font-size: 1rem;
  font-weight: 500;
  line-height: var(--lh_hd);
}
@media screen and (min-width: 1281px) {
  #searchModal .products_category {
    gap: 0 24px;
  }
}
#searchModal .products_category .products_overlay {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
}
#searchModal .products_category > * {
  overflow: hidden;
  position: relative;
  background: var(--c_gray4);
}
@media screen and (max-width: 1280px) {
  #searchModal .products_category > * {
    flex: 1 0 auto;
    width: 100%;
    transition: all 0.25s ease;
    transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
    transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
  }
}
#searchModal .products_category > * > .inner {
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
  padding-bottom: 48px;
}
#searchModal .products_category ul > li > a {
  color: var(--c_text);
}
#searchModal .products_category ul > li.top {
  margin-top: 14px;
  margin-bottom: 12px;
}
#searchModal .products_category ul > li.top a:not(:has(.category_list_item))::after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  transform: translateY(2px);
  margin-left: 0.5em;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#searchModal .products_category ul > li.top a:not(:has(.category_list_item)):hover::after {
  margin-left: 0.75em;
}
#searchModal .products_category ul > li:not(.top) {
  border-bottom: 1px solid var(--c_gray5);
}
#searchModal .products_category ul > li:not(.top) a:not(:has(.category_list_item)) {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 53px;
  padding: 8px 30px 8px 10px;
}
#searchModal .products_category ul > li:not(.top) a:not(:has(.category_list_item))::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M8.97,7.97l-6.951,7L.97,13.914l5.9-5.944L.97,2.026,2.018.97Z' transform='translate(-0.97 -0.97)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 7/12;
  transform: translate(0, -50%);
}
#searchModal .products_category ul > li:not(.top) a:not(:has(.category_list_item)):hover::after {
  transform: translate(2px, -50%);
}
@media screen and (min-width: 1281px) {
  #searchModal .products_category .groupA {
    flex: 1 0 auto;
    max-width: 300px;
    width: 24.351%;
  }
}
@media screen and (min-width: 1281px) {
  #searchModal .products_category .groupB {
    flex: 1 0 auto;
    max-width: 408px;
    width: 33.117%;
  }
}
@media screen and (min-width: 1281px) {
  #searchModal .products_category .groupC {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #searchModal .products_category .groupC .inner {
    padding-right: 28px;
  }
}
#searchModal .products_category .category_list_item {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-template-rows: max-content 1fr;
  column-gap: 20px;
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 20px 0;
}
#searchModal .products_category .category_list_item .post_img {
  grid-area: 1/1/3/2;
  max-width: 120px;
  background-color: var(--c_white);
  margin: 0;
}
@media screen and (max-width: 767px) {
  #searchModal .products_category .category_list_item .post_img {
    max-width: 90px;
  }
}
#searchModal .products_category .category_list_item .products_name {
  grid-area: 1/2/2/3;
  font-size: 1rem;
  padding: 2px 0 0;
}
#searchModal .products_category .category_list_item .products_text {
  grid-area: 2/2/3/3;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: var(--lh_other);
  padding: 0;
}
#searchModal .products_category .category_list_item .products_text::before {
  display: none;
}
#searchModal .products_category .category_list_item:not(:has(.products_text)) .products_name {
  grid-area: 1/2/3/3;
  align-self: center;
  margin: 0;
}
#searchModal .products_category a .category_list_item {
  position: relative;
  padding-right: 40px;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#searchModal .products_category a .category_list_item::before, #searchModal .products_category a .category_list_item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  aspect-ratio: 1/1;
  width: 30px;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#searchModal .products_category a .category_list_item::before {
  border: 1px solid var(--c_blue1);
  transform: translateY(-50%) scale(0.7);
  opacity: 0;
}
#searchModal .products_category a .category_list_item::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 12px auto;
  transform: translateY(-50%);
}
#searchModal .products_category a:hover .category_list_item::before {
  transform: translateY(-50%) scale(1);
  opacity: 1;
}
#searchModal .products_category .btn {
  width: 92px;
}
#searchModal .products_category .btn .btn_inner {
  width: 100%;
}
#searchModal .products_category .btn .btn_inner span {
  min-width: inherit;
}
#searchModal .products_category .btn._arrow .btn_inner {
  padding: 0;
}
#searchModal .products_category .btn._arrow .btn_inner::before {
  display: none;
}
#searchModal .products_category .btn._arrow .btn_inner::after {
  right: auto;
  left: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M8.97,7.97l-6.951,7L.97,13.914l5.9-5.944L.97,2.026,2.018.97Z' transform='translate(-0.97 -0.97)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  transform: rotate(180deg) translateY(50%);
}
#searchModal .products_category .btn._arrow .btn_inner span {
  padding-left: 12px;
}
#searchModal .products_category .inner > .btn:first-child {
  margin-bottom: 32px;
}
#searchModal .products_category .inner > .btn:last-child {
  margin-top: 32px;
}

/* 表示/非表示処理 */
#searchModal .products_category .item.is-active a {
  background-color: var(--c_white);
  color: var(--c_blue1);
}
#searchModal .products_category .group_list:not(.groupA .group_list) {
  display: none;
}
#searchModal .products_category .group_list:not(.groupA .group_list).is-active {
  display: block;
}
@media screen and (max-width: 1280px) {
  #searchModal .products_category .groupA ~ .groupB:has(.group_list.is-active) {
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 1280px) {
  #searchModal .products_category .groupB ~ .groupC:has(.group_list.is-active) {
    transform: translateX(-200%);
  }
}
@media screen and (min-width: 1281px) {
  #searchModal .products_category .btn:not(:has(~ .is-active)) {
    display: none;
  }
}

/* タッチデバイス */
#searchModal .products_category .groupA li:not(.top) > a,
#searchModal .products_category .groupB li:not(.top) > a {
  cursor: pointer;
}

/* タッチデバイスじゃないとき */
@media screen and (min-width: 1281px) {
  body:not(.view_sp):not(.view_tablet) #searchModal .products_category .btn {
    display: none;
  }
}

/*-------------------------
  用途トピックス
-------------------------*/
@media screen and (min-width: 768px) {
  #tab-purpose {
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 28px;
  }
}
#tab-purpose .products_list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 20px;
  padding-bottom: 48px;
}
#tab-purpose .products_list > li {
  width: 310px;
}
@media screen and (max-width: 1280px) {
  #tab-purpose .products_list > li {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  #tab-purpose .products_list > li {
    width: 100%;
  }
}
#tab-purpose .products_list a .products_list_item {
  position: relative;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#tab-purpose .products_list a .products_list_item::before, #tab-purpose .products_list a .products_list_item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  aspect-ratio: 1/1;
  width: 30px;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#tab-purpose .products_list a .products_list_item::before {
  border: 1px solid var(--c_blue1);
  transform: translateY(-50%) scale(0.7);
  opacity: 0;
}
#tab-purpose .products_list a .products_list_item::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 12px auto;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  #tab-purpose .products_list a .products_name {
    padding-right: 32px;
  }
}
#tab-purpose .products_list a:hover .products_list_item {
  background-color: var(--c_white);
}
#tab-purpose .products_list a:hover .products_list_item::before {
  transform: translateY(-50%) scale(1);
  opacity: 1;
}
#tab-purpose .products_list_item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  background: var(--c_gray6);
  border-radius: var(--bdrs1);
  column-gap: 16px;
  padding: 18px 16px;
}
@media screen and (max-width: 767px) {
  #tab-purpose .products_list_item {
    column-gap: 12px;
    padding: 6px;
  }
}
#tab-purpose .products_list_item .post_img {
  width: 84px;
  aspect-ratio: 1/1;
  background-color: transparent;
  border-radius: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #tab-purpose .products_list_item .post_img {
    width: 68px;
  }
}
#tab-purpose .products_list_item .post_img::before {
  display: none;
}
#tab-purpose .products_list_item .post_img img {
  object-fit: cover;
}
#tab-purpose .products_list_item .products_name {
  font-weight: 700;
  margin: 0;
}

/*== parts ====================================================================================================*/
/*-------------------------
  Fonts
-------------------------*/
.en, ._en {
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: calc(0em / 1000);
}

/*-------------------------
  Dummy
-------------------------*/
._dummy {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
  padding: 150px 15px;
}
@media screen and (max-width: 767px) {
  ._dummy {
    padding: 80px 15px;
  }
}

.dummy_con {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 300px 15px;
  background: #ccc;
}

.dami {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
}
.dami img {
  width: 100%;
  height: auto;
}

/*-------------------------
  Splide
-------------------------*/
.splide__arrows {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 34px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .splide__arrows {
    margin-top: 16px;
  }
}
.splide__arrows .splide__arrow--prev {
  order: 1;
}
.splide__arrows .splide__arrow--next {
  order: 3;
}
.splide__arrows .splide__pagination {
  order: 2;
  margin-top: 12.5px;
}

.splide__arrow {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  appearance: none;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100%;
  font-weight: inherit;
  position: relative;
  aspect-ratio: 1/1;
  width: 35px;
  background: var(--c_white);
  border-radius: 100%;
  border: 1px solid var(--c_black);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.splide__arrow svg {
  display: none;
}
.splide__arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M8.97,7.97l-6.951,7L.97,13.914l5.9-5.944L.97,2.026,2.018.97Z' transform='translate(-0.97 -0.97)' fill='%23222222'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: auto 12px;
  background-position: center center;
}
.splide__arrow:hover {
  transform: scale(1.1);
}
.splide__arrow--prev::before {
  transform: rotate(180deg);
}
.splide__pagination {
  position: static;
  justify-content: flex-start;
  padding: 0;
  gap: 8px 16px;
}
.splide__pagination li {
  vertical-align: top;
  font-size: 0;
  line-height: 1;
}
.splide__pagination__page {
  aspect-ratio: 1/1;
  width: 10px;
  background: var(--c_white);
  border: none;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) .splide__pagination__page:hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.splide__pagination__page.is-active {
  background-color: var(--c_blue1);
}

.splide:not(.is-overflow):not(#mv_slide) .splide__list {
  transform: none !important;
}
.splide:not(.is-overflow):not(#mv_slide) .splide__arrows {
  display: none;
}

.splide__toggle {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  appearance: none;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100%;
  font-weight: inherit;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.splide__toggle:hover {
  transform: scale(1.1);
}
.splide__toggle > * {
  position: relative;
  aspect-ratio: 1/1;
  width: 35px;
  border-radius: 100%;
  border: 1px solid var(--c_black);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.splide__toggle > *::before {
  content: "";
  display: block;
  width: 35px;
  padding-bottom: 100%;
  background-color: var(--c_white);
  background-position: center center;
  background-size: 12px auto;
  border-radius: 100%;
}
.splide__toggle__play::before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m22 12-20 11v-22l10 5.5z' fill='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.splide__toggle__pause::before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2 1v22h7v-22zm13 0v22h7v-22z' fill='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

/*-------------------------
  hd
-------------------------*/
.hd01 {
  line-height: var(--lh_hd) !important;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 32px;
}
.hd01:first-child {
  margin-top: 0;
}
.hd01:not(h3) + h3 {
  margin-top: 0;
}
.hd01:not(h4) + h4 {
  margin-top: 0;
}
.hd01:not(h5) + h5 {
  margin-top: 0;
}
.hd01:not(h6) + h6 {
  margin-top: 0;
}
.hd01:not(h4) + h4 {
  margin-top: 0;
}
.hd01:not(h5) + h5 {
  margin-top: 0;
}
.hd01:not(h6) + h6 {
  margin-top: 0;
}
.hd01:not(h5) + h5 {
  margin-top: 0;
}
.hd01:not(h6) + h6 {
  margin-top: 0;
}
.hd01:not(h6) + h6 {
  margin-top: 0;
}
.hd01 + p {
  margin-top: 0;
}
.hd01:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .hd01:has(> img) {
    --text_size: 20;
  }
}
.hd01:has(> img)::before {
  display: none;
}
.hd01:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .hd01:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  .hd01 {
    font-size: 1.25rem;
    margin-bottom: 16px;
  }
}
.hd01::first-letter {
  color: var(--c_blue1);
}

.hd02 {
  display: inline-block;
  border-bottom: 2px solid currentColor;
  color: var(--c_blue1);
  --text_size: 40;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 700;
  line-height: var(--lh_hd) !important;
  padding-bottom: 8px;
  margin-bottom: 48px;
}
.hd02:first-child {
  margin-top: 0;
}
.hd02:not(h3) + h3 {
  margin-top: 0;
}
.hd02:not(h4) + h4 {
  margin-top: 0;
}
.hd02:not(h5) + h5 {
  margin-top: 0;
}
.hd02:not(h6) + h6 {
  margin-top: 0;
}
.hd02:not(h4) + h4 {
  margin-top: 0;
}
.hd02:not(h5) + h5 {
  margin-top: 0;
}
.hd02:not(h6) + h6 {
  margin-top: 0;
}
.hd02:not(h5) + h5 {
  margin-top: 0;
}
.hd02:not(h6) + h6 {
  margin-top: 0;
}
.hd02:not(h6) + h6 {
  margin-top: 0;
}
.hd02 + p {
  margin-top: 0;
}
.hd02:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .hd02:has(> img) {
    --text_size: 20;
  }
}
.hd02:has(> img)::before {
  display: none;
}
.hd02:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .hd02:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  .hd02 {
    --text_size: 26;
    margin-bottom: 32px;
  }
}

h2:not([class]), .h2 {
  line-height: var(--lh_hd) !important;
  color: inherit;
  --text_size: 40;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 700;
  background: none;
  border-bottom: 1px solid var(--c_blue1);
  padding-bottom: 16px;
  margin-top: var(--spacer3);
  margin-bottom: 40px;
}
h2:not([class]):first-child, .h2:first-child {
  margin-top: 0;
}
h2:not([class]):not(h3) + h3, .h2:not(h3) + h3 {
  margin-top: 0;
}
h2:not([class]):not(h4) + h4, .h2:not(h4) + h4 {
  margin-top: 0;
}
h2:not([class]):not(h5) + h5, .h2:not(h5) + h5 {
  margin-top: 0;
}
h2:not([class]):not(h6) + h6, .h2:not(h6) + h6 {
  margin-top: 0;
}
h2:not([class]):not(h4) + h4, .h2:not(h4) + h4 {
  margin-top: 0;
}
h2:not([class]):not(h5) + h5, .h2:not(h5) + h5 {
  margin-top: 0;
}
h2:not([class]):not(h6) + h6, .h2:not(h6) + h6 {
  margin-top: 0;
}
h2:not([class]):not(h5) + h5, .h2:not(h5) + h5 {
  margin-top: 0;
}
h2:not([class]):not(h6) + h6, .h2:not(h6) + h6 {
  margin-top: 0;
}
h2:not([class]):not(h6) + h6, .h2:not(h6) + h6 {
  margin-top: 0;
}
h2:not([class]) + p, .h2 + p {
  margin-top: 0;
}
h2:not([class]):has(> img), .h2:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h2:not([class]):has(> img), .h2:has(> img) {
    --text_size: 20;
  }
}
h2:not([class]):has(> img)::before, .h2:has(> img)::before {
  display: none;
}
h2:not([class]):has(> img) img, .h2:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h2:not([class]):has(> img) img, .h2:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h2:not([class]), .h2 {
    --text_size: 28;
    padding-bottom: 12px;
  }
}
h2:not([class])::first-letter, .h2::first-letter {
  color: var(--c_blue1);
}
h2:not([class]).has-text-color, .h2.has-text-color {
  color: inherit !important;
}
h2:not([class]).has-background, .h2.has-background {
  background: none !important;
  padding: 0 0 16px 0 !important;
}
@media screen and (max-width: 767px) {
  h2:not([class]).has-background, .h2.has-background {
    padding-bottom: 12px !important;
  }
}
h2:not([class]) + h3:not([class]),
h2:not([class]) + .h3,
h2:not([class]) + h4:not([class]),
h2:not([class]) + .h4, .h2 + h3:not([class]),
.h2 + .h3,
.h2 + h4:not([class]),
.h2 + .h4 {
  margin-top: 48px;
}

h3:not([class]), .h3 {
  line-height: var(--lh_hd) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:%23285bc8;%7D.b%7Bfill:%23fff;opacity:0.8;%7D%3C/style%3E%3C/defs%3E%3Cg transform='translate(-120 -40)'%3E%3Cpath class='a' d='M3.515,20.485a12,12,0,0,1,16.97-16.97,12,12,0,1,1-16.97,16.97ZM2,12A10,10,0,1,0,12,2,10.011,10.011,0,0,0,2,12Zm3,0a7,7,0,1,1,7,7A7,7,0,0,1,5,12Z' transform='translate(120 40)'/%3E%3Ccircle class='b' cx='2' cy='2' r='2' transform='translate(132 52) rotate(180)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: left calc((1.5em - 24px) / 2);
  font-weight: 700;
  --text_size: 28;
  font-size: calc(var(--text_size) / 16 * 1rem);
  padding-left: 40px;
  margin-top: var(--spacer3);
  margin-bottom: 24px;
}
h3:not([class]):first-child, .h3:first-child {
  margin-top: 0;
}
h3:not([class]):not(h3) + h3, .h3:not(h3) + h3 {
  margin-top: 0;
}
h3:not([class]):not(h4) + h4, .h3:not(h4) + h4 {
  margin-top: 0;
}
h3:not([class]):not(h5) + h5, .h3:not(h5) + h5 {
  margin-top: 0;
}
h3:not([class]):not(h6) + h6, .h3:not(h6) + h6 {
  margin-top: 0;
}
h3:not([class]):not(h4) + h4, .h3:not(h4) + h4 {
  margin-top: 0;
}
h3:not([class]):not(h5) + h5, .h3:not(h5) + h5 {
  margin-top: 0;
}
h3:not([class]):not(h6) + h6, .h3:not(h6) + h6 {
  margin-top: 0;
}
h3:not([class]):not(h5) + h5, .h3:not(h5) + h5 {
  margin-top: 0;
}
h3:not([class]):not(h6) + h6, .h3:not(h6) + h6 {
  margin-top: 0;
}
h3:not([class]):not(h6) + h6, .h3:not(h6) + h6 {
  margin-top: 0;
}
h3:not([class]) + p, .h3 + p {
  margin-top: 0;
}
h3:not([class]):has(> img), .h3:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h3:not([class]):has(> img), .h3:has(> img) {
    --text_size: 20;
  }
}
h3:not([class]):has(> img)::before, .h3:has(> img)::before {
  display: none;
}
h3:not([class]):has(> img) img, .h3:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h3:not([class]):has(> img) img, .h3:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h3:not([class]), .h3 {
    background-position: left 4px;
    background-size: 20px auto;
    --text_size: 20;
    padding-left: 28px;
    margin-bottom: 24px;
  }
}
h3:not([class]).has-text-color, .h3.has-text-color {
  color: inherit !important;
}
h3:not([class]).has-background, .h3.has-background {
  background-color: transparent !important;
  padding: 0 0 0 40px !important;
}
@media screen and (max-width: 767px) {
  h3:not([class]).has-background, .h3.has-background {
    padding-left: 28px !important;
  }
}

h4:not([class]), .h4 {
  line-height: var(--lh_hd) !important;
  position: relative;
  background: var(--c_gray1) !important;
  border-radius: var(--bdrs1);
  color: var(--c_white) !important;
  --text_size: 20;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 500;
  padding: 13.5px 48px !important;
  margin-top: var(--spacer3);
  margin-bottom: 40px;
}
h4:not([class]):first-child, .h4:first-child {
  margin-top: 0;
}
h4:not([class]):not(h3) + h3, .h4:not(h3) + h3 {
  margin-top: 0;
}
h4:not([class]):not(h4) + h4, .h4:not(h4) + h4 {
  margin-top: 0;
}
h4:not([class]):not(h5) + h5, .h4:not(h5) + h5 {
  margin-top: 0;
}
h4:not([class]):not(h6) + h6, .h4:not(h6) + h6 {
  margin-top: 0;
}
h4:not([class]):not(h4) + h4, .h4:not(h4) + h4 {
  margin-top: 0;
}
h4:not([class]):not(h5) + h5, .h4:not(h5) + h5 {
  margin-top: 0;
}
h4:not([class]):not(h6) + h6, .h4:not(h6) + h6 {
  margin-top: 0;
}
h4:not([class]):not(h5) + h5, .h4:not(h5) + h5 {
  margin-top: 0;
}
h4:not([class]):not(h6) + h6, .h4:not(h6) + h6 {
  margin-top: 0;
}
h4:not([class]):not(h6) + h6, .h4:not(h6) + h6 {
  margin-top: 0;
}
h4:not([class]) + p, .h4 + p {
  margin-top: 0;
}
h4:not([class]):has(> img), .h4:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h4:not([class]):has(> img), .h4:has(> img) {
    --text_size: 20;
  }
}
h4:not([class]):has(> img)::before, .h4:has(> img)::before {
  display: none;
}
h4:not([class]):has(> img) img, .h4:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h4:not([class]):has(> img) img, .h4:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h4:not([class]), .h4 {
    --text_size: 18;
    padding: 16.5px 17px !important;
    margin-bottom: 32px;
  }
}
h4:not([class])::before, .h4::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 16px;
  aspect-ratio: 1;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: var(--c_blue1);
}
@media screen and (max-width: 767px) {
  h4:not([class])::before, .h4::before {
    top: 5px;
    left: 5px;
    width: 12px;
  }
}
h5:not([class]), .h5 {
  line-height: var(--lh_hd) !important;
  --text_size: 22;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 24px;
}
h5:not([class]):first-child, .h5:first-child {
  margin-top: 0;
}
h5:not([class]):not(h3) + h3, .h5:not(h3) + h3 {
  margin-top: 0;
}
h5:not([class]):not(h4) + h4, .h5:not(h4) + h4 {
  margin-top: 0;
}
h5:not([class]):not(h5) + h5, .h5:not(h5) + h5 {
  margin-top: 0;
}
h5:not([class]):not(h6) + h6, .h5:not(h6) + h6 {
  margin-top: 0;
}
h5:not([class]):not(h4) + h4, .h5:not(h4) + h4 {
  margin-top: 0;
}
h5:not([class]):not(h5) + h5, .h5:not(h5) + h5 {
  margin-top: 0;
}
h5:not([class]):not(h6) + h6, .h5:not(h6) + h6 {
  margin-top: 0;
}
h5:not([class]):not(h5) + h5, .h5:not(h5) + h5 {
  margin-top: 0;
}
h5:not([class]):not(h6) + h6, .h5:not(h6) + h6 {
  margin-top: 0;
}
h5:not([class]):not(h6) + h6, .h5:not(h6) + h6 {
  margin-top: 0;
}
h5:not([class]) + p, .h5 + p {
  margin-top: 0;
}
h5:not([class]):has(> img), .h5:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h5:not([class]):has(> img), .h5:has(> img) {
    --text_size: 20;
  }
}
h5:not([class]):has(> img)::before, .h5:has(> img)::before {
  display: none;
}
h5:not([class]):has(> img) img, .h5:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h5:not([class]):has(> img) img, .h5:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h5:not([class]), .h5 {
    --text_size: 20;
    margin-bottom: 16px;
  }
}

h6:not([class]), .h6 {
  line-height: var(--lh_hd) !important;
  --text_size: 20;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 500;
  margin-top: 40px;
  margin-bottom: 8px;
}
h6:not([class]):first-child, .h6:first-child {
  margin-top: 0;
}
h6:not([class]):not(h3) + h3, .h6:not(h3) + h3 {
  margin-top: 0;
}
h6:not([class]):not(h4) + h4, .h6:not(h4) + h4 {
  margin-top: 0;
}
h6:not([class]):not(h5) + h5, .h6:not(h5) + h5 {
  margin-top: 0;
}
h6:not([class]):not(h6) + h6, .h6:not(h6) + h6 {
  margin-top: 0;
}
h6:not([class]):not(h4) + h4, .h6:not(h4) + h4 {
  margin-top: 0;
}
h6:not([class]):not(h5) + h5, .h6:not(h5) + h5 {
  margin-top: 0;
}
h6:not([class]):not(h6) + h6, .h6:not(h6) + h6 {
  margin-top: 0;
}
h6:not([class]):not(h5) + h5, .h6:not(h5) + h5 {
  margin-top: 0;
}
h6:not([class]):not(h6) + h6, .h6:not(h6) + h6 {
  margin-top: 0;
}
h6:not([class]):not(h6) + h6, .h6:not(h6) + h6 {
  margin-top: 0;
}
h6:not([class]) + p, .h6 + p {
  margin-top: 0;
}
h6:not([class]):has(> img), .h6:has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h6:not([class]):has(> img), .h6:has(> img) {
    --text_size: 20;
  }
}
h6:not([class]):has(> img)::before, .h6:has(> img)::before {
  display: none;
}
h6:not([class]):has(> img) img, .h6:has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h6:not([class]):has(> img) img, .h6:has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h6:not([class]), .h6 {
    --text_size: 18;
  }
}

/* 説明付き見出し */
.hd_desc {
  position: relative;
  background: var(--c_gray1) !important;
  border-radius: var(--bdrs1);
  color: var(--c_white) !important;
  padding: 24px 32px 24px 48px !important;
  margin-top: var(--spacer3);
  margin-bottom: 48px;
}
@media screen and (min-width: 768px) {
  .hd_desc {
    display: grid;
    gap: 16px 40px;
  }
}
@media screen and (max-width: 767px) {
  .hd_desc {
    display: grid;
    row-gap: 16px;
    padding: 16px 20px !important;
    margin-top: 48px;
    margin-bottom: 32px;
  }
}
.hd_desc::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 16px;
  aspect-ratio: 1;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: var(--c_blue1);
}
@media screen and (max-width: 767px) {
  .hd_desc::before {
    top: 5px;
    left: 5px;
    width: 12px;
  }
}
.hd_desc:not(:has(.img)) {
  padding: 24px 48px !important;
}
@media screen and (max-width: 767px) {
  .hd_desc:not(:has(.img)) {
    padding: 16px 20px !important;
  }
}
@media screen and (min-width: 768px) {
  .hd_desc:not(:has(.hd)) .img {
    grid-area: 1/2/2/3;
  }
}
@media screen and (min-width: 768px) {
  .hd_desc:not(:has(.hd)) .text {
    grid-area: 1/1/2/2;
  }
}
.hd_desc:not(:has(> :not(.hd))) {
  padding: 13.5px 48px !important;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .hd_desc:not(:has(> :not(.hd))) {
    padding: 16.5px 17px !important;
    margin-bottom: 32px;
  }
}
.hd_desc:not(:has(> :not(.img))) .img::after {
  content: "（画像のみ）";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: inline-block;
  background: var(--c_red);
  transform: translate(-50%, -50%);
}
.hd_desc .hd {
  --text_size: 20;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 500;
  line-height: var(--lh_hd);
}
@media screen and (min-width: 768px) {
  .hd_desc .hd {
    grid-area: 1/1/2/2;
  }
}
@media screen and (max-width: 767px) {
  .hd_desc .hd {
    --text_size: 18;
  }
}
.hd_desc .img {
  overflow: hidden;
  position: relative;
  z-index: 0;
  display: block;
  width: 200px;
  aspect-ratio: 4/3;
  background: #F3F3F3;
  border-radius: var(--bdrs2);
}
@media screen and (min-width: 768px) {
  .hd_desc .img {
    grid-area: 1/2/3/3;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .hd_desc .img {
    max-width: 180px;
    width: 100%;
    margin: 0 auto;
  }
}
.hd_desc .img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--c_gray5);
  border-radius: var(--bdrs2);
}
.hd_desc .img img {
  position: relative;
  z-index: -1;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.hd_desc .text {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .hd_desc .text {
    grid-area: 2/1/3/2;
  }
}
.hd_desc .text > *:not(:first-child) {
  margin-top: 1em;
}

/*-------------------------
  text
-------------------------*/
.text01 {
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .text01 {
    font-size: 1rem;
  }
}

.text02 {
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .text02 {
    font-size: 1.125rem;
  }
}

.text-notes {
  font-size: 1rem;
  line-height: 1.8;
}
.text-notes em {
  font-style: italic;
}
.text-notes strong, .text-notes b {
  font-weight: 700;
}
.text-notes a:not(.btn_inner) {
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) .text-notes a:not(.btn_inner):hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.text-notes a:not([class]) {
  text-decoration: underline;
}
.text-notes a:not(.wp-block-button__link):not(.btn_inner) {
  color: var(--c_link);
}
.text-notes a:not([class]):not([href^="mailto:"])[target=_blank] {
  position: relative;
  margin-right: 5px;
  /*
  &:after {
  	content: '';
  	display: inline-block;
  	width: 12px;
  	height: 13px;
  	background: url(../img/ico_blank.svg) no-repeat left top;
  	background-size: 12px auto;
  	margin-left: 3px;
  }
  */
}
.text-notes p {
  line-height: inherit;
}
@media screen and (min-width: 768px) {
  .text-notes.pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .text-notes.sp_center {
    text-align: center;
  }
}
.text-notes.center {
  text-align: center;
}
.text-notes:not(p) > *:first-child {
  margin-top: 0;
}
.text-notes .marker {
  font-size: 160%;
  margin: 0 0.5em;
  background: linear-gradient(transparent 78%, #FFC6B5 78%);
}
@media screen and (max-width: 767px) {
  .text-notes .marker {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .text-notes {
    font-size: 0.875rem;
  }
}
.text-notes:not(p):not(ul):not(ol) > * + * {
  margin-top: 1.8em;
}

/*-------------------------
  ボタン
-------------------------*/
.btn {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  appearance: none;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100%;
  font-weight: inherit;
}
.btn .btn_inner {
  overflow: hidden;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 48px;
  border-radius: var(--bdrs1);
  border: none;
  color: currentColor;
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  letter-spacing: calc(0em / 1000);
  font-size: 0.9375rem;
  line-height: var(--lh_other);
  text-align: center;
  text-transform: uppercase;
  padding: 0.25em 40px 0.25em 25px;
}
@media screen and (max-width: 767px) {
  .btn .btn_inner {
    font-size: min(calc(15 / var(--vp) * var(--vw)), 15px);
    line-height: var(--lh_hd);
  }
}
.btn .btn_inner span {
  min-width: 140px;
  text-align: center;
}
.btn a, .btn button {
  text-decoration: none;
}
.btn a > span, .btn button > span {
  color: currentColor;
}
.btn .btn_inner:disabled {
  pointer-events: none;
  cursor: not-allowed;
  background-color: #ccc !important;
  color: #999 !important;
}
.btn .btn_inner:disabled::before {
  display: none;
}
.btn._arrow .btn_inner:disabled::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23888'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.btn .btn_inner {
  background-color: var(--c_blue1);
  color: var(--c_white);
}
.btn._round .btn_inner {
  border-radius: 100px;
}
.btn._tel span::before {
  content: url("data:image/svg+xml;utf-8,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2013%2020'><path%20d='M12.874,17.95,11.158,14.6A1.354,1.354,0,0,0,9.351,14l-.545.269C6.918,15.194,3.075,7.6,4.921,6.6l.516-.257a1.383,1.383,0,0,0,.61-1.861l-1.7-3.361A1.353,1.353,0,0,0,2.531.516L1.957.8C-4.114,4,5.525,22.949,11.735,20.079c.035-.016.255-.124.528-.26A1.384,1.384,0,0,0,12.874,17.95Z'%20transform='translate(-0.027%20-0.374)'%20fill='%23fff'%20fill-rule='evenodd'/></svg>");
}
.btn._mail span {
  position: relative;
  padding-left: 42px;
  padding-right: 42px;
}
.btn._mail span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 22px;
  aspect-ratio: 22/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 15'%3E%3Cpath d='M21.134,15H.873A.879.879,0,0,1,0,14.114v-10a.868.868,0,0,1,1.4-.7l9.069,7.155a.854.854,0,0,0,1.062,0L20.6,3.413a.868.868,0,0,1,1.4.7v10A.879.879,0,0,1,21.134,15ZM11.619,8.161a1.132,1.132,0,0,1-1.232,0L.557,1.6C-.216,1.083.2,0,1.173,0H20.832c.972,0,1.389,1.08.616,1.6Z' transform='translate(-0.003 -0.003)' fill='%23FFFFFF' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left center;
  transform: translateY(-50%);
}
.btn._catalog span {
  position: relative;
  padding-left: 42px;
  padding-right: 42px;
}
.btn._catalog span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 22px;
  aspect-ratio: 18/24;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 24'%3E%3Cpath d='M17,0a1,1,0,0,1,1,1V23a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V1A1,1,0,0,1,1,0ZM4,17.912v1H14v-1Zm0-3v1H14v-1ZM4,4v7H14V4Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left center;
  transform: translateY(-50%);
}
.btn._arrow > a, .btn._arrow > button {
  position: relative;
}
.btn._arrow > a::before, .btn._arrow > button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  aspect-ratio: 1/1;
  width: 30px;
  border: 1px solid currentColor;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
  transform: translate(0, -50%) scale(0.7);
  opacity: 0;
}
@keyframes scale-bounce {
  0% {
    transform: translate(0, -50%) scale(0);
  }
  /*
  30% {
  	transform: translate(0 , -50%) scale(1.2); // 最終目標の6pxを超えて、少し行き過ぎる
  }
  60% {
  	transform: translate(0 , -50%) scale(.8); // 戻ってから、再度進む
  }
  */
  100% {
    transform: translate(0, -50%) scale(1);
  }
}
.btn._arrow > a::after, .btn._arrow > button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  aspect-ratio: 12/11;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  transform: translate(0, -50%);
  /*
  transition: transform 0.4s ease-out !important;
  */
}
@keyframes arrow-dynamic-bounce {
  0% {
    transform: translate(0, -50%);
  }
  30% {
    transform: translate(9px, -50%);
  }
  60% {
    transform: translate(4px, -50%);
  }
  100% {
    transform: translate(6px, -50%);
  }
}
.btn._arrow > a:hover::before, .btn._arrow > button:hover::before {
  transform: translate(0, -50%) scale(1);
  opacity: 1;
}
.btn._arrow > a:hover::after, .btn._arrow > button:hover::after {
  /*
  animation: arrow-dynamic-bounce 0.5s forwards !important;
  */
}
.btn._search span {
  position: relative;
  padding-left: 30px;
}
.btn._search span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  aspect-ratio: 16/15;
  aspect-ratio: 16/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 15'%3E%3Cpath d='M14.372,14.717,11.04,11.335a6.435,6.435,0,0,1-4.533,1.871A6.563,6.563,0,0,1,0,6.6,6.563,6.563,0,0,1,6.507,0a6.563,6.563,0,0,1,6.506,6.6,6.639,6.639,0,0,1-.805,3.18l3.513,3.564a.979.979,0,0,1,0,1.369.944.944,0,0,1-1.348,0ZM1.907,6.6a4.639,4.639,0,0,0,4.6,4.668,4.669,4.669,0,0,0,0-9.336A4.639,4.639,0,0,0,1.907,6.6Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left top;
  background-size: auto 100%;
  transform: translate(0, -50%) scale(1);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.btn._search a:hover > span::before, .btn._search button:hover > span::before {
  transform: translate(0, -50%) scale(1.2);
}
.btn._red .btn_inner {
  background-color: var(--c_red1);
  color: var(--c_white);
}
.btn._blue .btn_inner {
  background-color: var(--c_blue1);
  color: var(--c_white);
}
.btn._black .btn_inner {
  background-color: var(--c_gray1);
}
.btn._black._arrow span::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23888888'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.btn._white .btn_inner {
  background-color: var(--c_white);
  border: 1px solid var(--c_gray5);
  color: var(--c_gray1);
}
.btn._white._mail span::before {
  aspect-ratio: 22/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 15'%3E%3Cpath d='M21.134,15H.873A.879.879,0,0,1,0,14.114v-10a.868.868,0,0,1,1.4-.7l9.069,7.155a.854.854,0,0,0,1.062,0L20.6,3.413a.868.868,0,0,1,1.4.7v10A.879.879,0,0,1,21.134,15ZM11.619,8.161a1.132,1.132,0,0,1-1.232,0L.557,1.6C-.216,1.083.2,0,1.173,0H20.832c.972,0,1.389,1.08.616,1.6Z' transform='translate(-0.003 -0.003)' fill='%23285BC8' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.btn._white._catalog span::before {
  aspect-ratio: 18/24;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 24'%3E%3Cpath d='M17,0a1,1,0,0,1,1,1V23a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V1A1,1,0,0,1,1,0ZM4,17.912v1H14v-1Zm0-3v1H14v-1ZM4,4v7H14V4Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.btn._white._arrow > a::before, .btn._white._arrow > button::before {
  border-color: var(--c_blue1);
}
.btn._white._arrow > a::after, .btn._white._arrow > button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.btn._gray .btn_inner {
  color: var(--c_gray3);
  background-color: var(--c_gray2);
}
.btn._nobd .btn_inner {
  border: none;
}

/*-------------------------
  パンくず
-------------------------*/
#breadcrumbs {
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--c_gray1);
  color: #A7A7A7;
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  #breadcrumbs {
    padding: 7px 0;
  }
}
#breadcrumbs .breadcrumbs_list {
  display: flex;
  justify-content: flex-start;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #breadcrumbs .breadcrumbs_list {
    font-size: min(calc(12 / var(--vp) * var(--vw)), 12px);
  }
}
#breadcrumbs .breadcrumbs_list::before, #breadcrumbs .breadcrumbs_list::after {
  content: "";
  display: block;
  padding-right: 64px;
}
@media screen and (max-width: 767px) {
  #breadcrumbs .breadcrumbs_list::before, #breadcrumbs .breadcrumbs_list::after {
    padding-right: 12px;
  }
}
#breadcrumbs .breadcrumbs_list li {
  cursor: default;
}
#breadcrumbs .breadcrumbs_list li:not(:first-child)::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M8.97,7.97l-6.951,7L.97,13.914l5.9-5.944L.97,2.026,2.018.97Z' transform='translate(-0.97 -0.97)' fill='%23A7A7A7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 6px auto;
  padding: 0 15px;
}
#breadcrumbs .breadcrumbs_list a {
  display: inline-block;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#breadcrumbs .breadcrumbs_list a:hover {
  filter: brightness(2);
}

/*-------------------------
  ２カラム
-------------------------*/
.column2_wrap {
  overflow: clip;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .column2_wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    column-gap: 64px;
    padding: 64px var(--spacer2) 0;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap {
    padding-top: 15px;
  }
}
@media screen and (max-width: 1728px) {
  .column2_wrap:not(.innerWrap:has(.column2_side)) {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap:not(.innerWrap:has(.column2_side)) {
    padding-top: 24px;
    padding-top: 9px;
  }
}
@media screen and (min-width: 768px) {
  .column2_wrap .innerWrap {
    position: static;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    column-gap: var(--spacer2);
    max-width: 1600px;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap .innerWrap:has(.column2_side) {
    padding-top: 89px;
  }
}
@media screen and (min-width: 768px) {
  .column2_side {
    flex: 1 0 auto;
    max-width: 285px;
    width: 100%;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .column2_side {
    z-index: 1;
    width: 100%;
    padding: 15px 10px 20px;
    position: absolute;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .column2_side._fixed {
    position: fixed;
    top: var(--headerH);
    z-index: 10;
  }
}
@media screen and (min-width: 768px) {
  .column2_side_sticky {
    position: sticky;
    z-index: 1;
    top: 127px;
  }
}
.column2_main {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .column2_main {
    padding: 112px 0 160px;
  }
}
@media screen and (max-width: 1728px) {
  .column2_main {
    overflow: hidden;
    padding-left: var(--spacer2);
    padding-right: var(--spacer2);
  }
}
@media screen and (max-width: 767px) {
  .column2_main {
    overflow: inherit;
    padding: 64px var(--spacer2) 80px;
  }
}
.column2_main:only-of-type {
  max-width: inherit;
}
.column2_main::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -100vw;
  right: 0;
  height: 100%;
  background: var(--c_gray4);
  border-radius: 0 280px 0 0;
  border-radius: 0 min(23.3333333333 * var(--vw), 280px) 0 0;
}
@media screen and (max-width: 767px) {
  .column2_main::before {
    left: 0;
    border-radius: 0 124px 0 0;
  }
}
.column2_main_inner {
  /*overflow: hidden;*/
  container-type: inline-size;
  max-width: 1187px;
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: var(--spacer3);
}
@media screen and (max-width: 767px) {
  .column2_main_inner {
    overflow: inherit;
  }
}
.column2_main_inner > form {
  display: flex;
  flex-direction: column;
  row-gap: var(--spacer3);
}

/* サイドコンテンツ */
.column2_side .side_title {
  color: var(--c_blue2);
  font-size: 1.5rem;
  font-weight: 700;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 23px;
}
@media screen and (max-width: 767px) {
  .column2_side .side_title {
    font-size: 1.25rem;
    margin-bottom: 10px;
  }
}
.wp_editor .column2_side ul > * {
  margin: 0;
}
.column2_side .btn_wrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 16px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .column2_side .btn_wrap {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .column2_side .btn_wrap .btn {
    max-width: calc(310 / var(--vp) * var(--vw));
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.column2_side .btn_wrap .btn .btn_inner {
  width: 100%;
  min-height: 66px;
  font-size: 0.9375rem;
  font-weight: 500;
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .column2_side .btn_wrap .btn .btn_inner {
    min-height: 54px;
    font-size: 1.0625rem;
  }
}
.column2_side .btn_wrap .btn._mail span {
  position: static;
  padding-left: 0;
  padding-right: 0;
}
.column2_side .btn_wrap .btn._mail span::before {
  left: 17px;
}
@media screen and (max-width: 767px) {
  .column2_side .btn_wrap .btn._mail span::before {
    left: 20px;
  }
}
.column2_side .btn_wrap .btn._catalog span {
  position: static;
  padding-left: 0;
  padding-right: 0;
}
.column2_side .btn_wrap .btn._catalog span::before {
  left: 17px;
}
@media screen and (max-width: 767px) {
  .column2_side .btn_wrap .btn._catalog span::before {
    left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .column2_side * + .btn_wrap {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .column2_side .sp_ac_btn {
    position: relative;
    background: var(--c_white);
    border: 1px solid var(--c_blue1);
    font-size: 1rem;
    font-weight: 500;
    line-height: var(--lh_hd);
    text-align: center;
    padding: 14px 16px;
  }
}
.column2_side .sp_ac_btn::before, .column2_side .sp_ac_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 2px;
  background: var(--c_blue1);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
@media screen and (min-width: 768px) {
  .column2_side .sp_ac_btn::before, .column2_side .sp_ac_btn::after {
    display: none;
  }
}
.column2_side .sp_ac_btn::before {
  right: 29px;
  transform: translateY(-50%) rotate(45deg);
}
.column2_side .sp_ac_btn::after {
  right: 25px;
  transform: translateY(-50%) rotate(-45deg);
}
.column2_side .sp_ac_btn.open::before {
  transform: translateY(-50%) rotate(-45deg);
}
.column2_side .sp_ac_btn.open::after {
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .column2_side .sp_ac_box {
    background: var(--c_gray1);
    padding: 24px;
  }
}
@media screen and (min-width: 768px) {
  .column2_side .sp_ac_box {
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  .side-hd1 {
    border: 1px solid currentColor;
    border-radius: var(--bdrs1);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: var(--lh_hd);
    padding: 15.5px 16px;
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 768px) {
  .side-hd2 {
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: 32px;
  }
  .side-hd2::first-letter {
    color: var(--c_blue1);
  }
}

.side-tab_list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .side-tab_list {
    background: var(--c_white);
    border-radius: var(--bdrs1);
    row-gap: 0;
    font-size: 1rem;
    line-height: var(--lh_hd);
  }
}
@media screen and (max-width: 767px) {
  .side-tab_list li:not(:last-child) {
    border-bottom: 1px solid var(--c_gray5);
  }
}
.side-tab_list a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-height: 64px;
  background: var(--c_white);
  border-radius: var(--bdrs1);
  font-size: 1rem;
  font-weight: 500;
  padding: 8px 23px;
}
@media screen and (max-width: 767px) {
  .side-tab_list a {
    min-height: 56px;
  }
}
.side-tab_list a::before, .side-tab_list a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  aspect-ratio: 1/1;
  width: 32px;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.side-tab_list a::before {
  border: 1px solid var(--c_blue1);
  transform: scale(0) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .side-tab_list a::before {
    display: none;
  }
}
.side-tab_list a:hover::before {
  transform: scale(1) translateY(-50%);
}
.side-tab_list a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 13px auto;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .side-tab_list a::after {
    background-size: 12px;
    transform: translateY(-50%) rotate(90deg);
  }
}
@media screen and (min-width: 768px) {
  .side-tab_list a._active {
    color: var(--c_white);
    background-color: var(--c_blue1);
  }
}

.side-anchor_list {
  font-size: 1rem;
  font-weight: 500;
  line-height: var(--lh_hd);
}
@media screen and (max-width: 767px) {
  .side-anchor_list {
    background: var(--c_white);
    border-radius: var(--bdrs1);
  }
}
.side-anchor_list li {
  border-bottom: 1px solid var(--c_gray5);
}
.side-anchor_list a {
  position: relative;
  display: block;
  padding: 13px 36px 13px 0;
}
@media screen and (max-width: 767px) {
  .side-anchor_list a {
    padding: 16px 36px 16px 23px;
  }
}
.side-anchor_list a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 12px auto;
  transform: translateY(-50%) rotate(90deg);
  margin-top: 0;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.side-anchor_list a:hover::after {
  margin-top: 4px;
}

/* メインコンテンツ */
/* タブ切り替え */
@media screen and (max-width: 767px) {
  .tab_contents {
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  .tab_contents:not(:first-of-type) {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .tab_contents + .tab_contents {
    margin-top: calc(var(--spacer3) * 2);
    margin-top: 40px;
  }
}

/* 英語の装飾 */
.column2_wrap[data-en] {
  --data: attr(data-en);
}
.column2_wrap[data-en]::after {
  content: var(--data);
  position: absolute;
  z-index: -1;
  color: #f00;
  color: var(--c_white);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  letter-spacing: calc(0em / 1000);
  font-size: 11.25rem;
  line-height: 1;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .column2_wrap[data-en]::after {
    top: 64px;
    right: -0.155555em;
    font-size: min(calc(180 / var(--vp) * var(--vw)), 180px);
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap[data-en]::after {
    top: 16px;
    left: -0.115em;
    font-size: min(calc(120 / var(--vp) * var(--vw)), 120px);
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap[data-en]::after {
    display: none;
  }
}
.column2_wrap[data-en] .column2_main::after {
  content: var(--data);
  position: absolute;
  z-index: -1;
  color: #f00;
  color: var(--c_white);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  letter-spacing: calc(0em / 1000);
  font-size: 11.25rem;
  line-height: 1;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .column2_wrap[data-en] .column2_main::after {
    top: 64px;
    right: -0.155555em;
    font-size: min(calc(180 / var(--vp) * var(--vw)), 180px);
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap[data-en] .column2_main::after {
    top: 16px;
    left: -0.115em;
    font-size: min(calc(120 / var(--vp) * var(--vw)), 120px);
  }
}
@media screen and (min-width: 768px) {
  .column2_wrap[data-en] .column2_main::after {
    display: none;
  }
}
@media screen and (max-width: 1556px) {
  .column2_wrap[data-en]:not(:has(.column2_side)) {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .column2_wrap[data-en]:not(:has(.column2_side)) {
    padding-right: 0;
    padding-top: 24px;
  }
}
.column2_wrap[data-en]:not(:has(.column2_side))::after {
  top: min(154 / var(--vp) * var(--vw), 154px);
  right: auto;
  left: -0.115em;
}
.column2_wrap[data-en]:not(:has(.column2_side)) .column2_main {
  padding-right: 0;
}
@media screen and (max-width: 1556px) {
  .column2_wrap[data-en]:not(:has(.column2_side)) .column2_main {
    padding-left: var(--spacer2);
    padding-right: var(--spacer2);
  }
}
.column2_wrap[data-en]:not(:has(.column2_side)) .column2_main_inner {
  max-width: 1300px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/*-------------------------
  下層ページタイトル（製品詳細以外）
-------------------------*/
.under_head {
  overflow: clip;
  background: var(--c_gray1);
  color: var(--c_white);
  padding: 58px var(--spacer2) 56px;
}
@media screen and (max-width: 767px) {
  .under_head {
    padding: 29px var(--spacer2) 48px;
  }
}
.under_head:not(:has(.img)) .innerWrap {
  max-width: 1280px;
  padding: 62px 0;
}
@media screen and (max-width: 767px) {
  .under_head:not(:has(.img)) .innerWrap {
    padding: 0;
  }
}
.under_head:not(:has(.img)) .pagetitle {
  padding: 0;
}
.under_head .innerWrap {
  max-width: 1292px;
}
@media screen and (min-width: 768px) {
  .under_head .innerWrap {
    display: grid;
    grid-template-columns: 300px 1fr;
    column-gap: 80px;
  }
}
.under_head .innerWrap::before {
  content: "";
  position: absolute;
  top: calc(16px + 1.75em);
  right: 100%;
  left: -100vw;
  height: 1px;
  background: var(--c_blue1);
}
@media screen and (max-width: 767px) {
  .under_head .innerWrap::before {
    display: none;
  }
}
.under_head .img {
  overflow: hidden;
  display: block;
  aspect-ratio: 1/1;
  background: #F3F3F3;
  border-radius: var(--bdrs2);
}
@media screen and (max-width: 767px) {
  .under_head .img {
    max-width: 200px;
    max-width: calc(200 / var(--vp) * var(--vw));
    margin-left: auto;
    margin-right: auto;
  }
}
.under_head .img img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.under_head .pagetitle {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: var(--lh_hd);
  padding-top: 16px;
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle {
    display: block;
  }
}
.under_head .pagetitle::before {
  content: "";
  position: absolute;
  top: calc(16px + 1.75em);
  right: 100%;
  left: -100vw;
  height: 1px;
  background: var(--c_blue1);
  transform: translateX(-6px);
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle > span {
    display: block;
  }
}
.under_head .pagetitle .jp, .under_head .pagetitle ._jp, .under_head .pagetitle .en:only-of-type, .under_head .pagetitle ._en:only-of-type {
  color: currentColor;
  font-size: 2.5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle .jp, .under_head .pagetitle ._jp, .under_head .pagetitle .en:only-of-type, .under_head .pagetitle ._en:only-of-type {
    font-size: min(calc(28 / var(--vp) * var(--vw)), 28px);
  }
}
.under_head .pagetitle .en, .under_head .pagetitle ._en {
  color: var(--c_blue1);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  letter-spacing: calc(30em / 1000);
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle .en, .under_head .pagetitle ._en {
    font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
    line-height: 1.8;
  }
}
.under_head .pagetitle:has(.en) .jp, .under_head .pagetitle:has(.en) ._jp, .under_head .pagetitle:has(._en) .jp, .under_head .pagetitle:has(._en) ._jp {
  margin-right: 28px;
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle:has(.en) .jp, .under_head .pagetitle:has(.en) ._jp, .under_head .pagetitle:has(._en) .jp, .under_head .pagetitle:has(._en) ._jp {
    margin-right: 0;
  }
}
.under_head .pagetitle + p:not([class]) {
  font-size: 1.125rem;
  font-weight: 500;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .under_head .pagetitle + p:not([class]) {
    margin-top: 24px;
  }
}

@media screen and (min-width: 768px) {
  #breadcrumbs + .under_head:not(:has(.img)) {
    padding-top: 0;
  }
}

.under_head:not(:has(.img)) .innerWrap {
  display: block;
}
.under_head:not(:has(.img)) .innerWrap::before {
  display: none;
}
.under_head:not(:has(.img)) .pagetitle::before {
  top: 1.5em;
}

.post .under_head:not(:has(.img)),
.taxonomy .under_head:not(:has(.img)) {
  padding-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .post .under_head:not(:has(.img)),
.taxonomy .under_head:not(:has(.img)) {
    padding-top: 0;
    padding-bottom: 35px;
  }
}
.post .under_head:not(:has(.img)) .innerWrap,
.taxonomy .under_head:not(:has(.img)) .innerWrap {
  padding-top: 10px;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .post .under_head:not(:has(.img)) .pagetitle .jp, .post .under_head:not(:has(.img)) .pagetitle ._jp,
.taxonomy .under_head:not(:has(.img)) .pagetitle .jp,
.taxonomy .under_head:not(:has(.img)) .pagetitle ._jp {
    font-size: min(calc(20 / var(--vp) * var(--vw)), 20px);
  }
}
@media screen and (max-width: 767px) {
  .post .under_head:not(:has(.img)) .pagetitle .en, .post .under_head:not(:has(.img)) .pagetitle ._en,
.taxonomy .under_head:not(:has(.img)) .pagetitle .en,
.taxonomy .under_head:not(:has(.img)) .pagetitle ._en {
    font-size: min(calc(15 / var(--vp) * var(--vw)), 15px);
  }
}

@media screen and (min-width: 768px) {
  .contents:not(.children):has(.img) .under_head {
    padding-top: 46px;
    padding-bottom: 96px;
  }
}
.contents:not(.children):has(.img) .under_head .pagetitle::before {
  display: none;
}

@media screen and (min-width: 768px) {
  .contents.children .under_head {
    padding-top: 46px;
    padding-bottom: 96px;
  }
}
.contents.children .under_head .innerWrap {
  max-width: 1600px;
}
@media screen and (min-width: 768px) {
  .contents.children .under_head .innerWrap {
    grid-template-columns: 1fr 400px;
    grid-template-columns: 1fr min(39.0625 * var(--vw), 400px);
  }
}
.contents.children .under_head .innerWrap::before {
  display: none;
}
@media screen and (min-width: 768px) {
  .contents.children .under_head .innerWrap > .img {
    grid-area: 1/2/2/3;
  }
}
@media screen and (min-width: 768px) {
  .contents.children .under_head .innerWrap > .text {
    grid-area: 1/1/2/2;
  }
}
.contents.children .under_head .pagetitle .en, .contents.children .under_head .pagetitle ._en {
  font-size: 1rem;
}
.contents.children .under_head .img {
  aspect-ratio: 4/3;
}

/*== Form ====================================================================================================*/
/*--------------------------------------------------
  form reset
--------------------------------------------------*/
.form input,
.form select,
.form textarea,
.form button {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.form input[type=text],
.form input[type=tel],
.form input[type=email],
.form input[type=password],
.form input[type=number],
.form input[type=url],
.form input[type=date] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline-color: var(--c_blue1);
  width: 100%;
  background: #fff;
  border: 1px solid var(--c_gray5);
  border-radius: 5px;
  height: 52px;
  color: var(--c_text);
  font-family: inherit !important;
  padding: 5px 10px;
}
@media screen and (max-width: 767px) {
  .form input[type=text],
.form input[type=tel],
.form input[type=email],
.form input[type=password],
.form input[type=number],
.form input[type=url],
.form input[type=date] {
    height: 44px;
  }
}
.form input[type=text]:not(.problem),
.form input[type=tel]:not(.problem),
.form input[type=email]:not(.problem),
.form input[type=password]:not(.problem),
.form input[type=number]:not(.problem),
.form input[type=url]:not(.problem),
.form input[type=date]:not(.problem) {
  background: #fff;
}
.form input[type=text].problem,
.form input[type=tel].problem,
.form input[type=email].problem,
.form input[type=password].problem,
.form input[type=number].problem,
.form input[type=url].problem,
.form input[type=date].problem {
  background-color: #fcf0f0 !important;
  border-color: var(--c_red) !important;
  border-width: 2px;
}
.form input[type=date]::-webkit-date-and-time-value,
.form input[type=month]::-webkit-date-and-time-value {
  text-align: left;
}
.form select {
  outline-color: var(--c_blue1);
  width: 100%;
  background: #fff;
  border: 1px solid var(--c_gray5);
  border-radius: 5px;
  height: 52px;
  color: var(--c_text);
  font-family: inherit !important;
  padding: 5px 10px;
  background: transparent;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .form select {
    height: 44px;
  }
}
.form select:not(.problem) {
  background: #fff;
}
.form select.problem {
  background-color: #fcf0f0 !important;
  border-color: var(--c_red) !important;
  border-width: 2px;
}
.form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline-color: var(--c_blue1);
  width: 100%;
  background: #fff;
  border: 1px solid var(--c_gray5);
  border-radius: 5px;
  height: 52px;
  color: var(--c_text);
  font-family: inherit !important;
  padding: 5px 10px;
  display: block;
  resize: none;
  resize: both;
  height: 300px;
}
@media screen and (max-width: 767px) {
  .form textarea {
    height: 44px;
  }
}
.form textarea:not(.problem) {
  background: #fff;
}
.form textarea.problem {
  background-color: #fcf0f0 !important;
  border-color: var(--c_red) !important;
  border-width: 2px;
}
@media screen and (min-width: 768px) {
  .form textarea {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .form textarea {
    height: 150px;
  }
}
.form button,
.form input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  text-shadow: none;
  box-shadow: none;
}
.form button:not(.btn_inner):hover,
.form input[type=submit]:hover {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form input[type=file] {
  cursor: pointer;
}
.form label {
  cursor: pointer;
}
.form label > span {
  position: relative;
  display: inline-block;
  padding: 0 0 0 29px;
}
.form label > span:before, .form label > span:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}
.form label > span:before {
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: transparent;
  border: 1px solid var(--c_gray5);
  background: #fff;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
  margin: 3px 0 0;
}
.form label > span:after {
  opacity: 0;
  top: 0;
  bottom: 0;
  margin: 8px auto 0;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.form input[type=radio],
.form input[type=checkbox] {
  display: none;
}
.form input[type=radio]:checked + span:after,
.form input[type=radio]:checked + input + span:after,
.form input[type=checkbox]:checked + span:after,
.form input[type=checkbox]:checked + input + span:after {
  opacity: 1;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
.form label input[type=radio] + span:before,
.form label input[type=radio] + input + span:before,
.form label input[type=radio] + span:after,
.form label input[type=radio] + input + span:after {
  border-radius: 50%;
}
.form label input[type=radio] + span:after,
.form label input[type=radio] + input + span:after {
  left: 5px;
  width: 10px;
  height: 10px;
  background: var(--c_blue1);
}
.form label input[type=checkbox] + span:after,
.form label input[type=checkbox] + input + span:after {
  top: 0;
  bottom: 2px;
  left: 7px;
  width: 6px;
  height: 10px;
  background: none;
  border-bottom: 2px solid var(--c_blue1);
  border-right: 2px solid var(--c_blue1);
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

/*--------------------------------------------------
  プレースホルダー
--------------------------------------------------*/
:placeholder-shown {
  font-family: inherit;
  color: #AAAAAA !important;
}

::-webkit-input-placeholder {
  font-family: inherit;
  color: #AAAAAA !important;
}

:-moz-placeholder {
  opacity: 1;
  font-family: inherit;
  color: #AAAAAA !important;
}

::-moz-placeholder {
  opacity: 1;
  font-family: inherit;
  color: #AAAAAA !important;
}

:-ms-input-placeholder {
  font-family: inherit;
  color: #AAAAAA !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■↓↓↓お問い合わせフォーム　各サイトごとに自由編集↓↓↓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  メールフォームプロ
--------------------------------------------------*/
/* エラー */
div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 10px 0 0 0;
  color: var(--c_red);
  font-weight: bold;
  line-height: normal;
  background-position: 0px 1px;
}
div.mfp_err:empty {
  display: none;
}

.mfp_parent_error {
  border: solid 2px #F00;
}

.problem {
  background-color: #FCC;
}

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
}

/* ボタン */
@media screen and (min-width: 768px) {
  div.mfp_buttons {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  div.mfp_buttons > *:not(:first-child) {
    margin-right: 60px;
  }
}
@media screen and (max-width: 767px) {
  div.mfp_buttons > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  div.mfp_buttons #mfp_button_cancel {
    max-width: 250px;
  }
}
/* テーブル */
#mfp_confirm_table tr {
  background: none;
}
@media screen and (max-width: 767px) {
  #mfp_confirm_table tr:last-child td {
    padding-bottom: 0;
  }
}
#mfp_confirm_table th, #mfp_confirm_table td {
  text-align: left;
  vertical-align: top;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #mfp_confirm_table th, #mfp_confirm_table td {
    display: block;
    width: 100%;
  }
}

/*--------------------------------------------------
	入力画面
--------------------------------------------------*/
#sec_contact_form .list_input ul + ul {
  margin-top: 15px;
}
#sec_contact_form .list_input li {
  margin: 0 20px 10px 0;
}
#sec_contact_form #mfp_phase_confirm h4 {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  #sec_contact_form #mfp_phase_confirm h4 {
    margin: 0 0 50px;
  }
}

/*--------------------------------------------------
	確認画面
--------------------------------------------------*/
div#mfp_error {
  width: 100%;
}

div#mfp_warning {
  width: 100%;
  margin: 0 auto;
  background: #f7ebeb;
  border: 1px solid var(--c_red) !important;
  border-radius: 0;
  padding: 20px 30px;
  margin-bottom: 40px;
}

div#mfp_overlay {
  width: 90%;
}

div#mfp_overlay_inner {
  max-width: 1100px;
  width: 100%;
  border-radius: 0;
  padding: 20px 40px 36px;
}
@media screen and (max-width: 767px) {
  div#mfp_overlay_inner {
    padding: 20px 20px 40px;
  }
}

div.mfp_buttons {
  padding: 0;
}

#mfp_overlay .hd04 {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  #mfp_overlay .hd04 {
    font-size: 1.125rem;
  }
}

#mfp_overlay div.mfp_buttons {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  #mfp_overlay div.mfp_buttons {
    display: flex;
    flex-direction: row-reverse;
    column-gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  #mfp_overlay div.mfp_buttons > *:not(:first-child) {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  #mfp_overlay div.mfp_buttons .btn01 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #mfp_overlay div.mfp_buttons .btn_inner {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #mfp_overlay div.mfp_buttons .btn_inner > span {
    min-width: inherit;
  }
}

/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	wp

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
/*== wp-common 共通要素 ====================================================================================================*/
/*-------------------------
  ログインバー
-------------------------*/
@media screen and (max-width: 600px) {
  html:has(body.admin-bar) {
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 600px) {
  html:has(body.admin-bar) body {
    padding-top: 46px;
  }
}
@media screen and (max-width: 600px) {
  html:has(body.admin-bar) #header {
    position: sticky;
    top: 0;
  }
}
@media screen and (max-width: 600px) {
  html:has(body.admin-bar) .contents {
    padding-top: 0;
  }
}

/*-------------------------
  編集ボタン
-------------------------*/
a.post-edit-link {
  background-color: #F00 !important;
  background-image: none !important;
  border-radius: 5px 5px 5px 5px !important;
  color: #FFFFFF !important;
  font-size: 10px !important;
  font-weight: normal !important;
  padding: 3px 5px !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.1 !important;
}

a.post-edit-link:hover {
  background-color: #06C !important;
}

/*-------------------------
  WP用のページャー
-------------------------*/
.wp-pagenavi {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 24px;
  border-top: 1px solid var(--c_gray5);
  padding-top: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    padding-bottom: 96px;
    gap: 12px 20px;
  }
}
.wp-pagenavi > *:not(.extend):not(.pages) {
  overflow: hidden;
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  aspect-ratio: 1/1;
  background: #fff;
  border: none;
  border-radius: var(--bdrs1);
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: calc(0em / 1000);
  font-size: 1.25rem;
  line-height: 1;
  padding: 0;
  margin: 0;
}
.wp-pagenavi > *:not(.extend):not(.pages):not(.current)::before {
  content: "";
  opacity: 0;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--c_blue1);
}
.wp-pagenavi a:hover::before {
  opacity: 0.1 !important;
}
.wp-pagenavi .first, .wp-pagenavi .last,
.wp-pagenavi > *[class$=postslink] {
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .first, .wp-pagenavi .last,
.wp-pagenavi > *[class$=postslink] {
    position: absolute !important;
    bottom: 0;
  }
}
.wp-pagenavi .first::after, .wp-pagenavi .last::after,
.wp-pagenavi > *[class$=postslink]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: auto 12px;
}
.wp-pagenavi .first, .wp-pagenavi .last {
  --firstlast: 122px;
}
.wp-pagenavi .first::after, .wp-pagenavi .last::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M9.015,7.97l-6.991,7L.97,13.914,6.906,7.97.97,2.026,2.024.97Zm7.955,0-6.991,7L8.925,13.914,14.861,7.97,8.925,2.026,9.979.97Z' transform='translate(-0.97 -0.97)' fill='%23222222'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.wp-pagenavi > *[class$=postslink] {
  --postlink: 54px;
}
@media screen and (max-width: 390px) {
  .wp-pagenavi > *[class$=postslink] {
    --postlink: calc(48px + 20px);
  }
}
.wp-pagenavi > *[class$=postslink]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M8.97,7.97l-6.951,7L.97,13.914l5.9-5.944L.97,2.026,2.018.97Z' transform='translate(-0.97 -0.97)' fill='%23222222'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .first,
.wp-pagenavi .previouspostslink {
    right: 50%;
  }
}
@media screen and (max-width: 390px) {
  .wp-pagenavi .first,
.wp-pagenavi .previouspostslink {
    right: auto;
  }
}
.wp-pagenavi .first::after,
.wp-pagenavi .previouspostslink::after {
  transform: rotate(-180deg);
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .first {
    margin-right: var(--firstlast);
  }
}
@media screen and (max-width: 390px) {
  .wp-pagenavi .first {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .previouspostslink {
    margin-right: var(--postlink);
  }
}
@media screen and (max-width: 390px) {
  .wp-pagenavi .previouspostslink {
    left: var(--postlink);
  }
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .last,
.wp-pagenavi .nextpostslink {
    left: 50%;
  }
}
@media screen and (max-width: 390px) {
  .wp-pagenavi .last,
.wp-pagenavi .nextpostslink {
    left: auto;
  }
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .last {
    margin-left: var(--firstlast);
  }
}
@media screen and (max-width: 390px) {
  .wp-pagenavi .last {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .nextpostslink {
    margin-left: var(--postlink);
  }
}
@media screen and (max-width: 390px) {
  .wp-pagenavi .nextpostslink {
    right: var(--postlink);
  }
}
.wp-pagenavi .current {
  background-color: var(--c_blue1) !important;
  color: #fff;
}
.wp-pagenavi .extend {
  align-self: flex-end;
  padding: 0;
  margin: 0;
  border: none;
}
/*非表示*/
.wp-pagenavi {
  /*
  //.first, .last,
  .extend ~ .extend:last-of-type,
  .smaller ~ .current ~ .larger + .larger,
  .extend + .page{
       //display: none;
     }
  */
}
.wp-pagenavi .pages {
  display: none;
}

/*== wp-block_editor ブロックエディタ ====================================================================================================*/
/*-------------------------
  共通
-------------------------*/
:root {
  --text_size: 18;
  --link_color: var(--c_link);
  --quote-border_color: #BEBEBE;
  --pullquote-border_color: #BEBEBE;
}

/* ブロック以外の基本装飾 */
article .entry, .wp_editor, .block-editor-block-list__layout {
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: 100%;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  article .entry, .wp_editor, .block-editor-block-list__layout {
    line-height: 1.8;
  }
}
article .entry small, .wp_editor small, .block-editor-block-list__layout small {
  font-size: 87.5%;
  line-height: 1.8;
}
article .entry b, article .entry strong, .wp_editor b, .wp_editor strong, .block-editor-block-list__layout b, .block-editor-block-list__layout strong {
  font-weight: bold;
}
article .entry em, article .entry i, .wp_editor em, .wp_editor i, .block-editor-block-list__layout em, .block-editor-block-list__layout i {
  font-style: italic;
  font-weight: inherit;
}
article .entry sup, .wp_editor sup, .block-editor-block-list__layout sup {
  vertical-align: super;
}
article .entry sub, .wp_editor sub, .block-editor-block-list__layout sub {
  vertical-align: sub;
}
article .entry mark[style^=background-color], article .entry mark:not([style^="background-color:rgba(0, 0, 0, 0)"]), article .entry .has-inline-color[style^=background-color], article .entry .has-inline-color:not([style^="background-color:rgba(0, 0, 0, 0)"]), .wp_editor mark[style^=background-color], .wp_editor mark:not([style^="background-color:rgba(0, 0, 0, 0)"]), .wp_editor .has-inline-color[style^=background-color], .wp_editor .has-inline-color:not([style^="background-color:rgba(0, 0, 0, 0)"]), .block-editor-block-list__layout mark[style^=background-color], .block-editor-block-list__layout mark:not([style^="background-color:rgba(0, 0, 0, 0)"]), .block-editor-block-list__layout .has-inline-color[style^=background-color], .block-editor-block-list__layout .has-inline-color:not([style^="background-color:rgba(0, 0, 0, 0)"]) {
  padding: 0 0.25em;
}
article .entry mark[style^="background-color:rgba(0, 0, 0, 0)"], article .entry .has-inline-color[style^="background-color:rgba(0, 0, 0, 0)"], .wp_editor mark[style^="background-color:rgba(0, 0, 0, 0)"], .wp_editor .has-inline-color[style^="background-color:rgba(0, 0, 0, 0)"], .block-editor-block-list__layout mark[style^="background-color:rgba(0, 0, 0, 0)"], .block-editor-block-list__layout .has-inline-color[style^="background-color:rgba(0, 0, 0, 0)"] {
  padding: 0;
}
article .entry iframe, .wp_editor iframe, .block-editor-block-list__layout iframe {
  max-width: 100%;
}
article .entry code, .wp_editor code, .block-editor-block-list__layout code {
  color: #444;
  background-color: #e7edf3;
  border-radius: 3px;
  border: solid 1px #d6dde4;
  text-indent: 0;
  font-size: 100%;
  line-height: 2;
  padding: 1em;
}
article .entry code.memo, .wp_editor code.memo, .block-editor-block-list__layout code.memo {
  display: block;
  padding: 0.25em 1em;
}
article .entry code.red, .wp_editor code.red, .block-editor-block-list__layout code.red {
  display: block;
  background-color: #dc143c;
  border: none;
  border-radius: 0;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article .entry code.red, .wp_editor code.red, .block-editor-block-list__layout code.red {
    font-size: 80%;
  }
}
article .entry code:not(.red):not(.memo):not(.wp-block-code code), .wp_editor code:not(.red):not(.memo):not(.wp-block-code code), .block-editor-block-list__layout code:not(.red):not(.memo):not(.wp-block-code code) {
  display: inline-block;
  padding: 0.1em 0.25em;
  line-height: 1.2;
}
article .entry .wp-block-code.red code, .wp_editor .wp-block-code.red code, .block-editor-block-list__layout .wp-block-code.red code {
  display: block;
  background: var(--c_red);
  border: none;
  border-radius: 0;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.25em 1em;
}
@media screen and (max-width: 767px) {
  article .entry .wp-block-code.red code, .wp_editor .wp-block-code.red code, .block-editor-block-list__layout .wp-block-code.red code {
    font-size: 80%;
  }
}
article .entry .wp-block-code.red code::before, .wp_editor .wp-block-code.red code::before, .block-editor-block-list__layout .wp-block-code.red code::before {
  content: "⚠️";
}
article .entry a:not([class]):not(.products_list a):not(.category_list a):not(:has(img)), .wp_editor a:not([class]):not(.products_list a):not(.category_list a):not(:has(img)), .block-editor-block-list__layout a:not([class]):not(.products_list a):not(.category_list a):not(:has(img)) {
  color: var(--link_color);
  text-decoration: underline;
  text-underline-offset: 2px;
}
article .entry a:not([class]):not(.products_list a):not(.category_list a):not(:has(img)):hover, .wp_editor a:not([class]):not(.products_list a):not(.category_list a):not(:has(img)):hover, .block-editor-block-list__layout a:not([class]):not(.products_list a):not(.category_list a):not(:has(img)):hover {
  filter: brightness(2);
}
article .entry a:not([class]):not(.products_list a):not(.category_list a):not(:has(img))[target]::after, .wp_editor a:not([class]):not(.products_list a):not(.category_list a):not(:has(img))[target]::after, .block-editor-block-list__layout a:not([class]):not(.products_list a):not(.category_list a):not(:has(img))[target]::after {
  content: "";
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: inline-block;
  width: 0.875em;
  aspect-ratio: 14/13;
  margin-left: 0.25em;
  margin-right: 0.25em;
}
@media screen and (min-width: 768px) {
  article .entry .sp, article .entry .spCont, .wp_editor .sp, .wp_editor .spCont, .block-editor-block-list__layout .sp, .block-editor-block-list__layout .spCont {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  article .entry .pc, article .entry .pcCont, .wp_editor .pc, .wp_editor .pcCont, .block-editor-block-list__layout .pc, .block-editor-block-list__layout .pcCont {
    display: none;
  }
}

.js-scrollable {
  margin-left: calc(var(--spacer2) * -1);
  margin-right: calc(var(--spacer2) * -1);
}
@media screen and (min-width: 768px) {
  .js-scrollable:not(:has(.pc_scroll)):has(.sp_scroll) {
    overflow: inherit !important;
  }
}
@media screen and (max-width: 767px) {
  .js-scrollable .scroll-hint-icon {
    top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .js-scrollable-inner {
    min-width: calc(597px + var(--spacer2) + var(--spacer2));
    min-width: calc(1080px + var(--spacer2) + var(--spacer2));
    padding: 0 var(--spacer2);
  }
}
@media screen and (max-width: 767px) {
  .js-scrollable-inner table {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .js-scrollable-inner:has(.pc_scroll) {
    min-width: calc(1080px + var(--spacer2) + var(--spacer2));
    padding: 0 var(--spacer2);
  }
}

/* サイトオリジナル */
article .entry em, article .entry i, .wp_editor em, .wp_editor i, .block-editor-block-list__layout em, .block-editor-block-list__layout i {
  color: var(--c_text);
  font-style: normal;
  text-decoration: underline;
  text-decoration-color: var(--c_yellow1);
  text-decoration-thickness: 1.4em;
  text-underline-offset: -1em;
  text-decoration-skip-ink: none;
}

/*-------------------------
  空き
-------------------------*/
article .entry > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)),
article .entry .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)), .wp_editor > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)),
.wp_editor .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)), .block-editor-block-list__layout > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)),
.block-editor-block-list__layout .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)) {
  margin-top: var(--spacer);
}
@media screen and (max-width: 767px) {
  article .entry > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)),
article .entry .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)), .wp_editor > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)),
.wp_editor .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)), .block-editor-block-list__layout > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)),
.block-editor-block-list__layout .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)) {
    margin-top: 24px;
  }
}
article .entry > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)):empty,
article .entry .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)):empty, .wp_editor > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)):empty,
.wp_editor .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)):empty, .block-editor-block-list__layout > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)):empty,
.block-editor-block-list__layout .masterparts > :where(:not(:first-child):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)):empty {
  margin-top: 0;
}
article .entry > .wp-block-image:not(:last-child), .wp_editor > .wp-block-image:not(:last-child), .block-editor-block-list__layout > .wp-block-image:not(:last-child) {
  margin-bottom: 20px;
}
article .entry > .wp-block-columns:not(:last-child), .wp_editor > .wp-block-columns:not(:last-child), .block-editor-block-list__layout > .wp-block-columns:not(:last-child) {
  margin-bottom: var(--spacer);
}
article .entry .wp-block-image .wp-element-caption, .wp_editor .wp-block-image .wp-element-caption, .block-editor-block-list__layout .wp-block-image .wp-element-caption {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  article .entry .wp-block-image .wp-element-caption, .wp_editor .wp-block-image .wp-element-caption, .block-editor-block-list__layout .wp-block-image .wp-element-caption {
    margin-top: 4px;
  }
}
article .entry .wp-block-columns > *, .wp_editor .wp-block-columns > *, .block-editor-block-list__layout .wp-block-columns > * {
  margin-bottom: 0;
}
article .entry .wp-block-column > :where(:first-child), .wp_editor .wp-block-column > :where(:first-child), .block-editor-block-list__layout .wp-block-column > :where(:first-child) {
  margin-top: 0;
}
article .entry .smb-alert:not(:last-child), .wp_editor .smb-alert:not(:last-child), .block-editor-block-list__layout .smb-alert:not(:last-child) {
  margin-bottom: var(--spacer);
}
article .entry .wp-block-flexible-table-block-table + iframe[src^="https://www.google.com/maps/"], .wp_editor .wp-block-flexible-table-block-table + iframe[src^="https://www.google.com/maps/"], .block-editor-block-list__layout .wp-block-flexible-table-block-table + iframe[src^="https://www.google.com/maps/"] {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  article .entry .wp-block-flexible-table-block-table + iframe[src^="https://www.google.com/maps/"], .wp_editor .wp-block-flexible-table-block-table + iframe[src^="https://www.google.com/maps/"], .block-editor-block-list__layout .wp-block-flexible-table-block-table + iframe[src^="https://www.google.com/maps/"] {
    margin-top: 64px;
  }
}

/*-------------------------
  カラーパレット
-------------------------*/
:root {
  --wp--preset--color--vivid-red: var(--c_red1);
  --wp--preset--color--luminous-vivid-amber: var(--c_yellow1);
  --wp--preset--color--vivid-cyan-blue: var(--c_blue1);
  --wp--preset--color--very-light-gray: #eee;
  --wp--preset--color--very-dark-gray: #313131;
}

:root .has-very-light-gray-background-color {
  background-color: var(--wp--preset--color--very-light-gray);
}
:root .has-very-light-gray-color {
  color: var(--wp--preset--color--very-light-gray);
}
:root .has-very-dark-gray-background-color {
  background-color: var(--wp--preset--color--very-dark-gray);
}
:root .has-very-dark-gray-color {
  color: var(--wp--preset--color--very-dark-gray);
}

/* サイトオリジナルカラー */
:root {
  --wp--preset--color--black: #333333;
  --wp--preset--color--red: var(--c_red1);
  --wp--preset--color--blue: var(--c_blue1);
  --wp--preset--color--gray: var(--c_gray8);
  --wp--preset--color--white: var(--c_white);
  --wp--preset--color--lightgray: #F6F6F6;
  --wp--preset--color--lightblue: var(--c_gray6);
  --wp--preset--color--darkblack: var(--c_gray1);
  --wp--preset--color--yellow: var(--c_yellow1);
}
:root .has-red-color {
  color: var(--wp--preset--color--red);
}
:root .has-red-background-color {
  background-color: var(--wp--preset--color--red);
}
:root .has-blue-color {
  color: var(--wp--preset--color--blue);
}
:root .has-blue-background-color {
  background-color: var(--wp--preset--color--blue);
}
:root .has-gray-color {
  color: var(--wp--preset--color--gray);
}
:root .has-gray-background-color {
  background-color: var(--wp--preset--color--gray);
}
:root .has-lightgray-color {
  color: var(--wp--preset--color--lightgray);
}
:root .has-lightgray-background-color {
  background-color: var(--wp--preset--color--lightgray);
}
:root .has-lightblue-color {
  color: var(--wp--preset--color--lightblue);
}
:root .has-lightblue-background-color {
  background-color: var(--wp--preset--color--lightblue);
}
:root .has-darkblack-color {
  color: var(--wp--preset--color--darkblack);
}
:root .has-darkblack-background-color {
  background-color: var(--wp--preset--color--darkblack);
}
:root .has-yellow-color {
  color: var(--wp--preset--color--yellow);
}
:root .has-yellow-background-color {
  background-color: var(--wp--preset--color--yellow);
}

/*-------------------------
  テキスト - 段落
-------------------------*/
article .entry, .wp_editor, .block-editor-block-list__layout {
  --text-small-size: 16;
  --text-medium-size: 21;
  --text-large-size: 24;
  --text-x_large-size: 26;
  --ratio-small: var(--text-small-size) / var(--text_size);
  --ratio-medium: var(--text-medium-size) / var(--text_size);
  --ratio-large: var(--text-large-size) / var(--text_size);
  --ratio-x_large: var(--text-x_large-size) / var(--text_size);
}
@media screen and (max-width: 767px) {
  article .entry, .wp_editor, .block-editor-block-list__layout {
    --text-small-size: 14;
    --text-medium-size: 18;
    --text-large-size: 21;
    --text-x_large-size: 24;
  }
}
article .entry .has-small-font-size, .wp_editor .has-small-font-size, .block-editor-block-list__layout .has-small-font-size {
  font-size: calc(var(--text_size) * var(--ratio-small) * 1px) !important;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  article .entry .has-small-font-size, .wp_editor .has-small-font-size, .block-editor-block-list__layout .has-small-font-size {
    line-height: 1.6;
  }
}
article .entry .has-medium-font-size, .wp_editor .has-medium-font-size, .block-editor-block-list__layout .has-medium-font-size {
  font-size: calc(var(--text_size) * var(--ratio-medium) * 1px) !important;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  article .entry .has-medium-font-size, .wp_editor .has-medium-font-size, .block-editor-block-list__layout .has-medium-font-size {
    line-height: 1.8;
  }
}
article .entry .has-large-font-size, .wp_editor .has-large-font-size, .block-editor-block-list__layout .has-large-font-size {
  font-size: calc(var(--text_size) * var(--ratio-large) * 1px) !important;
  line-height: 1.5;
}
article .entry .has-x-large-font-size, .wp_editor .has-x-large-font-size, .block-editor-block-list__layout .has-x-large-font-size {
  font-size: calc(var(--text_size) * var(--ratio-x_large) * 1px) !important;
  line-height: 1.5;
}
article .entry .wp-element-caption, .wp_editor .wp-element-caption, .block-editor-block-list__layout .wp-element-caption {
  font-size: calc(var(--text_size) * var(--ratio-small) * 1px) !important;
}

/*-------------------------
  テキスト - 見出し
-------------------------*/
.wp-block-heading + * {
  margin-top: 0;
}
h1.wp-block-heading {
  font-size: calc(10 / var(--text_size) * 100%);
  text-decoration: line-through;
  margin: 0 !important;
}
h1.wp-block-heading::after {
  content: "※使わない";
  display: inline-block;
  text-decoration: none;
  margin-left: 1em;
}

h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6) {
  line-height: var(--lh_hd) !important;
  color: inherit;
  --text_size: 40;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 700;
  background: none;
  border-bottom: 1px solid var(--c_blue1);
  padding-bottom: 16px;
  margin-top: var(--spacer3);
  margin-bottom: 40px;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):first-child {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h3) + h3 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6) + p {
  margin-top: 0;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):has(> img) {
    --text_size: 20;
  }
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):has(> img)::before {
  display: none;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6):has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6) {
    --text_size: 28;
    padding-bottom: 12px;
  }
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6)::first-letter {
  color: var(--c_blue1);
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6).has-text-color {
  color: inherit !important;
}
h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6).has-background {
  background: none !important;
  padding: 0 0 16px 0 !important;
}
@media screen and (max-width: 767px) {
  h2.wp-block-heading:not(.h3):not(.h4):not(.h5):not(.h6).has-background {
    padding-bottom: 12px !important;
  }
}

h2.wp-block-heading {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  h2.wp-block-heading {
    margin-top: 64px;
  }
}

h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6) {
  line-height: var(--lh_hd) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:%23285bc8;%7D.b%7Bfill:%23fff;opacity:0.8;%7D%3C/style%3E%3C/defs%3E%3Cg transform='translate(-120 -40)'%3E%3Cpath class='a' d='M3.515,20.485a12,12,0,0,1,16.97-16.97,12,12,0,1,1-16.97,16.97ZM2,12A10,10,0,1,0,12,2,10.011,10.011,0,0,0,2,12Zm3,0a7,7,0,1,1,7,7A7,7,0,0,1,5,12Z' transform='translate(120 40)'/%3E%3Ccircle class='b' cx='2' cy='2' r='2' transform='translate(132 52) rotate(180)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: left calc((1.5em - 24px) / 2);
  font-weight: 700;
  --text_size: 28;
  font-size: calc(var(--text_size) / 16 * 1rem);
  padding-left: 40px;
  margin-top: var(--spacer3);
  margin-bottom: 24px;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):first-child {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h3) + h3 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6) + p {
  margin-top: 0;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):has(> img) {
    --text_size: 20;
  }
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):has(> img)::before {
  display: none;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6):has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6) {
    background-position: left 4px;
    background-size: 20px auto;
    --text_size: 20;
    padding-left: 28px;
    margin-bottom: 24px;
  }
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6).has-text-color {
  color: inherit !important;
}
h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6).has-background {
  background-color: transparent !important;
  padding: 0 0 0 40px !important;
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading:not(.h2):not(.h4):not(.h5):not(.h6).has-background {
    padding-left: 28px !important;
  }
}

h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6) {
  line-height: var(--lh_hd) !important;
  position: relative;
  background: var(--c_gray1) !important;
  border-radius: var(--bdrs1);
  color: var(--c_white) !important;
  --text_size: 20;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 500;
  padding: 13.5px 48px !important;
  margin-top: var(--spacer3);
  margin-bottom: 40px;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):first-child {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h3) + h3 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6) + p {
  margin-top: 0;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):has(> img) {
    --text_size: 20;
  }
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):has(> img)::before {
  display: none;
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6):has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6) {
    --text_size: 18;
    padding: 16.5px 17px !important;
    margin-bottom: 32px;
  }
}
h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6)::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 16px;
  aspect-ratio: 1;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: var(--c_blue1);
}
@media screen and (max-width: 767px) {
  h4.wp-block-heading:not(.h2):not(.h3):not(.h5):not(.h6)::before {
    top: 5px;
    left: 5px;
    width: 12px;
  }
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6) {
  line-height: var(--lh_hd) !important;
  --text_size: 22;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 24px;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):first-child {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h3) + h3 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h4) + h4 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h5) + h5 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):not(h6) + h6 {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6) + p {
  margin-top: 0;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):has(> img) {
    --text_size: 20;
  }
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):has(> img)::before {
  display: none;
}
h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6):has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h5.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h6) {
    --text_size: 20;
    margin-bottom: 16px;
  }
}

h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5) {
  line-height: var(--lh_hd) !important;
  --text_size: 20;
  font-size: calc(var(--text_size) / 16 * 1rem);
  font-weight: 500;
  margin-top: 40px;
  margin-bottom: 8px;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):first-child {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h3) + h3 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h4) + h4 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h5) + h5 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h6) + h6 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h4) + h4 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h5) + h5 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h6) + h6 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h5) + h5 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h6) + h6 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):not(h6) + h6 {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5) + p {
  margin-top: 0;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):has(> img) {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  background: none;
  border: none;
  padding: 0;
  --text_size: 28;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):has(> img) {
    --text_size: 20;
  }
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):has(> img)::before {
  display: none;
}
h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):has(> img) img {
  position: relative;
  top: 0.75em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5):has(> img) img {
    width: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  h6.wp-block-heading:not(.h2):not(.h3):not(.h4):not(.h5) {
    --text_size: 18;
  }
}

.wp-block-heading.has-background {
  padding: 10px;
  border-radius: var(--bdrs1);
}
/*-------------------------
  テキスト - リスト（ul , ol）
-------------------------*/
.wp-block-list {
  line-height: 1.6;
  padding-left: 22px;
}
.wp-block-list * + * {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .wp-block-list * + * {
    margin-top: 12px;
  }
}
.wp-block-list li {
  list-style: inherit;
}
.wp-block-list li .wp-block-list {
  margin-top: 4px;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .wp-block-list li .wp-block-list {
    margin-left: 0;
  }
}
.wp-block-list li .wp-block-list * + * {
  margin-top: 0;
}
.wp-block-list.has-background {
  display: inline-block;
  border-radius: var(--bdrs1);
  padding: var(--spacer) 48px var(--spacer) 96px;
}
@container (max-width: 825px) {
  .wp-block-list.has-background {
    padding-left: 42px;
    padding-right: 24px;
  }
}
@container (min-width: 826px) {
  .wp-block-list.has-background > li {
    min-width: 673px;
  }
}
@container (max-width: 825px) {
  .wp-block-list.has-background > li {
    width: 100%;
  }
}

ol.wp-block-list li {
  padding-left: 10px;
}

/* 追加クラス　.indent */
.wp-block-list.indent:not(.has-background) {
  padding-left: 0;
}
.wp-block-list.indent li {
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
}
.wp-block-list.indent .wp-block-list {
  padding-left: 0;
}

/* 追加クラス　.square */
.wp-block-list.square li {
  list-style-type: "■ ";
}

/*-------------------------
  テキスト - 引用
-------------------------*/
.wp-block-quote {
  box-sizing: border-box;
  overflow-wrap: break-word;
  border-left: 4px solid var(--quote-border_color);
  padding: 0.5em 1em;
}
.wp-block-quote.is-large:not(.is-style-plain), .wp-block-quote.is-style-large:not(.is-style-plain) {
  margin-bottom: 1em;
  padding: 0 1em;
}
.wp-block-quote.is-large:not(.is-style-plain) p, .wp-block-quote.is-style-large:not(.is-style-plain) p {
  font-style: italic;
}
.wp-block-quote.is-large:not(.is-style-plain) cite, .wp-block-quote.is-large:not(.is-style-plain) footer, .wp-block-quote.is-style-large:not(.is-style-plain) cite, .wp-block-quote.is-style-large:not(.is-style-plain) footer {
  text-align: right;
}

/*-------------------------
  テキスト - プルクオート
-------------------------*/
.wp-block-pullquote {
  font-size: 100%;
  border-top: 4px solid var(--pullquote-border_color);
  border-bottom: 4px solid var(--pullquote-border_color);
  line-height: inherit;
  padding: 2em 0;
  /*
  &::after {
  	content: '”';
  	margin-top: .5em;
  	text-align: right;
  }
  */
}
.wp-block-pullquote::before, .wp-block-pullquote::after {
  display: block;
  font-size: 200%;
  font-weight: bold;
  line-height: 1;
}
.wp-block-pullquote::before {
  content: "“";
  margin-bottom: 0.5em;
}

/*-------------------------
  テキスト - テーブル
-------------------------*/
:root {
  --table-background-color: var(--c_white);
  --table-border-color: var(--c_gray5);
  --table-font-color: var(--c_text);
  --table-th-background-color: var(--c_gray1);
  --table-th-border-color: var(--c_gray4);
  --table-th-font-color: var(--c_white);
}

article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table {
  overflow: inherit;
  background: var(--table-background-color);
  border-top: 1px solid var(--table-border-color);
  border-left: 1px solid var(--table-border-color);
  border-bottom: none;
  border-right: none;
}
@container (min-width: 768px) {
  article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table {
    width: 100%;
  }
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th, article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tr td,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tr th,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tr td, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tr td,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tr th,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tr td, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tr td,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tr th,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tr td {
  height: 70px;
  border-top: none;
  border-left: none;
  border-bottom: 1px solid var(--table-border-color);
  border-right: 1px solid var(--table-border-color);
  color: var(--table-font-color);
  font-size: 1rem;
  line-height: 1.8;
  padding: 1em 2em;
  vertical-align: middle;
  text-align: left;
}
@media screen and (max-width: 767px) {
  article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th, article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tr td,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tr th,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tr td, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tr td,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tr th,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tr td, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tr td,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tr th,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tr td {
    font-size: 0.9375rem;
    padding: 0.9em 1.2em;
  }
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tr th, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tr th, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tr th {
  background-color: #F6F6F6;
  max-width: 230px;
}
@media screen and (max-width: 767px) {
  article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th[style="width:230px"],
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tr th[style="width:230px"], .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th[style="width:230px"],
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tr th[style="width:230px"], .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tr th[style="width:230px"],
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tr th[style="width:230px"] {
    max-width: 132px;
    width: inherit;
  }
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table thead tr th,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table thead tr th, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table thead tr th,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table thead tr th, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table thead tr th,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table thead tr th {
  background-color: var(--table-th-background-color);
  color: var(--table-th-font-color);
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table tfoot,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table tfoot, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table tfoot,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table tfoot, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table tfoot,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table tfoot {
  border-top-width: 1px;
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a),
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a), .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a),
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a), .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a),
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a) {
  color: var(--link_color);
  text-decoration: underline;
  text-underline-offset: 2px;
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a):hover,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a):hover, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a):hover,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a):hover, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a):hover,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a):hover {
  filter: brightness(2);
}
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a)[target]::after,
article .entry .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a)[target]::after, .wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a)[target]::after,
.wp_editor .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a)[target]::after, .block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) > table a:not([class]):not(.products_list a)[target]::after,
.block-editor-block-list__layout .wp-block-flexible-table-block-table:not(.tbl_history) table a:not([class]):not(.products_list a)[target]::after {
  content: "";
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: inline-block;
  width: 0.875em;
  aspect-ratio: 14/13;
  margin-left: 0.25em;
}
article .entry .wp-block-flexible-table-block-table thead,
article .entry .wp-block-table:not(.tbl_history) thead, .wp_editor .wp-block-flexible-table-block-table thead,
.wp_editor .wp-block-table:not(.tbl_history) thead, .block-editor-block-list__layout .wp-block-flexible-table-block-table thead,
.block-editor-block-list__layout .wp-block-table:not(.tbl_history) thead {
  border-bottom-width: inherit !important;
}
article .entry .wp-block-flexible-table-block-table.is-style-regular,
article .entry .wp-block-table:not(.tbl_history).is-style-regular, .wp_editor .wp-block-flexible-table-block-table.is-style-regular,
.wp_editor .wp-block-table:not(.tbl_history).is-style-regular, .block-editor-block-list__layout .wp-block-flexible-table-block-table.is-style-regular,
.block-editor-block-list__layout .wp-block-table:not(.tbl_history).is-style-regular {
  border-top: 1px solid var(--c_gray5);
  border-left: 1px solid var(--c_gray5);
}
article .entry .wp-block-flexible-table-block-table.is-style-regular th, article .entry .wp-block-flexible-table-block-table.is-style-regular td,
article .entry .wp-block-table:not(.tbl_history).is-style-regular th,
article .entry .wp-block-table:not(.tbl_history).is-style-regular td, .wp_editor .wp-block-flexible-table-block-table.is-style-regular th, .wp_editor .wp-block-flexible-table-block-table.is-style-regular td,
.wp_editor .wp-block-table:not(.tbl_history).is-style-regular th,
.wp_editor .wp-block-table:not(.tbl_history).is-style-regular td, .block-editor-block-list__layout .wp-block-flexible-table-block-table.is-style-regular th, .block-editor-block-list__layout .wp-block-flexible-table-block-table.is-style-regular td,
.block-editor-block-list__layout .wp-block-table:not(.tbl_history).is-style-regular th,
.block-editor-block-list__layout .wp-block-table:not(.tbl_history).is-style-regular td {
  border-bottom: 1px solid var(--c_gray5);
  border-right: 1px solid var(--c_gray5);
}
article .entry .wp-block-flexible-table-block-table.is-style-regular th,
article .entry .wp-block-table:not(.tbl_history).is-style-regular th, .wp_editor .wp-block-flexible-table-block-table.is-style-regular th,
.wp_editor .wp-block-table:not(.tbl_history).is-style-regular th, .block-editor-block-list__layout .wp-block-flexible-table-block-table.is-style-regular th,
.block-editor-block-list__layout .wp-block-table:not(.tbl_history).is-style-regular th {
  background: var(--c_gray4);
}
article .entry .wp-block-flexible-table-block-table.is-style-stripes table,
article .entry .wp-block-table:not(.tbl_history).is-style-stripes table, .wp_editor .wp-block-flexible-table-block-table.is-style-stripes table,
.wp_editor .wp-block-table:not(.tbl_history).is-style-stripes table, .block-editor-block-list__layout .wp-block-flexible-table-block-table.is-style-stripes table,
.block-editor-block-list__layout .wp-block-table:not(.tbl_history).is-style-stripes table {
  border: none;
}

.table {
  overflow: inherit;
  background: var(--table-background-color);
  border-top: 1px solid var(--table-border-color);
  border-left: 1px solid var(--table-border-color);
  border-bottom: none;
  border-right: none;
}
@container (min-width: 768px) {
  .table {
    width: 100%;
  }
}
.table tr th, .table tr td {
  height: 70px;
  border-top: none;
  border-left: none;
  border-bottom: 1px solid var(--table-border-color);
  border-right: 1px solid var(--table-border-color);
  color: var(--table-font-color);
  font-size: 1rem;
  line-height: 1.8;
  padding: 1em 2em;
  vertical-align: middle;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .table tr th, .table tr td {
    font-size: 0.9375rem;
    padding: 0.9em 1.2em;
  }
}
.table tr th {
  background-color: #F6F6F6;
  max-width: 230px;
}
@media screen and (max-width: 767px) {
  .table tr th[style="width:230px"] {
    max-width: 132px;
    width: inherit;
  }
}
.table thead tr th {
  background-color: var(--table-th-background-color);
  color: var(--table-th-font-color);
}
.table tfoot {
  border-top-width: 1px;
}
.table a:not([class]):not(.products_list a) {
  color: var(--link_color);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.table a:not([class]):not(.products_list a):hover {
  filter: brightness(2);
}
.table a:not([class]):not(.products_list a)[target]::after {
  content: "";
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: inline-block;
  width: 0.875em;
  aspect-ratio: 14/13;
  margin-left: 0.25em;
}
.table tr th, .table tr td {
  height: 63px;
  line-height: 1.3;
  padding: 0.75em;
}
.table tr th {
  min-width: 75px;
}
.table img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}
.table .btn .btn_inner {
  width: 100%;
  min-height: 38px;
  padding: 0.25em calc(0.25em + 10px) 0.25em 0.25em;
}
.table .btn span {
  min-width: 55px;
}
.table .btn._arrow > *::before {
  right: 5px;
  width: 24px;
}
.table .btn._arrow > *::after {
  right: 11px;
}

.table2 {
  overflow: inherit;
  background: var(--table-background-color);
  border-top: 1px solid var(--table-border-color);
  border-left: 1px solid var(--table-border-color);
  border-bottom: none;
  border-right: none;
  width: 100%;
}
@container (min-width: 768px) {
  .table2 {
    width: 100%;
  }
}
.table2 tr th, .table2 tr td {
  height: 70px;
  border-top: none;
  border-left: none;
  border-bottom: 1px solid var(--table-border-color);
  border-right: 1px solid var(--table-border-color);
  color: var(--table-font-color);
  font-size: 1rem;
  line-height: 1.8;
  padding: 1em 2em;
  vertical-align: middle;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .table2 tr th, .table2 tr td {
    font-size: 0.9375rem;
    padding: 0.9em 1.2em;
  }
}
.table2 tr th {
  background-color: #F6F6F6;
  max-width: 230px;
}
@media screen and (max-width: 767px) {
  .table2 tr th[style="width:230px"] {
    max-width: 132px;
    width: inherit;
  }
}
.table2 thead tr th {
  background-color: var(--table-th-background-color);
  color: var(--table-th-font-color);
}
.table2 tfoot {
  border-top-width: 1px;
}
.table2 a:not([class]):not(.products_list a) {
  color: var(--link_color);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.table2 a:not([class]):not(.products_list a):hover {
  filter: brightness(2);
}
.table2 a:not([class]):not(.products_list a)[target]::after {
  content: "";
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: inline-block;
  width: 0.875em;
  aspect-ratio: 14/13;
  margin-left: 0.25em;
}
.table2 th {
  text-align: left;
}

.wp-block-flexible-table-block-table.is-scroll-on-pc {
  overflow: inherit;
  /*
  table {
  	//min-width: 1000px;
  	@include mq(sp) {
  		margin-left: var(--spacer2);
  		margin-right: var(--spacer2);
  	}
  }
  */
}
@media screen and (min-width: 768px) {
  .wp-block-flexible-table-block-table.is-scroll-on-pc .js-scrollable-inner {
    min-width: calc(2000px + var(--spacer2) + var(--spacer2));
    padding-left: var(--spacer2);
    padding-right: var(--spacer2);
  }
}

.wp-block-flexible-table-block-table.is-scroll-on-mobile {
  overflow: inherit;
}
@media screen and (min-width: 768px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile .js-scrollable {
    margin-left: 0;
    margin-right: 0;
  }
}

/*-------------------------
  メディア - 画像
-------------------------*/
.wp-block-image {
  overflow: hidden;
}
.wp-block-image a {
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
body:not(.view_sp) .wp-block-image a:hover {
  opacity: 0.6;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.wp-block-image img {
  margin-bottom: 0 !important;
}
.wp-block-image img.ofi {
  height: 100%;
  max-width: inherit;
}
.wp-block-image .wp-element-caption {
  margin-bottom: 0;
}

/*-------------------------
  メディア - ギャラリー
-------------------------*/
.wp-block-gallery.has-nested-images,
figure.wp-block-gallery.has-nested-images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-gallery.has-nested-images,
figure.wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media screen and (max-width: 560px) {
  .wp-block-gallery.has-nested-images,
figure.wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(1, 1fr);
  }
}
.wp-block-gallery.has-nested-images figure.wp-block-image,
figure.wp-block-gallery.has-nested-images figure.wp-block-image {
  width: 100% !important;
  row-gap: 8px;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img,
figure.wp-block-gallery.has-nested-images figure.wp-block-image img {
  aspect-ratio: inherit;
  border-radius: var(--bdrs2);
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before,
figure.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  display: none;
  background: none;
  backdrop-filter: none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption) .wp-element-caption,
figure.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption) .wp-element-caption {
  position: static;
  background: none;
  backdrop-filter: none !important;
  color: inherit;
  text-shadow: none;
  font-size: 1rem;
  line-height: 1.8;
  text-align: left;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption) .wp-element-caption,
figure.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption) .wp-element-caption {
    font-size: 0.875rem;
  }
}

/*-------------------------
  メディア - メディアとテキスト
-------------------------*/
.wp-block-media-text {
  column-gap: 50px;
}
.wp-block-media-text .wp-block-media-text__content,
.wp-block-media-text .wp-block-media-text__media {
  width: auto;
  margin: 0 0 auto !important;
  padding: 0;
}
.wp-block-media-text .wp-block-media-text__media img {
  max-width: 100%;
}

.wp-block-media-text .wp-block-media-text__content,
.wp-block-media-text .wp-block-media-text__media,
.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media {
  align-self: flex-start;
}

@media screen and (max-width: 767px) {
  .wp-block-media-text.is-stacked-on-mobile {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-media-text.is-stacked-on-mobile > *:not(:first-child) {
    margin-top: 20px;
  }
}
.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .wp-block-media-text.is-stacked-on-mobile:not(.has-media-on-the-right) .wp-block-media-text__media {
    margin-right: 40px;
  }
}
@media screen and (min-width: 768px) {
  .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__media {
    margin-left: 40px;
  }
}

.wp-block-media-text.is-image-fill > .wp-block-media-text__media img {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
}

/*-------------------------
  デザイン - ボタン
-------------------------*/
.wp-block-buttons {
  position: relative;
  gap: 1em 24px;
}
.wp-block-buttons.is-content-justification-center {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-buttons.is-content-justification-center > *:only-child {
  margin: 0;
}
.wp-block-button {
  position: relative;
  display: inline-flex;
  vertical-align: top;
  margin-bottom: 0 !important;
}
.wp-block-button:only-child {
  margin-left: auto;
  margin-right: auto;
}
/* ボタン共通要素 */
:root {
  --button-background-color: var(--c_white);
  --button-border-color: var(--c_gray2);
  --button-text-color: var(--c_gray1);
}

.wp-block-button {
  text-align: center;
}
.wp-block-button > .wp-block-button__link {
  overflow: hidden;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
}
.wp-block-button a:not([href]),
.wp-block-button a[href=""],
.wp-block-button a[href="#"],
.wp-block-button a[href=""],
.wp-block-button a[href="#"] {
  pointer-events: none;
}
.wp-block-button a[href] {
  position: relative;
  z-index: 0;
  text-decoration: none;
}

/* 共通 */
.wp-block-button > .wp-block-button__link {
  min-width: 240px;
  min-height: 48px;
  background: var(--button-background-color);
  border: 1px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 8px 46px;
}
.wp-block-button a[href] {
  position: relative;
}
.wp-block-button a[href]::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  aspect-ratio: 1/1;
  width: 30px;
  border: 1px solid var(--c_blue1);
  border-radius: 100%;
  transform: translate(0, -50%) scale(0);
}
.wp-block-button a[href]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  aspect-ratio: 16/17;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 17'%3E%3Cpath d='M16,8.97l-.528.523L7.445,17.47,6.387,16.421l6.754-6.709H0V8.229H13.142L6.387,1.518,7.445.47Z' transform='translate(0 -0.47)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  transform: translate(0, -50%);
}
.wp-block-button a:hover::before {
  transform: translate(0, -50%) scale(1);
  animation: scale-bounce 300ms cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards !important;
}

/* 塗りつぶし */
/* 輪郭 */
/*-------------------------
  デザイン - カラム
-------------------------*/
.wp-block-columns.list_only {
  gap: 36px 80px;
}
@media screen and (max-width: 767px) {
  .wp-block-columns.list_only {
    gap: 8px 0;
  }
}

/*-------------------------
  デザイン - 区切り
-------------------------*/
.wp-block-separator {
  border: none;
  border-bottom: 2px solid currentColor;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-separator.is-style-dots {
  background: none !important;
  border: none;
  text-align: center;
  line-height: 1;
  height: auto;
}
.wp-block-separator.is-style-dots:before {
  content: "···";
  color: currentColor;
  font-size: 1.5em;
  letter-spacing: 2em;
  padding-left: 2em;
  font-family: serif;
}

.wp-block-separator.has-css-opacity {
  opacity: 0.4;
}

.wp-block-separator.has-alpha-channel-opacity {
  opacity: 1;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  width: 100px;
}

.wp-block-separator.has-background:not(.is-style-dots) {
  border-bottom: none;
  height: 1px;
}

.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) {
  height: 2px;
}

/*-------------------------
  デザイン - スペーサー
-------------------------*/
.wp-block-spacer {
  position: relative;
  margin: 0 !important;
}
.wp-block-spacer[style*="var(--wp--preset--spacing--20)"] {
  height: 10px !important;
}
.wp-block-spacer[style*="var(--wp--preset--spacing--30)"] {
  height: 40px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer[style*="var(--wp--preset--spacing--30)"] {
    height: 32px !important;
  }
}
.wp-block-spacer[style*="var(--wp--preset--spacing--40)"] {
  height: 60px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer[style*="var(--wp--preset--spacing--40)"] {
    height: 40px !important;
  }
}
.wp-block-spacer[style*="var(--wp--preset--spacing--50)"] {
  height: 80px !important;
}
.wp-block-spacer[style*="var(--wp--preset--spacing--60)"] {
  height: 100px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer[style*="var(--wp--preset--spacing--60)"] {
    height: 60px !important;
  }
}
.wp-block-spacer[style*="var(--wp--preset--spacing--70)"] {
  height: 120px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer[style*="var(--wp--preset--spacing--70)"] {
    height: 80px !important;
  }
}
.wp-block-spacer[style*="var(--wp--preset--spacing--80);"] {
  height: 200px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer[style*="var(--wp--preset--spacing--80);"] {
    height: 120px !important;
  }
}

/*-------------------------
  HTMLブロック
-------------------------*/
.wp-block-html textarea {
  height: auto !important;
  min-height: 300px;
  max-height: none !important;
  overflow-y: visible !important;
}

/* Google Map */
iframe[src^="https://www.google.com/maps/"] {
  width: 100%;
}
@container (max-width: 560px) {
  iframe[src^="https://www.google.com/maps/"] {
    aspect-ratio: 1/1;
    height: auto;
  }
}
iframe[src^="https://www.google.com/maps/"].grayscale {
  filter: grayscale(1);
}

/* YouTube */
iframe[src^="https://www.youtube.com/"] {
  aspect-ratio: 16/9;
  width: 100%;
  height: inherit;
}

/*-------------------------
  YouTubeブロック
-------------------------*/
.wp-block-embed-youtube iframe {
  aspect-ratio: 16/9;
  height: inherit;
}
/*-------------------------
  その他
-------------------------*/
#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 100%;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/*-------------------------
  共通
-------------------------*/
/*-------------------------
  関連製品
-------------------------*/
.products_list {
  display: grid;
}
.text-notes + .products_list {
  margin-top: 40px;
}
.products_list a .post_img img {
  transform: scale(1);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.products_list a .products_price {
  position: relative;
  padding-right: 40px;
}
.products_list a .products_price::before, .products_list a .products_price::after {
  content: "";
  position: absolute;
  top: 5px;
  top: -3px;
  right: 0;
  aspect-ratio: 1/1;
  width: 32px;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
@media screen and (max-width: 1023px) {
  .products_list a .products_price::before, .products_list a .products_price::after {
    top: -3px;
  }
}
.products_list a .products_price::before {
  border: 1px solid var(--c_blue1);
  transform: scale(0.7);
  opacity: 0;
}
.products_list a .products_price::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 12px auto;
}
.products_list a:hover .post_img img {
  transform: scale(1.05);
}
.products_list a:hover .products_price::before {
  transform: scale(1);
  opacity: 1;
}

.products_list_item {
  position: relative;
}
.products_list_item .post_img {
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
  background: var(--c_white);
  border-radius: var(--bdrs2);
  margin-bottom: 16px;
}
@container (max-width: 560px) {
  .products_list_item .post_img {
    margin-bottom: 0;
  }
}
.products_list_item .post_img::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--c_gray5);
  border-radius: var(--bdrs2);
}
.products_list_item .post_img img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.products_list_item .category {
  font-size: 1rem;
  font-weight: 500;
  line-height: var(--lh_other);
  margin-bottom: 6px;
}
@media screen and (max-width: 1023px) {
  .products_list_item .category {
    font-size: 0.875rem;
    line-height: var(--lh_hd);
    margin-bottom: 4px;
  }
}
.products_list_item .products_name {
  font-size: 1rem;
  font-weight: 500;
  line-height: var(--lh_other);
  margin-bottom: 6px;
}
@media screen and (max-width: 1023px) {
  .products_list_item .products_name {
    line-height: var(--lh_hd);
    margin-bottom: 4px;
  }
}
.products_list_item .products_code {
  color: var(--c_gray8);
  font-size: 0.875rem;
  line-height: var(--lh_other);
}
.products_list_item .products_price {
  margin-top: 6px;
}
@media screen and (max-width: 1023px) {
  .products_list_item .products_price {
    font-size: 0.875rem;
    margin-top: 2px;
  }
}
@media screen and (max-width: 1023px) {
  .products_list_item .products_price strong {
    font-size: 128.5715%;
  }
}
.products_list_item .list_icon {
  font-size: 0.875rem;
}
.products_list_item .list_icon:not(.badge) {
  margin-top: 16px;
}
.products_list_item .list_icon.badge {
  position: absolute;
  z-index: 5;
  top: -13px;
  left: 0;
  font-size: 0.9375rem;
}
@media screen and (max-width: 1023px) {
  .products_list_item .list_icon.badge {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .products_list_item .list_icon.badge {
    top: -10px;
    font-size: 0.75rem;
  }
}
.products_list_item .list_icon.badge li {
  padding: 1.75px 8px;
}
@media screen and (max-width: 1023px) {
  .products_list_item .list_icon.badge li {
    padding: 1px 7px;
  }
}

/* 横並び件数 */
.products_list:not(.col1) {
  gap: 56px 24px;
}
@container (max-width: 1187px) {
  .products_list:not(.col1) {
    gap: 56px 40px;
  }
}
@container (max-width: 767px) {
  .products_list:not(.col1) {
    gap: 56px 24px;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1) {
    gap: 0;
  }
}

.products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) {
  grid-template-columns: repeat(5, 1fr);
}
@container (max-width: 1187px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) {
    grid-template-columns: repeat(4, 1fr);
  }
}
@container (max-width: 767px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) {
    grid-template-columns: repeat(1, 1fr);
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) > li:not(:first-child)::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var(--c_gray5);
    margin: 24px 0;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) .products_list_item {
    display: grid;
    grid-template-columns: 120px 1fr;
    grid-template-rows: max-content max-content 1fr auto;
    gap: 0 20px;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) .products_list_item .post_img {
    grid-area: 1/1/4/2;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) .products_list_item .products_name {
    grid-area: 1/2/2/3;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) .products_list_item .products_code {
    grid-area: 2/2/3/3;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) .products_list_item .products_price {
    grid-area: 3/2/4/3;
  }
}
@container (max-width: 560px) {
  .products_list:not(.col1):not(.pc_scroll .products_list):not(.sp_scroll .products_list) .products_list_item .list_icon:not(.badge) {
    grid-area: 4/1/5/3;
  }
}

.column2_wrap:not(:has(.column2_side)) {
  /*
  .products_list:not(.col1) {
  	@include mq($max: 1556px) {
  	}
  	@include mq($max: 1080px) {
  		grid-template-columns: repeat(3, 1fr);
  	}
  	@include mq($max: 860px) {
  		grid-template-columns: repeat(2, 1fr);
  	}
  }
  */
}

.column2_wrap:has(.column2_side) .products_list:not(.col1) {
  /*
  @include mq($max: 1499px) {
  	grid-template-columns: repeat(3, 1fr);
  }
  @include mq($max: 1200px) {
  	grid-template-columns: repeat(2, 1fr);
  }
  @include mq($max: 1023px) {
  	grid-template-columns: repeat(1, 1fr);
  	gap: 0;
  }
  */
}

/* 1カラムパターン */
.products_list.col1 {
  display: grid;
  row-gap: 40px;
}
@container (max-width: 767px) {
  .products_list.col1 {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@container (max-width: 560px) {
  .products_list.col1 {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}
@container (max-width: 560px) {
  .products_list.col1 > li:not(:first-child)::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var(--c_gray5);
    margin: 24px 0;
  }
}
@container (min-width: 768px) {
  .products_list.col1 a .products_price {
    position: static;
  }
}
@container (min-width: 768px) {
  .products_list.col1 a .products_price::before, .products_list.col1 a .products_price::after {
    top: auto;
    bottom: 0;
    width: 54px;
  }
}
@container (min-width: 768px) {
  .products_list.col1 a .products_price::after {
    background-size: 16px auto;
  }
}
@container (min-width: 768px) {
  .products_list.col1 a .list_icon:not(.badge) {
    padding-bottom: 62px;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item {
    display: grid;
    grid-template-columns: 33.6997% 1fr;
    grid-template-rows: max-content max-content max-content max-content 1fr;
    gap: 0 48px;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .post_img {
    grid-area: 1/1/6/2;
    margin-bottom: 0;
  }
}
@container (max-width: 767px) {
  .col1 .products_list_item .post_img {
    margin-bottom: 12px;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .category {
    grid-area: 1/2/2/3;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .products_name {
    grid-area: 2/2/3/3;
    font-size: 1.5rem;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .products_name {
    font-size: 1.125rem;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .products_code {
    grid-area: 3/2/4/3;
    font-size: 1rem;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .products_price {
    grid-area: 4/2/5/3;
    font-size: 0.875rem;
  }
}
@container (min-width: 768px) {
  .col1 .products_list_item .list_icon:not(.badge) {
    grid-area: 5/2/6/3;
    margin-bottom: auto;
  }
}
/* スクロール */
.pc_scroll .products_list {
  display: flex;
  padding-top: 13px;
  padding-bottom: 10px;
}
.pc_scroll .products_list::after {
  content: "";
  display: block;
  padding-right: calc(var(--spacer2) / 2);
}
@media screen and (max-width: 767px) {
  .pc_scroll .products_list::after {
    padding-right: 1px;
  }
}
.pc_scroll .products_list > * {
  --gap: 96px;
  --item: 5;
  max-width: 240px;
  min-width: 240px;
  flex: 1 0 auto;
}
@container (max-width: 1187px) {
  .pc_scroll .products_list > * {
    --gap: 120px;
    --item: 4;
  }
}
@container (max-width: 767px) {}

@media screen and (max-width: 767px) {
  .sp_scroll .products_list {
    display: flex;
    padding-top: 13px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .sp_scroll .products_list::after {
    content: "";
    display: block;
    padding-right: 1px;
  }
}
@media screen and (max-width: 767px) {
  .sp_scroll .products_list > * {
    max-width: 240px;
    min-width: 240px;
    flex: 1 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .sp_scroll:not(.pc_scroll) .products_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 56px 24px;
    padding-left: var(--spacer2);
    padding-right: var(--spacer2);
  }
  @container (max-width: 1187px) {
    .sp_scroll:not(.pc_scroll) .products_list {
      grid-template-columns: repeat(4, 1fr);
      gap: 56px 40px;
    }
  }
  @container (max-width: 767px) {
    .sp_scroll:not(.pc_scroll) .products_list {
      grid-template-columns: repeat(3, 1fr);
      gap: 56px 24px;
    }
  }
  @container (max-width: 560px) {
    .sp_scroll:not(.pc_scroll) .products_list {
      grid-template-columns: repeat(1, 1fr);
      gap: 0;
    }
  }
}

.js-scrollable-inner:has(.products_list) {
  min-width: inherit;
}

/*-------------------------
  カテゴリーリスト
-------------------------*/
.category_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px 20px;
}
@media screen and (max-width: 1499px) {
  .category_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .category_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 560px) {
  .category_list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 12px;
  }
}
.category_list > li {
  flex: 1;
}
.category_list a {
  display: block;
  height: 100%;
}
.category_list a .category_list_item,
.category_list a .products_name {
  position: relative;
}
.category_list a .category_list_item::before, .category_list a .category_list_item::after,
.category_list a .products_name::before,
.category_list a .products_name::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  width: 26px;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.category_list a .category_list_item::before,
.category_list a .products_name::before {
  border: 1px solid var(--c_blue1);
  transform: scale(0.7);
  opacity: 0;
}
.category_list a .category_list_item::after,
.category_list a .products_name::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 12px auto;
}
.category_list a .category_list_item::before, .category_list a .category_list_item::after {
  bottom: 14px;
  right: 14px;
}
@media screen and (max-width: 560px) {
  .category_list a .category_list_item::before, .category_list a .category_list_item::after {
    display: none;
  }
}
@media screen and (max-width: 560px) {
  .category_list a .products_name {
    padding-right: 33px;
  }
}
.category_list a .products_name::before, .category_list a .products_name::after {
  bottom: 50%;
  right: 0;
}
@media screen and (min-width: 561px) {
  .category_list a .products_name::before, .category_list a .products_name::after {
    display: none;
  }
}
.category_list a .products_name::before {
  transform: translateY(50%) scale(0);
}
.category_list a .products_name::after {
  transform: translateY(50%);
}
.category_list a .post_img img {
  transform: scale(1);
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
.category_list a:hover .category_list_item::before {
  transform: scale(1);
  opacity: 1;
}
.category_list a:hover .products_name::before {
  transform: translateY(50%) scale(1);
}
.category_list a:hover .post_img img {
  transform: scale(1.05);
}

.category_list_item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--c_white);
  border: 1px solid var(--c_gray5);
  border-radius: var(--bdrs2);
  padding: 7px 7px 40px 7px;
}
@media screen and (max-width: 560px) {
  .category_list_item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    column-gap: 16px;
    padding: 12px 16px 16px;
  }
}
.category_list_item .post_img {
  order: 1;
  overflow: hidden;
  position: relative;
  z-index: 0;
  background: #f3f3f3;
  aspect-ratio: 4/3;
  margin-bottom: 16px;
}
@media screen and (max-width: 560px) {
  .category_list_item .post_img {
    grid-area: 1/1/2/2;
    max-width: 100px;
    max-width: min(100 / var(--vp) * var(--vw), 100px);
    width: 100%;
    margin-bottom: 0;
  }
}
.category_list_item .post_img img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.category_list_item .products_name {
  order: 2;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: var(--lh_other);
  padding: 0 23px;
}
@media screen and (max-width: 560px) {
  .category_list_item .products_name {
    grid-area: 1/2/2/3;
    align-self: center;
    position: relative;
    font-size: 1.0625rem;
    line-height: var(--lh_hd);
    padding: 0;
  }
}
.category_list_item .products_text {
  order: 3;
  font-size: 0.9375rem;
  line-height: var(--lh_other);
  padding: 0 23px;
  margin-top: 6px;
}
@media screen and (max-width: 560px) {
  .category_list_item .products_text {
    grid-area: 2/1/3/3;
    font-size: 0.875rem;
    padding: 0;
    margin-top: 0;
  }
}
.category_list_item .products_text::before {
  content: "";
  display: block;
  height: 1px;
  background: var(--c_gray5);
  margin: 10px 0;
}
/*-------------------------
  ダウンロード
-------------------------*/
.download_list {
  line-height: var(--lh_other);
}
.download_list h2:first-child, .download_list h3:first-child {
  margin-top: var(--spacer3);
}
.download_list + .download_list {
  margin-top: 0;
}
.download_list li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-bottom: 1px solid var(--c_gray5);
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .download_list li {
    gap: 4px;
    padding: 16px 8px;
  }
}
.download_list:first-child li:first-child,
.download_list ul:first-of-type li:first-child {
  padding-top: 0;
}
.download_list .text {
  width: 100%;
  font-size: 1rem;
}

/*-------------------------
  お問い合わせカード
-------------------------*/
.contact_card {
  display: inline-block;
  background: var(--c_white);
  border-radius: var(--bdrs1);
  padding: var(--spacer) var(--spacer2);
}
@container (min-width: 561px) {
  .contact_card {
    min-width: 561px;
  }
}
@container (max-width: 560px) {
  .contact_card {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contact_card {
    padding: var(--spacer);
  }
}

.wp-block-heading:has(+ .contact_card) {
  margin-bottom: 24px;
}

.wp-block-heading + .contact_card {
  margin-top: 0;
}

/*-------------------------
  青文字の見出しっぽい見出しじゃないテキスト
-------------------------*/
p.has-text-align-center.has-background {
  padding: 0.666676em 2em;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  p.has-text-align-center.has-background {
    padding: 0.7em 0.75em;
    margin-bottom: 24px;
  }
}

/*-------------------------
	沿革
-------------------------*/
.wp-block-flexible-table-block-table.tbl_history table {
  overflow: inherit;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr {
    display: grid;
    grid-template-columns: 65px 1fr;
    border-bottom: 1px solid var(--table-border-color);
    padding-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr:not(:first-child) {
    padding-top: 24px;
  }
}
.wp-block-flexible-table-block-table.tbl_history table tr th, .wp-block-flexible-table-block-table.tbl_history table tr td {
  height: 70px;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--table-border-color);
  color: var(--table-font-color);
  font-size: 1.25rem;
  line-height: 1.8;
  padding: 0;
  vertical-align: top;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr th, .wp-block-flexible-table-block-table.tbl_history table tr td {
    height: inherit;
    border-bottom: none;
    font-size: 1.125rem;
  }
}
.wp-block-flexible-table-block-table.tbl_history table tr th:empty, .wp-block-flexible-table-block-table.tbl_history table tr td:empty {
  padding: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr th:empty, .wp-block-flexible-table-block-table.tbl_history table tr td:empty {
    display: none;
  }
}
.wp-block-flexible-table-block-table.tbl_history table tr th img, .wp-block-flexible-table-block-table.tbl_history table tr td img {
  border-radius: var(--bdrs2);
}
.wp-block-flexible-table-block-table.tbl_history table tr th {
  width: 66px;
  font-size: 3rem;
  font-weight: 200;
  line-height: 1;
  text-align: right;
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr th {
    grid-area: 2/1/3/2;
    width: auto;
    font-size: 2.625rem;
    text-align: left;
    padding-top: 0;
  }
}
.wp-block-flexible-table-block-table.tbl_history table tr th:nth-child(1):has(+ th) {
  text-align: left;
  width: 193px;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr th:nth-child(1):has(+ th) {
    grid-area: 1/1/2/3;
    width: auto;
    border-bottom: none;
    padding-bottom: 16px;
  }
}
.wp-block-flexible-table-block-table.tbl_history table tr th:not(:has(.block-editor-rich-text__editable))::after {
  content: ".";
}
.wp-block-flexible-table-block-table.tbl_history table tr .block-editor-rich-text__editable::after {
  content: ".";
}
.wp-block-flexible-table-block-table.tbl_history table tr td {
  padding: 44px 0 32px 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr td {
    grid-area: 2/2/3/3;
    padding: 0;
  }
}
.wp-block-flexible-table-block-table.tbl_history table tr td:has(img) {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr td:has(img) {
    grid-area: 3/1/4/3;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    text-align: center;
    padding-top: 16px;
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr td:has(img):not(:has(img + img)) {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-flexible-table-block-table.tbl_history table tr td:has(img) img {
    max-width: inherit;
    max-width: 80%;
    width: 100% !important;
    height: auto;
    margin: 0 auto;
  }
}
.wp-block-flexible-table-block-table.tbl_history table a:not([class]):not(.products_list a) {
  color: var(--link_color);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wp-block-flexible-table-block-table.tbl_history table a:not([class]):not(.products_list a):hover {
  filter: brightness(2);
}
.wp-block-flexible-table-block-table.tbl_history table a:not([class]):not(.products_list a)[target]::after {
  content: "";
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13'%3E%3Cpath d='M14,9H10v4H0V4H4V0H14ZM1,12H9V5H1ZM5,4h5V8h3V1H5Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: inline-block;
  width: 0.875em;
  aspect-ratio: 14/13;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

/*-------------------------
	ボタンリスト
-------------------------*/
.btn_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 40px;
}
@media screen and (max-width: 1024px) {
  .btn_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
  }
}
@media screen and (max-width: 767px) {
  .btn_list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.btn_list.is-layout-flex {
  display: grid;
}
.btn_list .wp-block-button {
  display: block;
  width: 100%;
}
.btn_list .wp-block-button > .wp-block-button__link {
  min-width: inherit;
  min-height: 114px;
  background: var(--button-background-color);
  border-radius: var(--bdrs2);
  color: var(--button-text-color);
  line-height: var(--lh_other);
  font-weight: 500;
  text-align: left;
  padding: 8px 40px;
}
@media screen and (max-width: 767px) {
  .btn_list .wp-block-button > .wp-block-button__link {
    min-height: 80px;
    padding: 8px 20px;
  }
}
.btn_list .wp-block-button a[href] {
  position: relative;
}
.btn_list .wp-block-button a[href]::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  aspect-ratio: 1/1;
  width: 30px;
  border: 1px solid var(--c_blue1);
  border-radius: 100%;
  transform: translate(0, -50%) scale(0.7);
  opacity: 0;
}
.btn_list .wp-block-button a[href]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  transform: translate(0, -50%);
}
.btn_list .wp-block-button a:hover::before {
  transform: translate(0, -50%) scale(1);
  opacity: 1;
}

.btn_list:not(.anchor) .wp-block-button > .wp-block-button__link {
  justify-content: flex-start;
  font-size: 1.125rem;
  border: 1px solid var(--c_gray5);
}
.btn_list:not(.anchor) .wp-block-button a[href] {
  color: var(--c_blue1);
}

/* アンカーボタン */
@media screen and (max-width: 767px) {
  .anchor {
    margin-bottom: 60px;
  }
}
.anchor.btn_list {
  gap: 24px 12px;
  margin-top: 80px;
  margin-bottom: 120px;
}
@media screen and (min-width: 1025px) {
  .anchor.btn_list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1024px) {
  .anchor.btn_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .anchor.btn_list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 64px;
    margin-bottom: 80px;
    row-gap: 16px;
  }
}
@media screen and (max-width: 560px) {
  .anchor.btn_list {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .anchor .wp-block-button {
    max-width: 300px;
  }
}
.anchor .wp-block-button > .wp-block-button__link {
  min-height: 64px;
  font-size: 1rem;
  border: none;
}
.anchor .wp-block-button a[href*="#"]::after {
  transform: translate(0, -50%) rotate(90deg);
}

/*-------------------------
  CTA　お問い合わせ
-------------------------*/
.cta-contact {
  margin-top: var(--spacer3);
}
.cta-contact .dec {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 36px;
  color: var(--c_blue1);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: var(--lh_hd);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cta-contact .dec {
    column-gap: 16px;
    font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
  }
}
.cta-contact .dec::before, .cta-contact .dec::after {
  content: "";
  width: 2px;
  height: 1.5em;
  background: currentColor;
}
.cta-contact .dec::before {
  transform: rotate(-25deg);
}
.cta-contact .dec::after {
  transform: rotate(25deg);
}
.cta-contact .btn {
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .cta-contact .btn {
    margin-top: 16px;
  }
}
.cta-contact .btn .btn_inner {
  max-width: 486px;
  width: 100%;
  min-height: 88px;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .cta-contact .btn .btn_inner {
    min-height: 68px;
    font-size: min(calc(20 / var(--vp) * var(--vw)), 20px);
    padding: 0.25em 25px;
  }
}
.cta-contact .btn .btn_inner::before, .cta-contact .btn .btn_inner::after {
  right: 30px;
  width: 36px;
}
@media screen and (max-width: 767px) {
  .cta-contact .btn .btn_inner::before, .cta-contact .btn .btn_inner::after {
    right: 10px;
  }
}
.cta-contact .btn .btn_inner::after {
  background-position: center center;
  background-size: 15px auto;
}

/*-------------------------
	ソフトウェア・システムの開発事例
-------------------------*/
.software-case.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px 36px;
}
@container (max-width: 560px) {
  .software-case.wp-block-columns {
    grid-template-columns: repeat(1, 1fr);
  }
}
.software-case.wp-block-columns .wp-block-columns {
  gap: 16px 32px;
}
@container (max-width: 560px) {
  .software-case.wp-block-columns .wp-block-columns {
    row-gap: 16px;
  }
}
.software-case.wp-block-columns .wp-block-columns .wp-block-column {
  flex-grow: inherit;
  flex-basis: inherit;
}
@media screen and (min-width: 768px) {
  .software-case.wp-block-columns .wp-block-columns .wp-block-column:has(.wp-block-image) {
    flex: 1 0 auto;
    max-width: 280px;
    width: 46%;
  }
}
.software-case.wp-block-columns .wp-block-columns .wp-block-column:not(:has(.wp-block-image)) {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
@container (max-width: 560px) {
  .software-case.wp-block-columns .wp-block-columns .wp-block-column:not(:has(.wp-block-image)) {
    row-gap: 8px;
  }
}
.software-case.wp-block-columns p:has(a) {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: var(--lh_hd);
}
@container (max-width: 560px) {
  .software-case.wp-block-columns p:has(a) {
    font-size: 1.125rem;
  }
}
.software-case.wp-block-columns a {
  position: relative;
  display: block;
  padding-right: 32px;
}
@container (max-width: 560px) {
  .software-case.wp-block-columns a {
    display: inline-block;
  }
}
.software-case.wp-block-columns a::before, .software-case.wp-block-columns a::after {
  content: "";
  position: absolute;
  top: 0.75em;
  right: 0;
  aspect-ratio: 1/1 !important;
  width: 30px;
}
.software-case.wp-block-columns a::before {
  border: 1px solid var(--c_blue1);
  border-radius: 100%;
  transform: translate(0, -50%) scale(0.7);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .software-case.wp-block-columns a::before {
    display: none;
  }
}
.software-case.wp-block-columns a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 12px auto;
  background-position: center center;
  transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .software-case.wp-block-columns a:hover {
    filter: brightness(1) !important;
  }
}
.software-case.wp-block-columns a:hover::before {
  transform: translate(0, -50%) scale(1);
  opacity: 1;
}
.software-case.wp-block-columns .wp-block-image {
  border-radius: var(--bdrs2);
}
.software-case.wp-block-columns p:has(a[href*=⚠️]) {
  position: relative;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: flex-start;
}
.software-case.wp-block-columns p:has(a[href*=⚠️])::before {
  content: "⚠️";
  transform: scale(0.8);
  transform-origin: center center;
}

/*== Snow Monkey Blocks ブロックエディタテーマ ====================================================================================================*/
/*-------------------------
  共通
-------------------------*/
article .entry [class*=__body] > :where(:not(:first-child)), article .entry [class*=__summary] > :where(:not(:first-child)), .wp_editor [class*=__body] > :where(:not(:first-child)), .wp_editor [class*=__summary] > :where(:not(:first-child)), .block-editor-block-list__layout [class*=__body] > :where(:not(:first-child)), .block-editor-block-list__layout [class*=__summary] > :where(:not(:first-child)) {
  margin-top: 1em;
}

/*-------------------------
  ボタン
-------------------------*/
article .entry .smb-btn:hover, .wp_editor .smb-btn:hover, .block-editor-block-list__layout .smb-btn:hover {
  filter: brightness(100%);
}
article .entry .smb-btn, .wp_editor .smb-btn, .block-editor-block-list__layout .smb-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 240px;
  min-height: 48px;
  background: var(--button-background-color) !important;
  border: 1px solid var(--button-border-color) !important;
  border-radius: 100px;
  color: var(--button-text-color) !important;
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 8px 46px;
}
article .entry .smb-btn::before, .wp_editor .smb-btn::before, .block-editor-block-list__layout .smb-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  aspect-ratio: 1/1;
  width: 30px;
  border: 1px solid var(--c_blue1);
  border-radius: 100%;
  transform: translate(0, -50%) scale(0);
}
article .entry .smb-btn::after, .wp_editor .smb-btn::after, .block-editor-block-list__layout .smb-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  aspect-ratio: 16/17;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 17'%3E%3Cpath d='M16,8.97l-.528.523L7.445,17.47,6.387,16.421l6.754-6.709H0V8.229H13.142L6.387,1.518,7.445.47Z' transform='translate(0 -0.47)' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  transform: translate(0, -50%);
}
article .entry .smb-btn:hover::before, .wp_editor .smb-btn:hover::before, .block-editor-block-list__layout .smb-btn:hover::before {
  transform: translate(0, -50%) scale(1);
  animation: scale-bounce 300ms cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards !important;
}

/*-------------------------
  アコーディオン
-------------------------*/
article .entry .smb-accordion__item, .wp_editor .smb-accordion__item, .block-editor-block-list__layout .smb-accordion__item {
  --smb-accordion-item--background-color: var(--c_gray3);
  --smb-accordion-item--color: var(--c_text);
  --smb-accordion-item--padding: var(--smb-accordion--body-padding);
}
article .entry .smb-accordion__item__title, .wp_editor .smb-accordion__item__title, .block-editor-block-list__layout .smb-accordion__item__title {
  font-weight: 500;
}
article .entry .smb-accordion__item__title__icon, .wp_editor .smb-accordion__item__title__icon, .block-editor-block-list__layout .smb-accordion__item__title__icon {
  color: var(--c_blue1);
}

/*-------------------------
  アラート
-------------------------*/
article .entry .smb-alert, .wp_editor .smb-alert, .block-editor-block-list__layout .smb-alert {
  border-radius: var(--bdrs2);
  border: 1px solid #000;
  background: var(--c_white);
  padding: 0;
}
article .entry .smb-alert__title, .wp_editor .smb-alert__title, .block-editor-block-list__layout .smb-alert__title {
  background: #000;
  color: var(--c_white);
  font-size: 1.125rem;
  padding: 5px 24px;
  margin-bottom: 0;
}
article .entry .smb-alert__title svg, .wp_editor .smb-alert__title svg, .block-editor-block-list__layout .smb-alert__title svg {
  color: var(--c_white);
  height: 24px;
}
article .entry .smb-alert__body, .wp_editor .smb-alert__body, .block-editor-block-list__layout .smb-alert__body {
  color: var(--c_text);
  padding: 24px 48px;
}

/* ノーマル（デフォルト） */
article .entry .smb-alert, .wp_editor .smb-alert, .block-editor-block-list__layout .smb-alert {
  border-color: var(--c_blue1);
}
article .entry .smb-alert__title, .wp_editor .smb-alert__title, .block-editor-block-list__layout .smb-alert__title {
  background-color: var(--c_blue1);
}
/* ワーニング */
article .entry .smb-alert--warning, .wp_editor .smb-alert--warning, .block-editor-block-list__layout .smb-alert--warning {
  border-color: var(--c_red);
}
article .entry .smb-alert--warning .smb-alert__title, .wp_editor .smb-alert--warning .smb-alert__title, .block-editor-block-list__layout .smb-alert--warning .smb-alert__title {
  background-color: var(--c_red);
}
article .entry .smb-alert--warning .smb-alert__body, .wp_editor .smb-alert--warning .smb-alert__body, .block-editor-block-list__layout .smb-alert--warning .smb-alert__body {
  background-color: #fff6f6;
}

/* サクセス */
article .entry .smb-alert--success, .wp_editor .smb-alert--success, .block-editor-block-list__layout .smb-alert--success {
  border-color: #28c85b;
}
article .entry .smb-alert--success .smb-alert__title, .wp_editor .smb-alert--success .smb-alert__title, .block-editor-block-list__layout .smb-alert--success .smb-alert__title {
  background-color: #28c85b;
}
article .entry .smb-alert--success .smb-alert__body, .wp_editor .smb-alert--success .smb-alert__body, .block-editor-block-list__layout .smb-alert--success .smb-alert__body {
  background-color: #f5fef8;
}

/* リマーク */
article .entry .smb-alert--remark, .wp_editor .smb-alert--remark, .block-editor-block-list__layout .smb-alert--remark {
  border-color: var(--c_gray1);
}
article .entry .smb-alert--remark .smb-alert__title, .wp_editor .smb-alert--remark .smb-alert__title, .block-editor-block-list__layout .smb-alert--remark .smb-alert__title {
  background-color: var(--c_gray1);
}
article .entry .smb-alert--remark .smb-alert__body, .wp_editor .smb-alert--remark .smb-alert__body, .block-editor-block-list__layout .smb-alert--remark .smb-alert__body {
  background-color: var(--c_gray3);
}

/*-------------------------
  吹き出し
-------------------------*/
article .entry .smb-balloon, .wp_editor .smb-balloon, .block-editor-block-list__layout .smb-balloon {
  --smb-balloon--background-color: var(--c_white);
  --smb-balloon--border-color: var(--c_gray5);
  --smb-balloon--border-radius: var(--bdrs2);
  --smb-balloon--border-width: 1px;
}
article .entry .smb-balloon__body, .wp_editor .smb-balloon__body, .block-editor-block-list__layout .smb-balloon__body {
  background-color: var(--smb-balloon--background-color);
  border-color: var(--smb-balloon--border-color);
}

/*-------------------------
  ボックス
-------------------------*/
article .entry .smb-box, .wp_editor .smb-box, .block-editor-block-list__layout .smb-box {
  --smb-box--background-color: var(--c_white);
  --smb-box--border-color: transparent;
  --smb-box--border-width: 0px;
  --smb-box--border-radius: var(--bdrs2);
  --smb-box--color: inherit;
  --smb-box--padding: var(--spacer);
  font-size: 1rem;
}
/*-------------------------
  カスタムフィールド
-------------------------*/
/*-------------------------
  FAQ
-------------------------*/
article .entry .smb-faq, .wp_editor .smb-faq, .block-editor-block-list__layout .smb-faq {
  --smb-faq--question-color: var(--c_blue1);
  --smb-faq--border-color: var(--c_gray5);
}
article .entry .smb-faq, .wp_editor .smb-faq, .block-editor-block-list__layout .smb-faq {
  border-top: none;
}
article .entry .smb-faq .smb-faq__item:first-child, .wp_editor .smb-faq .smb-faq__item:first-child, .block-editor-block-list__layout .smb-faq .smb-faq__item:first-child {
  padding-top: 0;
}
article .entry .smb-faq__item, .wp_editor .smb-faq__item, .block-editor-block-list__layout .smb-faq__item {
  padding: 32px 0;
}
article .entry .smb-faq__item__question, .wp_editor .smb-faq__item__question, .block-editor-block-list__layout .smb-faq__item__question {
  align-items: flex-start;
  color: var(--smb-faq--question-color);
  font-size: 1.375rem;
  line-height: var(--lh_hd);
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  article .entry .smb-faq__item__question, .wp_editor .smb-faq__item__question, .block-editor-block-list__layout .smb-faq__item__question {
    font-size: 1.25rem;
  }
}
article .entry .smb-faq__item__question__label, .wp_editor .smb-faq__item__question__label, .block-editor-block-list__layout .smb-faq__item__question__label {
  display: flex;
  min-width: inherit;
  font-size: 100%;
  font-weight: 700;
  line-height: var(--lh_hd);
  margin: 0;
}
article .entry .smb-faq__item__question__label::after, .wp_editor .smb-faq__item__question__label::after, .block-editor-block-list__layout .smb-faq__item__question__label::after {
  content: "：";
}
article .entry .smb-faq__item__question__body, .wp_editor .smb-faq__item__question__body, .block-editor-block-list__layout .smb-faq__item__question__body {
  margin: 0;
}
article .entry .smb-faq__item__answer, .wp_editor .smb-faq__item__answer, .block-editor-block-list__layout .smb-faq__item__answer {
  font-size: 100%;
  line-height: var(--lh_other);
}
article .entry .smb-faq__item__answer__label, .wp_editor .smb-faq__item__answer__label, .block-editor-block-list__layout .smb-faq__item__answer__label {
  display: flex;
  min-width: inherit;
  font-size: 100%;
  line-height: var(--lh_other);
  margin: 0;
}
article .entry .smb-faq__item__answer__label::after, .wp_editor .smb-faq__item__answer__label::after, .block-editor-block-list__layout .smb-faq__item__answer__label::after {
  content: "：";
  display: inline-block;
  vertical-align: top;
}
article .entry .smb-faq__item__answer__body, .wp_editor .smb-faq__item__answer__body, .block-editor-block-list__layout .smb-faq__item__answer__body {
  margin: 0;
}

/*-------------------------
  続きを読むボックス
-------------------------*/
/* スタイル - テキスト */
article .entry .smb-read-more-box.is-style-text .smb-btn, .wp_editor .smb-read-more-box.is-style-text .smb-btn, .block-editor-block-list__layout .smb-read-more-box.is-style-text .smb-btn {
  min-width: inherit;
  min-height: auto;
  background: none !important;
  border: none !important;
  padding: 0;
}
article .entry .smb-read-more-box.is-style-text .smb-btn::before, article .entry .smb-read-more-box.is-style-text .smb-btn::after, .wp_editor .smb-read-more-box.is-style-text .smb-btn::before, .wp_editor .smb-read-more-box.is-style-text .smb-btn::after, .block-editor-block-list__layout .smb-read-more-box.is-style-text .smb-btn::before, .block-editor-block-list__layout .smb-read-more-box.is-style-text .smb-btn::after {
  display: none;
}
article .entry .smb-read-more-box.is-style-text .smb-btn:hover, .wp_editor .smb-read-more-box.is-style-text .smb-btn:hover, .block-editor-block-list__layout .smb-read-more-box.is-style-text .smb-btn:hover {
  filter: brightness(2);
}
article .entry .smb-read-more-box.is-style-text .smb-btn__label, .wp_editor .smb-read-more-box.is-style-text .smb-btn__label, .block-editor-block-list__layout .smb-read-more-box.is-style-text .smb-btn__label {
  color: var(--c_blue1);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/*-------------------------
  ステップ
-------------------------*/
article .entry .smb-step, .wp_editor .smb-step, .block-editor-block-list__layout .smb-step {
  --smb-step--border-color: var(--c_gray5);
  --smb-step--number-size: 2.5rem;
  --smb-step--number-background-color: var(--c_blue1);
  --smb-step--number-color: var(--c_white);
  --smb-step--title-color: var(--c_blue1);
}
article .entry .smb-step__item__title, .wp_editor .smb-step__item__title, .block-editor-block-list__layout .smb-step__item__title {
  font-size: 100%;
  line-height: var(--lh_hd);
}
article .entry .smb-step__item__number, .wp_editor .smb-step__item__number, .block-editor-block-list__layout .smb-step__item__number {
  top: 0;
  transform: translateY(-0.5em);
  font-size: 100%;
  font-weight: 700;
}
article .entry .smb-step__item__body, .wp_editor .smb-step__item__body, .block-editor-block-list__layout .smb-step__item__body {
  font-size: 1rem;
  line-height: var(--lh_other);
}
/*-------------------------
  タブ
-------------------------*/
.smb-tabs {
  --smb-tabs--background-color: var(--wp--preset--color--white);
  --smb-tabs--color: currentColor;
  --smb-tabs--border-color: var(--_light-color-gray);
  --smb-tabs--tab-background-color: #0000;
  --smb-tabs--tab-border-color: #0000;
  --smb-tabs--tab-border-radius: var(--_global--border-radius);
  --smb-tabs--tab-color: var(--c_text);
  --smb-tabs--style--line--accent-color: var(--c_blue1);
}

.smb-tabs__tab[aria-selected=true] {
  --smb-tabs--tab-background-color: var(--smb-tabs--background-color);
  --smb-tabs--tab-border-color: var(--smb-tabs--border-color);
  --smb-tabs--tab-color: var(--smb-tabs--color);
  color: var(--c_blue1);
  font-weight: 500;
}

/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	PAGE

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
/*== index ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ トップページ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
	メインビジュアル
-------------------------*/
#top-mainvisual .splide:not(.is-overflow) .splide__pagination {
  display: block;
  line-height: 1;
}
#top-mainvisual .splide__arrows {
  position: relative;
  max-width: 1100px;
  width: 100%;
  margin: 35px auto 0;
}
@media screen and (max-width: 767px) {
  #top-mainvisual .splide__arrows {
    justify-content: flex-start;
    padding: 0 20px;
    margin-top: 16px;
  }
}
#top-mainvisual .splide__arrow {
  border: none;
  box-shadow: none;
}
#top-mainvisual .splide__toggle {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  #top-mainvisual .splide__toggle {
    right: 20px;
  }
}
#top-mainvisual .splide__toggle > * {
  border: none;
  box-shadow: none;
}
@media screen and (min-width: 768px) {
  #top-mainvisual .splide__slide {
    width: 1100px !important;
  }
}
@container sidebar (max-width: 1100px) {}
#top-mainvisual .img {
  display: block;
}
@container sidebar (max-width: 1100px) {}
#top-mainvisual .img img {
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #top-mainvisual .img img {
    width: 100%;
    height: auto;
  }
}

/*-------------------------
	製品を探す
-------------------------*/
#top-products {
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  #top-products {
    padding-top: 24px;
  }
}

#sec_search .searchbox {
  background: var(--c_gray1);
  border-radius: var(--bdrs1);
  padding: 34px 67px;
}
@media screen and (max-width: 1024px) {
  #sec_search .searchbox {
    padding: 24px 30px 30px;
  }
}
#sec_search .searchbox dl {
  display: flex;
  gap: 64px;
}
@media screen and (max-width: 1024px) {
  #sec_search .searchbox dl {
    gap: 24px;
  }
}
@media screen and (max-width: 560px) {
  #sec_search .searchbox dl {
    flex-direction: column;
  }
}
#sec_search .searchbox dl > div {
  display: flex;
  /*
  display: grid;
  grid-template-columns: auto 1fr;
  */
  align-items: center;
  gap: 0 31px;
}
@media screen and (max-width: 1291px) {
  #sec_search .searchbox dl > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px 0;
  }
}
#sec_search .searchbox dt {
  display: flex;
  align-items: flex-end;
  column-gap: 16px;
  color: var(--c_white);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #sec_search .searchbox dt {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  #sec_search .searchbox dt {
    font-size: 1rem;
  }
}
#sec_search .searchbox dt small {
  display: inline-block;
  background: #667979;
  border-radius: var(--bdrs2);
  font-size: 0.75rem;
  line-height: 1;
  padding: 4px 8px;
}
#sec_search .searchbox dd {
  width: 267px;
}
@media screen and (max-width: 1291px) {
  #sec_search .searchbox dd {
    width: 100%;
  }
}
#sec_search .searchbox form {
  position: relative;
  display: block;
}
#sec_search .searchbox select,
#sec_search .searchbox input[type=text] {
  position: relative;
  border-radius: var(--bdrs1);
  border: none;
  width: 100%;
  height: 52px;
  font-size: 1rem;
  padding: 0.25em 15px;
}
@media screen and (max-width: 767px) {
  #sec_search .searchbox select,
#sec_search .searchbox input[type=text] {
    height: 44px;
  }
}
#sec_search .searchbox input[type=submit] {
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  aspect-ratio: 16/15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 15'%3E%3Cpath d='M14.372,14.717,11.04,11.335a6.435,6.435,0,0,1-4.533,1.871A6.563,6.563,0,0,1,0,6.6,6.563,6.563,0,0,1,6.507,0a6.563,6.563,0,0,1,6.506,6.6,6.639,6.639,0,0,1-.805,3.18l3.513,3.564a.979.979,0,0,1,0,1.369.944.944,0,0,1-1.348,0ZM1.907,6.6a4.639,4.639,0,0,0,4.6,4.668,4.669,4.669,0,0,0,0-9.336A4.639,4.639,0,0,0,1.907,6.6Z' fill='%23222222'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-color: transparent;
  border: none;
  box-shadow: none;
  appearance: none;
  font-size: 0;
  line-height: 0;
  transform: translate(-15px, -50%);
}

/*-------------------------
	カテゴリーから選ぶ（大カテゴリー）
	用途トピックス
-------------------------*/
@media screen and (max-width: 767px) {
  #top-products .column2_main,
#page_company .column2_main {
    padding-top: 64px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  #top-products .column2_main_inner,
#page_company .column2_main_inner {
    row-gap: 32px;
  }
}
#top-products .products_list,
#page_company .products_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px 20px;
}
@media screen and (max-width: 1200px) {
  #top-products .products_list,
#page_company .products_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1023px) {
  #top-products .products_list,
#page_company .products_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 560px) {
  #top-products .products_list,
#page_company .products_list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
  }
}
#top-products .products_list > li,
#page_company .products_list > li {
  /*
  flex: 1 0 auto;
  max-width: 310px;
  width: 100%;
  */
}
@media screen and (max-width: 1023px) {
  #top-products .products_list > li,
#page_company .products_list > li {
    flex: initial;
    max-width: inherit;
  }
}
#top-products .products_list > li::before,
#page_company .products_list > li::before {
  display: none;
}
#top-products .products_list a .products_list_item,
#page_company .products_list a .products_list_item {
  position: relative;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#top-products .products_list a .products_list_item::before, #top-products .products_list a .products_list_item::after,
#page_company .products_list a .products_list_item::before,
#page_company .products_list a .products_list_item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  aspect-ratio: 1/1;
  width: 30px;
  border-radius: 100%;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#top-products .products_list a .products_list_item::before,
#page_company .products_list a .products_list_item::before {
  border: 1px solid var(--c_blue1);
  transform: translateY(-50%) scale(0.7);
  opacity: 0;
}
#top-products .products_list a .products_list_item::after,
#page_company .products_list a .products_list_item::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-position: center center;
  background-size: 12px auto;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  #top-products .products_list a .products_name,
#page_company .products_list a .products_name {
    padding-right: 32px;
  }
}
#top-products .products_list a:hover .products_list_item,
#page_company .products_list a:hover .products_list_item {
  background-color: var(--c_white);
}
#top-products .products_list a:hover .products_list_item::before,
#page_company .products_list a:hover .products_list_item::before {
  transform: translateY(-50%) scale(1);
  opacity: 1;
}
#top-products .products_list_item,
#page_company .products_list_item {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
  align-items: center;
  height: 100%;
  min-height: 120px;
  background: var(--c_gray6);
  border-radius: var(--bdrs1);
  column-gap: 16px;
  padding: 18px 16px;
}
@media screen and (max-width: 767px) {
  #top-products .products_list_item,
#page_company .products_list_item {
    min-height: 80px;
    column-gap: 12px;
    padding: 6px;
  }
}
#top-products .products_list_item .post_img,
#page_company .products_list_item .post_img {
  grid-area: auto;
  width: 84px;
  aspect-ratio: 1/1;
  background-color: transparent;
  border-radius: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #top-products .products_list_item .post_img,
#page_company .products_list_item .post_img {
    width: 68px;
  }
}
#top-products .products_list_item .post_img::before,
#page_company .products_list_item .post_img::before {
  display: none;
}
#top-products .products_list_item .post_img img,
#page_company .products_list_item .post_img img {
  object-fit: cover;
}
#top-products .products_list_item .products_name,
#page_company .products_list_item .products_name {
  grid-area: auto;
  font-weight: 700;
  margin: 0;
}

/*-------------------------
	おすすめ製品
-------------------------*/
#top-recommend {
  padding: 120px var(--spacer2) 108px;
}
@media screen and (max-width: 767px) {
  #top-recommend {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}
#top-recommend .hd01 {
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  #top-recommend .hd01 {
    margin-bottom: 20px;
  }
}
#top-recommend .products_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 33px;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0;
}
@media screen and (max-width: 1200px) {
  #top-recommend .products_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1023px) {
  #top-recommend .products_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  #top-recommend .products_list {
    display: flex;
    column-gap: 0;
  }
}
@media screen and (max-width: 767px) {
  #top-recommend .products_list::after {
    content: "";
    display: block;
    padding-right: var(--spacer2);
  }
}
#top-recommend .products_list > * {
  min-width: inherit;
}
@media screen and (max-width: 767px) {
  #top-recommend .products_list > *:not(:first-child) {
    margin-left: 23px;
  }
}
@media screen and (max-width: 767px) {
  #top-recommend .products_list_item {
    width: 280px;
  }
}
@media screen and (max-width: 767px) {
  #top-recommend .products_list_item .post_img {
    margin-bottom: 12px;
  }
}
@media screen and (min-width: 768px) {
  #top-recommend .js-scrollable {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  #top-recommend .js-scrollable-inner {
    min-width: inherit;
    padding: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  #top-recommend .js-scrollable-inner {
    min-width: inherit;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  #top-recommend .btn {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  #top-recommend .btn {
    text-align: center;
    margin: 20px auto 0;
  }
}

/*-------------------------
	お知らせ
-------------------------*/
#top-news {
  background: var(--c_gray4);
  padding: 120px var(--spacer2);
}
@media screen and (max-width: 767px) {
  #top-news {
    padding: 48px var(--spacer2);
  }
}
@media screen and (min-width: 768px) {
  #top-news .innerWrap {
    display: grid;
    align-items: flex-start;
    gap: 0 64px;
    grid-template-columns: 18.154% 1fr;
    grid-template-rows: max-content 1fr;
  }
}
@media screen and (min-width: 768px) {
  #top-news .innerWrap > .hd01 {
    grid-area: 1/1/2/2;
    margin-bottom: 64px;
  }
}
@media screen and (min-width: 768px) {
  #top-news .innerWrap > .hd01::after {
    content: "";
    display: block;
    width: 36px;
    height: 1px;
    background: var(--c_blue1);
    margin-top: 16px;
  }
}
@media screen and (min-width: 768px) {
  #top-news .innerWrap > .news_list {
    grid-area: 1/2/3/3;
  }
}
@media screen and (min-width: 768px) {
  #top-news .innerWrap > .btn {
    grid-area: 2/1/3/2;
  }
}
@media screen and (max-width: 767px) {
  #top-news .hd01 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  #top-news .btn {
    margin-top: 32px;
    text-align: center;
  }
}
#top-news .btn .btn_inner {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #top-news .btn .btn_inner {
    padding-right: 35px;
  }
}
#top-news .btn._white .btn_inner {
  border: none;
}

/*== 404 ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 404
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sec404 {
  text-align: center;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  #sec404 {
    padding: 40px 0;
  }
}
#sec404 .text01 + * {
  margin-top: 2em;
}
#sec404 .btn {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #sec404 .btn {
    margin-top: 24px;
  }
}

/*== search ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 検索結果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_search .h2 {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  #page_search .h2 {
    font-size: 1.125rem;
    padding-bottom: 4px !important;
    margin-bottom: 40px;
  }
}
#page_search .h2 strong {
  color: var(--c_blue1);
  font-size: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #page_search .h2 strong {
    font-size: 2.25rem;
  }
}
#page_search .noresult {
  padding: 120px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #page_search .noresult {
    padding: 80px 0;
  }
}
#page_search .noresult .btn {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  #page_search .noresult .btn {
    margin-top: 40px;
  }
}
#page_search .products_list {
  column-gap: 24px;
}

/*== news ====================================================================================================*/
/* ローカル用スタイル */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ お知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.post_category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: var(--c_blue1);
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .post_category {
    gap: 8px 12px;
  }
}
.post_category > li:not(:has(a)),
.post_category > li:has(a) > a {
  display: inline-block;
  min-width: 88px;
  border: 1px solid currentColor;
  border-radius: var(--bdrs1);
  line-height: 1.429;
  text-align: center;
  padding: 0 4px;
}

/*-------------------------
  一覧パーツ
-------------------------*/
.news_list {
  display: grid;
  row-gap: 2px;
}
@media screen and (max-width: 767px) {
  .news_list {
    row-gap: 6px;
  }
}
.news_list > li {
  border-bottom: 1px solid var(--c_gray5);
}
.news_list > li:first-child .post_item {
  padding-top: 0;
}
.news_list > li:first-child a::before, .news_list > li:first-child a::after {
  top: -5px;
}
.news_list a, .news_list .post_title {
  position: relative;
}
.news_list a::before, .news_list a::after, .news_list .post_title::before, .news_list .post_title::after {
  content: "";
  position: absolute;
  width: 40px;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
@media screen and (max-width: 767px) {
  .news_list a::before, .news_list a::after, .news_list .post_title::before, .news_list .post_title::after {
    width: 32px;
  }
}
.news_list a::before, .news_list .post_title::before {
  border: 1px solid var(--c_blue1);
  aspect-ratio: 1/1;
  border-radius: 100%;
  transform: scale(0.7);
  opacity: 0;
}
.news_list a::after, .news_list .post_title::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M12,5.5,6.5,11,5.442,9.945l3.7-3.7H0V4.754H9.143l-3.7-3.7L6.5,0Z' fill='%23285BC8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px auto;
  aspect-ratio: 1/1;
}
.news_list a::before, .news_list a::after {
  top: 15px;
  right: 9px;
}
@media screen and (max-width: 767px) {
  .news_list a::before, .news_list a::after {
    display: none;
  }
}
.news_list a:hover::before, .news_list a:hover .post_title::before {
  transform: scale(1);
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .news_list a .post_item {
    padding-right: 56px;
  }
}
@media screen and (max-width: 767px) {
  .news_list a .post_title {
    padding-right: 32px;
  }
}
.news_list .post_title::before, .news_list .post_title::after {
  top: -4px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .news_list .post_title::before, .news_list .post_title::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .news_list .post_item {
    display: grid;
    grid-template-columns: 93px 88px 1fr;
    gap: 0 22px;
    padding: 19px 8px;
  }
}
@media screen and (max-width: 767px) {
  .news_list .post_item {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 10px 0;
  }
}
.news_list .post_item .post_date {
  line-height: 1.467;
}
@media screen and (min-width: 768px) {
  .news_list .post_item .post_date {
    grid-area: 1/1/2/2;
    padding: 5px 0;
  }
}
@media screen and (max-width: 767px) {
  .news_list .post_item .post_date {
    min-width: 83px;
  }
}
@media screen and (min-width: 768px) {
  .news_list .post_item .post_category {
    grid-area: 1/2/2/3;
    padding: 5px 0;
  }
}
@media screen and (min-width: 768px) {
  .news_list .post_item .post_title {
    grid-area: 1/3/2/4;
    padding: 4px 0;
  }
}
@media screen and (max-width: 767px) {
  .news_list .post_item .post_title {
    width: 100%;
  }
}
.news_list .post_date {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .news_list .post_category {
    flex-direction: column;
  }
}
.news_list .post_title {
  font-size: 1rem;
  line-height: var(--lh_hd);
}

/*-------------------------
  一覧ページ
-------------------------*/
.nav_category {
  margin-bottom: var(--spacer3);
}
.nav_category .post_category {
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .nav_category .post_category {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.nav_category .cat-item a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  min-height: 64px;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
@media screen and (max-width: 767px) {
  .nav_category .cat-item a {
    width: 100%;
    min-height: 48px;
    font-size: 0.9375rem;
  }
}
.nav_category .cat-item:not(.current-cat) a {
  background: var(--c_white);
  border-color: var(--c_white);
}
.nav_category .cat-item:not(.current-cat) a:hover {
  border-color: var(--c_blue1);
}
.nav_category .cat-item.current-cat a {
  background: var(--c_blue1);
  color: var(--c_white);
}

#page_news .wp-pagenavi {
  border-top: none;
  padding-top: 0;
  margin-top: var(--spacer2);
}
@media screen and (max-width: 767px) {
  #page_news .wp-pagenavi {
    margin-top: var(--spacer3);
  }
}

/*-------------------------
  記事詳細
-------------------------*/
.post_article .post_head {
  display: grid;
  align-items: center;
  grid-template-columns: max-content 1fr;
  gap: 8px 24px;
  border-bottom: 1px solid var(--c_gray5);
  padding-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .post_article .post_head {
    gap: 8px 17px;
    padding-bottom: 16px;
  }
}
.post_article .post_head > .pst_date {
  grid-area: 1/1/2/2;
}
.post_article .post_head > .post_category {
  grid-area: 1/2/2/3;
}
.post_article .post_head .post_title {
  grid-area: 2/1/3/3;
}
.post_article .post_date {
  font-size: 0.9375rem;
}
.post_article .post_title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: var(--lh_hd);
}
@media screen and (max-width: 767px) {
  .post_article .post_title {
    font-size: 1.75rem;
  }
}
.post_article .post_main {
  padding: 56px 0;
}
@media screen and (max-width: 767px) {
  .post_article .post_main {
    padding: 40px 0;
  }
}
.post_article .post_foot .navigation {
  text-align: center;
}

/*== products ====================================================================================================*/
/* ローカル用スタイル */
/*
.test_local #page_products {
	#infomation {
		background: #ffffdd;
	}
	#freearea {
		background: #ffdddd;
	}
	.column2_side {
		background: #ddddff;
	}
	.column2_main {
		background: #ddffdd;
	}
	table,
	.wp-block-table {
	}
}
*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 製品情報
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
  製品情報
-------------------------*/
#page_products.post .under_head {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  #page_products.post .under_head .innerWrap {
    display: grid;
    grid-template-columns: 1fr 40%;
    grid-template-rows: max-content 1fr;
    max-width: 1600px;
  }
}
#page_products.post .under_head .innerWrap::before {
  display: none;
}
@media screen and (min-width: 768px) {
  #page_products.post .under_head .innerWrap > .slide {
    grid-area: 1/2/2/3;
  }
}
@media screen and (min-width: 768px) {
  #page_products.post .under_head .innerWrap > .detail_wrap {
    grid-area: 1/1/3/2;
  }
}
@media screen and (min-width: 768px) {
  #page_products.post .under_head .innerWrap > .btn_wrap {
    grid-area: 2/2/3/3;
    margin-top: 40px;
    margin-bottom: auto;
  }
}
@media screen and (min-width: 768px) {
  #page_products.post .under_head .innerWrap > #freearea {
    grid-area: 3/1/4/3;
  }
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .slide {
    margin-bottom: 16px;
  }
}
#page_products.post .under_head .slide figure {
  display: block;
}
#page_products.post .under_head .slide .img {
  aspect-ratio: 4/3;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .slide .img {
    max-width: inherit;
  }
}
#page_products.post .under_head .slide .img img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#page_products.post .under_head .slide figcaption {
  display: block;
  font-size: 0.875rem;
  line-height: var(--lh_other);
  margin-top: 10px;
}
#page_products.post .under_head .detail_wrap {
  position: relative;
}
#page_products.post .under_head .category {
  line-height: var(--lh_other);
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .category {
    font-size: 0.875rem;
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 768px) {
  #page_products.post .under_head .list_icon.badge {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .list_icon.badge {
    margin: 8px 0;
  }
}
#page_products.post .under_head .pagetitle {
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  line-height: 1.4;
}
#page_products.post .under_head .products_name {
  font-size: 2.5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .products_name {
    font-size: 1.5rem;
  }
}
#page_products.post .under_head .products_code {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .products_code {
    font-size: 0.875rem;
    margin-top: 8px;
  }
}
#page_products.post .under_head .products_price {
  font-size: 1.125rem;
  margin: 16px 0 32px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .products_price {
    font-size: 1rem;
    margin: 8px 0 16px;
  }
}
#page_products.post .under_head .products_price small {
  color: var(--c_white);
}
#page_products.post .under_head .freearea {
  border-top: 1px solid var(--c_gray7);
  padding-top: 32px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .freearea {
    padding-top: 24px;
    margin-top: 24px;
  }
}
#page_products.post .under_head .lead {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: var(--lh_hd);
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .lead {
    font-size: 1.25rem;
  }
}
#page_products.post .under_head .stock {
  background: var(--c_gray7);
  border-radius: var(--bdrs1);
  font-weight: 700;
  line-height: var(--lh_other);
  padding: 16px 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .stock {
    padding: 14px 16px;
    margin-top: 24px;
  }
}
#page_products.post .under_head .btn_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 20px;
}
@media screen and (max-width: 1599px) {
  #page_products.post .under_head .btn_wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .btn_wrap {
    flex-direction: column;
    margin-top: 32px;
  }
}
#page_products.post .under_head .btn_wrap .btn {
  max-width: 310px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .btn_wrap .btn {
    max-width: calc(310 / var(--vp) * var(--vw));
  }
}
#page_products.post .under_head .btn_wrap .btn .btn_inner {
  width: 100%;
  min-height: 66px;
  font-size: 1.0625rem;
  font-weight: 500;
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .btn_wrap .btn .btn_inner {
    min-height: 54px;
  }
}
#page_products.post .under_head .btn_wrap .btn._mail span {
  position: static;
  padding-left: 0;
  padding-right: 0;
}
#page_products.post .under_head .btn_wrap .btn._mail span::before {
  left: 18px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .btn_wrap .btn._mail span::before {
    left: 20px;
  }
}
#page_products.post .under_head .btn_wrap .btn._catalog span {
  position: static;
  padding-left: 0;
  padding-right: 0;
}
#page_products.post .under_head .btn_wrap .btn._catalog span::before {
  left: 24px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head .btn_wrap .btn._catalog span::before {
    left: 20px;
  }
}
#page_products.post .under_head #freearea {
  border-top: 1px solid var(--c_gray7);
  font-weight: 500;
  padding-top: 56px;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  #page_products.post .under_head #freearea {
    padding-top: 24px;
    margin-top: 32px;
  }
}
#page_products.post .under_head h4.wp-block-heading {
  background-color: var(--c_white) !important;
  color: var(--c_gray1) !important;
}

/* 他でも使うパーツ */
.products_code {
  font-family: "Manrope", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  letter-spacing: calc(0em / 1000);
}

.products_price {
  color: var(--c_red1);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: var(--lh_hd);
}
.products_price strong {
  font-size: 1.125rem;
  font-weight: 700;
}
.products_price small {
  color: var(--c_text);
  font-size: 100%;
  font-weight: 400;
}

/* アイコン */
.list_icon {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: var(--lh_hd);
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .list_icon {
    font-size: 0.75rem;
  }
}
.list_icon li {
  display: inline-block;
  background: var(--c_gray7);
  border-radius: var(--bdrs1);
  color: var(--c_white);
  padding: 4px 12px;
}
@media screen and (max-width: 767px) {
  .list_icon li {
    padding: 1px 10px;
  }
}
.list_icon li .sales_end, .list_icon li.sales_end {
  background-color: var(--i_sales_end);
}
.list_icon li .support_end, .list_icon li.support_end {
  background-color: var(--i_support_end);
}
.list_icon li .new, .list_icon li.new {
  background-color: var(--i_new);
}
.list_icon li .recommend, .list_icon li.recommend {
  background-color: var(--i_recommend);
  font-size: 0;
  line-height: 0;
}
.list_icon li .recommend::before, .list_icon li.recommend::before {
  content: "おすすめ";
  align-self: center;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: var(--lh_hd);
}
@media screen and (max-width: 767px) {
  .list_icon li .recommend::before, .list_icon li.recommend::before {
    font-size: 0.75rem;
  }
}
.list_icon .post_icon-1 {
  background-color: var(--i_color1);
}
.list_icon .post_icon-2 {
  background-color: var(--i_color2);
}
.list_icon .post_icon-3 {
  background-color: var(--i_color3);
}
.list_icon .post_icon-4 {
  background-color: var(--i_color4);
}
.list_icon .post_icon-5 {
  background-color: var(--i_color5);
}
.list_icon .post_icon-6 {
  background-color: var(--i_color6);
}
.list_icon .post_icon-7 {
  background-color: var(--i_color7);
}
.list_icon .post_icon-8 {
  background-color: var(--i_color8);
}
.list_icon .post_icon-9 {
  background-color: var(--i_color9);
}
.list_icon .post_icon-10 {
  background-color: var(--i_color10);
}

.icon._badge {
  display: inline-block;
  background: var(--c_gray7);
  border-radius: var(--bdrs1);
  color: var(--c_white);
  padding: 4px 12px;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0px 10px;
}
@media screen and (max-width: 767px) {
  .icon._badge {
    padding: 1px 10px;
  }
}
.icon._badge .sales_end, .icon._badge.sales_end {
  background-color: var(--i_sales_end);
}
.icon._badge .support_end, .icon._badge.support_end {
  background-color: var(--i_support_end);
}
.icon._badge .new, .icon._badge.new {
  background-color: var(--i_new);
}
.icon._badge .recommend, .icon._badge.recommend {
  background-color: var(--i_recommend);
  font-size: 0;
  line-height: 0;
}
.icon._badge .recommend::before, .icon._badge.recommend::before {
  content: "おすすめ";
  align-self: center;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: var(--lh_hd);
}
@media screen and (max-width: 767px) {
  .icon._badge .recommend::before, .icon._badge.recommend::before {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .icon._badge {
    font-size: 0.75rem;
  }
}

/*== contact ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ CONTACT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
  入力画面
-------------------------*/
#page_contact article form > section:not(:first-of-type) {
  margin-top: var(--spacer3);
}
#page_contact .tel_wrap {
  max-width: 600px;
  width: 100%;
  margin: 56px auto;
}
@media screen and (max-width: 767px) {
  #page_contact .tel_wrap {
    margin: 32px auto;
  }
}

#demo_machine_service > div:not([class]) {
  background: var(--c_white);
  border-radius: var(--bdrs1);
  padding: var(--spacer) var(--spacer2);
}
#demo_machine_service .text-notes {
  margin-top: 6px;
  margin-bottom: 24px;
}

/*-------------------------
  入力フォーム
-------------------------*/
#page_contact #mailformpro .form > input[checked] {
  display: block;
  max-width: inherit;
  width: 100%;
  appearance: none;
  background: var(--c_gray5);
  font-size: 1rem;
  padding: 20px;
  margin-bottom: 1em;
}
#page_contact #mailformpro .form > input[checked]::before {
  content: "⚠️" attr(name) "：";
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .form > input[checked]::before {
    display: block;
    margin-bottom: 0.5em;
  }
}
#page_contact #mailformpro .form > input[checked]::after {
  content: attr(value);
}
#page_contact #mailformpro .form > input[checked] + .form_wrap {
  margin-top: 20px;
}
#page_contact #mailformpro .form_wrap {
  display: flex;
  flex-direction: column;
  row-gap: 0;
  line-height: 1.8;
}
#page_contact #mailformpro .form_item {
  border-bottom: 1px solid var(--c_gray5);
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .form_item {
    display: grid;
    grid-template-columns: 207px auto;
    grid-template-columns: 17.815% auto;
    gap: 0 73px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .form_item {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
    padding-left: 8px;
    padding-right: 8px;
  }
}
#page_contact #mailformpro .form_item:first-of-type {
  border-top: none;
  padding-top: 8px !important;
}
#page_contact #mailformpro .form_item:has(.item_main > input:first-child), #page_contact #mailformpro .form_item:has(.item_main > textarea:first-child), #page_contact #mailformpro .form_item:has(.item_main > .blk-date:first-child), #page_contact #mailformpro .form_item:has(.item_main > .blk-address:first-child), #page_contact #mailformpro .form_item:has(.item_main > .blk-attached:first-child) {
  padding-top: 28px;
  padding-bottom: 28px;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .form_item:has(.item_main > input:first-child), #page_contact #mailformpro .form_item:has(.item_main > textarea:first-child), #page_contact #mailformpro .form_item:has(.item_main > .blk-date:first-child), #page_contact #mailformpro .form_item:has(.item_main > .blk-address:first-child), #page_contact #mailformpro .form_item:has(.item_main > .blk-attached:first-child) {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .form_item:has(.item_main > input:first-child) .item_title, #page_contact #mailformpro .form_item:has(.item_main > textarea:first-child) .item_title, #page_contact #mailformpro .form_item:has(.item_main > .blk-date:first-child) .item_title, #page_contact #mailformpro .form_item:has(.item_main > .blk-address:first-child) .item_title, #page_contact #mailformpro .form_item:has(.item_main > .blk-attached:first-child) .item_title {
    padding-top: 14.5px;
  }
}
#page_contact #mailformpro .form_item:has(.item_main > p:first-child), #page_contact #mailformpro .form_item:has(.item_main > .list:first-child) {
  padding-top: 28px;
  padding-bottom: 28px;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .form_item:has(.item_main > p:first-child), #page_contact #mailformpro .form_item:has(.item_main > .list:first-child) {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
#page_contact #mailformpro .item_title {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .item_title {
    display: grid;
    grid-template-columns: 1fr max-content;
    font-size: 1.0625rem;
  }
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .item_title {
    display: flex;
    column-gap: 1em;
  }
}
#page_contact #mailformpro .item_title .required {
  margin-top: 0.25em;
}
#page_contact #mailformpro .item_main {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .item_main > dl:not(.flex) > .pcflex {
    column-gap: var(--spacer);
  }
}
#page_contact #mailformpro .item_main > dl.flex {
  column-gap: var(--spacer);
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .item_main > dl.flex {
    column-gap: 16px;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .item_main > dl.flex .pcflex {
    display: grid;
    grid-template-columns: max-content 1fr;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .item_main > dl.flex .pcflex > dt {
    grid-area: 1/1/2/2;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .item_main > dl.flex .pcflex > dd {
    grid-area: 1/2/2/3;
    width: 240px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #page_contact #mailformpro .item_main > dl.flex .pcflex > dd {
    width: inherit;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .item_main > dl.flex .pcflex > div {
    grid-area: 2/1/3/3;
  }
}
#page_contact #mailformpro .flex {
  align-items: flex-start;
  column-gap: 1em;
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .pcflex {
    display: flex;
    align-items: center;
    column-gap: 1em;
  }
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .pcflex dt {
    margin-bottom: 8px;
  }
}
#page_contact #mailformpro .list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 40px;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .list {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px 0;
  }
}
#page_contact #mailformpro .required {
  align-self: flex-start;
  display: inline-block;
  background: var(--c_blue1);
  border-radius: var(--bdrs1);
  color: var(--c_white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.3223em 0.608em;
}
#page_contact #mailformpro label > span {
  padding-left: 1.75em;
}
#page_contact #mailformpro label > span::before {
  top: 5px;
  bottom: auto;
  width: 1.125em;
  height: auto;
  aspect-ratio: 1/1;
  border-color: var(--c_gray2);
  margin: 0;
}
#page_contact #mailformpro label input[type=radio] ~ span:after {
  top: 8px;
  left: 0.1875em;
  width: 0.75em;
  height: auto;
  aspect-ratio: 1/1;
  bottom: auto;
  margin: 0;
  background-color: var(--c_blue1);
}
#page_contact #mailformpro label input[type=checkbox] ~ span:after {
  top: 8px;
  bottom: auto;
  left: 6px;
  width: 0.4em;
  height: 0.6em;
  bottom: auto;
  margin: 0;
  border-color: var(--c_blue1);
}
#page_contact #mailformpro input {
  max-width: 700px;
  text-align: left !important;
}
#page_contact #mailformpro select {
  background-color: var(--c_white);
}
#page_contact #mailformpro textarea {
  margin-right: -20px;
  width: auto;
}
#page_contact #mailformpro .sizeSS {
  width: 80px;
}
#page_contact #mailformpro .sizeS {
  width: 180px;
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .sizeM {
    width: 240px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #page_contact #mailformpro .sizeM {
    max-width: 240px;
    width: 100%;
  }
}
#page_contact #mailformpro .sizeL {
  max-width: 420px;
}
#page_contact #mailformpro .sizeXL {
  max-width: 620px;
}
#page_contact #mailformpro .time {
  align-items: center;
  column-gap: 24px;
}
#page_contact #mailformpro .time:has(input[type=tel]) {
  column-gap: 1em;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .time:has(input[type=tel]) {
    column-gap: 0.5em;
  }
}
#page_contact #mailformpro .time input[type=tel],
#page_contact #mailformpro .time select.sizeSS {
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .time input[type=tel],
#page_contact #mailformpro .time select.sizeSS {
    margin-right: 0.5em;
  }
}
#page_contact #mailformpro .blk-date {
  display: grid;
  row-gap: 1em;
}
#page_contact #mailformpro .blk-date > .pcflex {
  column-gap: 0 !important;
}
@media screen and (max-width: 1023px) {
  #page_contact #mailformpro .blk-date > .pcflex {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-date dt {
    width: 73px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #page_contact #mailformpro .blk-date dt {
    padding-top: 12px;
  }
}
@media screen and (max-width: 1023px) {
  #page_contact #mailformpro .blk-date dd > .pcflex {
    display: grid;
    row-gap: 8px;
  }
}
#page_contact #mailformpro .blk-address dl {
  display: grid;
  row-gap: 1em;
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-address dl > .pcflex > div + div {
    margin-left: calc(40px - 1em);
  }
}
@media screen and (max-width: 1320px) {
  #page_contact #mailformpro .blk-address dl > .pcflex > div + div {
    margin-left: 0;
    margin-top: 1em;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-address dl > .pcflex .pcflex {
    display: grid;
    grid-template-columns: max-content 1fr;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-address dl > .pcflex .pcflex > dt {
    grid-area: 1/1/2/2;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-address dl > .pcflex .pcflex > dd {
    grid-area: 1/2/2/3;
    width: 240px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #page_contact #mailformpro .blk-address dl > .pcflex .pcflex > dd {
    width: inherit;
  }
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-address dl > .pcflex .pcflex > div {
    grid-area: 2/1/3/3;
  }
}
@media screen and (max-width: 1320px) {
  #page_contact #mailformpro .blk-address dl .flex + .pcflex {
    flex-direction: column;
    align-items: flex-start;
  }
}
#page_contact #mailformpro .blk-address dt {
  flex: 1 0 auto;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .blk-address dt {
    justify-content: space-between;
    width: 145px;
    column-gap: 1em;
  }
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .blk-address dt {
    column-gap: 1em;
  }
}
#page_contact #mailformpro .blk-address dt .required {
  align-self: center;
}
#page_contact #mailformpro .blk-address dd {
  width: 100%;
}
#page_contact #mailformpro .blk-attached > *:not(:first-child):not(.mfp_err) {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .blk-attached > *:not(:first-child):not(.mfp_err) {
    margin-top: 16px;
  }
}
#page_contact #mailformpro .mfp_attached_filelist {
  max-width: 680px;
  border-color: var(--c_gray5);
  border-radius: var(--bdrs2);
  border: none;
  padding: 0;
}
#page_contact #mailformpro .mfp_attached_filelist ul {
  display: grid;
  padding: 0;
}
#page_contact #mailformpro .mfp_draganddrop {
  max-width: 680px;
  height: 210px;
  border: 2px dashed var(--c_gray2);
  border-radius: 11px;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .mfp_draganddrop {
    display: none;
    height: 160px;
    background-size: auto 60%;
  }
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .mfp_attached_reset.btn {
    margin-top: 16px;
  }
}
#page_contact #mailformpro .mfp_attached_reset.btn .btn_inner {
  padding-left: 32px;
  padding-right: 32px;
  transition: all 0.25s ease;
  transition: all 0.25s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.25s cubic-bezier(0.5, 0.8, 0.5, 1);
}
#page_contact #mailformpro .mfp_attached_reset.btn .btn_inner:hover {
  filter: brightness(0.8);
}
#page_contact #mailformpro .mfp_err {
  color: var(--c_red);
  margin-top: calc(1em - 8px);
}
#page_contact #mailformpro .mfp_err + .mfp_err {
  margin-top: 0;
}
#page_contact #mailformpro .form_privacy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--c_gray6);
  border-radius: var(--bdrs3);
  padding: 40px;
  margin-top: var(--spacer);
}
#page_contact #mailformpro .form_privacy a {
  color: var(--c_link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#page_contact #mailformpro .form_privacy a:hover {
  filter: brightness(2);
}
#page_contact #mailformpro .form_privacy label {
  line-height: 1.125;
  margin-top: 24px;
}
#page_contact #mailformpro .form_privacy label input[type=checkbox] ~ span::before {
  top: 0;
}
#page_contact #mailformpro .form_privacy label input[type=checkbox] ~ span:after {
  top: 3px;
  left: 0.4em;
}
#page_contact #mailformpro .check {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.5;
}
#page_contact #mailformpro .submit.btn {
  text-align: center;
  margin-top: var(--spacer);
}
#page_contact #mailformpro .submit.btn .btn_inner {
  max-width: 312px;
  width: 100%;
  min-height: 74px;
  font-size: 1.125rem;
}

#page_contact #mailformpro .select_block {
  background: var(--c_gray6);
  border-radius: var(--bdrs3);
  padding: var(--spacer);
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  #page_contact #mailformpro .select_block {
    margin-top: 16px;
    padding: var(--spacer2) 16px;
  }
}
#page_contact #mailformpro .select_block .form_item {
  border-bottom-color: var(--c_white);
}
@media screen and (min-width: 768px) {
  #page_contact #mailformpro .select_block .form_item {
    max-width: 1162px;
    width: 100%;
    grid-template-columns: 207px auto;
    grid-template-columns: 17.815% auto;
    padding-left: 0;
    padding-right: 0;
  }
}
#page_contact #mailformpro .select_block .form_item:first-child {
  padding-top: 0 !important;
}
/*-------------------------
  確認画面
-------------------------*/
#mfp_phase_confirm .h5 {
  margin-bottom: 40px;
}
#mfp_phase_confirm #mfp_confirm_table {
  display: flex;
  flex-direction: column;
  row-gap: 0;
  font-size: 1rem;
  line-height: 1.8;
}
#mfp_phase_confirm #mfp_confirm_table tr {
  border-bottom: 1px solid var(--c_gray5);
  margin: 0;
}
@media screen and (min-width: 768px) {
  #mfp_phase_confirm #mfp_confirm_table tr {
    display: grid;
    grid-template-columns: 207px auto;
    grid-template-columns: 17.815% auto;
    gap: 0 73px;
    padding: 28px 20px;
  }
}
@media screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_confirm_table tr {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
    padding: 16px 8px;
  }
}
#mfp_phase_confirm #mfp_confirm_table tr:first-of-type {
  border-top: none;
  padding-top: 8px !important;
}
#mfp_phase_confirm #mfp_confirm_table th {
  width: auto;
  font-size: 1.0625rem;
  font-weight: 500;
}
#mfp_phase_confirm .mfp_buttons {
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  gap: 0 var(--spacer);
  margin-top: var(--spacer);
}
#mfp_phase_confirm .mfp_buttons > * {
  max-width: 312px;
  width: 100%;
}
#mfp_phase_confirm .mfp_buttons .btn_inner {
  width: 100%;
  font-size: 100%;
}
@media screen and (min-width: 768px) {
  #mfp_phase_confirm .mfp_buttons .btn_inner {
    min-height: 74px;
  }
}
@media screen and (max-width: 767px) {
  #mfp_phase_confirm .mfp_buttons .btn_inner span {
    min-width: inherit;
  }
}
/*-------------------------
  完了画面
-------------------------*/
#sec_contact_thanks {
  padding: 0;
}
#sec_contact_thanks #mfp_thanks {
  font-size: 100%;
  font-weight: 500;
  text-align: center;
  padding: 0;
  margin-bottom: var(--spacer);
}
#sec_contact_thanks #mfp_thanks strong {
  color: var(--c_blue1);
  font-size: 100%;
}
#sec_contact_thanks #mfp_thanks + div#mfp_thanks {
  display: none;
}
#sec_contact_thanks .btn {
  text-align: center;
  margin-top: var(--spacer);
}

/*== policy ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ プライバシーポリシー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_policy .wp-block-heading:not(:first-child) {
  margin-top: var(--spacer3);
}

/*== download-software ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ ソフトウェア・アプリダウンロード
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_download-software .column2_main_inner > section:not(#sec_search) {
  display: grid;
  row-gap: 40px;
}
@media screen and (max-width: 767px) {
  #page_download-software .column2_main_inner > section:not(#sec_search) {
    row-gap: 24px;
  }
}
#page_download-software .column2_main_inner > section:not(#sec_search) h2, #page_download-software .column2_main_inner > section:not(#sec_search) h3, #page_download-software .column2_main_inner > section:not(#sec_search) h4 {
  margin-bottom: 0;
}
#page_download-software .table2 tbody th {
  max-width: 390px;
}
#page_download-software .table2 tbody td .list_icon.badge {
  display: inline-flex;
  margin-left: 16px;
  line-height: inherit;
}
#page_download-software .table2 tbody td .list_icon.badge li {
  font-size: 0.875rem;
  padding: 0 10px;
}

/*-------------------------
  記事詳細
-------------------------*/
#page_download-software .post_head {
  display: block;
  border: none;
  padding: 0;
  margin: 0;
}
#page_download-software .post_head .category {
  font-size: 1rem;
  line-height: var(--lh_other);
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  #page_download-software .post_head .category {
    font-size: 0.875rem;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  #page_download-software .post_head .post_title {
    font-size: 1.5rem;
  }
}
#page_download-software .post_head .list_icon {
  font-size: 0.875rem;
  margin-top: 16px;
}
#page_download-software .post_head ._bg-black {
  width: 100%;
  background-color: var(--c_gray1);
  border-radius: var(--bdrs1);
  color: var(--c_white);
  padding: 32px 56px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #page_download-software .post_head ._bg-black {
    padding: 24px;
  }
}

#page_download-software .post_main {
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  #page_download-software .post_main {
    padding: 24px 0;
  }
}

#page_download-software .post_foot {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #page_download-software .post_foot {
    margin-top: 24px;
  }
}

/*== technicalsupport ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ テクニカルサポートデスク
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*== warranty ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 品質保証規定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_warranty .wp-block-heading:has(+ p) {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  #page_warranty .wp-block-heading:has(+ p) {
    margin-bottom: 16px;
  }
}

/*== company ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 会社概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_company .wp-block-columns {
  gap: 0 80px;
  margin-bottom: 96px;
}
@media screen and (max-width: 767px) {
  #page_company .wp-block-columns {
    row-gap: 24px;
    margin-top: 8px;
    margin-bottom: 40px;
  }
}
#page_company .wp-block-columns .wp-block-column:has(.wp-block-image) {
  flex: 1 0 auto;
  max-width: 420px;
  width: 32.308%;
}
@media screen and (max-width: 767px) {
  #page_company .wp-block-columns .wp-block-column:has(.wp-block-image) {
    max-width: 260px;
    margin: 0 auto;
  }
}
#page_company .wp-block-columns .wp-block-column:not(:has(.wp-block-image)) {
  flex: 0 1 auto;
  width: 100%;
}
#page_company .wp-block-columns .wp-block-column > :where(:not(:first-child)) {
  margin-top: 2em;
}
#page_company .wp-block-columns .wp-block-column .wp-block-list {
  margin-top: 8px;
}
#page_company .wp-block-columns .wp-block-list {
  font-weight: 600;
}

/*== iso9001 ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 品質マネジメントシステム　ISO9001
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_iso9001 p:has(+ .hd02) {
  font-size: 1.25rem;
  font-weight: 500;
}
#page_iso9001 p + .hd02 {
  margin-top: 16px;
}
#page_iso9001 .wp-block-columns {
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #page_iso9001 .wp-block-columns {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 767px) {
  #page_iso9001 .wp-block-columns .wp-block-image {
    text-align: center;
  }
}
/*== overseas ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ 海外拠点のご案内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_overseas .wp-block-gallery,
#page_showroom .wp-block-gallery {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  #page_overseas .wp-block-gallery,
#page_showroom .wp-block-gallery {
    flex-wrap: wrap;
  }
}
#page_overseas .wp-block-gallery .wp-block-image,
#page_showroom .wp-block-gallery .wp-block-image {
  flex-grow: inherit;
  width: auto !important;
}
#page_overseas .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a, #page_overseas .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img,
#page_showroom .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
#page_showroom .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  object-fit: contain;
  max-height: 300px;
}
@media screen and (max-width: 767px) {
  #page_overseas .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a, #page_overseas .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img,
#page_showroom .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
#page_showroom .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
    max-height: 150px;
  }
}

/*== showroom ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ ショールームのご案内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_showroom .wp-block-columns:has(.wp-block-column[style="flex-basis:246px"]) {
  gap: 36px 40px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #page_showroom .wp-block-columns:has(.wp-block-column[style="flex-basis:246px"]) {
    flex-direction: column;
    row-gap: 16px;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  #page_showroom .wp-block-column[style="flex-basis:246px"] .wp-block-image {
    max-width: 166px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*== software-development ====================================================================================================*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■ ソフトウェア開発
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_software-development .intro {
  justify-content: space-between;
  column-gap: 40px;
}
@media screen and (max-width: 767px) {
  #page_software-development .intro {
    flex-direction: column-reverse;
    row-gap: 24px;
  }
}
#page_software-development .intro .wp-block-column {
  flex-grow: inherit;
  flex-basis: inherit;
}
#page_software-development .intro .wp-block-column:not(:has(.wp-block-image)) {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #page_software-development .intro .wp-block-column:not(:has(.wp-block-image)) {
    width: 37.231%;
    row-gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .intro .wp-block-column:not(:has(.wp-block-image)) {
    row-gap: 16px;
  }
}
#page_software-development .intro .wp-block-column:not(:has(.wp-block-image)) .has-large-font-size {
  --text-large-size: 30;
  --ratio-large: var(--text-large-size) / var(--text_size);
  line-height: var(--lh_other);
}
@media screen and (max-width: 767px) {
  #page_software-development .intro .wp-block-column:not(:has(.wp-block-image)) .has-large-font-size {
    --text-large-size: 24;
    line-height: var(--lh_hd);
  }
}
@media screen and (min-width: 768px) {
  #page_software-development .intro .wp-block-column:has(.wp-block-image) {
    width: 55.616%;
  }
}
#page_software-development .intro .wp-block-image {
  border-radius: var(--bdrs2);
}
#page_software-development .onayami {
  margin-top: var(--spacer3);
}
#page_software-development .onayami .before::after {
  content: "";
  display: block;
  height: 48px;
  aspect-ratio: 4.6667;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: var(--c_blue1);
  margin: var(--spacer) auto 0;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before::after {
    height: 21px;
    margin-top: 10px;
  }
}
#page_software-development .onayami .before .hd {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 30px;
  color: var(--c_blue1);
  font-size: 1.875rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before .hd {
    column-gap: 0px;
    font-size: min(calc(22 / var(--vp) * var(--vw)), 22px);
    margin-bottom: 16px;
  }
}
#page_software-development .onayami .before .hd::before, #page_software-development .onayami .before .hd::after {
  content: "";
  width: 137px;
  height: 1px;
  background: currentColor;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before .hd::before, #page_software-development .onayami .before .hd::after {
    width: 24px;
  }
}
#page_software-development .onayami .before .box {
  position: relative;
  background: var(--c_gray6);
  border: 2px solid var(--c_blue1);
  border-radius: var(--bdrs2);
  padding: 50px 67px;
}
@container (max-width: 1200px) {
  #page_software-development .onayami .before .box {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before .box {
    justify-content: flex-start;
    padding: 24px;
  }
}
#page_software-development .onayami .before .illust {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(67px, 2px);
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before .illust {
    display: none;
  }
}
#page_software-development .onayami .before ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px 40px;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: var(--lh_other);
}
@container (max-width: 1200px) {
  #page_software-development .onayami .before ul {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before ul {
    font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
  }
}
#page_software-development .onayami .before ul li {
  background: url(../img/icon-checkbox.png) no-repeat left 0.15em;
  background-size: 28px auto;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .before ul li {
    background-position: left top;
  }
}
#page_software-development .onayami .after {
  position: relative;
  background: var(--c_blue1);
  border-radius: var(--bdrs2);
  padding: 75px 56px 88px;
  margin-top: var(--spacer);
}
@container (max-width: 1100px) {
  #page_software-development .onayami .after {
    z-index: 0;
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after {
    padding: 32px 15px 48px;
    margin-top: 10px;
  }
}
#page_software-development .onayami .after .hd {
  display: flex;
  justify-content: center;
  column-gap: 34px;
  color: var(--c_white);
  font-size: 2.125rem;
  font-weight: 600;
  line-height: var(--lh_hd);
  text-align: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .hd {
    align-items: flex-end;
    column-gap: 24px;
    font-size: 1.625rem;
    margin-bottom: 16px;
  }
}
#page_software-development .onayami .after .hd::before, #page_software-development .onayami .after .hd::after {
  content: "";
  position: relative;
  top: 0.75em;
  width: 2px;
  height: 1.25em;
  background: currentColor;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .hd::before, #page_software-development .onayami .after .hd::after {
    top: auto;
    width: 3px;
    height: 1.8em;
  }
}
#page_software-development .onayami .after .hd::before {
  transform: translateY(-50%) rotate(-25deg);
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .hd::before {
    transform: translateY(-0.45em) rotate(-25deg);
  }
}
#page_software-development .onayami .after .hd::after {
  transform: translateY(-50%) rotate(25deg);
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .hd::after {
    transform: translateY(-0.45em) rotate(25deg);
  }
}
#page_software-development .onayami .after .hd .dot {
  background-image: radial-gradient(circle at center, var(--c_white) 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
  padding-top: 0.25em; /* 縦方向の位置調整 */
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .hd .dot {
    padding-top: 0.125em;
  }
}
#page_software-development .onayami .after .illust {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-32px, -23px);
}
@container (max-width: 1100px) {
  #page_software-development .onayami .after .illust {
    z-index: -1;
    transform: translate(5px, -75%);
    clip-path: polygon(0 0, 100% 0, 100% 75%, 0 75%);
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .illust img {
    width: 92px;
    height: auto;
  }
}
#page_software-development .onayami .after dl {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@container (max-width: 1200px) {
  #page_software-development .onayami .after dl {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 48px;
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after dl {
    row-gap: 16px;
  }
}
@container (max-width: 1200px) {
  #page_software-development .onayami .after dl > div {
    width: calc(50% - 24px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after dl > div {
    width: 100%;
  }
}
#page_software-development .onayami .after dt {
  color: var(--c_white);
  font-size: 1.25rem;
  line-height: 1;
  padding: 0 10px;
  margin-bottom: -0.275em;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after dt {
    font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
  }
}
#page_software-development .onayami .after dt .num {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after dt .num {
    font-size: min(calc(36 / var(--vp) * var(--vw)), 36px);
  }
}
#page_software-development .onayami .after dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  background: var(--c_white);
  border-radius: 16px;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: var(--lh_other);
  text-align: center;
  padding: 24px 10px;
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after dd {
    min-height: inherit;
    font-size: min(calc(18 / var(--vp) * var(--vw)), 18px);
  }
}
#page_software-development .onayami .after .marker {
  text-decoration: underline;
  text-decoration-thickness: 1.2em;
  text-decoration-color: var(--c_yellow2);
  text-underline-offset: -1em;
  text-decoration-skip-ink: none;
}
#page_software-development .onayami .after .copy {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 20px;
  color: var(--c_white);
  font-size: 2.125rem;
  text-align: center;
  font-weight: 600;
  line-height: 1.4;
  margin-top: var(--spacer);
}
@media screen and (max-width: 767px) {
  #page_software-development .onayami .after .copy {
    column-gap: 11px;
    font-size: min(calc(26 / var(--vp) * var(--vw)), 26px);
    text-align: center;
    margin-top: 28px;
  }
}
#page_software-development .onayami .after .copy::before, #page_software-development .onayami .after .copy::after {
  content: "";
  aspect-ratio: 1/1;
  width: 27px;
  background: url(../img/icon-sparkle.svg) no-repeat left top;
  background-size: 100% auto;
  transform: translateY(8px);
}
#page_software-development .onayami .after .copy > span {
  border-bottom: 2px solid currentColor;
  padding-bottom: 6px;
}