@charset "utf-8";
/* このCSSは、グループページ、フリーページ、商品ページ使えます */
:root{
  --l-sec-spc: var(--sec-spc, clamp( 60px, 8vw, 100px));
  --l-bg-c-main: var(--bg-c-gray, #f2f2f2);
  --l-theme-c-main: var(--theme-c-main);
  --l-theme-c-sub: var(--c-black);
  --l-txt-c-base: var(--txt-c-base, #2c2c2c);
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: var(--c-white);
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
}

.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}
.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}

/* l-heading */
.l-heading{
  display: flex;
  flex-direction: column;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 768px){
  .l-heading{
    font-size: var(--fz-25, 25px);
    margin-bottom: var(--spc-30, 30px);
  }
}
@media screen and (max-width: 767px){
  .l-heading{
    font-size: 19px;
    margin-bottom: 20px;
  }
}

/* l-subHeading */
.l-subHeading{
  display: flex;
  flex-direction: column;
  text-align: left;
  font-weight: 500;
}
.l-heading+.l-subHeading::before{
  content: none;
}
@media screen and (min-width: 768px){
  .l-subHeading{
    font-size: var(--fz-18, 18px);
  }
  .l-heading+.l-subHeading{
    margin-top: -10px;
  }
}
@media screen and (max-width: 767px){
  .l-subHeading{
    font-size: 16px;
  }
  .l-heading+.l-subHeading{
    margin-top: -5px;
  }
}

/* l-cols */
@media screen and (min-width: 768px){
  .l-cols{
    display: flex;
    gap: var(--spc-30);
  }
  .l-cols__item{
    flex: 1;
  }
}
@media screen and (max-width: 767px){
  .l-cols{
    display: grid !important;
    gap: 20px;
  }
}

/* l-figure */
.l-figure{
  margin-bottom: 0;
}
.l-figure.wp-block-image{
  margin-bottom: 0;
}
.l-figure img{
  height: auto;
  width: 100%;
  box-sizing: unset;
  line-height: 1rem;
  display: block;
}
.l-figure figcaption{
  text-align: center;
  font-size: clamp( 11px, 1vw, 12px);
  margin-top: var(--spc-10, 10px);
  margin-bottom: 0;
}
*+.l-figure,
*+.l-figure.wp-block-image{
  margin-top: 20px;
}

/* l-paragraph */
.l-paragraph{
  font-size: clamp(13px, 1.4vw, 15px);
  margin-top: clamp( 15px, 1.7vw, 20px);
  letter-spacing: 0.1em;
}
.l-cols .l-paragraph{
  font-size: clamp(12px, 1.3vw, 14px);
}
.l-paragraph--sm{
  font-size: clamp(12px, 1.3vw, 14px);
  margin-top: clamp( 10px, 1.2vw, 15px);
}
.l-paragraph--lg{
  font-size: clamp(16px, 1.7vw, 18px);
  margin-top: clamp( 20px, 2.3vw, 30px);
}
.l-paragraph[class*="center"]{
  text-align: center;
}
.l-paragraph[class*="right"]{
  text-align: right;
}
/* l-btn */
.l-btn{
  display: block !important;
  width: 100%;
  line-height: 1.4;
}
.l-btn :is(a,.wp-block-button__link){
  display: flex;
  justify-content: center;
  align-items: center;
	font-weight: var(--fw-base);
	font-size: 14px;
	letter-spacing: 0.2em;
  background-color: var(--c-white) !important;
	border: 1px solid var(--l-txt-c-base);
  border-radius: 8px;
  text-align: center;
  position: relative;
  transition:
    background-color var(--duration-hover) var(--easing-hover),
    border-color var(--duration-hover) var(--easing-hover),
    color var(--duration-hover) var(--easing-hover),
    opacity var(--duration-hover) var(--easing-hover);
}
.l-btn a:after,
.l-btn .wp-block-button__link:after{
	content: "";
	display: inline-block;
	width: 13px;
	aspect-ratio: 12.191 / 9.898;
	background: var(--data-icon-btn-arrow-bk) no-repeat center / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (min-width: 768px){
  .l-btn{
    width: 100%;
    max-width: 300px;
    margin: var(--spc-50) auto 0;
  }
  .l-btn :is(a,.wp-block-button__link){
    min-height: 54px;
	padding-inline: 36px;
	font-size: 18px;
  }
  .l-btn a:after,
  .l-btn .wp-block-button__link:after{
	  width: 13px;
		right: 16px;
  }
}
@media screen and (max-width: 767px){
  .l-btn{
    width: 100%;
    max-width: 250px;
    margin: 20px auto 0;
  }
  .l-btn :is(a,.wp-block-button__link){
    min-height: 45px;
	padding-inline: 30px;
  }
  .l-btn a:after,
  .l-btn .wp-block-button__link:after{
	  width: 11px;
		right: 10px;
  }
}
.l-btn .wp-block-button{
  display: block;
  width: 100%;
}
.l-btn .wp-block-button__link{
  color: unset;
  background: unset;
}
/* Match the site's g-btn arrow for Gutenberg's nested Buttons block. */
.l-btn.wp-block-buttons .wp-block-button__link::after {
  width: 13px;
  aspect-ratio: 12.191 / 9.898;
  right: 16px;
  background: var(--data-icon-btn-arrow-bk) no-repeat center / contain;
  mask: none;
  -webkit-mask: none;
}
.l-btn.wp-block-buttons:is(.l-freeBtn--color1, .l-freeBtn--color2) .wp-block-button__link::after {
  background-image: var(--data-icon-btn-arrow-wh);
}
/* l-freeBtn */
.l-freeBtn--color1.l-btn :is(a,.wp-block-button__link){
  background-color: var(--l-theme-c-main) !important;
  border: 1px solid var(--l-theme-c-main) !important;
  color: var(--c-white) !important;
}
.l-freeBtn--color1.l-btn a:after,
.l-freeBtn--color1.l-btn .wp-block-button__link:after,
.l-freeBtn--color2.l-btn a:after,
.l-freeBtn--color2.l-btn .wp-block-button__link:after{
	background-image: var(--data-icon-btn-arrow-wh);
}
.l-freeBtn--color2.l-btn :is(a,.wp-block-button__link){
  background-color: var(--l-theme-c-sub) !important;
  border: 1px solid var(--l-theme-c-sub) !important;
  color: var(--c-white) !important;
}
@media (hover: hover){
  .l-btn :is(a:hover,.wp-block-button__link:hover){
    opacity: 1;
    background-color: var(--theme-c-main) !important;
    border-color: transparent !important;
    color: var(--c-white) !important;
  }
  .l-freeBtn--color1.l-btn :is(a:hover, .wp-block-button__link:hover) {
    background-color: var(--c-black) !important;
    border-color: var(--c-black) !important;
  }
  .l-freeBtn--color2.l-btn :is(a:hover, .wp-block-button__link:hover) {
    background-color: var(--theme-c-main) !important;
    border-color: var(--theme-c-main) !important;
  }
  .l-btn :is(a:hover, .wp-block-button__link:hover)::after,
  .l-btn.wp-block-buttons:is(.l-freeBtn--color1, .l-freeBtn--color2) .wp-block-button__link:hover::after {
    background-image: var(--data-icon-btn-arrow-wh) !important;
  }
}
@media screen and (min-width: 768px){
  .l-freeBtn.l-btn[class*="left"]{
    margin: var(--spc-50) 0 0 0 !important;
  }
  .l-freeBtn.l-btn[class*="right"]{
    margin: var(--spc-50) 0 0 auto !important;
  }
}
@media screen and (max-width: 767px){
  .l-freeBtn.l-btn[class*="left"]{
    margin: 20px 0 0 0;
  }
  .l-freeBtn.l-btn[class*="right"]{
    margin: 20px 0 0 auto;
  }
}
/* l-txtLink */
.l-txtLink{
  display: flex;
  margin-top: 20px;
}
.l-txtLink[class*="center"]{
  justify-content: center;
}
.l-txtLink[class*="right"]{
  justify-content: flex-end;
}
.l-txtLink :is(a,.wp-block-button__link){
  background: unset;
  color: var(--l-theme-c-main);
  text-decoration: underline;
  display: block;
  width: fit-content;
  padding: 0 30px;
}
@media (hover: hover){
  .l-txtLink a:hover{
    text-decoration: underline;
  }
}

/* l-slick */
.l-slick{
  display: block !important;
  opacity: 0;
	transition: opacity .3s linear;
  --slick-arrow-size: clamp(30px, 3.2vw, 40px);
}
.l-slick.slick-initialized,
.l-slick.block-editor-block-list__block{
  opacity: 1;
}
.l-slick__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  padding: 0;
  border: 0;
  background-color: var(--c-black);
  background-image: unset;
  border-radius: 0;
  aspect-ratio: 1;
  width: var(--slick-arrow-size);
  height: var(--slick-arrow-size);
  z-index: 2;
}
.l-slick__arrow::before{
  content: "";
  display: inline-block;
  --this-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M29.09 1.82L10.91 20L29.09 38.18' fill='none' stroke='black' stroke-width='5.14'/%3E%3C/svg%3E") no-repeat center center / 48%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--c-white);
  aspect-ratio: 1/1;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.l-slick__arrow--prev{
  left: -10px;
}
.l-slick__arrow--next{
  right: -10px;
  transform: translateY(-50%) rotate(180deg);
}
@media (hover: hover){
  .l-slick__arrow:hover{
    cursor: pointer;
    opacity: 0.7;
  }
  .l-slick__arrow {
    transition: var(--duration-hover) var(--easing-hover);
  }
}
@media screen and (min-width: 768px){
  .l-slick{
    padding-inline: var(--spc-40);
  }
  .l-slick__arrow{
    width: var(--spc-40);
  }
  .l-slick__arrow::before{
    mask-size: 50%;
    -webkit-mask-size: 50%;
  }
}
@media screen and (max-width: 767px){
  .l-slick{
    padding-inline: 30px;
  }
  .l-slick__arrow{
    width: 30px;
    height: 30px;
  }
  .l-slick__arrow::before{
    mask-size: 55%;
    -webkit-mask-size: 55%;
  }
}
.block-editor-block-list__block.l-figure.l-slideTxt__slide__item{
  margin-bottom: 20px;
}

/* l-slideTxt */
.l-slideTxt{
  margin-bottom: var(--l-sec-spc);
}
.l-slideTxt__slide{
  margin-top: 20px;
}
.l-slideTxt__slide.is-layout-flex{
  display: block;
}

/* l-imgTxt */
.l-imgTxt{
  margin-bottom: var(--l-sec-spc);
}

/* l-txt */
.l-txt{
  margin-bottom: var(--l-sec-spc);
}

/* l-img2Txt */
.l-img2Txt{
  margin-bottom: var(--l-sec-spc);
}

/* l-card2Col */
.l-card2Col{
  margin-bottom: var(--l-sec-spc);
}
.l-card2Col .l-subHeading{
  text-align: center;
}
.l-card2Col .l-subHeading::before{
  content: none;
}
.l-card2Col .l-figure{
  margin-bottom: 20px;
}
@media screen and (max-width: 767px){
  .l-card2Col .l-cols{
    gap: 40px;
  }
}
/* l-card3Col */
.l-card3Col{
  margin-bottom: var(--l-sec-spc);
}
.l-card3Col .l-subHeading{
  text-align: center;
}
.l-card3Col .l-subHeading::before{
  content: none;
}
.l-card3Col .l-figure{
  margin-bottom: 20px;
}
@media screen and (max-width: 767px){
  .l-card3Col .l-cols{
    gap: 40px;
  }
}

/* l-tileImgs */
.l-tileImgs{
  margin-bottom: var(--l-sec-spc);
}
.l-tileImgs .l-cols{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: var(--spc-20);
}
.l-tileImgs .l-cols__item .wp-block{
  margin-bottom: 0;
  margin-top: 0;
}


/* l-colTxtImgRight */
.l-colTxtImgRight{
  margin-bottom: var(--l-sec-spc);
}
@media screen and (min-width: 768px){
  .l-colTxtImgRight.l-cols{
    align-items: flex-start;
  }
}

/* l-colTxtImgLeft */
.l-colTxtImgLeft{
  margin-bottom: var(--l-sec-spc);
}
@media screen and (min-width: 768px){
  .l-colTxtImgLeft.l-cols{
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px){
  .l-colTxtImgLeft.l-cols{
    display: flex;
    flex-direction: column-reverse;
  }
}

/* l-bgBox */
.l-bgBox{
  background-color: var(--l-bg-c-main);
  margin-bottom: var(--l-sec-spc);
  border-radius: 8px;
}

/* l-bdBox */
.l-bdBox{
  border: 1px solid var(--l-txt-c-base);
  padding: 24px;
  margin-bottom: var(--l-sec-spc);
  border-radius: 8px;
}

/* l-mediaTxt */
.l-mediaTxt{
  margin-bottom: var(--l-sec-spc);
}
.l-mediaTxt .l-subHeading::before{
  content: none;
}
@media screen and (min-width: 768px){
  .l-mediaTxt .l-cols{
    margin-bottom: var(--spc-50);
  }
  .l-mediaTxt .l-btn{
    margin: var(--spc-30) auto 0 0;
  }
  .l-mediaTxt .l-cols__item:first-child{
    flex: unset;
    flex-grow: unset !important;
    flex-basis: unset !important;
    width: 300px;
  }
}
@media screen and (max-width: 767px){
  .l-mediaTxt .l-cols{
    margin-bottom: 40px;
  }
  .l-mediaTxt .l-figure{
    width: 60%;
    margin-inline: auto;
  }
}

/* l-mediaLargeTxt */
.l-mediaLargeTxt{
  margin-bottom: var(--l-sec-spc);
}
.l-mediaLargeTxt .l-subHeading::before{
  content: none;
}
@media screen and (min-width: 768px){
  .l-mediaLargeTxt .l-cols{
    margin-bottom: var(--spc-50);
  }
  .l-mediaLargeTxt .l-btn{
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 767px){
  .l-mediaLargeTxt .l-cols{
    margin-bottom: 40px;
  }
}

/* l-tileColBg */
.l-tileColBg{
  --this-gap: 8px;
  --this-padding: clamp( 15px, 1.7vw, 20px);
  margin-bottom: var(--l-sec-spc);
}
.l-tileColBg .l-heading{
  background-color: var(--l-bg-c-main);
  margin-bottom: var(--this-gap);
  padding: var(--this-padding);
  text-align: left;
}
.l-tileColBg .l-subHeading{
  text-align: left;
  margin: 0;
}
.l-tileColBg .l-heading::before,
.l-tileColBg .l-subHeading::before{
  content: none;
}
.l-tileColBg .l-cols{
  gap: var(--this-gap);
  margin-top: 0;
  margin-bottom: var(--this-gap);
  align-items: stretch;
}
.l-tileColBg .l-cols__item{
  background-color: var(--l-bg-c-main);
  display: flex;
  align-items: center;
  padding: var(--this-padding);
}
.l-tileColBg .l-paragraph{
  margin-top: 0;
}
@media screen and (min-width: 768px){
  .l-tileColBg .l-cols__item:first-child{
    flex: unset;
    flex-grow: unset !important;
    flex-basis: unset !important;
    width: 300px;
  }
}


/* l-tileColWhite */
.l-tileColWhite{
  --this-gap: 8px;
  --this-padding: clamp( 15px, 1.7vw, 20px);
  margin-bottom: var(--l-sec-spc);
}
.l-tileColWhite .l-heading{
  margin-bottom: var(--this-gap);
  padding: var(--this-padding);
  border-bottom: 1px solid var(--l-txt-c-base);
  text-align: left;
}
.l-tileColWhite .l-subHeading{
  text-align: left;
  margin: 0;
}
.l-tileColWhite .l-heading::before,
.l-tileColWhite .l-subHeading::before{
  content: none;
}
.l-tileColWhite .l-cols{
  gap: var(--this-gap);
  margin-top: 0;
  margin-bottom: var(--this-gap);
  align-items: stretch;
}
.l-tileColWhite .l-cols__item{
  display: flex;
  align-items: center;
  padding: var(--this-padding);
}
.l-tileColWhite .l-paragraph{
  margin-top: 0;
}
@media screen and (min-width: 768px){
  .l-tileColWhite .l-cols__item:first-child{
    flex: unset;
    flex-grow: unset !important;
    flex-basis: unset !important;
    width: 300px;
  }
}


/* l-readMore */
.l-readMore{
  margin-bottom: var(--l-sec-spc);
}
.l-readMore .l-cols{
  border: 1px solid var(--l-txt-c-base);
  padding: clamp( 20px, 2.5vw, 30px) clamp( 15px, 2vw, 30px);
}
.l-readMore .l-cols+.l-cols{
  margin-top: clamp( 20px, 2.5vw, 30px);
}
.l-readMore .l-subHeading::before{
  content: none;
}
.l-readMore p:has(a){
  margin-top: clamp( 15px, 1.7vw, 20px);
}
.l-readMore p:has(a) a{
  color: var(--l-theme-c-main);
  text-decoration: underline;
}
.l-readMore p:has(a)[class*="center"]{
  text-align: center;
}
.l-readMore p:has(a)[class*="left"]{
  text-align: left;
}
.l-readMore p:has(a)[class*="right"]{
  text-align: right;
}
.l-readMore .wp-block{
  margin: 0;
}
@media screen and (min-width: 768px){
  .l-readMore .l-cols{
    align-items: flex-start;
  }
  .l-readMore .l-cols .l-cols__item:first-child{
    flex: unset;
    width: 300px;
  }
}
/* l-readMore--ttlOnBox */
.l-readMore--ttlOnBox{
  position: relative;
}
.l-readMore--ttlOnBox .l-cols{
  border-radius: 8px;
  padding-top: clamp( 35px, 4vw, 50px);
}
.l-readMore--ttlOnBox .l-heading{
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  left: clamp( 15px, 2vw, 30px);
  width: max-content;
  max-width: calc(100% - 30px);
  margin: 0;
  background-color: var(--c-white);
  padding-inline: 15px;
  padding-block: 0;
  border: 0;
  z-index: 2;
}
.l-readMore--ttlOnBox .l-heading::before{
  content: none;
}
.l-readMore--ttlOnBox :is(ul,ol).l-freeList{
  margin-bottom: 0;
}

/* .l-list--ttlOnBox */
.l-list--ttlOnBox{
  border-radius: 8px;
  border: 1px solid var(--l-txt-c-base);
  padding: clamp(20px, 2.5vw, 30px) clamp(15px, 2vw, 30px);
  padding-top: clamp( 35px, 4vw, 50px);
  position: relative;
}
.block-editor-block-list__block.l-list--ttlOnBox .l-heading{
  transform: translateY(-180%);
}

/* l-readMore--labelHeading */
.l-readMore--labelHeading .l-heading{
  margin-bottom: 0;
  background-color: var(--l-theme-c-main);
  color: var(--c-white);
  padding-block: clamp( 10px, 1.2vw, 15px);
}
.l-readMore--labelHeading .l-heading::before{
  content: none;
}
.l-readMore--labelHeading .l-cols{
  border-top: none;
}

/* l-tileCol--readMore */
.l-tileCol--readMore{
  position: relative;
  display: grid;
  overflow: hidden;
}
.l-tileCol--readMore.is-active{
  max-height: none;
}
.l-btn--readMore{
  position: absolute;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.l-tileCol--readMore.is-active .l-btn--readMore{
  display: none !important;
}
.l-tileCol--readMore::after{
  height: 200px;
  content: "";
  display: inline-block;
  background: linear-gradient(180deg, transparent 0%, var(--c-white) 100%);
  z-index: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.l-tileCol--readMore.is-active::after{
  display: none;
}
.l-btn--readMore a::after,
.l-btn--readMore .wp-block-button__link:after{
  top: 45%;
  transform: rotate(90deg) translateY(-50%);
  transform-origin: 0 0;
}
.l-tileColReadMoreContainer{
  gap: 0px;
}
.l-tileColReadMoreContainer .l-heading{
  width: 100%;
}
@media screen and (min-width: 768px){
  .l-tileCol--readMore{
    max-height: 900px;
  }
  .l-tileColReadMoreContainer:not(:first-child){
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px){
  .l-tileCol--readMore{
    max-height: 1200px;
  }
  .l-tileColReadMoreContainer:not(:first-child){
    margin-top: 40px;
  }
}
.block-editor-block-list__block.l-tileCol--readMore{
  max-height: none;
}
.block-editor-block-list__block.l-tileCol--readMore::after{
  content: none;
}
.block-editor-block-list__block.l-btn--readMore{
  position: static;
  bottom: unset;
  left: unset;
  transform: unset;
}

/* l-freeTtl */
.l-freeTtl{
  margin-bottom: 30px;
}
.l-freeTtl--bg{
  border-left: 5px solid var(--l-theme-c-main);
  background: var(--l-bg-c-main);
}
.l-freeTtl--bd{
  border: 3px double var(--l-txt-c-base);
  border-left: none;
  border-right: none;
}
.l-freeTtl--bdl{
  border-left: 5px solid #72645F;
}
.l-freeTtl--ballon mark{
  display: block;
  text-align: center;
  color: var(--c-white);
  padding-block: 10px;
  position: relative;
}
.l-freeTtl--ballon mark::after{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: inherit;
  aspect-ratio: 15/10;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  width: 30px;
  height: 15px;
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px){
  h2.l-freeTtl{
    font-size: 20px;
  }
  h3.l-freeTtl{
    font-size: 18px;
  }
  h2.l-freeTtl--bg{
    padding: 15px 20px;
    margin-bottom: 30px;
  }
  h2.l-freeTtl--bd{
    padding: 15px 20px;
    margin-bottom: 30px;
  }
  h2.l-freeTtl--bdl{
    padding: 10px 20px;
    margin-bottom: 30px;
  }
  h3.l-freeTtl--bg{
    padding: 10px 20px;
    margin-bottom: 25px;
  }
  h3.l-freeTtl--bd{
    padding: 10px 20px;
    margin-bottom: 25px;
  }
  h3.l-freeTtl--bdl{
    padding: 10px 20px;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 767px){
  h2.l-freeTtl{
    font-size: 18px;
  }
  h3.l-freeTtl{
    font-size: 16px;
  }
  h2.l-freeTtl--bg{
    padding: 10px 15px;
    margin-bottom: 20px;
  }
  h2.l-freeTtl--bd{
    padding: 10px 15px;
    margin-bottom: 20px;
  }
  h2.l-freeTtl--bdl{
    padding: 10px 15px;
    margin-bottom: 20px;
  }
  h3.l-freeTtl--bg{
    padding: 10px 15px;
    margin-bottom: 15px;
  }
  h3.l-freeTtl--bd{
    padding: 10px 15px;
    margin-bottom: 15px;
  }
  h3.l-freeTtl--bdl{
    padding: 10px 15px;
    margin-bottom: 15px;
  }
}

/* l-balloon */
.l-balloon{
  margin-bottom: var(--l-sec-spc);
  align-items: flex-start;
}
.l-balloon--r{
  flex-direction: row-reverse;
}
.l-balloon .l-figure img{
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
}
.l-balloon__figure{
  flex-basis: unset !important;
  flex-grow: unset !important;
  flex: unset;
}
.l-balloon__txt{
  flex: 1;
  --this-bg-color: var(--l-bg-c-main);
  background-color: var(--this-bg-color);
  border-radius: 10px;
  padding: clamp( 15px, 2.5vw, 30px);
  position: relative;
}
.l-balloon__txt::before{
  content: "";
  display: inline-block;
  background: var(--this-bg-color);
  aspect-ratio: 15 / 18;
  position: absolute;
}
.l-balloon--l .l-balloon__txt::before{
  right: 100%;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.l-balloon--r .l-balloon__txt::before{
  left: 100%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.l-balloon__txt .l-paragraph{
  margin-top: 0;
}
@media screen and (min-width: 768px){
  .l-balloon{
    gap: var(--spc-50);
  }
  .l-balloon__figure{
    width: 150px;
  }
  .l-balloon__txt::before{
    width: 25px;
    top: 30px;
  }
}
@media screen and (max-width: 767px){
  .l-balloon.l-cols{
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 30px;
  }
  .l-balloon__figure{
    width: 60px;
    flex-basis: unset !important;
  }
  .wp-block-columns > .wp-block-column.l-cols__item.l-balloon__figure{
    flex-basis: unset !important;
  }
  .l-balloon__txt::before{
    width: 15px;
    top: 25px;
  }
  .l-balloon__txt .l-paragraph{
    font-size: 12px;
  }
}

/* youtubeと動画 */
figure:has(iframe[src*="https://www.youtube.com/embed/"]),
figure:has(video){
  margin-bottom: var(--l-sec-spc);
}
figure :is(iframe[src*="https://www.youtube.com/embed/"],video){
  display: block;
  width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}

/* l-imgBox */
.l-imgBox{
  margin-bottom: var(--l-sec-spc);
  padding: 24px;
  border-width: clamp( 1px, 0.3vw, 4px);
  position: relative;
}
.l-imgBox .l-figure{
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  left: clamp( 15px, 2.5vw, 30px);
  z-index: 2;
  width: 50px;
}
.l-imgBox .l-figure img{
  aspect-ratio: 1/1;
  object-fit: cover;
}
.l-imgBox .l-paragraph{
  margin-top: 0;
}
.l-imgBox--double{
  border-style: double;
  border-color: var(--l-txt-c-base);
}
.l-imgBox--thick{
  border-style: solid;
  border-color: var(--l-theme-c-main);
}
.l-imgBox--dashed{
  border-style: dashed;
  border-color: var(--l-theme-c-main);
}


/* l-quote */
blockquote.l-quote{
  border-left: 7px solid var(--l-theme-c-main);
  background-color: var(--l-bg-c-main);
  position: relative;
  margin-bottom: var(--l-sec-spc);
}
blockquote.l-quote::before{
  content: "“";
  font-family: '游ゴシック体', 'Yu Gothic', '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'メイリオ', Meiryo, sans-serif;
  position: absolute;
  color: var(--l-theme-c-main);
  line-height: 1;
}
blockquote.l-quote::after{
  content: none;
}
blockquote.l-quote cite{
  display: block;
  text-align: right;
  margin-top: 20px;
  font-size: 12px;
}
blockquote.l-quote cite::before{
  content: "";
  display: inline-block;
  background: var(--l-txt-c-base);
  width: 50px;
  height: 1px;
  margin-right: 10px;
  vertical-align: middle;
}
@media screen and (min-width: 768px){
  blockquote.l-quote{
    padding: 30px 30px 30px 70px;
  }
  blockquote.l-quote::before{
    font-size: 80px;
    top: 10px;
    left: 20px;
  }
}
@media screen and (max-width: 767px){
  blockquote.l-quote{
    padding: 20px 20px 20px 60px;
  }
  blockquote.l-quote::before{
    font-size: 80px;
    top: 10px;
    left: 10px;
  }
}

/* l-freeList */
:is(ul,ol).l-freeList{
  margin-bottom: var(--l-sec-spc);
}
:is(ul,ol).l-freeList *::marker{
  font-size: 0;
}
ol.l-freeList--num{
  counter-reset: original-counter;
}
:is(ul,ol).l-freeList li{
  position: relative;
}
:is(ul,ol).l-freeList li:not(:last-child){
  margin-bottom: clamp( 10px, 1.3vw, 15px);
}
:is(ul,ol).l-freeList--check li::before,
ol.l-freeList--num li::before{
  line-height: 0;
  display: block;
  position: absolute;
  left: 0;
  background-color: var(--l-theme-c-main);
  color: var(--c-white);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;

  text-align: center;
}
:is(ul,ol).l-freeList--check li::before{
  content: "✔";
}
ol.l-freeList--num li::before{
  content: ''counter(original-counter);
  counter-increment: original-counter;
}
@media screen and (min-width: 768px){
  :is(ul,ol).l-freeList li{
    padding-left: 40px;
  }
  :is(ul,ol).l-freeList--check li::before,
  ol.l-freeList--num li::before{
    top: 0px;
    width: 25px;
    font-size: 12px;
  }
}
@media screen and (max-width: 767px){
  :is(ul,ol).l-freeList li{
    padding-left: 30px;
  }
  :is(ul,ol).l-freeList--check li::before,
  ol.l-freeList--num li::before{
    top: 3px;
    width: 20px;
    font-size: 12px;
  }
}


/* l-productList__list */
.l-productList{
  margin-bottom: var(--l-sec-spc);
}
.l-productList__list{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--this-item-width), 1fr));
  gap: 20px !important;
}
.l-productList :where(.is-layout-flex){
  gap: 0;
}
.l-productList__item__thumb{
  margin-bottom: 10px !important;
}
.l-productList__item__thumb img{
  aspect-ratio: 1/1;
  object-fit: cover;
}
.l-productList__item__price{
  margin-top: 10px !important;
  text-align: right;
}
.l-productList__item__price::before{
  content: "¥";
}
.l-productList__item__link{
  width: 100%;
  justify-content: center;
  margin-top: 10px !important;
}
.l-productList__item__link a{
  display: block;
  width: 100% !important;
  text-align: center;
  padding: 0 !important;
  font-size: 12px;
}
@media screen and (min-width: 768px){
  .l-productList__list{
    --this-item-width: 160px;
  }
}
@media screen and (max-width: 767px){
  .l-productList__list{
    --this-item-width: 140px;
  }
}

/* カテゴリコンテンツ雛形 */

/* カテゴリ説明の雛形。既存ページへ組み込んでも影響が広がらないように限定する。 */
body:has(.categoryTemplate__introMedia) {
  margin: 0;
}
body:has(.categoryTemplate__introMedia) > main {
  --ct-ink: #242424;
  --ct-muted: #707070;
  --ct-line: #d1d1d1;
  --ct-paper: #fff;
  --ct-beige: #f0eee6;
  --ct-red: #8b0412;
  max-width: var(--pc-maw-ss);
  margin-inline: auto;
  box-sizing: border-box;
  color: var(--ct-ink);
  font-family: var(--ff-base);
  font-size: var(--fz-16);
  font-weight: 500;
  letter-spacing: var(--ls-default);
  line-height: 1.75;
}
body:has(.categoryTemplate__introMedia) > main *,
body:has(.categoryTemplate__introMedia) > main *::before,
body:has(.categoryTemplate__introMedia) > main *::after {
  box-sizing: inherit;
}
body:has(.categoryTemplate__introMedia) > main h1,
body:has(.categoryTemplate__introMedia) > main h2,
body:has(.categoryTemplate__introMedia) > main h3,
body:has(.categoryTemplate__introMedia) > main p:not(.l-freeBtn):not(.l-btn):not(.l-productList__item__name):not(.l-productList__item__price),
body:has(.categoryTemplate__introMedia) > main figure,
body:has(.categoryTemplate__introMedia) > main ol,
body:has(.categoryTemplate__introMedia) > main ul {
  margin: 0;
}
body:has(.categoryTemplate__introMedia) > main ol,
body:has(.categoryTemplate__introMedia) > main ul {
  padding: 0;
  list-style: none;
}
body:has(.categoryTemplate__introMedia) > main img {
  display: block;
  width: 100%;
  height: auto;
}
:is(.categoryTemplate__explanation, .categoryTemplate__tileSection, .categoryTemplate__ranking, .categoryTemplate__points, .categoryTemplate__faq, .categoryTemplate__season) > .categoryTemplate__narrow > h2,
.categoryTemplate__explanation h2,
.categoryTemplate__intro h2 {
  font-family: var(--ff-mincho);
  font-weight: 500;
  letter-spacing: 0;
}
.categoryTemplate__intro,
.categoryTemplate__explanation,
.categoryTemplate__tileSection,
.categoryTemplate__ranking,
.categoryTemplate__points,
.categoryTemplate__faq,
.categoryTemplate__season {
  padding-block: 80px;
}
.categoryTemplate__narrow {
  width: min(100% - 48px, 880px);
  margin-inline: auto;
}
:is(.categoryTemplate__explanation, .categoryTemplate__tileSection, .categoryTemplate__ranking, .categoryTemplate__points, .categoryTemplate__faq, .categoryTemplate__season) > .categoryTemplate__narrow > h2,
.categoryTemplate__explanation h2 {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ct-ink);
  font-size: var(--fz-28);
  line-height: 1.8;
}
.categoryTemplate__intro {
  width: min(100% - 48px, 1120px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 44px;
}
.categoryTemplate__introMedia img {
  aspect-ratio: 1.1;
  object-fit: cover;
}
.categoryTemplate__introContent {
  display: grid;
  justify-items: start;
  gap: 28px;
}
.categoryTemplate__intro h2 {
  font-size: var(--fz-28);
  line-height: 1.65;
}
body:has(.categoryTemplate__introMedia) > main .categoryTemplate__button {
  max-width: 300px;
  line-height: 1.4;
}
.categoryTemplate__explanation {
  background: var(--ct-beige);
}
.categoryTemplate__explanation .categoryTemplate__narrow {
  max-width: 800px;
}
.categoryTemplate__explanation h2,
.categoryTemplate__tileSection h2 {
  border-bottom: 0 !important;
  text-align: center;
}
body:has(.categoryTemplate__introMedia) > main .categoryTemplate__button--center {
  margin: 28px auto 0;
}
.categoryTemplate__tileSection {
  background: var(--ct-beige);
}
.categoryTemplate__tileSection .categoryTemplate__narrow {
  max-width: 1080px;
}
.categoryTemplate__tileSection .categoryTemplate__narrow > p {
  max-width: 800px;
  margin: 0 auto;
}
.categoryTemplate__tileGrid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 30px 14px;
  margin-top: 58px !important;
}
.categoryTemplate__tileGrid li {
  display: grid;
  gap: 8px;
}
.categoryTemplate__tileGrid img {
  aspect-ratio: 1;
  object-fit: cover;
}
.categoryTemplate__tileGrid span {
  text-align: center;
}
.categoryTemplate__points {
  padding-bottom: 0;
}
.categoryTemplate__points > .categoryTemplate__narrow > h2 {
  margin-bottom: 54px;
}
.categoryTemplate__point {
  padding: 0 0 80px;
}
.categoryTemplate__point + .categoryTemplate__point {
  padding-top: 0;
}
.categoryTemplate__pointHeading {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.categoryTemplate__pointHeading h3 {
  font-family: var(--ff-base);
  font-size: var(--fz-20);
  font-weight: 500;
  line-height: 1.5;
}
.categoryTemplate__number {
  display: grid;
  width: 50px;
  height: 50px;
  flex: none;
  place-items: center;
  background: var(--ct-red);
  color: var(--ct-paper);
  font-size: var(--fz-25);
  font-weight: 500;
  line-height: 1;
}
.categoryTemplate__point > .categoryTemplate__narrow > p:not(.categoryTemplate__button) {
  margin-left: 70px;
  line-height: 1.75;
}
.categoryTemplate__point .categoryTemplate__button {
  margin: 30px 0 0 auto;
}
.categoryTemplate__choiceGrid {
  display: grid;
  width: calc(100% - 70px);
  max-width: 810px;
  gap: 20px;
  margin: 34px 0 0 70px;
}
.categoryTemplate__choiceGrid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.categoryTemplate__choiceGrid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.categoryTemplate__choiceGrid figure {
  min-height: 340px;
  padding: 22px;
  background: var(--ct-paper);
}
.categoryTemplate__choiceGrid--three figure {
  min-height: 387px;
}
.categoryTemplate__choiceGrid img {
  width: 212px;
  max-width: 100%;
  aspect-ratio: 1;
  margin-inline: auto;
  object-fit: cover;
}
.categoryTemplate__choiceGrid figcaption {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.categoryTemplate__choiceGrid strong {
  font-size: var(--fz-22);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.categoryTemplate__choiceGrid figcaption span {
  font-size: var(--fz-15);
  line-height: 1.6;
}
.categoryTemplate__faq {
  background: var(--ct-beige);
}
.categoryTemplate__faq .categoryTemplate__narrow {
  max-width: 880px;
}
.categoryTemplate__faq > .categoryTemplate__narrow > h2 {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ct-ink);
}
.categoryTemplate__faqList {
  display: grid;
  gap: 30px;
  line-height: 1.75;
}
.categoryTemplate__faqList details {
  background: var(--ct-paper);
}
.categoryTemplate__faqList details[open] {
  min-height: 180px;
}
.categoryTemplate__faqList details.is-animating {
  min-height: 0;
  overflow: hidden;
}
.categoryTemplate__faqList summary {
  position: relative;
  display: flex;
  min-height: 106px;
  align-items: center;
  padding: 24px 90px 24px 35px;
  color: #404040;
  cursor: pointer;
  list-style: none;
}
.categoryTemplate__faqList summary::-webkit-details-marker {
  display: none;
}
.categoryTemplate__faqList summary::after {
  content: "";
  position: absolute;
  right: 34px;
  top: 50%;
  width: 42px;
  height: 42px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: var(--ct-red);
  background-image: linear-gradient(#fff, #fff);
  background-size: 14px 2px;
  background-position: center;
  background-repeat: no-repeat;
}
.categoryTemplate__faqList summary::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: 54px;
  top: 50%;
  width: 2px;
  height: 14px;
  transform: translate(50%, -50%) scaleY(1);
  background: #fff;
  transition: transform 0.3s ease;
}
.categoryTemplate__faqList details[open] summary::before {
  transform: translate(50%, -50%) scaleY(0);
}
.categoryTemplate__answer {
  padding: 0 90px 20px 35px;
  color: var(--ct-red);
}
.categoryTemplate__season {
  background: var(--ct-beige);
}
.categoryTemplate__seasonLinks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.categoryTemplate__seasonLinks a {
  display: grid;
  min-height: 70px;
  place-items: center;
  padding: 12px;
  background: var(--ct-paper);
  color: #484242;
  font-size: var(--fz-18);
  text-align: center;
  text-decoration: none;
  transition:
    background 0.2s,
    color 0.2s;
}
.categoryTemplate__seasonLinks a:hover,
.categoryTemplate__seasonLinks a:focus-visible {
  background: var(--ct-red);
  color: var(--ct-paper);
}
.categoryTemplate__ranking > .categoryTemplate__narrow > h2 {
  font-size: var(--fz-35);
}
.categoryTemplate__rankingGroup + .categoryTemplate__rankingGroup {
  margin-top: 58px;
}
.categoryTemplate__rankingList {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.categoryTemplate__rankingList li {
  min-width: 0;
}
.categoryTemplate__rankingList a {
  display: grid;
  gap: 10px;
  text-decoration: none;
}
.categoryTemplate__rankingList img {
  aspect-ratio: 1;
  object-fit: cover;
}
.categoryTemplate__productName {
  line-height: 1.5;
}

@media (prefers-reduced-motion: reduce) {
  .categoryTemplate__faqList summary::before {
    transition: none;
  }
}

@media (max-width: 767px) {
  body:has(.categoryTemplate__introMedia) > main {
    font-size: var(--fz-14);
  }
  .categoryTemplate__intro,
  .categoryTemplate__explanation,
  .categoryTemplate__tileSection,
  .categoryTemplate__ranking,
  .categoryTemplate__points,
  .categoryTemplate__faq,
  .categoryTemplate__season {
    padding-block: 56px;
  }
  .categoryTemplate__narrow,
  .categoryTemplate__intro {
    width: min(100% - 32px, 880px);
  }
  :is(.categoryTemplate__explanation, .categoryTemplate__tileSection, .categoryTemplate__ranking, .categoryTemplate__points, .categoryTemplate__faq, .categoryTemplate__season) > .categoryTemplate__narrow > h2,
  .categoryTemplate__explanation h2 {
    margin-bottom: 24px;
    font-size: var(--fz-25);
    line-height: 1.5;
  }
  .categoryTemplate__intro {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .categoryTemplate__introMedia img {
    aspect-ratio: 4 / 3;
  }
  .categoryTemplate__introContent {
    gap: 20px;
  }
  body:has(.categoryTemplate__introMedia) > main .categoryTemplate__button {
    max-width: 100%;
  }
  .categoryTemplate__tileGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 10px;
    margin-top: 32px !important;
  }
  .categoryTemplate__point {
    padding: 0 0 50px;
  }
  .categoryTemplate__pointHeading {
    gap: 12px;
  }
  .categoryTemplate__pointHeading h3 {
    font-size: var(--fz-18);
    line-height: 1.5;
  }
  .categoryTemplate__number {
    width: 42px;
    height: 42px;
    font-size: var(--fz-20);
  }
  .categoryTemplate__point > .categoryTemplate__narrow > p:not(.categoryTemplate__button) {
    margin-left: 0;
  }
  .categoryTemplate__point .categoryTemplate__button {
    margin: 28px 0 0 auto;
  }
  .categoryTemplate__choiceGrid--three,
  .categoryTemplate__choiceGrid--two {
    grid-template-columns: 1fr;
  }
  .categoryTemplate__choiceGrid {
    width: 100%;
    margin-left: 0;
  }
  .categoryTemplate__choiceGrid figure,
  .categoryTemplate__choiceGrid--three figure {
    min-height: 0;
    padding: 18px;
  }
  .categoryTemplate__faqList {
    gap: 16px;
  }
  .categoryTemplate__faqList details[open] {
    min-height: 0;
  }
  .categoryTemplate__faqList summary {
    min-height: 80px;
    padding: 18px 70px 18px 20px;
  }
  .categoryTemplate__faqList summary::after {
    right: 20px;
    width: 36px;
    height: 36px;
  }
  .categoryTemplate__faqList summary::before {
    right: 37px;
  }
  .categoryTemplate__answer {
    padding: 0 20px 22px;
  }
  .categoryTemplate__seasonLinks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .categoryTemplate__seasonLinks {
    gap: 10px;
  }
  .categoryTemplate__seasonLinks a {
    min-height: 62px;
    font-size: var(--fz-14);
  }
  .categoryTemplate__ranking > .categoryTemplate__narrow > h2 {
    font-size: var(--fz-28);
  }
  .categoryTemplate__rankingList {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 12px;
    scroll-snap-type: x mandatory;
  }
  .categoryTemplate__rankingList li {
    flex: 0 0 min(44vw, 220px);
    scroll-snap-align: start;
  }
}

/* Framework sample components: usable directly without a main/container class. */
.l-slideTxt,
.l-imgTxt,
.l-txt,
.l-img2Txt,
.l-card2Col,
.l-card3Col,
.l-tileImgs,
.l-colTxtImgRight,
.l-colTxtImgLeft,
.l-bgBox,
.l-bdBox,
.l-mediaTxt,
.l-mediaLargeTxt,
.l-tileColBg,
.l-tileColWhite,
.l-freeBtn,
.l-txtLink:not(.l-productList__item__link),
.l-readMore,
.l-freeTtl,
.l-balloon,
.l-imgBox,
.l-quote,
.l-freeList,
.l-productList {
  width: 100%;
  margin: 80px 0;
}
/* Override the max-width WordPress adds to constrained Group blocks. */
.wp-block-group:is(
  .l-slideTxt,
  .l-imgTxt,
  .l-txt,
  .l-img2Txt,
  .l-card2Col,
  .l-card3Col,
  .l-tileImgs,
  .l-colTxtImgRight,
  .l-colTxtImgLeft,
  .l-bgBox,
  .l-bdBox,
  .l-mediaTxt,
  .l-mediaLargeTxt,
  .l-tileColBg,
  .l-tileColWhite,
  .l-freeBtn,
  .l-txtLink,
  .l-readMore,
  .l-freeTtl,
  .l-balloon,
  .l-imgBox,
  .l-quote,
  .l-freeList,
  .l-productList
) {
  max-width: none;
}
/* Gutenberg wraps Group block contents in a constrained inner container.
   Let the component layout control that wrapper instead of WP's default
   content width, which otherwise clips wide sliders and breaks grid layouts. */
:is(
  .l-slideTxt,
  .l-imgTxt,
  .l-txt,
  .l-img2Txt,
  .l-card2Col,
  .l-card3Col,
  .l-tileImgs,
  .l-colTxtImgRight,
  .l-colTxtImgLeft,
  .l-bgBox,
  .l-bdBox,
  .l-mediaTxt,
  .l-mediaLargeTxt,
  .l-tileColBg,
  .l-tileColWhite,
  .l-freeBtn,
  .l-txtLink,
  .l-readMore,
  .l-freeTtl,
  .l-balloon,
  .l-imgBox,
  .l-quote,
  .l-freeList,
  .l-productList
) > .wp-block-group__inner-container {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.l-heading {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #242424;
  font-family: var(--ff-mincho);
  font-size: var(--fz-28);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.8;
}
body:has(.categoryTemplate__introMedia) > main .l-heading {
  margin-bottom: 30px;
}
.l-subHeading {
  margin-bottom: 18px;
  font-size: var(--fz-20);
  font-weight: 500;
  line-height: 1.5;
}
.l-paragraph {
  margin-bottom: 28px;
  font-size: var(--fz-16);
  line-height: 1.75;
}
.l-paragraph--sm {
  font-size: var(--fz-14);
  line-height: 1.6;
}
.l-paragraph--lg {
  font-size: var(--fz-18);
  line-height: 1.8;
}
body:has(.categoryTemplate__introMedia) > main > .l-paragraph {
  width: min(880px, calc(100% - 48px));
  margin: 80px auto;
}
.has-text-align-center {
  text-align: center;
}
.has-text-align-right {
  text-align: right;
}
.l-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.l-figure figcaption {
  margin-top: 10px;
  font-size: var(--fz-15);
  line-height: 1.6;
}
.l-btn {
  margin-top: 28px;
}
body:has(.categoryTemplate__introMedia) > main .l-paragraph + .l-btn {
  margin-top: 28px;
}
.l-btn.is-content-justification-left {
  margin-right: auto;
  margin-left: 0;
}
.l-btn.is-content-justification-center {
  margin-inline: auto;
}
body:has(.categoryTemplate__introMedia) > main .l-btn.is-content-justification-center {
  margin-inline: auto;
}
.l-btn.is-content-justification-right {
  margin-right: 0;
  margin-left: auto;
}
.l-cols {
  display: grid;
  gap: 20px;
}
.l-cols__item {
  min-width: 0;
}

.l-slideTxt__slide {
  display: block !important;
  margin: 28px 0;
  padding-inline: var(--spc-40);
  opacity: 0;
  transition: opacity 0.3s linear;
}
.l-slideTxt__slide.slick-initialized {
  opacity: 1;
}
.l-slideTxt__slide .g-splideArrow--prev {
  left: 0;
}
.l-slideTxt__slide .g-splideArrow--next {
  right: 0;
}
.l-slideTxt__slide img {
  aspect-ratio: 1.45;
}
.l-imgTxt {
  display: block;
}
.l-imgTxt:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: start;
  gap: 20px 50px;
}
.l-imgTxt > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: start;
  gap: 20px 50px;
}
.l-imgTxt:not(:has(> .wp-block-group__inner-container)) > :is(.l-heading, .l-subHeading),
.l-imgTxt > .wp-block-group__inner-container > :is(.l-heading, .l-subHeading) {
  grid-column: 1 / -1;
  margin-bottom: 0;
}
.l-imgTxt:not(:has(> .wp-block-group__inner-container)) > .l-figure,
.l-imgTxt > .wp-block-group__inner-container > .l-figure {
  grid-column: 1;
  grid-row: 3 / 5;
}
.l-imgTxt:not(:has(> .wp-block-group__inner-container)) > :is(.l-paragraph, .l-btn),
.l-imgTxt > .wp-block-group__inner-container > .l-paragraph,
.l-imgTxt > .wp-block-group__inner-container > .l-btn {
  grid-column: 2;
  margin-top: 0;
}
body:has(.categoryTemplate__introMedia) > main .l-imgTxt > .l-btn {
  margin-top: 0;
}
.l-img2Txt .l-cols {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 810px;
  margin: 0 0 28px 70px;
}
.l-card2Col .l-cols,
.l-card3Col .l-cols {
  max-width: 810px;
  margin-left: 70px;
}
.l-card2Col .l-cols {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.l-card3Col .l-cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
:is(.l-card2Col, .l-card3Col) .l-figure img {
  max-width: 212px;
  margin-inline: auto;
}
:is(.l-card2Col, .l-card3Col) .l-subHeading {
  margin-top: 12px;
  text-align: center;
}
body:has(.categoryTemplate__introMedia) > main :is(.l-card2Col, .l-card3Col) .l-subHeading {
  margin: 12px 0 18px;
}
:is(.l-card2Col, .l-card3Col) .l-paragraph {
  font-size: var(--fz-15);
  line-height: 1.6;
}
.l-tileImgs .l-cols {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 28px;
}
:is(.l-colTxtImgRight, .l-colTxtImgLeft) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 44px;
}
.l-colTxtImgRight > :first-child,
.l-colTxtImgLeft > :first-child {
  order: 2;
}
.l-colTxtImgRight > :last-child,
.l-colTxtImgLeft > :last-child {
  order: 1;
}
:is(.l-bgBox, .l-bdBox, .l-tileColBg, .l-tileColWhite) {
  background: #fff;
}
.l-bdBox {
  border: 1px solid #242424;
}
:is(.l-tileColBg, .l-tileColWhite) .l-cols {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr);
  padding-block: 18px;
}
:is(.l-tileColBg, .l-tileColWhite) .l-cols + .l-cols {
  border-top: 1px solid #d1d1d1;
}
.l-tileColBg .l-cols__item:first-child {
  padding: 12px;
  background: #f0eee6;
}
.l-mediaTxt .l-cols {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
  gap: 50px;
  margin-bottom: 30px;
}
body:has(.categoryTemplate__introMedia) > main .l-mediaTxt .l-subHeading {
  margin-bottom: 18px;
}
.l-mediaLargeTxt .l-cols {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 30px;
  background: #fff;
}
body:has(.categoryTemplate__introMedia) > main .l-mediaLargeTxt .l-subHeading {
  margin-bottom: 18px;
}
.l-mediaLargeTxt .l-figure img {
  max-width: 212px;
  margin-inline: auto;
}

.l-freeBtn {
  display: block;
  max-width: 300px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  margin-block: 50px;
}
.l-freeBtn:hover,
.l-freeBtn--reverse:hover {
  border-color: transparent;
  background: transparent;
  color: inherit;
}
.l-freeBtn > a {
  width: 100%;
  box-sizing: border-box;
  text-decoration: none;
}
.l-freeBtn--color1 > a:not(:hover),
.l-freeBtn--color2 > a:not(:hover) {
  color: var(--c-white);
}
.l-freeBtn--color1 > a:not(:hover) {
  border-color: var(--l-theme-c-main);
  background-color: var(--l-theme-c-main);
}
.l-freeBtn--color2 > a:not(:hover) {
  border-color: var(--c-black);
  background-color: var(--c-black);
}
.l-btn--reverse.l-freeBtn > a:not(:hover) {
  border-color: var(--bd-c-base);
  background-color: var(--c-white);
  color: var(--c-black);
}
.l-btn:is(.g-btn--arrow, .l-btn--arrow) > a {
  position: relative;
  box-sizing: border-box;
  padding-inline: 36px;
}
.l-btn.wp-block-buttons .wp-block-button__link {
  box-sizing: border-box;
  padding-inline: 36px;
}
.l-btn:is(.g-btn--arrow, .l-btn--arrow) > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 13px;
  aspect-ratio: 12.191 / 9.898;
  background: no-repeat center center / contain;
  transform: translateY(-50%);
}
.l-btn:is(.g-btn--arrow, .l-btn--arrow):not(.l-btn--reverse):not(.g-btn--secondary) > a::after {
  background-image: var(--data-icon-btn-arrow-wh);
}
.l-freeBtn:is(.l-freeBtn--color1, .l-freeBtn--color2):is(.g-btn--arrow, .l-btn--arrow) > a::after {
  background-image: var(--data-icon-btn-arrow-wh);
}
.l-btn:is(.l-btn--reverse, .g-btn--secondary):is(.g-btn--arrow, .l-btn--arrow) > a::after {
  background-image: var(--data-icon-btn-arrow-bk);
}
.l-btn:is(.g-btn--anchor, .l-btn--anchor):is(.g-btn--arrow, .l-btn--arrow) > a::after {
  transform: rotate(90deg);
}
.l-btn:is(.g-btn--return, .l-btn--return):is(.g-btn--arrow, .l-btn--arrow) > a::after {
  right: auto;
  left: 15px;
  transform: rotate(180deg) translateX(5px);
}
@media (hover: hover) {
  .l-btn :is(a, .wp-block-button__link)::after {
    transition: right var(--duration-hover) var(--easing-hover);
  }
  .l-btn:not(.g-btn--return):not(.l-btn--return) :is(a:hover, .wp-block-button__link:hover)::after {
    right: 11px;
  }
  .l-btn:is(.g-btn--arrow, .l-btn--arrow) > a::after {
    transition: right var(--duration-hover) var(--easing-hover);
  }
  .l-btn.wp-block-buttons .wp-block-button__link::after {
    transition: right var(--duration-hover) var(--easing-hover);
  }
  .l-btn:is(.g-btn--arrow, .l-btn--arrow):not(.g-btn--return):not(.l-btn--return) > a:hover::after {
    right: 11px;
  }
  .l-btn.wp-block-buttons .wp-block-button__link:hover::after {
    right: 11px;
  }
  .l-btn:is(.l-btn--reverse, .g-btn--secondary):is(.g-btn--arrow, .l-btn--arrow) > a:hover::after {
    background-image: var(--data-icon-btn-arrow-wh);
  }
  .l-freeBtn.l-freeBtn--color1 > a:hover {
    opacity: 1;
    border-color: transparent;
    background-color: var(--theme-c-main);
    color: var(--c-white);
  }
  .l-freeBtn.l-freeBtn--color2 > a:hover,
  .l-btn--reverse.l-freeBtn > a:hover {
    opacity: 1;
    border-color: var(--l-theme-c-main);
    background-color: var(--l-theme-c-main);
    color: var(--c-white);
  }
}
.g-btn--primary > a:hover,
.g-btn--secondary > a:hover {
  background-color: var(--l-theme-c-main);
  color: var(--c-white);
}
.g-btn--secondary > a:hover {
  border-color: transparent;
}
.g-btn--secondary.g-btn--arrow > a:hover::after {
  background-image: var(--data-icon-btn-arrow-wh);
}
.l-txtLink a {
  color: #484242;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.l-txtLink.is-content-justification-left {
  text-align: left;
}
.l-txtLink.is-content-justification-center {
  text-align: center;
}
.l-txtLink.is-content-justification-right {
  text-align: right;
}
.l-readMore .l-cols {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  padding: 24px;
  background: #fff;
}
.l-readMore .l-cols > .l-cols__item:first-child {
  width: auto;
  min-width: 0;
}
body:has(.categoryTemplate__introMedia) > main .l-readMore .l-subHeading {
  margin-bottom: 18px;
}
.l-readMore .l-cols__item > .has-text-align-right {
  margin-bottom: 0;
}
.l-readMore .l-cols__item > .has-text-align-right a {
  color: #484242;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.l-freeTtl {
  padding: 18px 24px;
  font-family: var(--ff-mincho);
  font-size: var(--fz-28);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
}
body:has(.categoryTemplate__introMedia) > main > .l-freeTtl {
  margin-block: 80px;
}
.l-freeTtl--bg {
  background: #fff;
}
.l-freeTtl--bd {
  border-bottom: 1px solid #242424;
}
.l-freeTtl--bdl {
  border-left: 5px solid #8b0412;
}
.l-balloon {
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: center;
  background: #fff;
}
.l-balloon--r {
  grid-template-columns: minmax(0, 1fr) 160px;
}
.l-balloon--r > :first-child {
  order: 2;
}
.l-balloon--r > :last-child {
  order: 1;
}
.l-balloon .l-paragraph {
  margin-bottom: 0;
}
.l-imgBox {
  background: #fff;
}
.l-imgBox .l-figure {
  max-width: 212px;
  margin: 0 auto 24px;
}
.l-imgBox .l-paragraph {
  margin-bottom: 0;
}
.l-imgBox--double {
  border: 1px solid #d1d1d1;
  outline: 1px solid #d1d1d1;
  outline-offset: -8px;
}
.l-imgBox--dashed {
  border: 1px dashed #8b0412;
}
.l-quote {
  padding: 24px 30px;
  border-left: 4px solid #8b0412;
  background: #fff;
}
.l-quote p {
  margin-bottom: 16px;
}
.l-quote cite {
  color: #484242;
  font-size: var(--fz-14);
  font-style: normal;
}
.l-freeList {
  padding: 24px 32px;
  background: #fff;
}
.l-freeList li + li {
  margin-top: 12px;
}
.l-freeList--check li {
  padding-left: 1.5em;
  position: relative;
}
.l-freeList--check li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #8b0412;
}
.l-freeList--num {
  padding-left: 32px;
  list-style: decimal;
}
.l-freeList--num li {
  padding-left: 6px;
}
.l-productList__list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.l-productList__item__thumb img {
  aspect-ratio: 1;
}
.l-productList__item__name {
  min-height: 0;
  margin: 8px 0 0;
}
.l-productList__item__price {
  margin: 4px 0 0;
}
body:has(.categoryTemplate__introMedia) > main .l-productList__item__name {
  margin: 8px 0 0;
}
body:has(.categoryTemplate__introMedia) > main .l-productList__item__price {
  margin: 4px 0 0;
}
.l-productList__item__link a {
  color: #484242;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 767px) {
  .l-slideTxt,
  .l-imgTxt,
  .l-txt,
  .l-img2Txt,
  .l-card2Col,
  .l-card3Col,
  .l-tileImgs,
  .l-colTxtImgRight,
  .l-colTxtImgLeft,
  .l-bgBox,
  .l-bdBox,
  .l-mediaTxt,
  .l-mediaLargeTxt,
  .l-tileColBg,
  .l-tileColWhite,
  .l-freeBtn,
  .l-txtLink:not(.l-productList__item__link),
  .l-readMore,
  .l-freeTtl,
  .l-balloon,
  .l-imgBox,
  .l-quote,
  .l-freeList,
  .l-productList {
    width: 100%;
    margin-block: 56px;
    font-size: var(--fz-14);
  }
  .l-freeBtn {
    max-width: 250px;
    margin-block: 20px;
  }
  .l-btn:is(.g-btn--arrow, .l-btn--arrow) > a {
    padding-inline: 30px;
  }
  .l-btn.wp-block-buttons .wp-block-button__link {
    padding-inline: 30px;
  }
  .l-btn.wp-block-buttons .wp-block-button__link::after {
    width: 11px;
    right: 10px;
  }
  .l-btn:is(.g-btn--arrow, .l-btn--arrow) > a::after {
    right: 10px;
    width: 11px;
  }
  .l-btn:is(.g-btn--return, .l-btn--return):is(.g-btn--arrow, .l-btn--arrow) > a::after {
    right: auto;
    left: 10px;
  }
  @media (hover: hover) {
    .l-btn:not(.g-btn--return):not(.l-btn--return) :is(a:hover, .wp-block-button__link:hover)::after {
      right: 7px;
    }
    .l-btn:is(.g-btn--arrow, .l-btn--arrow):not(.g-btn--return):not(.l-btn--return) > a:hover::after {
      right: 7px;
    }
    .l-btn.wp-block-buttons .wp-block-button__link:hover::after {
      right: 7px;
    }
  }
  body:has(.categoryTemplate__introMedia) > main > .l-freeTtl {
    margin-block: 56px;
  }
  .l-heading {
    margin-bottom: 24px;
    font-size: var(--fz-25);
    line-height: 1.5;
  }
  body:has(.categoryTemplate__introMedia) > main .l-heading {
    margin-bottom: 24px;
  }
  .l-subHeading {
    font-size: var(--fz-18);
    line-height: 1.5;
  }
  .l-paragraph {
    font-size: var(--fz-14);
    line-height: 1.8;
  }
  body:has(.categoryTemplate__introMedia) > main > .l-paragraph {
    width: min(880px, calc(100% - 32px));
    margin: 56px auto;
  }
  body:has(.categoryTemplate__introMedia) > main .l-productList__item__price {
    margin-top: 2px;
  }
  .l-slideTxt__slide {
    padding-inline: 30px;
  }
  :is(
      .l-imgTxt,
      .l-img2Txt .l-cols,
      .l-card2Col .l-cols,
      .l-card3Col .l-cols,
      .l-colTxtImgRight,
      .l-colTxtImgLeft,
      .l-mediaTxt .l-cols,
      .l-mediaLargeTxt .l-cols,
      .l-tileColBg .l-cols,
      .l-tileColWhite .l-cols,
      .l-readMore .l-cols,
      .l-balloon,
      .l-balloon--r
    ) {
    display: grid;
    grid-template-columns: 1fr;
  }
  .l-imgTxt {
    display: block;
  }
  .l-imgTxt:not(:has(> .wp-block-group__inner-container)) {
    display: grid;
    grid-template-columns: 1fr;
  }
  .l-imgTxt > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
  .l-imgTxt:not(:has(> .wp-block-group__inner-container)) > :is(.l-heading, .l-subHeading, .l-figure, .l-paragraph, .l-btn),
  .l-imgTxt > .wp-block-group__inner-container > :is(.l-heading, .l-subHeading, .l-figure, .l-paragraph, .l-btn) {
    grid-column: 1;
    grid-row: auto;
  }
  :is(.l-img2Txt .l-cols, .l-card2Col .l-cols, .l-card3Col .l-cols) {
    margin-left: 0;
  }
  :is(.l-colTxtImgRight, .l-colTxtImgLeft, .l-balloon--r) > * {
    order: initial;
  }
  .l-colTxtImgRight.l-cols {
    display: flex !important;
    flex-direction: column;
  }
  .l-colTxtImgLeft.l-cols {
    display: flex !important;
    flex-direction: column-reverse;
  }
  .l-tileImgs .l-cols,
  .l-productList__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .l-freeTtl {
    font-size: var(--fz-25);
  }
}

/* Legacy product-description template compatibility */
.l-container {
  letter-spacing: 0.1em;
  padding: var(--l-sec-spc) 0;
}
.l-container h2,
.l-container h3 {
  font-weight: bold;
}
.l-container h2 mark,
.l-container p mark {
  background: linear-gradient(transparent 70%, var(--bg-c-beige) 30%);
}
.l-container h2 u,
.l-container p u {
  text-decoration: none;
  border-bottom: 1px solid var(--bd-c-base);
}
.l-container p strong {
  font-weight: bold;
}
span.l_heading--bgcolorGray {
  display: inline-block;
  background-color: var(--bg-c-gray);
}
.l_heading--bdcolorBlack {
  border-left: 5px solid var(--bd-c-base);
}
.l_heading--center {
  text-align: center;
}
span.l-text__red {
  color: var(--txt-c-emphasis);
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .l-container h2 {
    margin-bottom: 12px;
    font-size: 20px;
  }
  .l-container h3 {
    font-size: 18px;
  }
  .l-container > [class*="l-"] {
    margin-bottom: 70px;
  }
  span.l_heading--bgcolorGray {
    padding: 8px 15px;
  }
  .l_heading--bdcolorBlack {
    padding-left: 15px;
  }
}
@media screen and (max-width: 767px) {
  .l-container h2 {
    margin-bottom: 8px;
    font-size: 18px;
  }
  .l-container h3 {
    font-size: 16px;
  }
  .l-container > [class*="l-"] {
    margin-bottom: 40px;
  }
  span.l_heading--bgcolorGray {
    padding: 5px 12px;
  }
  .l_heading--bdcolorBlack {
    padding-left: 10px;
  }
}

/* The product-description template uses anchors as the button element itself. */
.l-container a.l-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 350px;
  min-height: 60px;
  margin: 0 auto;
  padding-inline: 36px;
  border: 1px solid var(--bd-c-base);
  border-radius: 8px;
  background-color: var(--c-white);
  color: var(--txt-c-base);
  text-align: center;
  text-decoration: none;
  font-weight: var(--fw-base);
  transition:
    background-color var(--duration-hover) var(--easing-hover),
    border-color var(--duration-hover) var(--easing-hover),
    color var(--duration-hover) var(--easing-hover),
    opacity var(--duration-hover) var(--easing-hover);
}
.l-container a.l-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 13px;
  aspect-ratio: 12.191 / 9.898;
  background: var(--data-icon-btn-arrow-bk) no-repeat center / contain;
  transform: translateY(-50%);
  transition: right var(--duration-hover) var(--easing-hover), background-image var(--duration-hover) var(--easing-hover);
}
.l-container a.l-btn:visited {
  color: var(--txt-c-base);
}
.l-container a.l-btn--reverse {
  background-color: var(--c-white);
  color: var(--txt-c-base);
}
.l-container .l-textLinkContainer a.l-btn {
  margin-top: 20px;
}
@media (hover: hover) {
  .l-container a.l-btn:hover {
    border-color: transparent;
    background-color: var(--theme-c-main);
    color: var(--c-white);
    opacity: 1;
  }
  .l-container a.l-btn:hover::after {
    right: 11px;
    background-image: var(--data-icon-btn-arrow-wh);
  }
}
@media screen and (max-width: 767px) {
  .l-container a.l-btn {
    max-width: 250px;
    min-height: 40px;
    padding-inline: 30px;
    font-size: 14px;
  }
  .l-container a.l-btn::after {
    right: 10px;
    width: 11px;
  }
  .l-container .l-textLinkContainer a.l-btn {
    margin-top: 20px;
  }
}

/* l-imageWithText */
@media screen and (min-width: 768px) {
  .l-imageWithText > img {
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 767px) {
  .l-imageWithText > img {
    margin-bottom: 8px;
  }
}

/* l-imageListWithText */
.l-imageListWithText > ul:has(li img) {
  display: grid;
}
@media screen and (min-width: 768px) {
  .l-imageListWithText > ul:has(li img) {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 767px) {
  .l-imageListWithText > ul:has(li img) {
    gap: 10px;
    margin-bottom: 8px;
  }
}

/* l-imageTitleTextList */
.l-imageTitleTextList > ul:has(li img) {
  display: grid;
}
@media screen and (min-width: 768px) {
  .l-imageTitleTextList > ul:has(li img) {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 20px;
  }
  .l-imageTitleTextList > ul:has(li img) li img {
    margin-bottom: 10px;
  }
  .l-imageTitleTextList > ul:has(li img) li h3 {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .l-imageTitleTextList > ul:has(li img) {
    gap: 30px;
  }
  .l-imageTitleTextList > ul:has(li img) li img {
    margin-bottom: 8px;
  }
  .l-imageTitleTextList > ul:has(li img) li h3 {
    margin-bottom: 3px;
  }
}

/* l-imageTextSide */
.l-imageTextSide > ul:has(li div) {
  display: grid;
}
@media screen and (min-width: 768px) {
  .l-imageTextSide > ul:has(li div) {
    gap: 50px;
  }
  .l-imageTextSide > ul > li:has(div) {
    display: flex;
    gap: 30px;
  }
  .l-imageTextSide > ul > li:has(div) img,
  .l-imageTextSide > ul > li:has(div) div {
    flex: 1;
  }
  .l-imageTextSide__reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .l-imageTextSide > ul:has(li div) {
    gap: 30px;
  }
  .l-imageTextSide > ul > li:has(div) img {
    margin-bottom: 8px;
  }
  .l-imageTextSide > ul > li:has(div) h3 {
    margin-bottom: 3px;
  }
}

/* Legacy unordered-list product list; the new Gutenberg structure remains intact. */
.l-productList > ul:has(li .l-btn) {
  display: grid;
}
@media screen and (min-width: 768px) {
  .l-productList > ul:has(li .l-btn) {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 30px;
  }
  .l-productList > ul:has(li .l-btn) img {
    margin-bottom: 10px;
  }
  .l-productList > ul:has(li .l-btn) p {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .l-productList > ul:has(li .l-btn) {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 10px;
  }
  .l-productList > ul:has(li .l-btn) img {
    margin-bottom: 8px;
  }
  .l-productList > ul:has(li .l-btn) p {
    margin-bottom: 12px;
    font-size: 12px;
  }
  .l-productList > ul:has(li .l-btn) .l-btn {
    font-size: 12px;
  }
}

/* l-textLinkContainer */
.l-textLinkContainer--bgcolorGray {
  border: 1px solid var(--bg-c-gray);
  background-color: var(--bg-c-gray);
}
.l-textLinkContainer--bdcolorGray {
  border: 1px solid var(--bd-c-gray);
}
@media screen and (min-width: 768px) {
  .l-textLinkContainer {
    padding: 40px 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-textLinkContainer {
    padding: 20px 15px;
  }
}

/* l-table */
.l-table table {
  width: 100%;
}
.l-table tr {
  display: flex;
  flex-wrap: wrap;
}
.l-table--bgcolorGray th,
.l-table--bgcolorGray td {
  background-color: var(--bg-c-gray);
}
@media screen and (min-width: 768px) {
  .l-table td,
  .l-table th {
    padding: 25px 30px;
  }
  .l-table th {
    width: 30%;
  }
  .l-table td {
    flex: 1;
  }
  .l-table--bdcolorGray tr:first-child th,
  .l-table--bdcolorGray tr:first-child td {
    border-top: 1px solid var(--bd-c-gray);
  }
  .l-table--bdcolorGray th,
  .l-table--bdcolorGray td {
    border-bottom: 1px solid var(--bd-c-gray);
  }
  .l-table--bdcolorGray th {
    position: relative;
  }
  .l-table--bdcolorGray th::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    width: 1px;
    height: calc(100% - 30px);
    background: var(--bd-c-gray);
    transform: translateY(-50%);
  }
  .l-table--bgcolorGray tr {
    gap: 10px;
  }
  .l-table--bgcolorGray tr:not(:first-child) th,
  .l-table--bgcolorGray tr:not(:first-child) td {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .l-table td,
  .l-table th {
    width: 100%;
  }
  .l-table th {
    padding: 15px 10px 0;
  }
  .l-table td {
    padding: 15px 10px;
  }
  .l-table--bdcolorGray tr:first-child th {
    border-top: 1px solid var(--bd-c-gray);
  }
  .l-table--bdcolorGray td {
    border-bottom: 1px solid var(--bd-c-gray);
  }
  .l-table--bgcolorGray tr:not(:first-child) th {
    margin-top: 10px;
  }
}

/* Individual bottom-spacing utilities */
.mgb10 { margin-bottom: 10px; }
.mgb20 { margin-bottom: 20px; }
.mgb30 { margin-bottom: 30px; }
.mgb40 { margin-bottom: 40px; }
.mgb50 { margin-bottom: 50px; }
.mgb60 { margin-bottom: 60px; }
.mgb70 { margin-bottom: 70px; }
.mgb80 { margin-bottom: 80px; }
.mgb90 { margin-bottom: 90px; }
.mgb100 { margin-bottom: 100px; }
