﻿

/* Theme Name:nihonsogoengei
Theme URI:/
*/


:root {
  --body-font: "Noto Sans JP", sans-serif;
  --mincho: "Shippori Mincho", serif;
  --theme-color:#3f7749; 
  --link-color:#0F3A25; 
  --hover-color:#065830; 
  --font-color:#000000;
  --checked-color:#065830;
  --border-color:#B1C5B5;
  --line-height: 1.8; 
  --line-height-mono: 1.45;
  --input-padding:1.25em;
  --placeholder-color:#cccccc; /* --hover-color:#64a2bc; */
  --button-border-radius:50px;
  --wc-message-time:8s;
  --wc-message-pop-position:0px;
  --column-gap:64px; 
  --section-gap:120px; 
  --container-width:1280px; 
}
@media screen and ( max-width : 1400px) {
  :root {
    --column-gap:48px; 
    --section-gap:96px; 
  }
}

@media screen and ( max-width : 1024px) {
  :root {
    --column-gap:40px; 
    --section-gap:80px; 
    --wc-message-pop-position:64px;
  }
}
@media screen and ( max-width : 781px) {
  :root {
    --column-gap:32px; 
    --section-gap:64px; 
    --wc-message-pop-position:64px;
  }
}
@media screen and ( max-width : 480px) {
  :root {
    --column-gap:24px; 
  }
}

/*   RESET CSS
-----------------------------------------------------*/
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

/*   Base
-----------------------------------------------------*/
html { box-sizing: border-box; scroll-behavior: smooth; scroll-padding-top: 2rem; font-size: 0.875rem; font-weight:400; line-height: 2; }
html body.l-container-body { visibility: hidden; }
html.wf-active body.l-container-body, html.loading-delay body.l-container-body { visibility: visible; }
body { text-rendering: optimizeLegibility; font-family:var(--body-font); -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; }
/* h1, h2, h3, h4, h5, h6 { font-weight: inherit; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; } */
h1, h2, h3 { font-weight:500; line-height:var(--line-height); font-family:var(--mincho); line-height:1.5; }
.amount { font-weight:500; }
a:active, a:hover { color: inherit; text-decoration: none; }
.js-focus-visible :focus:not(.focus-visible) { outline:0; }
.image-wrap { border-radius:8px; }
.image-link.video-link::after { font-size:1em; color:rgb(210, 0, 24); background-color:rgba(255,255,255,.8); border-width:0; line-height:2.4em; width:2.4em; height:2.4em; border-radius:50%; }
h2.title {font-size:2rem; margin-top:0; text-align:center;  }
p.title-head { text-align:center; font-family:var(--mincho); margin:0 0 4px; font-size:1rem; line-height:1.5;}
h2.story-title { text-align:center; font-family:var(--mincho); font-size:1.5em; }
h2.story-title + h2.story-title { margin-top:1rem; }
p.story { text-align:center; font-family:var(--mincho); font-weight:500; margin-top:1rem; }
@media screen and (min-width: 781.1px) {
  html { font-size: 0.875rem; }
  p.title-head { font-size:1.1rem; }
}
@media screen and (min-width: 1024.1px) {
  html { font-size: 1rem; }
  body { line-height: 2; }
  h2.title { font-size:2.4rem; line-height:1.4; }
  .p-teikibin-switch__head h2.title { font-size:3.5rem; }
}
@media screen and (min-width: 1366.1px) {
  html { font-size:min(18px, 1.0204081633vw); }
}

/* header
-----------------------------------------------------*/

.l-header-logo { position: absolute; z-index: 997; left: 0; top: 0; margin: auto; width: var(--section-gap); background: #FFF; padding: min(5vw, 2rem); display: flex; align-items: center; justify-content: center; width: 27.5vw; }
body.home .l-header-logo { background: none; }
.l-header-logo img { width: 100%; display: block; -o-object-fit: contain; object-fit: contain; -o-object-position: top center; object-position: top center; }
.l-header-mainmenu { display: none; background: #004729; color: #FFF; position: fixed; inset: 0; margin: auto; padding: 100px 0; z-index: 998; }
.l-header-mainmenu svg { fill: #FFF; width: 1.25rem; height: auto; }
.l-header-mainmenu.-open { display: block; }
.l-header-mainmenu__primary { margin-bottom: 80px; }
.l-header-mainmenu__secondary { margin-bottom: 50px; }
.l-header-mainmenu__tertiary { text-align: center; }
.l-header-mainmenu__logo { margin-bottom: 2rem; width: 8rem; }
.l-header-shopmenu { position: fixed; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; background: #FFF; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); display: flex; z-index: 999; -webkit-box-shadow: 0 -3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 -3px 3px rgba(0, 0, 0, 0.1); }
.l-header-shopmenu__item { width: 33.3333333333%; height: 4.5714285714rem; font-size: 0.8571428571rem; position: relative; text-align: center; display: flex; align-items: center; justify-content: center; text-transform: uppercase; letter-spacing: 0.05em; }
.l-header-shopmenu__item .cart-count-box { background-color:var(--theme-color); color:#fff; border-radius:1em; display:inline-block; position: absolute; text-align:center; padding:.15em 0; width:1.4em; height:1.4em; font-size:12px; line-height:1; transform:translate(-0.8em, -0em); margin:0; }
.l-header-shopmenu__item .cart-count-box[data-count="0"] { display:none; }
.l-header-shopmenu__item .icon { margin-right: 1em; vertical-align: middle; }
.l-header-shopmenu__item img { width: auto; height: 2em; }
.l-header-shopmenu__item:first-child { border-right: 1px solid #E6E6E6; }
@media screen and (min-width: 781.1px) { 
  .l-header { display: flex; flex-direction: column; padding: 2rem 0; align-items: center; width: 100px; position: fixed; top: 0; left: 0; bottom: 0; background: #fff; }
  .l-header-logo { position: relative; top: auto; left: auto; margin: 0; background: none; padding: 0; height: auto; width: 4.5rem; }
  .l-header-mainmenu { position: relative; display: block; right: auto; width: 100%; background: none; padding:2rem 0; margin: auto 0 0; }
  .l-header-mainmenu__secondary { display: none; }
  .l-header-mainmenu__primary { margin-top: auto; margin-bottom: 0; height: 100%; }
  .l-header-mainmenu__tertiary { display: none; }
  .l-header-shopmenu { position: relative; flex-direction: column; background: none; box-shadow: none; width: 100%; right: auto; margin: 0; }
  .l-header-shopmenu__item { flex-direction: column; width: 100%; padding: 1em 0; height: auto; font-size: 0.6875rem; line-height: 1.4; }
  .l-header-shopmenu__item:first-child { border: none; }
  .l-header-shopmenu__item .icon { display: block; margin: 0 auto 0.5em; }
}
@media screen and (min-width: 1024.1px) { 
  .l-header { width: 120px; }
}
@media screen and (min-width: 1366.1px) { 
  .l-header { width: 150px; }
}
@media screen and (max-height: 700px) and (min-width: 781.1px) { 
  .l-header { padding: 1rem 0; }
  .l-header-shopmenu__item { padding: 0.5em 0; }
}
@media screen and (max-height: 800px) and ( max-width : 781px) { 
  .l-header-mainmenu { overflow-y: scroll; }
}
@media screen and (min-width: 781.1px) { 
  .l-header-mainmenu svg { fill: #000; }
}
@media screen and (max-height: 1000px) and (min-width: 781.1px) { 
  .l-header-mainmenu svg { display: block; height: auto; width: 1.8vh; }
}


/*
mailmagazine form
-----------------------------------------------------*/
.mailmagazine-area { margin:0; display: flex; flex-direction: column; align-items: center; padding: calc(70em/16) calc(90/1250*100%); position: relative; background-color: #f4f4f4; }
.mailmagazine-title { font-size:1.2em; font-family:var(--mincho); font-weight:600; margin:0; }
.mailmagazine-title::after { content: ""; display: block; width: calc(30em/23); height: 2px; margin: calc(15em/23) auto 0; background-color:var(--v-greencolor); }
.mailmagazine-text { margin:8px 0 var(--column-gap); line-height:1.6; font-family:var(--mincho); }
#mailpoet_form_iframe { height:120px; }
@media screen and ( max-width : 1024px) {
   .mailmagazine-area { display: block; padding: calc(70em/16) calc(30em/16); }
   .mailmagazine-formbody { display: block; }
   .mailmagazine-text { text-align:left; }
}

.with-sticky-box { position:relative; }
#sticky-area { font-size:15px; display:block; margin:0; }
#sticky-area .sticky-boxes { width:11em; transform:translateY(calc(-100% - 2em)); margin:0 0 0 auto; }
#sticky-area .sticky-box { display:table; width:100%; line-height:1.4; margin:0; text-align:center; background-color:#004729; color: #FFF; padding:1.5em 1.1em 1.5em 1.2em; border-radius:1em 0 0 1em; position: relative; }
#sticky-area .sticky-box .close-button { cursor: pointer; color:inherit; background-color:inherit; border:1px solid currentColor; text-align:center; height:1.3em; width:1.3em; line-height:1; padding:.15em; display:block; position:absolute; right:.2em; top:-.4em; border-radius:50%; }
#sticky-area .sticky-box .close-button::before, #sticky-area .sticky-box .close-button::after { transform: translate(-50%,-50%) rotate(45deg); display:block; content:''; position: absolute; top:50%; left:50%; width:0; height:.8em; border-left:1px solid currentColor;}
#sticky-area .sticky-box .close-button::after { transform: translate(-50%,-50%) rotate(-45deg); }
#sticky-area .sticky-box-campaign { background-color:#e46b57; margin-bottom:.5em; }
#sticky-area .sticky-box-campaign img { width:8.3em; height:auto; display:block; }
#sticky-area .sticky-box-campaign img + img { border-top:4px solid #fff67f; padding-top:4px; margin-top:4px; }
#sticky-area a.tel-link { display:block; margin:0; }
#sticky-area a.tel-link span { display:block; font-weight:600; margin: 0; }
#sticky-area a.tel-link .tel { font-size:1.25em; padding:0 0 .25em; line-height:1; }
#sticky-area a.tel-link .hours, #sticky-area a.tel-link .closed { font-size:.75em; }
#sticky-area a.sticky-button { font-size:.9em; display:block; font-weight:600; border-radius:100px; width:8.3em; margin:1.5em auto 0; padding:.5em; line-height:1; text-align:center; }
#sticky-area a.sticky-button-line { background-color:#16b031; color:#fff; }
#sticky-area a.sticky-button-mail { background-color:#fff; color:#004729; }
#sticky-area a.sticky-button + a.sticky-button { margin-top:.5em; }
#sticky-area a.sticky-button-line:hover { background-color:#00c523; }
#sticky-area a.sticky-button-mail:hover { color:#16b031; }
@media screen and (min-width: 781.1px) {
  #sticky-area { position:sticky; left:0; top:auto; right:0; bottom:0; z-index:20; height:0; }
  #sticky-area a.sticky-button { font-size:1em; }
}
@media screen and ( max-width : 781px) { 
  .with-sticky-box { padding-top:64px; }
  .with-sticky-box #sticky-area { position:sticky; bottom:100vh; margin-top:-64px; margin-bottom:64px; }
  #sticky-area { font-size:14px; }
  #sticky-area .sticky-boxes { transform:none; width:auto; }
  #sticky-area .sticky-box { margin:0; padding:8px; display:flex; width:100%; align-items:stretch; gap:8px; border-radius:0; }
  #sticky-area .sticky-box-campaign a { display:flex; width:100%; padding:4px; }
  #sticky-area .sticky-box-campaign a img { flex:2; }
  #sticky-area .sticky-box-campaign a img + img { flex:3; margin:0 0 0 4%; padding:0 0 0 4%; border-top:0; border-left:4px solid #fff67f; }
  #sticky-area a.tel-link { border-radius:8px; background-color:#31865b; flex:1.5; padding:.5em; display:flex; flex-wrap:wrap; align-items:center; justify-content:center;}
  #sticky-area a.tel-link .tel { margin:0; padding:0; width:100% }
  #sticky-area a.tel-link .hours, #sticky-area a.tel-link .closed { display: inline-block; margin:0 4px; }
  #sticky-area a.sticky-button { border-radius:8px; flex:1; margin:0!important; font-size:1.25em; display:flex; flex-wrap:wrap; align-items:center; justify-content:center;}
}
@media screen and (min-width: 1024.1px) { 
  #sticky-area { font-size:16px; }
}
@media screen and (min-width: 1366.1px) { 
  #sticky-area { font-size:18px; }
}

/*
footer
-----------------------------------------------------*/
.l-footer { background: #004729; color: #FFF; padding:var(--section-gap) 0 8px; margin-bottom:-1px; }
.l-footer__logo { display: block; margin-bottom: 2.5rem; }
.l-footer-menu { text-align: center; display:flex; flex-wrap:wrap; margin-top:var(--column-gap); font-family:var(--mincho); }
.l-footer-menu .c-gmenu-secondary { flex:1; margin:0; }
.l-footer-menu .c-gmenu-secondary .c-gmenu-secondary__item { margin:.5rem 0 0; position: relative;}
.l-footer-menu .c-gmenu-secondary:nth-child(n+2) li::before { content:'・'; display:block; position:absolute; left:-.5em; width:1em; height:1em; color:currentColor }
.l-footer .c-gmenu-tertiary { display:flex; justify-content:space-between; flex-wrap:wrap;}
.l-footer-menu__tertiary { margin:var(--section-gap) 0 0; }
.l-footer-copyright { font-size: 0.7142857143rem; letter-spacing: 0.1em; text-align: center; }
.c-gmenu-button { display:flex; flex-wrap:wrap; justify-content: space-between; align-items:stretch; gap:1rem; }
.c-gmenu-button__item { flex:1; display:flex; flex-wrap:wrap; align-items:stretch; margin:0; min-width:calc( 50% - 1rem ); min-height:4em; }
.c-gmenu-button__item a { border-radius:100px; display:flex; width:100%; align-items:center; flex:1; padding:.5em; justify-content:center; text-align:center; color:#004729; background-color:white; line-height:1.3; font-family:var(--mincho); }
.c-gmenu-button__item a:hover { background-color:#e8fff4; }
@media screen and ( max-width : 781px) { 
  .l-footer-menu .c-gmenu-secondary:nth-child(3) { min-width:100%; margin-top:2rem; }
  .l-footer-menu .c-gmenu-secondary:nth-child(3) li::before { content:''; display:none; }
}
@media screen and (min-width: 781.1px) { 
  .c-gmenu-button { flex-wrap:nowrap; }
  .c-gmenu-button__item { min-width:auto; }
  .l-footer-menu { flex-wrap:nowrap; }
  .l-footer-menu .c-gmenu-secondary { flex:1; margin:0; }
}
@media screen and (min-width: 1024.1px) { 
  .l-footer__inner { display: flex; justify-content: space-between; padding-bottom: 12rem; position: relative; }
  .l-footer-copyright { position: absolute; right: 0; bottom: 0; margin: auto; }
}

/*  l-container
-----------------------------------------------------*/
.l-container-primary { width:calc( 100% - var(--column-gap) * 2 ); --container-width:1800px; max-width:var(--container-width); margin: 0 auto;  position: relative; z-index:1; }
.l-container-secondary { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin: 0 auto; position: relative; z-index:1; }
.l-container-first-block { padding-top:var(--column-gap); }
.l-container-contents { padding-bottom: var(--section-gap); }

@media screen and (min-width: 781.1px) { 
  body { padding-left: 100px; }
}
@media screen and (min-width: 1024.1px) { 
  body { padding-left: 120px; }
}
@media screen and (min-width: 1366.1px) { 
  body { padding-left: 150px; }
}
@media screen and ( max-width : 781px) { 
  .l-container-sp { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin: 0 auto; }
}


/* spacer
-----------------------------------------------------*/
.l-spacer.-medium { padding-top: var(--section-gap); }
.l-spacer.-medium.-both { padding-bottom: var(--section-gap); }
.l-spacer.-medium.-bottom { padding-top: initial; padding-bottom: var(--section-gap); }
@media screen and (min-width: 781.1px) { 
  .l-spacer.-nopc { padding-top: 0; }
}
.l-spacer.-small { padding-top: var(--column-gap); }
.l-spacer.-small.-both { padding-bottom: var(--column-gap); }
.l-spacer.-small.-bottom { padding-top: initial; padding-bottom: var(--column-gap); }
.l-spacer.-em1 { margin-top: 1em; }
.l-spacer.-em2 { margin-top: 2em; }
.l-spacer.-em3 { margin-top: 3em; }

/* column
-----------------------------------------------------*/
.l-column-2 { margin:0; display: flex; flex-wrap: wrap; justify-content: space-between; }
.l-column-2 .l-column__item { width: 100%; }
.l-column__item > a { height:100%; }
.l-column-2 .l-column__item:nth-child(n+2) {  margin-top: 1rem; }
.l-column-ttl-conts { width: 100%; }
.l-column-ttl-conts__title { font-size: 1.4rem; margin-bottom: 1em; }
.l-column-ttl-conts__title-sub { display: flex; font-size: 0.8571428571rem; }
.l-column-ttl-conts__conts { padding-left: 2.5rem; }
@media screen and (min-width: 781.1px) { 
  .l-column-ttl-conts { display: flex; }
  .l-column-ttl-conts__title { width: 30%; margin-bottom: 0; font-size: 1.125rem; font-weight: bold; line-height: 1.4; }
  .l-column-ttl-conts__title-sub { font-size: 1rem; }
  .l-column-ttl-conts__conts { width: 70%; margin-left: auto; }
}
@media screen and (min-width: 1024.1px) { 
  .l-column-2 .l-column__item { width: calc(50% - 1rem); }
  .l-column-2 .l-column__item:nth-child(n) {  margin-top: 0; }
  .l-column-2 .l-column__item:nth-child(n+3) {  margin-top: 2rem; }
  .l-column-ttl-conts__title { font-size: 1.5rem; }
}
@media screen and ( max-width : 781px) { 
  .l-column-ttl-conts__conts.-sp-nopad { padding-left: 0; }
}

/* title
-----------------------------------------------------*/
.c-title-page-main { margin:var(--column-gap) var(--column-gap) var(--column-gap) auto; min-height:var(--section-gap); width:4em; writing-mode: vertical-rl; font-family:var(--mincho); white-space: nowrap}
.c-title-page-main .title { display:block; font-size: 1.811em; line-height:1.4; }
.c-title-page-main .en { display:block; font-size: .75em; text-transform: capitalize;}
.c-title-lead { margin-bottom: 6.5rem; max-width: calc(100% - 12.5vw); }
.c-title-lead.-full { max-width: none; }
.c-title-lead__title { font-family: var(--mincho); font-weight:inherit; font-size: 1.5714285714rem; margin: 0.5em 0 1.5em; letter-spacing: 0.2em; }
.c-title-card { font-family: var(--mincho); font-weight:inherit; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 1.4; }
.c-title-card__sub { font-size: 0.5em; display: block; font-family:var(--mincho); letter-spacing: 0.1em; color: #0F3A25; margin-bottom: 0.5em; }
.c-title-medium { margin-bottom: 1em; text-transform: uppercase; font-size: 1.2857142857rem; font-weight: bold; }
.c-title-medium.-t-normal { text-transform: none; }
.c-title-small { margin-bottom: 1em; text-transform: uppercase; font-size: 0.8571428571rem; }
@media screen and (min-width: 781.1px) { 
  .c-title-lead__title { font-size: 1.625rem; }
  .c-title-lead { margin-bottom: 7vw; max-width: calc(100% - 5vw); }
  .c-title-card { font-size: 1.5rem; }
  .c-title-medium { font-size: 1.25rem; }
}
@media screen and (min-width: 1024.1px) { 
  .product-main .c-title-page-main { position:absolute; right:0; top:0; }
}

/* button
-----------------------------------------------------*/
.c-button-hamburger { background: #004729; color: #FFF; }
@media screen and (min-width: 781.1px) { 
  .c-button-hamburger { display: none; }
}
.c-button-hamburger .menuicon { width: 1.4rem; height: 1.4rem; position: relative; margin-right: 1em; }
.c-button-hamburger .menuicon::before, .c-button-hamburger .menuicon::after { content: ""; width: 100%; height: 1px; display: block; background: #FFF; position: absolute; inset: 0; margin: auto; transition: translate 0.3s 0.3s, rotate 0.3s, -webkit-box-shadow 0s 0.3s; transition: translate 0.3s 0.3s, rotate 0.3s, box-shadow 0s 0.3s; transition: translate 0.3s 0.3s, rotate 0.3s, box-shadow 0s 0.3s, -webkit-box-shadow 0s 0.3s; }
.c-button-hamburger .menuicon::before { translate: 0px -8px; box-shadow: 0 8px 0 #FFF; }
.c-button-hamburger .menuicon::after { translate: 0px 8px; }
.c-button-hamburger.-open .menuicon::before, .c-button-hamburger.-open .menuicon::after { transition: translate 0.3s, rotate 0.3s 0.3s; }
.c-button-hamburger.-open .menuicon::before { translate: 0px 0px; rotate: 45deg; box-shadow: 0 0px 0 transparent; }
.c-button-hamburger.-open .menuicon::after { translate: 0px 0px; rotate: -45deg; }
.c-button-text { display:block; }
.c-button-text.-en { font-family:var(--mincho); }
.c-button-text i { vertical-align: middle; font-size:1.35em; line-height:1; }
.c-button-arrow { vertical-align: middle; }
.c-button-arrow::after { content: ""; width: 1.5em; height: 1.5em; background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg); background-repeat: no-repeat; background-position: center center; background-size: 50% auto, contain; display: inline-block; margin-left: 0.5em; vertical-align: middle; transition: background 0.5s; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .c-button-arrow::after { background-image: url(../image/icon-arrow-white.svg), url(images/common/bright-green-block.svg); }
}
.c-button-arrow-back { vertical-align: middle; }
.c-button-arrow-back::before { content: ""; width: 1.5em; height: 1.5em; background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg); background-repeat: no-repeat; background-position: center center; background-size: 50% auto, contain; display: inline-block; margin-right: 0.5em; vertical-align: middle; transform: rotate(180deg); transition: background 0.5s; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .c-button-arrow-back::before { background-image: url(../image/icon-arrow-white.svg), url(images/common/bright-green-block.svg); }
}
.c-button-round { border-radius: 2em; text-align: center; vertical-align: middle; padding: 0.8em; line-height: 1.4; position: relative; }
.c-button-round.-fit { padding: 1em 2em; display: table; }
.c-button-round.-full { width: 100%; }
.c-button-round.-center { display: table; margin: 0 auto; }
.c-button-round.-white { background: #FFF; transition: color 0.3s; }
@media (hover: hover) and (pointer: fine) { 
  .c-button-round.-white:hover, a:hover .c-button-round.-white { color: var(--hover-color); }
}
.c-button-round.-green { background: #004729; color: #FFF; transition: background 0.5s; }
@media (hover: hover) and (pointer: fine) { 
  .c-button-round.-green:hover, a:hover .c-button-round.-green { background: var(--hover-color); }
}
.c-button-round .icon { display: inline-block; vertical-align: middle; margin-left: 2em; width:.75em; height:auto; }
.c-button-round .icon.-right { position: absolute; right: 1em; top: 0; bottom: 0; margin: auto; }
a.c-button-corporate-link { color: #0F3A25; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.8571428571rem; }
.c-button-block { width: 5rem; height: 5rem; display: inline-flex; align-items: center; justify-content: center; background: url(../image/green-line-block.svg) no-repeat center center/contain; color: #004729; font-family:var(--mincho); transition: color 0.5s, background 0.5s; -webkit-clip-path: url(#square-button); clip-path: url(#square-button); }
.c-button-block.-more { font-size: 0.7142857143rem; text-transform: uppercase; flex-shrink: 0; }
@media screen and (min-width: 781.1px) { 
  .c-button-block.-more { font-size: 0.75rem; }
}
@media screen and (min-width: 1280.1px) { 
  .c-button-block.-more { width: 9em; height: 9em; }
}
@media (hover: hover) and (pointer: fine) { 
  .c-button-block.-more:hover, a:hover .c-button-block.-more { color: #FFF;  background-color: #004729;}
}
.c-button-linkline { color:inherit; }
.c-button-linkline .line { vertical-align:middle; background: -webkit-gradient(linear, left top, right top, from(#FFF), to(#FFF)) no-repeat 100% 100%/0 1px; background: -webkit-linear-gradient(left, #FFF, #FFF) no-repeat 100% 100%/0 1px; background: linear-gradient(90deg, #FFF, #FFF) no-repeat 100% 100%/0 1px; transition: background-size 0.4s; }
@media (hover: hover) and (pointer: fine) { 
  .c-button-linkline:hover .line { background-size: 100% 1px; background-position: 0 100%; }
}

/* title
-----------------------------------------------------*/
.c-table-std { width: 100%; border-bottom: 1px solid #CCCCCC; }
.c-table-std tr { border-top: 1px solid #CCCCCC; }
.c-table-std th { background: #F8F8F8; font-weight: normal; padding: 1em; width: 35%; }
.c-table-std td { padding: 1em; width: 65%; }
.c-table-std .woocommerce_gateway_icons, .c-table-std .wc-stripe-card-icons-container, .c-table-std .wc-stripe-paymentRequest-icons-container { float:none; }
.c-table-std .wc-stripe-paymentRequest-icons-container img { display:block!important;}
@media screen and ( max-width : 781px) {
  .c-table-std tr, .c-table-std th, .c-table-std td { display: block; width: 100%; }
}
dl.product-labeling { padding:0; width:100%; font-size:1em; border-width:0; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; border-top-width:1px; border-style:solid; border-color: #B1C5B5; border-bottom-width: 1px; margin:0; }
dl.product-labeling + dl.product-labeling { border-top-width:0px; }
dl.product-labeling dt { padding:.5em; background-color:var(--theme-color); white-space: nowrap; line-height:1.2; font-size:.75em; color:#fff; font-weight: 600; width:auto; }
dl.product-labeling dd {  width:calc(100% - 5.5em); padding:12px 0 12px 8px; font-size:.875em;  }
.p-product-addition-hanakore { margin: 0 0 1em; padding:16px; border: 1px solid var(--border-color); display: flex; flex-wrap:wrap; gap:16px }
.p-product-addition-logo { flex:2; display:block; min-width:144px; }
.p-product-addition-logo img { display:block; max-width:176px; margin:0 auto; }
.p-product-addition-p { flex:3; display:block; min-width:176px; font-size:14px; line-height:16px; margin:0;}
p.points.hide-on-price-available { display:none!important; }


/* tab
-----------------------------------------------------*/
.c-tab-selector { display: flex; margin-bottom: 3em; position: relative; border-bottom: 1px solid #707070; }
.c-tab-selector__button { width: calc(50% - 5px); max-width: 400px; flex:1; font-size: 1rem; border-radius: 7px 14px 0 0; border-width: 1px 1px 0 1px; border-style: solid; border-color: #707070; background: #F8F8F8; height: 6.5em; display: flex; align-items: center; justify-content: center; font-weight: 500; cursor: pointer; }
.c-tab-selector__button + .c-tab-selector__button { margin-left: 10px; }
.c-tab-selector__button.-active { background: #FFF; position: relative; z-index: 2; }
.c-tab-selector__button.-active::after { content: ""; width: 100%; height: 2px; background: #FFF; display: block; position: absolute; left: 0; right: 0; bottom: -1px; margin: auto; }
.c-tab-conts { display: none; }
.c-tab-conts.-active { display: block; }

/* form
-----------------------------------------------------*/
.c-form-table { background: #F8F8F8; width: 100%; border-width:0; border-top: 1px solid; text-align:left; }
.c-form-table tr, .c-form-table th, .c-form-table td { display: block; width: 100%; border-width:0; }
.c-form-table tr { border-bottom: 1px solid; }
.c-form-table th { padding: 1.4rem 0.7142857143rem; position: relative; }
.c-form-table td { padding: 0 0.7142857143rem 1.4rem; }
.c-form-table .wpcf7-form-control-wrap + .wpcf7-form-control-wrap { margin-top:8px; }
input, select, textarea { width: 100%; }
.woocommerce-MyAccount-navigation-link a, .cart-collaterals, .cart-collaterals::after, #review-order-wrapper::after, .woocommerce-Address { border-radius:1rem; }
#wcms_message_in_address, .product-thumbnail-wrap img, .shipping-head-wrap { border-radius:10px; }
.method-label-block .weight_label { display:none!important; }
a.button, a.wp-block-button__link, button[type="submit"], input[type="submit"] { border-radius:var(--button-border-radius);	color:#fff; outline: solid 1px currentColor; outline-offset:-6px; letter-spacing:0; }
a.mini-button { border:.1em solid currentColor; font-size:13px; line-height:1; color:var(--button-color); border-radius:100px; padding:.5em; display:table; }
a.mini-button:hover { background-color:var(--button-hover-color); border-color:var(--button-hover-color); color:#fff; }
.checkout-form-address-edit-buttons a.button, .shop_table a.button{ outline:none!important; }
.c-form__must { color: #FF0000; font-size: 0.7142857143rem; font-weight: normal; width: 3em; height: 3em; border-radius: 50%; line-height: 3em; text-align: center; letter-spacing: 0.1em; display: inline-flex; justify-content: center; align-items: center; vertical-align: middle; border: 1px solid; position: absolute; right: 0.7142857143rem; top: 1.25rem; margin: auto; font-family: inherit; }
.c-form select { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 2em; background: #FFF url(../image/icon-down.svg) no-repeat right 1em center/0.6em auto; }
.c-form select:invalid { color: #8D8D8D; }
.c-form select option { color: black; }
.c-form select option:first-child { color: #8D8D8D; }
.c-form textarea { height: 15em; }
.c-form__name input + input { margin-top: 1rem; }
.c-form__confirm-item input + input { margin-top: 1rem; }
.c-form__tel { display: flex; justify-content: space-between; align-items: center; }
.c-form__tel input, .c-form__tel select { width: calc(33.33% - 1rem); }
.c-form__address { display: flex; flex-wrap: wrap; }
.c-form__address > dt { width: 7em; padding-top: 1.25em; }
.c-form__address > dd { width: calc(100% - 7em); margin-bottom: 1rem; }
.c-form__address > dd:last-child { margin: 0; }
.c-form__zip { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; margin-bottom: 1em; }
.c-form__zip input { width: calc(50% - 1em); }
.c-form__zip-search { margin: 1em 0; }
.c-form__auto-zip { width: 100%; }
.c-form__item-desc { display: block; font-size: 0.8571428571rem; margin-top: 1em; font-weight: normal; }
.c-form__label { vertical-align: middle; display: inline-flex; align-items: center; }
.c-form__radio-wrap > label + label { margin-left: 2em; }
.c-form__button { text-align: center; margin: 2rem 0 0; }
.c-form__button input[type=submit] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; font-size: 1.2857142857rem; padding: 1em; border-radius: 1rem; background: #0F3A25; color: #FFF; text-align: center; width: 100%; max-width: 600px; }
.c-form__privacy + input[type=submit] { margin-top: 3rem; }
@media screen and (min-width: 781.1px) { 
  .c-form__name { display: flex; justify-content: space-between; }
  .c-form-table th { padding: 2rem; }
  .c-form-table td { padding: 0 2rem 2rem; }
  .c-form__name input { width: calc(50% - 0.5rem); }
  .c-form__name input + input { margin-top: 0; }
  .c-form__radio-wrap { margin-top: 0.5em; }
  .c-form__button { margin: 3rem 0 0; }
  .c-form__button input[type=submit] { font-size: 1.25rem; }
}
@media screen and (min-width: 1024.1px) { 
  .c-form-table tr { display: table-row; }
  .c-form-table th { display: table-cell; width: 35%; vertical-align: top; padding: 2.5rem 2rem 2rem 6rem; }
  .c-form-table td { display: table-cell; width: 65%; padding: 2rem 2rem 2rem 0; }
  .c-form__must { top: 2rem; left: 2rem; right: auto; vertical-align: middle; font-size: 0.875rem; }
}
@media screen and (min-width: 1280.1px) { 
  .c-form-table th { width: 40%; font-size: 1.25rem; padding-left: 12rem; }
  .c-form-table td { width: 60%; padding: 2rem 6rem 2rem 0; }
  .c-form__must { top: 2.5rem; left: 6rem; }
}
@media screen and (min-width: 1366.1px) { 
  .c-form__zip input { width: calc(50% - 5em); }
  .c-form__zip-search { margin: 0; }
  .c-form__auto-zip { width: 15em; margin-top: 1em; }
}

/* gmenu
-----------------------------------------------------*/
.c-gmenu-primary { display: flex; justify-content: center; align-items: flex-start; }
.c-gmenu-primary__item { margin:0; writing-mode: vertical-rl; font-family:var(--mincho); font-size:1.3rem }
.c-gmenu-primary__item a { color:inherit; }
.c-gmenu-primary__item + .c-gmenu-primary__item { margin-left: 3em; }
.c-gmenu-secondary { text-align: center; }
.c-gmenu-secondary__item + .c-gmenu-secondary__item { margin-top:1.5em; }
.c-gmenu-tertiary { text-align: center; font-size: 0.7857142857rem; }
.c-gmenu-tertiary__item { margin-top: 1em;}
@media screen and (min-width: 781.1px) { 
  .c-gmenu-primary { flex-direction: column; align-items: center; }
  .c-gmenu-primary__item { color:var(--font-color); font-size:1.2rem }
  .c-gmenu-primary__item + .c-gmenu-primary__item { margin-left: 0; margin-top: 3rem; }
  .c-gmenu-primary__item:first-child { display: none; }
  .c-gmenu-primary__item:first-child + .c-gmenu-primary__item { margin-top: 0; }
}
@media screen and (max-height: 1000px) and (min-width: 781.1px) { 
  .c-gmenu-primary__item + .c-gmenu-primary__item { margin-top: 1.5rem; }
}
@media screen and (min-width: 1024.1px) { 
  .c-gmenu-secondary__item + .c-gmenu-secondary__item { margin-top: 1em; }
  .c-gmenu-tertiary__item { margin: 0; }
  .c-gmenu-tertiary__item + .c-gmenu-tertiary__item { margin-left: 3em; }
}

/* inner link
-----------------------------------------------------*/
.c-innerlink { display: none; }
@media screen and (min-width: 781.1px) { 
  .c-innerlink { display: table; background: #0F3A25; color: #FFF; position: relative; z-index: 2; margin: -2.5rem 0 0 auto; border-radius: 30px 0 0 30px; width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); padding: 1.5rem 0; }
}
@media screen and (min-width: 1280.1px) { 
  .c-innerlink { width: 70%; }
}
.c-innerlink__list { display: flex; counter-reset: listnum; margin:0; margin-left: 10%; }
.c-innerlink__list-item { margin:0; counter-increment: listnum; vertical-align: middle; }
.c-innerlink__list-item::before { content: counter(listnum, decimal-leading-zero); font-size: 0.625rem; vertical-align: middle; line-height: 1rem; display: inline-block; margin-bottom: 0.3em; margin-right: 1em; }
.c-innerlink__list-item + .c-innerlink__list-item { margin-left: 2em; }
@media screen and (min-width: 1280.1px) { 
  .c-innerlink__list-item + .c-innerlink__list-item { margin-left: 3em; }
}

/* text
-----------------------------------------------------*/
.c-text-price { color: var(--theme-color); line-height: 1.4; font-size: 1.1rem; }
.c-text-price .times { background:#e8f8eb; margin-right: 0.5em; display: inline-block; padding: 0 1em; line-height: 1.8; vertical-align: super; }
.c-text-price .stock.in-stock { display:none; }
.c-text-price del { font-size:.875em; }
.c-text-price .offprice { text-shadow: .1em .1em 0 #fff, -.1em .1em .0 #fff, -.1em -.1em 0 #fff, .1em -.1em 0 #fff; }
.woocommerce-Price-currencySymbol { letter-spacing:0.3em; font-size:1rem; }
.woocommerce-Price-amount { font-family:var(--mincho); font-size: 1.5em; }
.variable-price-separator { font-family:var(--mincho); font-size: 1.5em; margin-right: 0.2em; }
.c-text-price .woocommerce-Price-amount { font-size:1.8em; }
.switch_subscription { background-color:var(--strong-color); color:#fff; font-size:1rem; margin:8px 0; padding:.25em;}
.c-text-en { font-family:var(--mincho); }
.c-text-serif { font-family: var(--mincho); font-weight:inherit; }
.c-text-small { font-size: 0.8em; }
.c-text-underline { text-decoration: underline; }
.c-text-note { font-size: 0.8571428571rem; padding-left: 2em; }
.c-text-note::before { content: "※"; margin-left: -2em; width: 2em; vertical-align: middle; display: inline-block; line-height: 1.7; }
@media screen and (min-width: 781.1px) {
  .c-text-note::before { font-size: 0.875rem; }
}

/* tag
-----------------------------------------------------*/
.c-tag { display: flex; flex-wrap: wrap; font-size: 0.7rem; margin:0; }
.c-tag li { margin:0 0.5em 0.5em 0; }
.c-tag .c-tag__item { padding:.25em .5em; border-radius: 1.5em; line-height: 1.2; display: block; background-color:var(--layer-color); }
.c-tag.-flowers .c-tag__item, .l-container-contents.-flowers .c-tag__item { background: #fdb2b24f; color:#484242; }
.c-tag.-attend .c-tag__item, .l-container-contents.-attend .c-tag__item { background: #fdb2b24f; color:#484242; }
.c-tag.-selects .c-tag__item, .l-container-contents.-selects .c-tag__item { background: #97979745; color:#3e3e3e; }
@media screen and (min-width: 781.1px) {
  .c-tag { font-size: 0.8rem; }
  .c-tag .c-tag__item { padding:.25em 1em; }
}


/* list
-----------------------------------------------------*/
.c-list-arrow { margin:0; display:block; padding:0; font-size:1rem; }
.c-list-arrow__item { padding-left: 2em; margin:0; }
.c-list-arrow__item::before { content: ""; width: 1em; height: 1em; display: inline-block; vertical-align: middle; margin-left: -2em; margin-right: 1em; background: url(../image/icon-arrow-white.svg) no-repeat center center/contain; }
.c-list-arrow__item + .c-list-arrow__item { margin-top: 1em; }
@media screen and (min-width: 1024.1px) {f
  .c-list-arrow__item + .c-list-arrow__item { margin-top: 0.5em; }
}
.c-list-blockarrow { margin:0; display:block; padding:0; }
.c-list-arrow.-green *::before { background-image: url(../image/icon-arrow-r.svg); }
.c-list-blockarrow__item { padding-left: 2em; display: block; line-height: 1.4; margin:0; }
.c-list-blockarrow__item::before { content: ""; width: 1em; height: 1em; display: inline-block; vertical-align: middle; margin-left: -2em; margin-right: 1em; background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg); background-repeat: no-repeat; background-position: center center; background-size: 50% auto, contain; transition: background 0.3s;-webkit-clip-path: url(#square-button); clip-path: url(#square-button); }
@media (hover: hover) and (pointer: fine) { 
  .c-list-blockarrow__item:hover::before, a:hover .c-list-blockarrow__item::before { background-image: url(../image/icon-arrow-white.svg), url(images/common/bright-green-block.svg); }
}
.purchase-note li + li { margin-top: 1em; }
.c-list-circle__item { padding-left: 2em; position: relative; }
.c-list-circle__item::before { content: "○"; display: inline-block; position: absolute; top: 0; left: 0; margin: auto; }
.c-list-circle__item + .c-list-circle__item { margin-top: 1em; }

.shipping-info li { padding-left: 2em; position: relative; }
.shipping-info li::before { content: "●"; color: #0F3A25; display: inline-block; position: absolute; top: 0; left: 0; margin: auto; }
.shipping-info li + li { margin-top: 1em; }
.c-list-dot__item { padding-left: 2em; position: relative; }
.c-list-dot__item::before { content: "・"; display: inline-block; position: absolute; top: 0; left: 0; margin: auto; }
.c-list-num { counter-reset: listnum; }
.c-list-num > li { counter-increment: listnum; padding-left: 2em; }
.c-list-num > li + li { margin-top: 1em; }
.c-list-num > li::before { content: counter(listnum) "."; width: 2em; margin-left: -2em; display: inline-block; }
.c-list-line__item { border-bottom: 1px solid #000000; padding: 2rem 0; }
@media screen and (min-width: 781.1px) { 
  .c-list-line__item { display: flex; padding: 5rem 0; }
}
.c-list-asterisk__item { padding-left: 2em; }
.c-list-asterisk__item::before { content: "※"; display: inline-block; vertical-align: middle; margin-left: -2em; width: 2em; }
.c-list-whiteline > li { padding: 0.75em 0; margin:0; }
.c-list-whiteline > li + li { border-top: 1px solid #FFF; }
.c-list-greenline > li { padding: 0.75em 0; margin:0; }
.c-list-greenline > li + li { border-top: 1px solid #0F3A25; }
.c-list-plus__item:not(:last-child) { 
  margin-right: 1.5em; position: relative; }
.c-list-plus__item:not(:last-child)::before { content: "+"; display: inline-block; width: 1.5em; text-align: center; position: absolute; left: 100%; top: 0; margin: auto; }
.c-list-step { counter-reset: stepnum; }
.c-list-step__item { counter-increment: stepnum; padding-left: 5rem; padding-top: 0.5em; position: relative; }
@media screen and (min-width: 781.1px) { 
  .c-list-step__item { padding-left: 6.5rem; }
}
.c-list-step__item + .c-list-step__item { margin-top: 2em; }
.c-list-step__num { width: 3.5rem; height: 3.5rem; background: url(../image/green-block.svg) no-repeat center center/100% 100%; position: absolute; left: 0; top: 0; color: #FFF; text-align: center; font-family:var(--mincho); font-size: 0.7142857143rem; text-transform: uppercase; font-weight: bold; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.2; }
@media screen and (min-width: 781.1px) { 
  .c-list-step__num { width: 4.5rem; height: 4.5rem; }
}
.c-list-step__num::after { content: counter(stepnum); display: block; font-size: 1.4em; }
@media screen and (min-width: 781.1px) { 
  .c-list-step__num::after { font-size: 2em; }
}
.c-list-step__title { font-size: 1.1428571429rem; font-weight: bold; }
@media screen and (min-width: 781.1px) { 
  .c-list-step__title { font-size: 1.25rem; margin-bottom: 1em; }
}
.c-list-slash { display: flex; flex-wrap: wrap; }
.c-list-slash__item + .c-list-slash__item::before { content: "/"; }
.c-list-dl-horizontal { border-bottom: 1px solid; }
.c-list-dl-horizontal > dt { background: #F8F8F8; border-top: 1px solid; padding: 1rem; }
@media screen and (min-width: 781.1px) { 
  .c-list-dl-horizontal > dt { font-weight: bold; }
}
.c-list-dl-horizontal > dd { padding: 1rem; }
.c-list-dl-3 > dt { width: 4em; float: left; }
.c-list-dl-3 > dd { padding-left: 4em; }
.c-list-dl-6 > dt { width: 7em; float: left; }
.c-list-dl-6 > dd { padding-left: 7em; }
.c-list-round__item { display: inline-block; background: #F8F8F8; padding: 0 1em; border-radius: 1em; margin: 2px 0; }

/* title
-----------------------------------------------------*/
.c-pagination { position: relative; display: flex; justify-content: center; padding-top: 5rem; flex-wrap: wrap; }
@media screen and (min-width: 781.1px) { 
  .c-pagination { padding: 0 8.5714285714rem; }
}
.c-pagination .page-numbers { width: 3.5714285714rem; height: 3.5714285714rem; line-height: 3.5714285714rem; text-align: center; padding:0; border-width:0; margin: 5px; background: url(../image/green-line-block.svg) no-repeat center center/contain; transition: background 0.5s; -webkit-clip-path: url(#square-button); clip-path: url(#square-button); }
.c-pagination .page-numbers.prev, .c-pagination .page-numbers.next { width: 7.1428571429rem; background-image: url(../image/green-line-block-wide.svg); position: absolute; top: 0; margin: 0; -webkit-clip-path: url(#rectangle-button); clip-path: url(#rectangle-button); }
.c-pagination .page-numbers.prev { left: 0; }
.c-pagination .page-numbers.next { right: 0; }
.c-pagination .page-numbers.current { color: #FFF; background-image: url(../image/green-block.svg); }
@media (hover: hover) and (pointer: fine) { 
  .c-pagination .page-numbers:hover { color: #FFF; background-image: url(../image/green-block.svg); }
  .c-pagination .page-numbers.prev:hover, .c-pagination .page-numbers.next:hover { background-image: url(../image/green-block-wide.svg); }
}
.c-pagination-white { color: #FFF; }
.c-pagination-white .c-pagination .page-numbers { color: #000000; background-image: url(../image/white-block.svg); border-width:0; }
.c-pagination-white .c-pagination .page-numbers.current { background-image: url(../image/white-line-block.svg); }
.c-pagination-white .c-pagination .page-numbers.prev, .c-pagination-white .c-pagination .page-numbers.next { background-image: url(../image/white-block-wide.svg); }
@media (hover: hover) and (pointer: fine) { 
  .c-pagination-white .c-pagination .page-numbers:hover { background-image: url(../image/white-line-block.svg); }
  .c-pagination-white .c-pagination .page-numbers.prev:hover, .c-pagination-white .c-pagination .page-numbers.next:hover { background-image: url(../image/white-line-block-wide.svg); }
}

/* tag
-----------------------------------------------------*/
.c-banner { padding: 5rem 6.5% 15rem; }
.c-banner.-right { text-align: right; }
.c-banner.-right .-more { margin: 0 0 0 auto; }
.c-banner.-flowers { background: url(../image/bnr-gift.jpg) no-repeat 10% 100%/cover; }
.c-banner.-teikibin { background: url(../image/main_sp.jpg) no-repeat 40% center/cover; }
.c-banner.-selects { background: #D9DADE url(../image/bnr-vase.jpg) no-repeat right bottom/100% auto; }
.c-banner__text { display: flex; flex-direction: column; height: 100%; }
.c-banner__title { width: auto; height: 2.5rem; }
.c-banner__title img { width: auto; height: 100%; display: inline-block; }
.c-banner__title-en { font-family:var(--mincho); font-size: 0.5vw; margin: 1em 0; letter-spacing: 0.3em; }
.c-banner__desc { font-family: var(--mincho); font-weight:inherit; letter-spacing: 0.2em; margin-bottom: 4em; letter-spacing: 0.1em; }
.c-banner-wide .c-banner { height: auto; }
.c-banner-wide .c-banner__desc { margin-bottom: 4em; }
@media screen and (min-width: 781.1px) { 
  .c-banner { padding: 3rem 10% 3rem; height: 36vw; }
  .c-banner.-flowers { text-align: right; background-position: 70% 45%; background-size: auto 140%; }
  .c-banner.-flowers .-more { margin: 0 0 0 auto; }
  .c-banner.-teikibin { background-image: url(../image/main.jpg); background-position: 90% center; background-size: 120% auto; }
  .c-banner.-selects { background-size: 90% auto; }
  .c-banner__title-en { font-size: 0.3vw; line-height: 3; }
  .c-banner__desc { margin-bottom: auto; }
  .c-banner-wide .c-banner { padding: 5rem 5% 5rem; }
  .c-banner-wide .c-banner.-selects { background-size: auto 100%; }
  .c-banner-wide .c-banner__title { height: 3rem; }
}
@media screen and (min-width: 1024.1px) { 
  .c-banner.-flowers { background-position: 95% 50%; background-size: auto 150%; }
  .c-banner { padding: 6vw 15% 5vw; }
  .c-banner__title { height: 3vw; }
  .c-banner__title-en { font-size: 0.625rem; }
  .c-banner-wide .c-banner { padding: 6vw 7.5% 5vw; }
  .c-banner-wide .c-banner__title { height: 4vw; }
}

/* icon
-----------------------------------------------------*/
.c-icon-question { font-family:var(--mincho); font-size: 0.7857142857rem; width: 2em; height: 2em; line-height: calc(2em - 2px); text-align: center; background: #FFF; border-radius: 50%; border: 1px solid; display: inline-block; color: #0F3A25; }

/* category
-----------------------------------------------------*/
.c-category { color: #0F3A25; }

/* attention block
-----------------------------------------------------*/
.c-attention-block { padding: 2em 0 0; }
.c-attention-block__title { border-bottom: 1px solid; font-size: 1.2857142857rem; padding-bottom: 0.5em; margin-bottom: 0.5em; }

/* loading
-----------------------------------------------------*/
.c-loading { width: 100%; height: 100%; position: fixed; inset: 0; background: #FFF; z-index: 9999; }

/*
opening
-----------------------------------------------------*/
.c-opening { background: linear-gradient(transparent, #004729 66%) no-repeat 50% 100%/100% 300%; width: 100%; height: 100%; position: fixed; inset: 0; margin: auto; z-index: 99999; display: flex; opacity: 0; pointer-events: none; }
.show-opening .c-opening { opacity: 1; }
.show-opening.open .c-opening { opacity: 0; background-position: 50% 0%; transition: opacity 1s 2.5s, background-position 1s 2s; }
.show-opening.open .c-opening__inner { opacity: 0; transition: opacity 1s 2s; }
.c-opening .tagline { position: absolute; inset: 0; margin: auto; width: 9.125rem; height: 1rem; transform: translateY(-6.5rem); text-align: center; }
.c-opening .tagline .letter { opacity: 0; transition: opacity 0.5s; fill: #FFF; }
.c-opening .tagline svg { width: 100%; height: auto; display: block; }
.open .c-opening .tagline #letter1 { opacity: 1; transition-delay: 0.05s; }
.open .c-opening .tagline #letter2 { opacity: 1; transition-delay: 0.1s; }
.open .c-opening .tagline #letter3 { opacity: 1; transition-delay: 0.15s; }
.open .c-opening .tagline #letter4 { opacity: 1; transition-delay: 0.2s; }
.open .c-opening .tagline #letter5 { opacity: 1; transition-delay: 0.25s; }
.open .c-opening .tagline #letter6 { opacity: 1; transition-delay: 0.3s; }
.open .c-opening .tagline #letter7 { opacity: 1; transition-delay: 0.35s; }
.open .c-opening .tagline #letter8 { opacity: 1; transition-delay: 0.4s; }
.c-opening .logo { position: absolute; inset: 0; margin: auto; width: 9.125rem; height: 9.3125rem; text-align: center; opacity: 0; transition: opacity 0.5s 0.5s cubic-bezier(0.9, 0, 0.82, 0.94); }
.c-opening .logo img { width:100%; }
.open .c-opening .logo { opacity: 1; }

/* mainvisual
-----------------------------------------------------*/
.p-mainvisual { height: calc(100vh - constant(safe-area-inset-bottom) - 4.5rem); }
.p-mainvisual__main { height: calc(100% - 6rem); min-height:640px; position: relative; }
.p-mainvisual__main::before { content:''; display:block; padding:140% 0 0; min-height:560px }
.p-mainvisual__main .p-mainvisual__img img { position:absolute; z-index:1; left:0; top:0; width:100%; height:100%; object-fit: cover; object-position:center 100%; }
.p-mainvisual__catchphrase { -webkit-writing-mode:vertical-rl; -ms-writing-mode:vertical-rl; writing-mode:vertical-rl; position: absolute; right:var(--column-gap); top:var(--column-gap); max-width:50%; margin: auto; z-index: 2; font-size:1.25em; font-family:var(--mincho); }
.p-mainvisual__catchphrase span { display:block;}
.p-mainvisual__title { position: absolute; right: var(--column-gap); bottom: var(--column-gap); margin: auto; z-index: 2; display:flex; flex-wrap: wrap; flex-direction:column; align-items: flex-end; gap:4vw; }
.p-mainvisual__title .title { width:300px; max-width:80%; margin:0; order:1; }
.p-mainvisual__title img { width: 100%; height: auto; display:block; }
.p-mainvisual__title .circle-icons { display:flex; gap:1em; font-size:2.5vw; order:2; }
.p-mainvisual__title .circle-icons .icon { font-size:1.3em; display: inline-block; position: relative; width:3.9em; height:3.9em; margin:0; padding:.7em .45em .5em; text-align:center; border-radius:200px; border:.06em solid currentColor; line-height:1.25; font-family:var(--mincho); }
.p-mainvisual__title .circle-icons .icon b { font-size:10px; width:1em; height:1em; line-height: 1; position:absolute; bottom:.1em; left:0; right:0; margin:0 auto; }
.p-mainvisual__main .note { width:100%; text-align:right; margin:0; order:3; }

.p-mainvisual__side { background:#FFF; height:6rem; position:relative; }
.p-teikibin-index-content-1 { position:relative; margin-left:auto; margin-right:auto; }
.p-teikibin-index-content-1::after { content:''; display:block; padding-bottom:75%; }
.p-teikibin-index-content h3 { text-align:center; margin-top:0; font-family:var(--mincho); }
.p-teikibin-index-content-columns p { text-align:left; font-size:.875em; }
/* .p-teikibin-index-content-columns .column { margin-top:calc( var(--column-gap) * 0.5 ); } */
.p-teikibin-index-content-columns .column-title { text-align:center; margin-top:.5em }
.p-teikibin-index-content-columns .column-image { border-radius:50%; position: relative; overflow:hidden; margin:0 auto; max-width:280px; width:74%; margin-bottom:var(--p-margin) }
.p-teikibin-index-content-columns .column-image::before { content:''; padding:100% 0 0; display:block; }
.p-teikibin-index-content-columns .column-image img { object-fit:cover; display:block; width:100%; height:100%; position:absolute; left:0; top:0; }
.p-teikibin-index-image { display:block; overflow:hidden; border-radius:8px; position: absolute; }
.p-teikibin-index-image::before { content:''; display:block; padding:100% 0 0 0; }
.p-teikibin-index-image-1 { bottom:6%; left:0; width:45%; max-width:240px; }
.p-teikibin-index-image-1::before { padding-top:130%; }
.p-teikibin-index-image-2 { bottom:0; right:0; width:45%; max-width:240px; }
.p-teikibin-index-image-2::before { padding-top:130%; }
.p-teikibin-index-image-3 { display:none; }
.p-teikibin-index-image-3::before { padding-top:66.66%; }
.p-teikibin-index-image img { object-fit:cover; display:block; width:100%; height:100%; position:absolute; left:0; top:0; }
@media screen and (min-width: 480.1px) { 
  .p-mainvisual__main::before { padding:100% 0 0; }
  .p-mainvisual__title { flex-direction:row; justify-content:flex-end; left: var(--column-gap); }
  .p-mainvisual__title .title { width:320px; max-width:60vw; }
  .p-mainvisual__title .circle-icons { font-size:1rem; }
  .p-mainvisual__main .p-mainvisual__img img { object-position:center; }
}
@media screen and (min-width: 781.1px) { 
  .p-mainvisual__title { gap:2em }
  .p-mainvisual__title .title { order:2; max-width:40%; }
  .p-mainvisual__title .circle-icons { order:1; }
  .p-mainvisual__catchphrase { right:auto; left:var(--column-gap); top:var(--column-gap); }
  h2.title { font-size:2.65em; }
}
@media screen and ( max-width : 781px) { 
  .circle-icons b, .p-mainvisual__main .note  { display:none; }
  .p-mainvisual__main { min-height:70vh; }
  .p-teikibin-index-content-columns { max-width:400px; margin:0 auto }
}
@media screen and ( max-width : 1024px) { 
  .p-teikibin-index-content-1 { max-width:540px; }
}
@media screen and (min-width: 1024.1px) { 
  .p-mainvisual { height: auto; display: flex; }
  .p-mainvisual__main { width: calc(100% - 200px); }
  .p-mainvisual__main .p-mainvisual__img img { object-position:70% center; }
  .p-mainvisual__side { width: 200px; background: transparent; height:auto; }
  .p-teikibin-index-content-1 { padding-left:18%; padding-right:18%; }
  .p-teikibin-index-content-1::after { display:none;}
  .p-teikibin-index-image-1 { left:0; right:auto; top:var(--column-gap); bottom:auto; width:20%; max-width:240px; }
  .p-teikibin-index-image-2 { left:auto; right:0; top:40%; bottom:auto; width:20%; max-width:280px; }
  .p-teikibin-index-image-3 { display:none; left:7%; bottom:0; width:20%; max-width:280px; }
  .p-mainvisual__main .note { position:absolute; right:calc(var(--column-gap) * -1 ); bottom:calc(var(--column-gap) * -1 - 2em); }
}
@media screen and (min-width: 1280.1px) { 
  .p-mainvisual__main::before { padding:60% 0 0; }
  .p-mainvisual__main { width: calc(100% - 250px); }
  .p-mainvisual__side { width: 250px; }
  .p-mainvisual__title .title { width:400px; }
  .p-mainvisual__title { flex-direction:column; }
  .p-mainvisual__catchphrase { left: 5%; top: 10%; }
}
/* today
-----------------------------------------------------*/
.p-today { position: relative; display: flex; align-items: center; padding:0 var(--column-gap); z-index:2; }
.p-today__date { position: absolute; text-align: center; color: #0F3A25; width: 4rem; right: var(--column-gap); top: -1rem; margin: auto; margin:0; }
.p-today__year { font-family:var(--mincho); font-weight:bold; padding: 0.4em 0; border-top: 1px solid; display: block; border-bottom: 1px solid; line-height: 1; margin:0; }
.p-today__month { font-family:var(--mincho); font-size: 2.8571428571rem; font-weight: bold; line-height: 1; margin:0; letter-spacing:-.1em; text-indent:-.1em; }
.p-today__solar-terms { font-family: var(--mincho); font-weight:inherit; line-height: 1.4; margin:0; }
.p-today-flower { display: flex; font-family: var(--mincho); font-weight:inherit; }
.p-today-flower__img { margin-right: 1em; }
.p-today-flower__img img { width: 3rem; height: 3rem; -o-object-fit: contain; object-fit: contain; }
.p-today-flower__img .caption { color: #808080; text-align: center; display: block; font-size: 0.7142857143rem; line-height: 1; }
.p-today-flower__info .flower-name { font-size: 1.1428571429rem; margin:0; }
.p-today-flower__info .language-of-flower { margin:0; }
.p-today-flower__info .language-of-flower dt { font-size: 0.7142857143rem; border: 1px solid; display: inline-block; margin:0;margin-right: 0.5em; padding: 0 1em; border-radius: 1.5em; }
.p-today-flower__info .language-of-flower dd { font-size: 0.8571428571rem; display: inline-block; margin:0;}
@media screen and ( max-width : 781px) { 
  .p-today { display:none; }
}
@media screen and (min-width: 1024.1px) { 
  .p-today { flex-direction: column; padding-top: 4rem; }
  .p-today__date { position: relative; top: 0; right: auto; margin-bottom: 3rem; }
  .p-today__year { font-size: 1.5rem; }
  .p-today__month { font-size: 3.75rem; line-height: 1.4; }
  .p-today__solar-terms { font-size: 1.5625rem; }
  .p-today-flower { display: block; }
  .p-today-flower__img { margin-right: 0; margin-bottom: 1rem; display: flex; flex-direction: column-reverse; }
  .p-today-flower__img img { width: 6rem; height: 6rem; }
  .p-today-flower__img .caption { font-size: 0.75rem; margin-bottom: 1em; }
  .p-today-flower__info { -webkit-writing-mode: vertical-lr; -ms-writing-mode: tb-lr; writing-mode: vertical-lr; display: flex; flex-direction: column-reverse; margin: 0 12px; white-space: nowrap}
  .p-today-flower__info .flower-name { font-size: 1.5625rem; line-height:1.8; }
  .p-today-flower__info .language-of-flower dt { padding: 1em 0; margin:0;margin-bottom: 1em; font-size: 0.75rem; }
  .p-today-flower__info .language-of-flower dd { font-size: 0.75rem; }
}

/*home
-----------------------------------------------------*/

/* main visual
-----------------------------------------------------*/
.p-mv-full { width: 100%; display: flex; justify-content: flex-end; flex-direction: column; position: relative; border-bottom: 1px solid transparent; }
@media screen and (min-width: 781.1px) { 
  .p-mv-full { height: 100vh; }
}
.p-mv-full__img { width: 100%; height: 130vw; position: relative; inset: 0; -o-object-fit: cover; object-fit: cover; }
@media screen and (min-width: 781.1px) { 
  .p-mv-full__img { height: calc(100vh - 4.5rem); }
}
.p-mv-full__text { position: relative; z-index: 2; color: #FFF; background: #004729; padding: 2rem 0; width: 100%; }
@media screen and (min-width: 781.1px) { 
  .p-mv-full__text { background: none; position: absolute; bottom: 5vw; }
}
@media screen and ( max-width : 781px) { 
  .p-mv-full__text .c-title-lead { max-width: none; margin-bottom: 0; }
}
.p-mv-teikibin { width: 100%; height: auto; display: flex; justify-content: flex-end; flex-direction: column; position: relative; border-bottom: 1px solid transparent; }
@media screen and (min-width: 781.1px) { 
  .p-mv-teikibin { height: auto; }
}
.p-mv-teikibin::before { content: ""; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); position: absolute; inset: 0; margin: auto; z-index: 2; }
.p-mv-teikibin__img { width: 100%; height: 100%; position: absolute; inset: 0; -o-object-fit: cover; object-fit: cover; }
.p-mv-teikibin__text { position: relative; z-index: 3; color: #FFF; }
@media screen and ( max-width : 781px) { 
  .p-mv-teikibin__text .c-title-lead { max-width: none; margin-bottom: 0; }
}
@media screen and (min-width: 1024.1px) { 
  .p-mv-half { display: flex; flex-direction: row-reverse; }
}
.p-mv-half__mv { width: 100%; padding-top: calc( var(--section-gap) + 10rem ); overflow:hidden; border-radius:10px 10px 30px 30px; }
.p-mv-half__mv img { width: 100%; aspect-ratio: 1/1; -o-object-fit: cover; object-fit: cover; display:block; }
@media screen and (min-width: 1024.1px) { 
  .p-mv-half__mv { width: 50%; height: 100%; margin-bottom: 7.5vw; padding-top:0; border-radius: 0 0 30px 30px; }
}
@media screen and ( max-width : 1023px) { 
  .p-mv-half__text { padding-top: 4rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-mv-half__text { width: 44.0%; margin: 0 auto 0 0; }
}

.p-mainvisual-teikibin { position: relative; overflow:hidden; }
.p-mainvisual-teikibin::before { content:''; display:block; padding:0 0 110% 0; max-height:640px; position: relative; z-index:2; background: linear-gradient(180deg, transparent 10%, var(--layer-color) 74%); }
.p-mainvisual-teikibin img { position:absolute; left:0; bottom:auto; right:0; top:0; width:100%; height:75%; z-index:1; object-fit:cover; }
.p-mainvisual-teikibin-head { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; justify-content:center; text-align:center; position:absolute; z-index: 3; color: #FFF; margin:var(--column-gap); left:0; right:0; bottom:0; }
.p-mainvisual-teikibin-head .title-head { margin:0 .5rem; font-family:inherit; background-color:#fff; color:var(--button-color); font-family:600; line-height: 1; padding:.5em; font-size:.875em; font-weight:500; }
.p-mainvisual-teikibin-head .title { margin:0 .5rem; }
.p-mainvisual-teikibin-head .desc { width:100%; margin:0; line-height:1.2; }
.p-mainvisual-teikibin-head .price { width:100%; font-size:1.2rem; line-height:1.2; margin:8px 0 0; }
.p-mainvisual-teikibin-head .price .amount { font-size:2.4em; }
.p-mainvisual-teikibin-content { position: relative; height:360px; overflow:hidden; z-index:10; }
.p-mainvisual-teikibin-content::before { content:''; display:block; position:absolute; right:0; top:0; left:0; bottom:0; width:100%; height:100%; z-index:2; background:var(--layer-color); opacity:.7; }
.p-mainvisual-teikibin-content img { position:absolute; right:0; top:0; left:0; bottom:0; width:100%; height:100%; z-index:1; object-fit:cover; }
.p-mainvisual-teikibin-content-head { align-items:center; position:absolute; z-index: 3; text-align:center; color: #FFF; left:var(--column-gap); right:var(--column-gap); top:50%; transform:translateY(-50%); }
.p-mainvisual-teikibin-content-head .title-head { margin:0; font-family:inherit; line-height: 1; padding:.5em; font-size:1.2em; font-weight:500; font-family:var(--mincho); }
.p-mainvisual-teikibin-content-head .title-head::after { content:'|'; display:block;margin-top:1em; }

.p-teikibin-menu { display:block; background-color:#fff; position: relative; z-index:11; }

@media screen and ( max-width : 781px) {
  .p-teikibin-menu { background-color:transparent; border-width:0; }
  .p-teikibin-menu-list { flex-wrap:wrap; padding:.5rem 0; }
  .p-teikibin-menu-list li { padding:.25rem; }
  .p-teikibin-menu-list li a { padding:.5rem .75em; border-radius:4px; border:1px solid var(--border-color); }
  .p-teikibin-menu-list li.current-cat a { background-color:var(--border-color); color:#fff; }
  .p-teikibin-menu-list li:nth-child(3)::before { display:none;}
}
@media screen and (min-width: 781.1px) { 
  .p-mainvisual-teikibin-head { justify-content:flex-start; text-align:left; } 
  .p-mainvisual-teikibin-content { height:400px; }
  .p-mainvisual-teikibin::before { padding:40% 0 0; min-height:400px; background: linear-gradient(270deg, transparent 20%, var(--layer-color) 59%); }
  .p-mainvisual-teikibin img { left:auto; bottom:0; right:0; top:0; width:60%; height:100%; }
  .p-teikibin-menu { display:block; border-bottom:1px solid currentColor; }

  .p-teikibin-menu-list { display:flex; flex-wrap:nowrap; justify-content:center; margin:0; }
  .p-teikibin-menu-list li { position: relative; margin:0; padding:.5rem; line-height:1.4 }
  .p-teikibin-menu-list li a { display:block; padding:1rem; font-family:var(--mincho); }
  .p-teikibin-menu-list li::before { content:''; display:block; border-left:1px solid currentColor; height:1em; position:absolute; left:0; top:0; bottom:0; margin:auto 0 auto -0.5px; }
  .p-teikibin-menu-list li:nth-child(1)::before { display:none;}
}

/* about
-----------------------------------------------------*/
.p-about-wrap { counter-reset: listnum; margin-top: 24vw; }
.p-about__lead { font-family: var(--mincho); font-weight:inherit; font-size: 1.1428571429rem; margin: 0.5em 0 0; letter-spacing: 0.2em; }
.p-about-block { counter-increment: listnum; display: flex; align-items: flex-start; justify-content: space-between; }
.p-about-block + .p-about-block { margin-top: 40vw; }
.p-about-block__title { position: sticky; width: 15vw; left: 5%; top: 5vw; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.2857142857rem; line-height: 1.4; white-space: nowrap; -webkit-font-feature-settings: initial; font-feature-settings: initial; font-family: var(--mincho); font-weight:inherit; display: flex; align-items: center; }
.p-about-block__title-img { width: 100%; display: inline-block; background: url(../image/white-block.svg) no-repeat center center/contain; padding: 10px; }
.p-about-block__title-img .img { border-radius: 30%; }
.p-about-block__title-text { margin-top: 1em; display: inline-block; position: relative; padding-top: 2em; width: 100%; display: inline-flex; align-items: center; font-size: 1.5rem; }
.p-about-block__title-text::before { content: counter(listnum, decimal-leading-zero); font-size: 0.8571428571rem; font-family:var(--mincho); -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; margin-bottom: 1em; line-height: 1; display: inline-block; position: absolute; top: 0; left: 0; right: 0; margin: auto; text-align: center; }
.p-about-list { margin-top: var(--section-gap); width: calc(100% - var(--section-gap)); }
.p-about-list__img { width: 100%; }
.p-about-list__img img { width: 100%; aspect-ratio: 1/1; -o-object-fit: cover; object-fit: cover; }
.p-about-list__text { margin: 1.5em 0 3em; }
.p-about-list__title { font-size: 1.2857142857rem; margin-bottom: 0.5em; }
@media screen and (min-width: 781.1px) { 
  .p-about__lead { font-size: 1.25rem; }
  .p-about-block__title { font-size: 2rem; left: calc(100px + 5vw); width: 3em; }
  .p-about-block__title-text::before { font-size: 1rem; }
  .p-about-list { margin-top: var(--section-gap); width: calc(100% - 6rem - (100vw - 100px) * 0.1 / 2); }
}
@media screen and (min-width: 1024.1px) { 
  .p-about-wrap { margin-top: var(--section-gap); }
  .p-about-block + .p-about-block { margin-top: var(--section-gap); }
  .p-about-block__title { width: 4em; left: 0; }
  .p-about-block__title-img { padding: 1rem; }
  .p-about-list { width: calc(100% - 8rem - (100vw - 120px) * 0.15 / 2); }
  .p-about-list__item { display: flex; justify-content: space-between; }
  .p-about-list__item + .p-about-list__item { border-top: 1px solid #FFF; padding-top: 3.125rem; margin-top: 3.125rem; }
  .p-about-list__text { width: 55%; margin: 0; }
  .p-about-list__img { width: 30%; }
  .p-about-list__title { font-size: 1.5rem; font-family: var(--mincho); font-weight:inherit; line-height: 1.4; }
}
@media screen and (min-width: 1280.1px) { 
  .p-about-list__title { font-size: 2rem; }
}
@media screen and (min-width: 1366.1px) { 
  .p-about-list { width: calc(100% - 8rem - (100vw - 150px) * 0.15 / 2); }
}


/*course
-----------------------------------------------------*/
.p-course-list__item { padding:1rem; margin:0; background-color:#fff; border-radius:16px; }
.p-course-list__item .p-product-card__title { text-align:center; }
.p-course-list__item .c-text-price { text-align:center; margin-top:12px; }
.p-cource-feature { margin:0 0 8px; display:block; font-size:.875em; color:var(--theme-color); }
.p-course-list__item .p-cource-feature { text-align:center; }
.p-course-lineup-title { position: relative; }
.p-course-list__item .subscription-details { display:none;}
.p-course-teikibin-feature { background: #FFF; }
.p-course-list__item .c-text-price { padding-top: 12px; margin-top: 12px;}
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature { border-radius: 10px 10px 30px 30px; }
}
@media screen and (min-width: 1024.1px) { 
  .p-course-teikibin-feature { width: 60%; }
  .p-course-list__item { padding:1.5rem; }
}
@media screen and (min-width: 1280.1px) { 
  .p-course-teikibin-feature { width: 50%; }
}
.p-course-teikibin-feature__title { text-align: center; padding: 1rem; font-size: 1.2857142857rem; border-bottom: 1px solid #B1C5B5; color: #0F3A25; }
.p-course-teikibin-feature__text { padding: 2rem; }
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature__text { padding: 1rem; }
}
.p-course-teikibin-feature__list { counter-reset: listnum; }
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature__list { display: flex; justify-content: center; }
}
.p-course-teikibin-feature__list-item { display: flex; align-items: center; counter-increment: listnum; margin:0 0 2em; font-family: var(--mincho); padding-left: 1em; position: relative; letter-spacing: 0.2em; }
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature__list-item { flex-direction: column; text-align: center; line-height: 1.4; width: 30%; }
}
.p-course-teikibin-feature__list-item .img { width: 4em; height: 4em; -o-object-fit: contain; object-fit: contain; margin-right: 2em; }
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature__list-item .img { margin: 0 auto 0; }
}
.p-course-teikibin-feature__list-item::before { content: counter(listnum, decimal-leading-zero); font-family:var(--mincho); font-size: 0.8571428571rem; position: absolute; top: 0; left: 0; margin:0 auto; }
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature__list-item::before { position: relative; display: block; text-align: center; }
}
@media screen and (min-width: 781.1px) { 
  .p-course-teikibin-feature-wrap { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin: 0 auto; }
}
@media screen and (min-width: 1024.1px) { 
  .p-course-teikibin-feature-wrap { display: flex; justify-content: space-between; align-items: flex-end; }
}
.p-course-teikibin-feature-wrap .back-to-course { width: calc(100% - 2rem); margin: 5vw auto 0; }
@media screen and (min-width: 1024.1px) { 
  .p-course-teikibin-feature-wrap .back-to-course { width: auto; margin: 0; }
}
/*course list
-----------------------------------------------------*/
.p-course-list-wrapper { padding-top:2rem; padding-bottom:4rem; display:flex; gap:1.5rem; align-items:flex-start; }
.p-course-list-wrapper .p-course-sidebar { flex:1; position:sticky; top:2rem; margin:0; padding:0; font-size:1rem; min-width:11em; }
.p-course-list-wrapper .p-course-list { flex:3; position:sticky; top:2rem; margin:0; padding:0; }
.p-course-sidebar { background-color:#fff; border-radius:8px; padding:0; overflow:hidden; }
.p-course-sidebar-head { margin:0; padding:.5rem 1rem; background-color:var(--theme-color); color:#fff; }
.p-course-sidebar-menues { padding:1em; }
.p-course-sidebar-title { margin:8px 0 0; font-size:.875em; font-weight:600; }
.p-course-sidebar-menu { margin:0; }
.p-course-sidebar-menu li { margin:0; }
.c-text-price .price { color:var(--theme-color); display:block; }
.c-text-price .price-total { display:block; margin-top:8px; font-size:.75em; color:var(--font-color) }
.c-text-price .price-total .woocommerce-Price-amount { font-size:1.35em; }
.p-course-sidebar-menu input[type="checkbox"] + span:not(:empty) { padding-left:1.5em; }
.p-course-sidebar-menu input[type="checkbox"] + span:not(:empty)::before { border-radius: 50%; width: 1.2em; height: 1.2em; left:.6em; top:52.5%; }
.p-course-sidebar-menu input[type="checkbox"] + span:not(:empty)::after { width:.75em; height:.5em; left:.21em; margin-top: -.29em; border-width: 0 0 .2em .2em; border-color:transparent; }
input.p-course-sidebar-clear { margin-top:8px; background-color:var(--gray-color); border-radius:0; font-size:14px; padding:.5em .75em; line-height:1.2; }
.p-course-list { display: grid; grid-template-columns: 1fr; gap:1.5rem; margin:0; }
.p-course-list .p-product-list__item { margin:0; }
.p-course-sidebar + .p-course-list .p-product-list__item { display:none; }
.p-course-sidebar + .p-course-list .p-product-list__item.item-visible { display:block; }
@media screen and ( max-width : 480px) { 
  .p-course-list-wrapper .p-course-sidebar { font-size:12px; }
}
@media screen and ( max-width : 380px) { 
  .p-course-list-wrapper .p-course-sidebar { font-size:11px; }
}
@media screen and (min-width: 781.1px) { 
  .p-course-list-wrapper { gap:2rem; }
  .p-course-list { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-course-list { grid-template-columns: 1fr 1fr 1fr; gap: 1rem; padding-bottom:4rem; }
}
@media screen and (min-width: 1280.1px) { 
  .p-course-list { gap: 2rem; }
}
@media screen and ( max-width : 781px) { 
  .with-sticky-box .p-course-list-wrapper .p-course-sidebar { top:calc( 2rem + 64px ); }
}

/* teikibin switch
-----------------------------------------------------*/
/* .p-teikibin-switch { padding:var(--column-gap); display:block; position:relative; overflow:hidden;align-items:center; min-height:50vw; }
.p-teikibin-switch__head { width:100%; text-align:center; z-index:2; position:relative; }
.p-teikibin-switch__img { width:100%; position: absolute; left:0; right: 0; bottom: 0; top: 0; }
.p-teikibin-switch__img img { width:100%; height:100%; object-fit:cover; }
.p-teikibin-switch .catch span { display:block; }
.p-teikibin-switch__item-head { color:#fff; padding-bottom:2rem; text-align:center; }
.p-teikibin-switch__price { font-size:1.4em; }
.p-teikibin-switch__price .amount { font-size:2em; }
.p-teikibin-switch__item-head .title-head { display:table; font-family:inherit; padding:.5em .75em; margin:0 auto; line-height:1; font-weight:500; color:var(--theme-color);  border:2px solid currentColor; background-color:#fff; }
.p-teikibin-switch .catch { font-family: var(--mincho); font-size:5vw; line-height: 1.4;  position:absolute; transform:translateY(-50%); top:50%; right:0; left:0; text-align:center; margin: auto; z-index: 2; text-shadow:#fff 0 0 2px,#fff 0 0 4px, #fff 0 0 8px, #fff 0 0 12px, #fff 0 0 16px, #fff 0 0 24px, #fff 0 0 32px; letter-spacing: 0.15em; }
.p-teikibin-switch__item { display:block; z-index: 2; margin:0; position: relative; width:100%; padding:2rem; border-radius:12px; }
.p-teikibin-switch__item a.button { display:block; margin-left:auto; margin-right:auto; max-width:360px; }
.p-teikibin-switch__text-image { position: relative; overflow:hidden; display:block; }
.p-teikibin-switch__text-image::before { content:''; display:block; padding:50% 0 0 0; }
.p-teikibin-switch__text-image img { object-fit:cover; display:block; width:100%; height:100%; position:absolute; left:0; top:0; }
.p-teikibin-switch__staff { display:flex; z-index: 2; position: relative; width:100%; margin:2em 0 0; padding: 2rem; background-color:#fff; border-radius:6px; align-items:center; }
.p-teikibin-switch__staff::before { content:''; display: block; position:absolute; left:calc(50% - 1em); top:-2em; width:2em; height:2em; border-width:1em; border-color:transparent transparent #fff transparent;}
.p-teikibin-switch__staff-image { position: relative; overflow:hidden; flex:1;}
.p-teikibin-switch__staff-image img { display:block; width:100%; border-radius:50%; aspect-ratio: 1; object-fit:cover; object-position:center; }
.p-teikibin-switch__staff-text { flex:3; margin:0 0 0 2rem; }
.p-teikibin-switch__staff-name { font-size:11px; line-height:1.3; text-align:center; display:block; margin:.5em 0 0; }
.p-teikibin-switch__item dl.product-labeling p + p { margin-top:.5em; }
.p-teikibin-switch__text { padding:2rem; background-color:white; border-radius:16px; }
.p-teikibin-switch__text > p:first-child { margin:0; }
.p-teikibin-switch__text h3 { font-size:1.15rem; font-family: var(--mincho); } */


.p-teikibin-switch { padding:var(--column-gap); display:block; position:relative; overflow:hidden;align-items:center; min-height:50vw; }
.p-teikibin-switch__head { width:100%; text-align:center; z-index:2; position:relative; }
.p-teikibin-switch__img { width:100%; position: absolute; left:0; right: 0; bottom: 0; top: 0; }
.p-teikibin-switch__img img { width:100%; height:100%; object-fit:cover; }
.p-teikibin-switch__body { display:block; }
.p-teikibin-switch__mov { text-align:center; margin:2em auto; max-width:320px; position:relative; z-index:2; }
.p-teikibin-switch__mov .video-link { background:#eee; border:3px solid #fff; border-radius:10px; overflow:hidden; margin:0; display:block; }
.p-teikibin-switch__mov .video-link::before { padding:177.778% 0 0; }
.p-teikibin-switch__mov .fukidashi { display:inline-block; text-align:center; position:relative; line-height:1.5; padding:0 1em; font-size:.875em; }
.p-teikibin-switch__mov .fukidashi::before { display:block; content:''; position:absolute; top:0; bottom:0; height:100%; left:0; width:0; border-left:1px solid currentColor; transform:rotate(-15deg);}
.p-teikibin-switch__mov .fukidashi::after { display:block; content:''; position:absolute; top:0; bottom:0; height:100%; right:0; width:0; border-right:1px solid currentColor; transform:rotate(15deg);}
.p-teikibin-switch__mov .fukidashi .mb { display:none; }
.p-teikibin-switch__compare { display:block; text-align:center }
.p-teikibin-switch__compare-wrap { background-color:var(--layer-color); padding:1em; position: relative; max-width:320px; display:inline-block; z-index:1; margin:2em 6em 0; border-radius:1.25em; }
.p-teikibin-switch__compare h2.cp-title { font-size:1.8em; color:#fff; text-align:center; margin:0; }
.p-teikibin-switch__compare ul { padding:0; background-color:#fff; border-radius:1em; margin:1em 0; font-weight:600; }
.p-teikibin-switch__compare li { text-align:center; vertical-align:center; position: relative; z-index:3; margin:0; padding:1em; }
.p-teikibin-switch__compare li::before { width:6em; font-weight:600; content:attr(title); display:block; position: absolute; left:-7em; bottom:0; top:0; height:1em; line-height:1; margin:auto; color:currentColor; }
.p-teikibin-switch__compare li::after { position: absolute; z-index:5; content:''; display:block; bottom:0; right:-1em; left:-7em; border-bottom:1px dashed currentColor; }
.p-teikibin-switch__compare p { margin:0; }
.p-teikibin-switch__compare p strong { font-size:1.2em; }
.p-teikibin-switch__compare a.button { font-size:1em; border-radius:1em; padding:1.25em; width:auto; display:block; box-shadow:0 6px 0 var(--button-hover-color); }
.p-teikibin-switch__compare a.button strong { color:yellow; font-size:1.2em; }
.p-teikibin-switch__compare li.cp-link::before, .p-teikibin-switch__compare li.cp-link::after { display:none; }
.p-teikibin-switch__compare .cp-text { padding:0 .5em .5em; margin:0; font-size:.875em; color:#fff; text-align:left; }

@media screen and (min-width: 781.1px) { 
  .p-teikibin-switch__compare { display:flex; gap:6px; justify-content:center; }
  .p-teikibin-switch__compare-wrap.-basic { border-radius:1em 0 0 1em; z-index:2; margin:0 0 0 6em; }
  .p-teikibin-switch__compare-wrap.-attend { border-radius:0 1em 1em 0; margin:0; }
}
@media screen and (min-width: 1024.1px) {
  .p-teikibin-switch { border-radius:24px; }
  .p-teikibin-switch__body { display:flex; flex-wrap:nowrap; margin-top:2rem; gap:1em; align-items:center; }
  .p-teikibin-switch__mov { flex:1; margin:0; }
  .p-teikibin-switch__compare { flex:3; }
}
@media screen and ( max-width: 1280px) and (min-width: 1024.1px) {
  .p-teikibin-switch__body { font-size:1.3vw; }
}
@media screen and (max-width: 1280px) {
  #teikibin.l-container-secondary { margin:0; width:auto; max-width:none; padding:0; }
}
@media screen and (max-width: 1024px) {
  .p-teikibin-switch__img img { bottom:auto; height:auto; }
  .p-teikibin-switch__img::before { content:''; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:linear-gradient(180deg, transparent 0%, #f7f7f7 150vw); }
}
@media screen and (max-width: 781px) {
  #teikibin.l-container-secondary,  #teikibin.l-container-secondary .p-teikibin-switch { overflow:visible; }
  .p-teikibin-switch__body { display:flex; align-items:end; justify-content:space-between; }
  .p-teikibin-switch__compare { margin:0 0 0 -6.5em; order:2; }
  .p-teikibin-switch__compare-wrap { margin-right:0; }
  .p-teikibin-switch__mov { margin:0 0 -24px 0; width:8em; min-width:8em; position:sticky; bottom:100px; order:1; font-size:.875em; }
  .p-teikibin-switch__mov .fukidashi { font-weight:600; font-size:1em; color:white; position:absolute; top:50%; left:0; right:0; padding:0; text-align:center; transform:translateY(-50%); z-index:5; }
  .p-teikibin-switch__mov .fukidashi::before, .p-teikibin-switch__mov .fukidashi::after { display:none; }
  .p-teikibin-switch__mov .fukidashi .pc { display:none; }
  .p-teikibin-switch__mov .fukidashi .mb { display:block; }
  .p-teikibin-switch__mov .video-link::after { display:none; }
}
@media screen and (max-width: 480px) { 
  .p-teikibin-switch__body { font-size:3.2vw; }
}


#customer_area_wrap { display:flex; width:100%; }
#customer_area_code { display:block; font-size:32px; flex:3; font-weight:bold; line-height:40px; letter-spacing:.3em; padding: .5em 1em; }
#customer_area_button { font-size:20px; flex:1; line-height:40px;font-weight:bold; padding: .5em 1em; border-radius:0 .25em .25em 0; }
#customer_area_checker { background-color: transparent; max-width:560px; padding:0; }
#customer_area_checker #customer_area_wrap { border:4px solid #fff; border-radius:12px; }
#customer_area_checker #customer_area_code { border-radius:8px 0 0 8px; }
#customer_area_checker #customer_area_button { border-radius:0 8px 8px 0; }
#customer_area_checker #customer_area_message { color:#fff; display:block; height:5em; padding:.5em 0 0; }
#customer_area_checker #customer_area_message img, #customer_area_checker #customer_area_message a.button { display:none;}
@media only screen and ( max-width : 600px ) {
  #customer_area_code { padding: .5em; }
}
@media only screen and ( max-width : 480px ) {
  #customer_area_code { font-size:24px; line-height:32px; padding: .5em; }
  #customer_area_button { line-height:32px; padding: .5em; }
}
@media only screen and ( max-width : 380px ) {
  #customer_area_code { font-size:20px; }
}
/* @media screen and ( max-width : 1024px) { 
  .p-teikibin-switch__text .p-product-card__title { margin:-20vw auto 0; }
  .p-teikibin-switch__item { margin-top:2rem; }
}
@media screen and ( max-width : 480px) { 
  .p-teikibin-switch__item, .p-teikibin-switch__text, .p-teikibin-switch__staff { padding:1rem; }
  .p-teikibin-switch__staff-text { margin-left:1rem; line-height:1.5; font-size:.875em; }
}
@media screen and ( max-width : 380px) { 
  .p-teikibin-switch__price { font-size:1.2em; }
}
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-switch__body { display:flex; flex-wrap:nowrap; margin-top:2rem; }
  .p-teikibin-switch__items { display:flex; flex-wrap:nowrap; margin-top:2rem; }
  .p-teikibin-switch__item { width:calc(50% - 8px); margin:0 4px; align-self:stretch; padding-top:var(--column-gap); padding-bottom:var(--column-gap); }
  .p-teikibin-switch .catch { right:50%; font-size:1.8rem; }
  .p-teikibin-switch__item.-basic { border-radius:16px 0 0 16px; }
  .p-teikibin-switch__item.-attend { border-radius:0 16px 16px 0; }
  .p-teikibin-switch__text { margin:0 auto; max-width:568px }
  .p-teikibin-switch__text + .c-button-round { margin:1rem auto 0; max-width:568px }
} */
@media screen and ( max-width : 1280px) { 
  #teikibin.l-container-secondary { margin:0; width:auto; max-width:none; padding:0; }
}
/* @media screen and (min-width: 1280.1px) { 
  .p-teikibin-switch { border-radius:24px; }
} */
/* customer voices
-----------------------------------------------------*/
.p-voices-index__list-wrap { overflow:hidden; margin:2rem 0 0; }
.p-voices-index__list-wrap a.button { max-width:360px; display:block; margin:2rem auto 0;}
.p-voices-index-list { width:calc( 100% - var(--column-gap) * 2 ); max-width:400px; margin:0 auto; overflow:visible; }
.p-voices-index-list .swiper-wrapper { align-content:stretch; }
.p-voices-index-list .swiper-slide { padding:1rem; align-self:stretch; height:100%; display:flex; }
.p-voices-index-card { background: #FFF; border-radius: 5px 5px 10px 10px; height:100%; display: flex; flex-direction: column; align-items: center; overflow: hidden; }
.p-voices-index-card__img { height: 0; width: 100%; padding-bottom:60%; position: relative; overflow: hidden; }
.p-voices-index-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
.p-voices-index-card__icon { width:80px; height:80px; position: relative; margin:-56px auto 0; overflow: hidden; border-radius: 50%; border:2px solid #fff; }
.p-voices-index-card__icon img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
.p-voices-index-card__text { width: 100%; padding:.5rem 1rem 1rem; }
.p-voices-index-card__comment { margin:0; font-family:var(--mincho); line-height:1.5; font-size:1em; }
.p-voices-index-card__course { font-size:12px; margin-top:.5em }
#p-voices-swiper .swiper-slide { opacity:.3; transition:opacity .5s;}
#p-voices-swiper .swiper-slide-active, #p-voices-swiper .swiper-slide-prev, #p-voices-swiper .swiper-slide-next { opacity:1; }
@media (hover: hover) and (pointer: fine) {
  a:hover .p-voices-index-card__img img { transition: transform 5s; transform: scale(1.2); }
}
@media screen and (min-width: 781.1px) { 
  .p-voices-index-list { max-width:var(--container-width); }
  .p-voices-index-card { border-radius: 10px 10px 20px 20px; }
}

.p-start-index { background-color:#fff; border-radius:1000px; width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin-left:auto; margin-right:auto; padding:var(--column-gap) calc(var(--column-gap) + 4%); }
.p-start-index-columns { margin-top:-1.5rem; padding-bottom:3%; }
.p-start-index-columns .column { counter-increment: columnnum; background-color:#e1eae3; padding:1rem; border-radius:20px; position: relative; }
.p-start-index-columns .column p {  font-weight:500; font-size:.875em; }
.p-start-index-columns .column:nth-child(2)::after { display:block; content:''; position:absolute; top:50%; left:calc( var(--column-gap) * -1 ); z-index:-1; width:calc( 100% + var(--column-gap) * 2 ); border-top:.2em dashed #e1eae3; }
.p-start-index-columns .column .icon-image { display:block; background-color:#fff; border-radius:50%; height:8em; width:8em; margin:1rem auto; }
.p-start-index-columns .column .icon-image svg { height:6em; width:4em; margin:1em 2em; object-fit:contain; }
.p-start-index-columns .column::before{ content: counter(columnnum, decimal-leading-zero ); color: #87a58e; font-family:var(--mincho); position:absolute; right:1rem; top:1rem}
@media only screen and ( max-width : 781px) {
  .p-start-index { padding:0; background-color:transparent; width:auto; max-width:none; }
  .p-start-index-columns { margin:1rem auto 0; padding-bottom:3%; width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); }
  .p-start-index-columns .column { max-width:400px; margin-left:auto; margin-right:auto; }
  .p-start-index-columns .column:nth-child(2)::after { position:absolute; top:calc( var(--column-gap) * -1 ); bottom:calc( var(--column-gap) * -1 ); left:calc( 50% - .1em ); right:auto; width:0; height:calc( 100% + var(--column-gap) * 2 ); border-top-width:0; border-left:.2em solid #e1eae3; }
}
@media screen and ( max-width : 1280px) { 
  .p-start-index-columns { --column-gap:32px; }
}
.p-products-index { overflow:hidden; }
.p-products-index-wrapper { padding-top:var(--column-gap); overflow:visible; }
.p-products-index-wrapper .title, .p-products-index-wrapper .title-head, .p-products-index-slider { text-align:left; }
.p-products-index-slider { overflow:visible; }
.p-products-index a.mini-button { margin-left:auto; margin-top:1rem; }
.p-products-index-slider ul { margin-top:2rem; }
.p-products-index-slider ul li { margin:1rem; width:20%; }
.p-products-index-slider .p-product-card { padding:0; }
.p-products-index-slider .p-product-card__title { font-size:1rem; font-family:inherit; }
.p-products-index-slider .c-tag, .p-products-index-slider .p-product-card__desc { display:none; }
.p-products-index-slider .swiper-button-next { position:absolute; left:auto; right:0; top:-2.5rem; transform:none; }
.p-products-index-slider .swiper-button-prev { position:absolute; left:auto; right:2.5rem; top:-2.5rem; transform: scale(-1,1); }

@media screen and ( max-width : 1280px) { 
.p-products-index-slider ul li { width:25%; }
}

/* course attend
-----------------------------------------------------*/
.p-course-attend { display:block; position: relative; overflow:hidden; }
@media screen and ( max-width : 781px) {
.p-mv-teikibin ~ .l-container-contents { padding-bottom:0; }
}
  @media screen and (min-width: 781.1px) {
  .p-course-attend { display:flex; width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin:5vw auto 0; padding:0; border-radius:16px; align-items:center; min-height:50vw;  }
}
/* .p-course-attend a { display: contents; } */
.p-course-attend__img { width: 100%; position: relative; }
.p-course-attend__img img { width: 100%; display:block; }
.p-course-attend .catch span { display:block; }
.p-course-attend .catch { font-family: var(--mincho); font-size:5vw; line-height: 1.4;  position:absolute; transform:translateY(-50%); top:50%; right:0; left:0; text-align:center; margin: auto; z-index: 2; text-shadow:#fff 0 0 2px,#fff 0 0 4px, #fff 0 0 8px, #fff 0 0 12px, #fff 0 0 16px, #fff 0 0 24px, #fff 0 0 32px; letter-spacing: 0.15em; }
.p-course-attend__text { display:block; z-index: 2; position: relative; width:100%; padding: 2rem 1rem; margin: 0; background-color:#fff; }
@media screen and ( min-width: 781.1px) { 
  .p-course-attend__img { width: 100%; position: absolute; left: 0; right: 0; bottom: 0; top: 0; }
  .p-course-attend__img img { width: 100%; height:100%; object-fit:cover; }
  .p-course-attend__text { width:50%; margin:0 0 0 auto; background-color:transparent; padding-top:5vw; padding-bottom:5vw; }
  .p-course-attend__text::after { content:''; position:absolute; z-index:-1; left:0; right:0; top:-50vw; bottom:-50vw; background-color: rgba(255,255,255,.8);}
  .p-course-attend .catch { right:50%; font-size:2vw; }
}
.p-course-attend__text dl.product-labeling p + p { margin-top:.5em; }
@media screen and (min-width: 1280.1px) { 
  .p-course-attend .catch { font-size:1.8rem; }
}
.p-course-attend__text-top { padding: 0 1rem; }
.p-course-attend__text-top .p-product-card__title { max-width:520px; margin:0; }
.p-product-card__title .keyname { color:var(--theme-color); }
.p-course-attend__text-top > p:first-child { margin:0; }
.p-course-attend__text-top h3 { font-size:1.15rem; font-family: var(--mincho);}
@media screen and ( max-width : 781px) { 
  .p-course-attend__text-top .p-product-card__title { margin:-20vw auto 0; }
  .p-course-attend__img::before { content:''; background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,1)); position: absolute; left: 0; right: 0; bottom: 0; height:30vw; }
 
}
@media screen and (min-width: 1024.1px) { 
  .p-course-attend__text-top { padding: 1rem 24px; margin:0 auto; max-width:568px }
  .p-course-attend__text-top + .c-button-round { margin:1rem auto 0; max-width:568px }
  .p-course-attend__text-top .p-product-card__title { margin:0; }
}
.p-course-attend__table { margin-bottom: 0.5rem; }
.p-course-attend__desc { margin: 1rem 0 1.5rem; }
.p-course-attend dl.product-labeling { margin:0; }

/*product card
-----------------------------------------------------*/
.p-product-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin:0; padding:0; }
.p-product-list > li { margin:1rem 0 0; }
@media screen and (min-width: 781.1px) { 
  /* .p-product-list { grid-template-columns: 1fr 1fr; } */
}
@media screen and (min-width: 1024.1px) { 
  .p-product-list { grid-template-columns: 1fr 1fr 1fr; gap:2rem; }
}
@media screen and (min-width: 1366.1px) { 
  .p-product-list { grid-template-columns: 1fr 1fr 1fr 1fr;  gap:3rem;}
}


/*productcard
-----------------------------------------------------*/
.p-product-card { color: #0F3A25; display:flex; flex-direction:column; height: 100%; }
li.outofstock .p-product-card .c-text-price::before { content:'SOLD OUT'; color:var(--gray-color); font-size:1em; font-weight:bold; }
li.outofstock .p-product-card .c-text-price span, li.outofstock .p-product-card .c-text-price small { display:none; }
.p-product-card__category { font-size: 0.9rem; margin-bottom:8px; }
.p-product-card .c-text-price { margin-top:auto; margin-bottom:0; }
.p-product-card__title { font-size: 1.3rem; line-height: 1.4; font-family: var(--mincho); margin:0 0 12px; }
.p-product-card__text { padding:1rem 0 0; flex:1; display: flex; flex-direction: column; height: 100%; }
.p-product-card__desc { margin:0 0 12px; font-size:.875em; }
.p-product-card .c-button-round { margin-top:auto; }
.p-product-card__img { position: relative; overflow: hidden; width: 100%; height: 0; padding-bottom:100%; border-radius: 10px; }
.p-product-card__img img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; position: absolute; inset: 0; margin: auto; transition: transform 1s; }
.p-product-card__img .recommend-img { width: 40%; height: auto; position: absolute; left: 1rem; bottom: 0; margin: auto; z-index: 2; }
.per-month { position:absolute; left:0; bottom:0; line-height:1; z-index:3; background-color:#cf5d5d; color:#fff; padding:.5em; font-size:.825em; }
.per-month-2 { background-color:#c77349; }
.per-month-1 { background-color:#b8a042; }
@media (hover: hover) and (pointer: fine) { 
  .p-product-card:hover .p-product-card__img img { transform: scale(1.2); transition: transform 5s; }
}
@media screen and ( max-width : 480px) { 
  .p-product-list .p-product-card { background-color:transparent; border-radius: 0; padding:0; }
  .p-product-list .p-product-card .c-tag .c-tag__item { background: #FFF; }
  .p-product-card .c-text-price { font-size:1rem; }
}
@media screen and (min-width: 781.1px) { 
  .p-product-card__title { font-size: 1.3rem; }
}


/*product card
-----------------------------------------------------*/
.p-product-detail { padding-top:0; max-width:1800px; margin: 0 auto; }
.p-product-detail__entry { padding-top:3em; }
.p-product-detail__entry .p-product-detail__title { border-bottom-width:1px; border-color:white; padding-bottom:var(--column-gap); margin-bottom:var(--column-gap);}
.p-product-detail__cart .p-cource-feature, .p-product-detail__cart .p-product-detail_head { display:none; }
.p-product-detail__title { font-family: var(--mincho); margin:0 0 1em; }
.p-product-detail__title .keyname { color:var(--theme-color); }
.p-product-detail__cart { margin-top: 2rem; z-index:100; }
@media screen and (min-width: 781.1px) { 
  .p-product-detail__title { font-size: 1.85rem; }
  .p-product-detail { width:calc( 100% - var(--column-gap) * 2 ); }
}
@media screen and (min-width: 1024.1px) { 
  .p-product-detail { padding-top: 16rem; }
  .p-product-detail__cart .p-cource-feature, .p-product-detail__cart .p-product-detail_head { display:block; }
  .p-product-detail__entry .p-cource-feature, .p-product-detail__entry .p-product-detail_head { display:none; }
  .p-product-detail { display: flex; justify-content: space-between; align-items:stretch; padding-top: 0; }
  .p-product-detail__content { width: 50%; position: sticky; top:0; }
  .p-product-detail__cart { width: 45%; margin-top: 0; margin-top:280px; }
  .p-product-detail__cart .l-spacer.-em3 { position: sticky; top:2rem; }
}
.p-product-detail__img .single-product-image { margin:0; border-radius:0; overflow:hidden; }
.p-product-detail__img .single-product-image img { display:block; margin:0; }
.p-product-detail__img .swiper-slide { overflow:hidden; margin-right:1em; }
.p-product-detail__img .gallery .swiper-slide .image-wrap { border-radius:0; }
.swiper-pagination-images, .swiper-pagination-bullet.swiper-pagination-image { border-radius:8px; }
.swiper-container-thumbs .swiper-slide, .swiper-container-thumbs .swiper-slide::before { border-radius:8px; }
@media screen and ( max-width : 781px) { 
.swiper-container .swiper-pagination-images { margin-left:1em; margin-right:1em; }
}
@media screen and (min-width: 781.1px) { 
  .swiper-container-thumbs { margin-left:0; margin-right:0; }
.p-product-detail__img .single-product-image, .p-product-detail__img .gallery, .p-product-detail__img .gallery .swiper-slide { border-radius:16px; }
}
@media screen and (min-width: 1024.1px) { 
  .p-product-detail__img .single-product-image, .p-product-detail__img .gallery, .p-product-detail__img .gallery .swiper-slide { border-radius:0 0 16px 16px; }
  .swiper-pagination-images { border-radius:10px; --grid-gap:16px;}
}

/*product form
-----------------------------------------------------*/
.p-product-form { background: #FFF; }
.p-product-form__head { padding: 1rem 0 0; }
.p-product-form__body { padding: 0 0 1rem; }
.p-product-form__bottom { padding: 1rem 0 2rem; background: #F8F8F8; text-align: center; }
.p-product-form__bottom button
.p-product-form__item .woocommerce-error, .p-product-form__item .woocommerce-info { margin:0; }
.p-product-form__item:not(.-no-pad) { padding: 1em 0; font-size:1.15em; }
.p-product-form__item + .p-product-form__item { border-top: 1px solid #e8f8eb; }
.p-product-form__item.-b-line { border-bottom: 1px solid #e8f8eb; }
.p-product-form__lead { font-size: 1.2857142857rem; margin-bottom: 0.5em; }
.l-container-sp > :first-child  { margin-top:0; }
.l-container-sp > :last-child  { margin-bottom:0; }
@media screen and (min-width: 781.1px) { 
  .p-product-form { border-radius: 10px 10px 30px 30px; overflow: hidden; }
  .p-product-form__head { padding: 1rem 2rem 0; }
  .p-product-form__body { padding: 0 2rem 1rem; }
  .p-product-form__bottom { padding: 1rem; }
  .p-product-form__desc { display: none; }
  .p-product-form__lead { font-size: 1.5rem; }
}

.product-addons { margin:0; }
.product-addon .woocommerce-input-wrapper .addon-item { margin:0; }
.product-addon + .product-addon { margin:0; }
dl.product-addon { width: 100%; margin:0; display:table; padding:0; background-color:transparent; }
dl.product-quantity, dl.product-addon { width: 100%; margin:0; display:table; padding:0; background-color:transparent; border-top: 1px solid #B1C5B5; }
dl.product-quantity dt, dl.product-addon dt { background: #F8F8F8; padding:10px 1em 10px 5vw; width:11.5em; vertical-align: middle; display:table-cell; }
dl.product-quantity dd, dl.product-addon dd { padding:10px 1em; vertical-align: middle; display:table-cell; }
dl.product-quantity .qty .outofstock { font-weight:500; color:var(--strong-color); }
dl.product-addon dd .note { margin:0 0 4px; font-size:13px; }
dl.product-addon .woocommerce-input-wrapper > label { display: block;}
dl.product-addon-type-textarea { display:block; }
dl.product-addon-type-textarea dt { display:block; width:auto; }
dl.product-addon-type-textarea dd { display:block; width:auto; padding:10px 10px; }
dl.product-addon-type-textarea.message_text dt { display:none; }
dl.product-addon-type-checkbox dd, dl.product-addon-type-radio dd { background-color:#fff }
.product-addon p.note { margin:0; }
@media screen and (min-width: 781.1px) { 
  dl.product-addon dt { padding-left: 1em; }
  dl.product-quantity dt { padding-left: 1em; }
}
.p-product-form__bottom .button { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; font-size: 1.1rem; text-align: center; width: 100%; max-width: 600px;  }
.p-product-form__bottom .button:disabled { background: #8B8B8B; pointer-events: none; }
.p-product-form__error { font-size: 0.875rem; color: #FF0000; margin-top: 0.3em; }

/*feature-card
-----------------------------------------------------*/
.p-feature-card__img { margin:0 0 2rem; background: #FFF; border-radius: 10px 10px 20px 20px; display:block; overflow:hidden; }
.p-feature-card__img img { display:block; width:100%; margin:0; height:100%; object-fit:contain; }
.p-feature-card__subtitle { font-size: 0.7857142857rem; color: #004729; font-family:var(--mincho); letter-spacing: 0.1em; }
.p-feature-card__title { font-family: var(--mincho); font-size: 1.4rem; margin-bottom: 0.5em; line-height: 1.4; }
.p-feature-card__desc { margin: 1em 0 2em; }
@media screen and (min-width: 781.1px) { 
  .p-feature-card {  display: flex; justify-content: center; align-items: stretch; }
  .p-feature-card__text { display:flex; align-items:center; padding: 2rem 1.5rem 1.5rem; border-radius: 0 10px 20px 0; background: #FFF; margin:0; position: relative; z-index: 2; width:50%; }
  .p-feature-card__img { width:50%; margin:0; background: #FFF; border-radius: 10px 0 0 20px; }
  .p-feature-card__text-inner { max-width: 20rem; margin: 0 auto; }
  .p-feature-card__title { font-size: 1.5rem; }
}

/*feature-list
-----------------------------------------------------*/
.p-feature-list__item + .p-feature-list__item { margin-top: 3vw; }
@media screen and ( min-width: 781.1px ) { 
  .p-feature-list { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin: 0 auto; }
  .p-feature-list__item { width: 95%; }
  .p-feature-list__item:nth-child(2n) {  margin-left: auto; }
}
@media screen and (min-width: 1280.1px) { 
  .p-feature-list__item + .p-feature-list__item { margin-top: 5rem; }
}
/* .p-feature-list a { display: contents; } */

/* feature category
-----------------------------------------------------*/
.p-feature-category-card { background: #FFF; border-radius: 5px 5px 10px 10px; display: flex; align-items: center; overflow: hidden; }
@media screen and (min-width: 781.1px) { 
  .p-feature-category-card { flex-direction: column; border-radius: 10px 10px 20px 20px; }
}
.p-feature-category-card__img { width: 33.33%; height: 0; padding-bottom: 33.33%; position: relative; overflow: hidden; }
@media screen and (min-width: 781.1px) { 
  .p-feature-category-card__img { width: 100%; padding-bottom: 100%; }
}
.p-feature-category-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .p-feature-category-card__img img { transition: transform 5s; transform: scale(1.2); }
}
.p-feature-category-card__text { width: 66.66%; padding: 1rem 2rem; }
@media screen and (min-width: 781.1px) { 
  .p-feature-category-card__text { width: 100%; padding: 1.5rem 0; text-align: center; }
}
.p-feature-category-card__title { margin-bottom: 0.5em; }
@media screen and (min-width: 781.1px) { 
  .p-feature-category-card__title { font-size: 1.25rem; margin-bottom: 0; }
}
.p-feature-category-card__ex { font-size: 0.7857142857rem; justify-content: flex-start; }
@media screen and (min-width: 781.1px) { 
  .p-feature-category-card__ex { justify-content: center; }
}
@media screen and (min-width: 1024.1px) { 
  .p-feature-category-card__ex { font-size: 0.8rem; }
}
.p-feature-category-list { display: grid; grid-template-columns: 1fr; gap: 1rem; margin:0; }
.p-feature-category-list li { margin:0; }
@media screen and (min-width: 781.1px) { 
  .p-feature-category-list { grid-template-columns: repeat(4, 1fr); }
}

/*farmer-card
-----------------------------------------------------*/
.p-farmer-card { background: #FFF; border-radius: 10px 10px 30px 30px; border: 1px solid #E6E6E6; padding: 1rem; display: flex; flex-wrap: wrap; justify-content: space-between; }
.p-farmer-card__img { width: 33%; position: relative; height: 0; padding-bottom: 38.5%; border-radius: 5px 5px 5px 20px; overflow: hidden; }
@media screen and (min-width: 781.1px) { 
  .p-farmer-card__img { padding: 0; height: auto; }
}
.p-farmer-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .p-farmer-card__img img { transform: scale(1.2); transition: transform 5s; }
}
.p-farmer-card__text { display: contents; }
@media screen and (min-width: 781.1px) { 
  .p-farmer-card__text { width: 62%; display: flex; flex-direction: column; }
}
.p-farmer-card__profile { width: calc(67% - 1rem); }
@media screen and (min-width: 781.1px) { 
  .p-farmer-card__profile { width: 100%; margin-bottom: 1em; }
}
.p-farmer-card__subtitle { font-size: 0.8571428571rem; margin-bottom: 0.5em; }
.p-farmer-card__title { margin-bottom: 0.5em; font-family: var(--mincho); }
@media screen and (min-width: 781.1px) { 
  .p-farmer-card__title { font-size: 1.25rem; line-height: 1.4; }
}
.p-farmer-card__desc { margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .p-farmer-card__desc { font-size: 0.875rem; }
}
.p-farmer-card__button { width: 100%; margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .p-farmer-card__button { margin-top: auto; }
}
@media screen and (min-width: 781.1px) { 
  .p-farmer-card--index { display: flex; justify-content: space-between; }
}


/*farmer-profile
-----------------------------------------------------*/
.p-farmer-profile { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.p-farmer-profile__img { width: 100%; position: relative; }
.p-farmer-profile__img img { width: 100%; -o-object-fit: cover; object-fit: cover; aspect-ratio: 1/1; }
.p-farmer-profile__text { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin: 1em auto 0; }
.p-farmer-profile__subtitle { font-size: 0.8571428571rem; margin-bottom: 0.5em; }
.p-farmer-profile__title { margin-bottom: 0.5em; font-size: 1.2857142857rem; font-family: var(--mincho); }
.p-farmer-profile .c-tag.-flowers .c-tag__item { background: #FFF; }
.p-farmer-profile__desc { margin-top: 1em; margin-bottom: 2em; }
@media screen and (min-width: 781.1px) { 
  .p-farmer-profile { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin: 0 auto; }
  .p-farmer-profile__img { width: 50%; padding: 0; height: auto; }
  .p-farmer-profile__img img { border-radius: 10px 10px 10px 25px; }
  .p-farmer-profile__text { width: 45%; margin: 0; }
  .p-farmer-profile__title { font-size: 1.25rem; line-height: 1.4; }
  .p-farmer-profile .c-tag.-flowers .c-tag__item { background: #fdb2b24f; color:#484242; }
  .p-farmer-profile__desc { font-size: 0.875rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-farmer-profile__text { width: 40%; }
}

.l-column-single + .l-column-single, .l-column-single > li + li { margin-top:16px; }
.l-column-single .p-product-card { background: #FFF; border-radius: 10px 10px 30px 30px; border: 1px solid #E6E6E6; padding: 1rem; display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; }
.l-column-single .p-product-card__img { width: 33%; position: relative; height: 0; padding-bottom: 38.5%; border-radius: 5px 5px 5px 20px; overflow: hidden; }
.l-column-single .c-title-card { font-size:1.2rem; }
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card__img { padding: 0; height: auto; }
}
.l-column-single .p-product-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
@media (hover: hover) and (pointer: fine) { 
  a.l-column-single :hover .p-product-card__img img { transform: scale(1.2); transition: transform 5s; }
}
.l-column-single .p-product-card__text { display: contents; padding-top:0; }
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card__text { width: 62%; display: flex; flex-direction: column; }
}
.l-column-single .p-product-card__profile { width: calc(67% - 1rem); }
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card__profile { width: 100%; }
}
.l-column-single .p-product-card__subtitle { font-size: 0.8571428571rem; margin-bottom: 0.5em; }
.l-column-single .p-product-card__title { margin-bottom: 0.5em; font-family: var(--mincho); }
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card__title { font-size: 1.25rem; line-height: 1.4; }
}
.l-column-single .p-product-card__desc { margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card__desc { font-size: 0.875rem; margin-bottom: 1em; }
}
.l-column-single .p-product-card__button { width: 100%; margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card__button { margin-top: auto; }
}
@media screen and (min-width: 781.1px) { 
  .l-column-single .p-product-card--index { display: flex; justify-content: space-between; }
}

/*news-card
-----------------------------------------------------*/
.p-news-card { background: #FFF; border-radius: 10px 10px 30px 30px; border: 1px solid #E6E6E6; padding: 1rem; height:100%; display: flex; flex-wrap: wrap; align-items:center; justify-content: space-between; }
.p-news-card__img { width: 33%; align-self:stretch; position:relative; height: 0; padding-bottom: 38.5%; border-radius: 5px 5px 5px 20px; overflow: hidden; }
@media screen and (min-width: 781.1px) { 
  .p-news-card__img { padding: 0; height: auto; }
}
.p-news-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .p-news-card__img img { transform: scale(1.2); transition: transform 5s; }
}
.p-news-card__text { display: contents; }
/* @media screen and (min-width: 781.1px) {  */
  .p-news-card__text { width: 62%; display: flex; flex-direction: column; }
/* } */
.p-news-card__profile { width: calc(67% - 1rem); }
@media screen and (min-width: 781.1px) { 
  .p-news-card__profile { width: 100%; margin-bottom: 1em; }
}
.p-news-card__subtitle { font-size: 0.8571428571rem; margin-bottom: 0.5em; }
.p-news-card__title { margin-bottom: 0.5em; font-family: var(--mincho); }
@media screen and (min-width: 781.1px) { 
  .p-news-card__title { font-size: 1.25rem; line-height: 1.4; }
}
.p-news-card__desc { margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .p-news-card__desc { font-size: 0.875rem; }
}
.p-news-card__button { width: 100%; margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .p-news-card__button { margin-top: auto; }
}
@media screen and (min-width: 781.1px) { 
  .p-news-card--index { display: flex; justify-content: space-between; }
}
.p-news-card .c-button-round { margin-top:.5rem; }



/* recommend card
-----------------------------------------------------*/
.p-recommend-card { background: #FFF; display: flex; align-items: center; justify-content: space-between; border-radius: 10px 10px 30px 30px; padding: 10px; }
.p-recommend-card__img { width: 30%; height: 0; padding-bottom: 27.27%; border-radius: 5px 5px 5px 20px; position: relative; overflow: hidden; }
.p-recommend-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
a:hover .p-recommend-card__img img { transform: scale(1.2); transition: transform 5s; }
.p-recommend-card__text { width: 65%; }
.p-recommend-card__subtitle { font-size: 0.7857142857rem; font-family:var(--mincho); color: #0F3A25; }
.p-recommend-card__title { font-size: 1.2857142857rem; line-height: 1.4; font-family: var(--mincho); }
@media screen and (min-width: 781.1px) { 
  .p-recommend-card__title { font-size: 1.5rem; }
}

/* flower attend
-----------------------------------------------------*/

.p-flower-attend__icon img { width: 2.85em; height: 2.85em; display: inline-block; vertical-align: middle; margin-right: 0.5em; border-radius: 50%; }
.p-flower-attend__block { background: #FFF; border-radius: 10px; padding: 5%; margin-top: 1rem; }
.p-flower-attend__block p { margin:0; }
@media screen and (min-width: 781.1px) { 
  .p-flower-attend { display: flex; justify-content: space-between; }
  .p-flower-attend__icon { display: block; text-align: center; line-height: 1.3; width: 5.3em; }
  .p-flower-attend__icon img { display: block; width:5em; height:5em; margin:0 0 0.5em; }
  .p-flower-attend__name { display:block; font-weight: normal; font-size:.75rem; }
  .p-flower-attend__block { width: calc(100% - 5.5rem); position: relative; margin: 0; padding: 1.5rem; line-height: 1.4; }
  .p-flower-attend__block::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 0.75rem 1.25rem 0.75rem 0; border-color: transparent #FFF transparent transparent; position: absolute; display: block; top: 2rem; right: 100%; margin: auto; }
}
@media screen and (min-width: 1366.1px) { 
  .p-flower-attend__block { width: calc(100% - 7rem); }
}
.c-flower-attend {  border-top-width: 1px; display:flex; padding-top:12px; margin-top:12px; align-items:center; gap:1em; }
.c-flower-attend img { display: block; width:5em; height:5em; aspect-ratio:1; margin:0; border-radius:50%; }
.c-flower-attend__block { width: calc(100% - 5.5rem); position: relative; margin: 0; line-height: 1.4; font-size:12px; }
.c-flower-attend__name { margin-top:4px; display:block; font-size:11px; }

/* p-product-category-list
-----------------------------------------------------*/
@media screen and (min-width: 781.1px) { 
  .p-product-category-list { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; align-items: start; }
}
@media screen and (min-width: 1024.1px) { 
  .p-product-category-list { grid-template-columns: 5em 1fr 1fr 1fr 1fr; gap: 15px; }
}
.p-product-category-list__item { width: 100%; margin:0; background: #fdb2b24f; color:#484242; border-radius: 15px; position: relative; transition: border-radius 0.01s 0.2s; }
@media screen and (min-width: 781.1px) { 
  .p-product-category-list__item { width: auto; }
}
@media screen and (min-width: 1280.1px) { 
  .p-product-category-list__item { border-radius: 30px; }
}
.p-product-category-list__item.-all { grid-row: 1/2; grid-column: 1/3; }
@media screen and (min-width: 1024.1px) { 
  .p-product-category-list__item.-all { grid-column: 1/1; }
}
@media screen and (min-width: 1024.1px) { 
  .p-product-category-list__item.-open { border-bottom-left-radius: 0; border-bottom-right-radius: 0; transition: border-radius 0.01s; }
}
.p-product-category-list__item + .p-product-category-list__item { margin-top: 10px; }
@media screen and (min-width: 781.1px) { 
  .p-product-category-list__item + .p-product-category-list__item { margin-top: 0; }
}
.p-product-category-list__button { width: 100%; display: block; border: 1px solid #FFE0E0; text-align: center; border-radius: 15px; background: #FFF; padding: 5px; position: relative; line-height: 2rem; cursor: pointer; }
@media screen and (min-width: 1280.1px) { 
  .p-product-category-list__button { padding: 10px; line-height: 3rem; text-align: left; padding-left: 4em; border-radius: 30px; }
}
@media screen and (min-width: 1366.1px) { 
  .p-product-category-list__button { padding-left: 4.5em; }
}
.p-product-category-list__button .icon { width: 2rem; height: 2rem; background: url(../image/gray-block.svg) no-repeat center center/100% 100%; padding: 5px; position: absolute; top: 0; bottom: 0; left: 5px; margin: auto; }
@media screen and (min-width: 1280.1px) { 
  .p-product-category-list__button .icon { width: 3rem; height: 3rem; left: 10px; padding: 10px; }
}
.p-product-category-list__button.-open .icon, .p-product-category-list__button.-current .icon { background-image: url(../image/pink-block.svg); }
.p-product-category-list__button.-all { background: #FFF; }
@media screen and (min-width: 1280.1px) { 
  .p-product-category-list__button.-all { padding-left: 10px; text-align: center; }
}
.p-product-category-list__button.-all.-current { background: #FFE0E0; color:#484242; }
.p-product-category-list__button.-has-child::before, .p-product-category-list__button.-has-child::after { content: ""; width: 1em; height: 1px; background: currentcolor; display: block; position: absolute; top: 0; bottom: 0; right: 10px; margin: auto; transition: transform 0.3s; }
@media screen and (min-width: 1280.1px) { 
  .p-product-category-list__button.-has-child::before, .p-product-category-list__button.-has-child::after { right: 1rem; }
}
.p-product-category-list__button.-has-child::before { transform: rotate(90deg); }
.p-product-category-list__button.-link::after { content: ""; width: 1em; height: 1em; background: url(../image/icon-arrow-r.svg) no-repeat center center/contain; display: block; position: absolute; top: 0; bottom: 0; right: 10px; margin: auto; transition: transform 0.3s; }
@media screen and (min-width: 1280.1px) { 
  .p-product-category-list__button.-link::after { right: 1rem; }
}
.p-product-category-list__button.-link::before { transform: rotate(90deg); }
.p-product-category-list__button.-open::before { transform: rotate(0deg); }
.p-product-category-list__child { padding: 1rem; display: none; background: #FFE0E0; color:#484242; border-radius: 0 0 15px 15px; }
@media screen and (min-width: 1024.1px) { 
  .p-product-category-list__child { position: absolute; top: 100%; left: 0; right: 0; margin: auto; z-index: 2; border-radius: 0 0 30px 30px; }
}
.p-product-category-list.-selects .p-product-category-list__item { background: #e8f8eb; }
.p-product-category-list.-selects .p-product-category-list__button { border-color: #e8f8eb; }
.p-product-category-list.-selects .p-product-category-list__button.-open .icon { background-image: url(../image/moss-block.svg); }
.p-product-category-list.-selects .p-product-category-list__button.-all.-current { background: #e8f8eb; }
.p-product-category-list.-selects .p-product-category-list__child { background: #e8f8eb; }
/*product-sort
-----------------------------------------------------*/
.p-product-sort { width: 100%; border-radius: 15px; background: #FFF; position: relative; transition: border-radius 0.01s 0.3s; }
@media screen and (min-width: 1024.1px) { 
  .p-product-sort { width: 12em; margin: 0 1rem 0 auto; }
  .p-product-sort.-open { border-bottom-left-radius: 0; border-bottom-right-radius: 0; transition: border-radius 0.01s; }
}
.p-product-sort__button { background: #0F3A25; color: #FFF; width: 100%; display: block; padding: 5px; border-radius: 15px; line-height: 2rem; position: relative; cursor: pointer; }
.p-product-sort__button .icon { width: calc(2rem - 10px); height: calc(2rem - 10px); position: absolute; top: 0; bottom: 0; left: 15px; margin: auto; }
.p-product-sort__button::before, .p-product-sort__button::after { content: ""; width: 1em; height: 1px; background: currentcolor; display: block; position: absolute; top: 0; bottom: 0; right: 10px; margin: auto; transition: transform 0.2s; }
@media screen and (min-width: 781.1px) { 
  .p-product-sort__button::before, .p-product-sort__button::after { right: 1rem; }
}
.p-product-sort__button::before { transform: rotate(90deg); }
.p-product-sort__button.-open::before { transform: rotate(0); }
.p-product-sort__child { display: none; background: #FFF; border-radius: 0 0 15px 15px; padding: 1rem; margin:0; }
@media screen and (min-width: 1024.1px) { 
  .p-product-sort__child { position: absolute; top: 100%; left: 0; right: 0; margin: auto; z-index: 2; border-radius: 0 0 30px 30px; font-size: 0.875rem; }
}
.p-product-sort__wrap { margin-top: 10px; }
@media screen and (min-width: 781.1px) { 
  .p-product-sort__wrap { margin-top: 5px; }
}
@media screen and (min-width: 1024.1px) { 
  .p-product-sort__wrap { margin-top: 3rem; }
}
/*column
-----------------------------------------------------*/
.p-column-archive { display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media screen and (min-width: 781.1px) { 
  .p-column-archive { grid-template-columns: 1fr 15rem; gap: 2rem; }
}
@media screen and (min-width: 1280.1px) { 
  .p-column-archive { gap: 5vw; }
}
.p-column-archive__sidebar { background: #0F3A25; color: #FFF; border-radius: 10px; padding: 2rem 1.25rem; }
@media screen and (min-width: 781.1px) { 
  .p-column-archive__sidebar { padding: 2rem 1.75rem; }
}
.p-column-archive__sidebar-title { margin-bottom: 2em; }
.p-column-cat-title { width: auto; height: 4rem; display: table; margin: 0 auto; }
@media screen and (min-width: 781.1px) { 
  .p-column-cat-title { margin-left: 0; height: 6.5rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post { display: flex; justify-content: space-between; align-items: flex-start; }
}
.p-column-post__title-wrap { border-top: 1px solid; border-bottom: 1px solid; margin-bottom: 3em; padding: 2rem 0; }
.p-column-post__title { font-size: 1.4rem; font-family: var(--mincho); letter-spacing: 0.2em; line-height: 1.4; margin:0; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__title { font-size: 1.5rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post__title { font-size: 2rem; }
}
.p-column-post__category { margin-bottom: 1rem; }
.p-column-post__category img { max-width:280px; }
.p-column-post__category-item { width: auto; height: 1.5rem; margin-right: 1em; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__category-item { height: 2rem; }
}
.p-column-post__eyecatch { margin-top: calc( var(--section-gap) + 10rem ); border-radius:10px; overflow:hidden }
@media screen and (min-width: 781.1px) { 
  .p-column-post__eyecatch { margin-top: 16rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post__eyecatch { width: 35%; margin-top: 0; position: sticky; top: 3rem; height: calc(100vh - 6rem); }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post__eyecatch { width: 40%; }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post__eyecatch img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post__main { width: 50%; }
}
@media screen and (min-width: 1024.1px) { 
  .p-column-post__main .l-container-first-block { padding-top:240px; }
}
@media screen and ( max-width : 1023px) { 
  .p-column-post__main .l-container-first-block { padding-top: 3rem; }
}
.p-column-post__body h2 { font-size: 1.4rem; margin: 2em 0 0.5em; font-weight: bold; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__body h2 { font-size: 1.25rem; }
}
.p-column-post__body h3 { font-size: 1.2857142857rem; margin: 2em 0 0.5em; font-weight: bold; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__body h3 { font-size: 1.125rem; }
}
.p-column-post__body h4 { font-size: 1.1428571429rem; margin: 2em 0 0.5em; font-weight: bold; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__body h4 { font-size: 1rem; }
}

.p-column-post__body .wp-block-image { border-radius:10px; overflow:hidden; margin-bottom: 2em; }
.p-column-post__body p { margin-bottom: 1em; }
.p-column-post__body ul > li { padding-left: 2em; position: relative; }
.p-column-post__body ul > li::before { content: "●"; display: inline-block; position: absolute; top: 0; left: 0; margin: auto; }
.p-column-post__body ul > li + li { margin-top: 0.5em; }
.p-column-post__body .box { border-image: linear-gradient(0deg, #004729 1px, transparent 1px); border-image-slice: fill 0; border-image-outset: 0 100vw 0; margin-bottom: 2em; }
.p-column-post__body > :last-child, .p-column-post__body > :last-child > :last-child { margin-bottom:0; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__body .box { border: 1px solid #004729; border-radius: 10px; }
}
.p-column-post__body .box-title { border-image: linear-gradient(180deg, #004729 1px, transparent 1px); border-image-slice: fill 0; border-image-outset: 0 100vw 0; margin: 0; padding: 1em 0; color: #004729; font-size: 1.2857142857rem; font-weight: 500; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__body .box-title { border: none; border-bottom: 1px solid #004729; padding: 1rem 1.5rem; font-size: 1.25rem; }
}
.p-column-post__body .inner { padding: 1.5em 0; border-image: linear-gradient(180deg, #004729 1px, transparent 1px); border-image-slice: fill 0; border-image-outset: 0 100vw 0; }
@media screen and (min-width: 781.1px) { 
  .p-column-post__body .inner { border: none; padding: 1.5rem; }
}
/*column-index
-----------------------------------------------------*/
.p-column-index .p-column-index-image { width:100px; height:80px; display:flex; margin:0 auto 1rem; align-items:center; justify-content:center; }
.p-column-index .p-column-index-image img { max-width:100%; max-height:100%; height:auto; width:auto; display:block; margin:auto; }
.p-column-index-list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.p-column-index-list > li { width: calc(50% - 1rem); }
.p-instagram-vid__list { margin:2rem auto 0; max-width:840px; display: flex; flex-wrap:nowrap; justify-content: space-between; align-items:stretch; gap:1rem; }
.p-instagram-vid__list .p-instagram-vid__item { display:block; padding:0; margin:0; position: relative; flex:1; }
.p-instagram-vid__list .p-instagram-vid__item::before { display:block; content:''; padding:150% 0 0 0; }
.p-instagram-vid__list .p-instagram-vid__item img { display:block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.p-column-index .onecolumns .column .title-head { font-size:1em; font-weight:500; display:table; margin-left:auto; margin-right:auto; position: relative; }
.p-column-index .onecolumns .column .title-head span { display:block; }
.p-column-index .onecolumns .column .title-head::before { content:''; height:3em; width:2em; position:absolute; left:-.7em; top:-.7em; display:block; transform:rotate(60deg); border-bottom:.05em solid currentColor; }
.p-column-index .onecolumns .column .title-head::after { content:''; height:3em; width:2em; position:absolute; right:-.7em; top:-.7em; display:block; transform:rotate(-60deg); border-bottom:.05em solid currentColor; }
.p-column-index a.button { display:block; margin-top:2rem; margin-left:auto; margin-right:auto; max-width:360px; }
@media screen and (min-width: 600.1px) { 
  .p-column-index .twocolumns .column { margin-top:0; }
  .p-column-index .onecolumns .column .title-head { font-size:1.25em; }
  .p-column-index .onecolumns .column .title-head span { display:inline; }
  .p-column-index .onecolumns .column .title-head::before, .p-column-index .onecolumns .column .title-head::after { height:2em; width:2em; }

}


/*column-list
-----------------------------------------------------*/
.p-column-list { display: grid; grid-template-columns: 1fr 1fr; gap:var(--column-gap); margin:0; }
.p-column-list li { margin:0; }

@media screen and (min-width: 1280.1px) { 
  .p-column-list { grid-template-columns: 1fr 1fr 1fr; gap: 5vw; }
}
/*column
-----------------------------------------------------*/
.p-column-card a.wrap { display:block; }
.p-column-card__img { position: relative; width: 100%; height: 0; padding-bottom: 140%; overflow: hidden; border-radius: 10px 10px 20px 20px; }
.p-column-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
.p-column-card__img::before { content: ""; width: 2rem; height: 2rem; display: block; background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg); background-position: center center; background-size: 40% auto, 100% 100%; background-repeat: no-repeat; position: absolute; right: 0.7142857143rem; bottom: 0.7142857143rem; margin: auto; transition: background 0.5s; z-index: 2; }
@media (hover: hover) and (pointer: fine) { 
  .p-column-card:hover .p-column-card__img img { transform: scale(1.2); transition: transform 5s; }
  .p-column-card:hover .p-column-card__img::before { background-image: url(../image/icon-arrow-white.svg), url(images/common/bright-green-block.svg); }
}
.p-column-card__text { padding: 1.25rem 0.625rem 0; display:flex; flex-wrap:wrap; gap:.5em; }
.p-column-card__category { font-size: 0.875rem; line-height: 1.4; padding:0 .5em; margin-bottom: 0.2em; display:inline-block; background-color:rgba(255,255,255,.3); border-radius:50px; }
.p-column-card__date { font-size: 0.875rem; display:inline-block; line-height: 1.4; }
.p-column-card__title { width:100%; font-family: var(--mincho); font-size: 1.1428571429rem; line-height: 1.3; letter-spacing: 0.2em; }
@media screen and (min-width: 781.1px) { 

  .p-column-card__category { font-size: 0.75rem; }
  .p-column-card__date { font-size: 0.75rem; }
}
/*product card
-----------------------------------------------------*/
@media screen and (min-width: 781.1px) { 
  .p-foot-banner { display: flex; }
}
@media screen and (min-width: 781.1px) { 
  .p-foot-banner__item { width: 50%; }
}
/*first
-----------------------------------------------------*/
.p-first-unavailable { font-size: 0.8571428571rem; margin-top: 1em; }
@media screen and (min-width: 1024.1px) { 
  .p-first-unavailable { display: flex; font-size: 1rem; justify-content: space-between; }
  .p-first-unavailable > dt { width: 11em; }
  .p-first-unavailable > dd { width: calc(100% - 11em); }
}
.c-first-delivery-fee__item { display: flex; margin: 0.5em 0; align-items: center; }
@media screen and (min-width: 781.1px) { 
  .c-first-delivery-fee__item { display: inline-flex; margin-right: 1em; }
}
.c-first-delivery-fee__item > dt { width: 7em; line-height: 1.4; text-align: center; background: #F8F8F8; border-radius: 1.5em; padding: 0 0.5em; margin-right: 1em; }
.c-first-delivery-fee__item > dd { font-size: 1.25rem; }
.p-first-paypal-img { width: 100%; }
@media screen and (min-width: 781.1px) { 
  .p-first-paypal-img { width: 320px; }
}
.p-first-transfar > dt { font-size: 1.1428571429rem; }
@media screen and (min-width: 781.1px) { 
  .p-first-transfar > dt { font-size: 1rem; font-weight: bold; }
}
.p-first-transfar > dd { font-size: 0.8571428571rem; }
@media screen and (min-width: 781.1px) { 
  .p-first-transfar > dd { font-size: 1rem; }
}
@media screen and (min-width: 781.1px) { 
  .p-first-packing { display: flex; flex-wrap: wrap; justify-content: space-between; }
}
.p-first-packing__item + .p-first-packing__item { margin-top: 2rem; }
.p-first-packing__item:first-child { width: 100%; }
.p-first-packing__item:not(:first-child) { 
  display: flex; align-items: center; justify-content: space-between; }
@media screen and (min-width: 781.1px) { 
  .p-first-packing__item:not(:first-child) {  display: block; width: calc(33.33% - 1rem); }
}
.p-first-packing__item:not(:first-child) .img { width: 33%; }
@media screen and (min-width: 781.1px) { 
  .p-first-packing__item:not(:first-child) .img { width: 100%; margin-bottom: 1rem; }
}
.p-first-packing__item:not(:first-child) .img img { width: 100%; aspect-ratio: 1/1; -o-object-fit: cover; object-fit: cover; }
.p-first-packing__item:not(:first-child) .text { width: 63%; font-size: 1.2857142857rem; }
@media screen and (min-width: 781.1px) { 
  .p-first-packing__item:not(:first-child) .text { width: 100%; font-size: 1rem; line-height: 1.4; }
}
@media screen and (min-width: 781.1px) { 
  .p-first-booklet { display: flex; justify-content: space-between; align-items: center; }
}
.p-first-booklet__img { margin-bottom: 1rem; }
@media screen and (min-width: 781.1px) { 
  .p-first-booklet__img { width: 50%; margin-bottom: 0; }
}
@media screen and (min-width: 781.1px) { 
  .p-first-booklet__text { width: 45%; }
}
@media screen and (min-width: 1024.1px) { 
  .p-first-booklet__text { width: 35%; margin: 0 auto; }
}
.p-first-booklet__title { margin-bottom: 0.5em; }
@media screen and (min-width: 1024.1px) { 
  .p-first-booklet__title { margin-bottom: 1rem; }
}
.p-first-booklet__title .title { font-family: var(--mincho); display: block; font-size: 1.2857142857rem; }
@media screen and (min-width: 1024.1px) { 
  .p-first-booklet__title .title { font-size: 1.5rem; }
}
.p-first-messagecard { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media screen and (min-width: 781.1px) { 
  .p-first-messagecard { grid-template-columns: 1fr 1fr; }
}
@media screen and (min-width: 1024.1px) { 
  .p-first-messagecard { gap: 2rem; }
}
.p-first-messagecard__items { display: flex; }
.p-first-messagecard__item { width: 50%; text-align: center; }
.p-first-messagecard__item img { margin-bottom: 0.5em; }
.p-first-giftbag { background: #0F3A25; border-radius: 5px 5px 10px 10px; padding: 1.5rem; color: #FFF; }
@media screen and (min-width: 781.1px) { 
  .p-first-giftbag { display: flex; justify-content: space-between; align-items: center; border-radius: 10px 10px 30px 30px; }
}
@media screen and (min-width: 781.1px) { 
  .p-first-giftbag__text { width: 50%; }
}
@media screen and (min-width: 1024.1px) { 
  .p-first-giftbag__text { width: 40%; margin: 0 auto; }
}
.p-first-giftbag__title { font-size: 1.2857142857rem; margin-bottom: 0.5em; }
@media screen and (min-width: 1024.1px) { 
  .p-first-giftbag__title { font-size: 1.5rem; font-weight: bold; }
}
.p-first-giftbag__img { margin-top: 1rem; }
@media screen and (min-width: 781.1px) { 
  .p-first-giftbag__img { margin-top: 0; width: 45%; }
}
.p-first-giftbag__img img { border-radius: 5px; }
@media screen and (min-width: 781.1px) { 
  .p-first-giftbag__img img { border-radius: 5px 5px 15px 5px; }
}
@media screen and (min-width: 781.1px) { 
  .p-first-servicelink { display: flex; justify-content: center; }
}
@media screen and (min-width: 781.1px) { 
  .p-first-servicelink__item { width: 280px; }
}
.p-first-servicelink__item + .p-first-servicelink__item { margin-top: 1em; }
@media screen and (min-width: 781.1px) { 
  .p-first-servicelink__item + .p-first-servicelink__item { margin-top: 0; margin-left: 1em; }
}

/* law
-----------------------------------------------------*/
@media screen and (min-width: 1280.1px) { 
  .p-law-list { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; -webkit-column-gap: 2rem; -moz-column-gap: 2rem; column-gap: 2rem; }
}
.price_table { border-width:0; line-height: 1.4;
  width: 100%;font-size:12px; text-align:left;
  margin: 1em 0;}.price_table th { 
    font-weight: 600;
    padding: 4px 4px 4px 0;border-width:0;
  }
  .price_table td {
    padding: 4px 0 4px 4px; border-width:0;
  }
.p-law-list__item { padding: 1rem; border-top-width:1px; border-bottom-width:1px; border-color:#707070; margin-bottom:-1px; }
@media screen and (min-width: 781.1px) { 
  .p-law-list__item { display: inline-flex; width: 100%; padding: 2rem 1.5rem; }
}
.p-law-list__item dt { font-size: 1.1428571429rem; margin-bottom: 0.5em; padding-right:0.5em }
@media screen and (min-width: 781.1px) { 
  .p-law-list__item dt { font-size: 1rem; width: 9em; }
}
@media screen and (min-width: 781.1px) { 
  .p-law-list__item dd { width: calc(100% - 9em); }
}

/* privacy
-----------------------------------------------------*/
.p-privacy-head { padding-bottom: var(--section-gap); margin-bottom: var(--section-gap); border-bottom: 1px solid #0F3A25; }
.p-privacy-list { margin:0; }
.p-privacy-list__item + .p-privacy-list__item { margin-top: 2em; }


/* QA
-----------------------------------------------------*/
.faq-list { margin:0 0 3rem; }
.faq-list:last-of-type { margin-bottom: 0; }
.faq-list .faq-header {  flex:1; }
.faq-list .faq-header h2.faq-title { font-family: var(--mincho); font-size: 1.4rem; margin:0; }
.faq-list .faq { border-top: 1px solid #707070; position: relative; padding-right: 3.5rem; transition: background 0.3s; cursor: pointer; margin:0; }
.faq-list .faq-content { flex:3; }
.faq-list .faq::before, .faq-list .faq::after { content: ""; width: 1.5rem; height: 1px; background: #000000; display: block; position: absolute; right: 1rem; top: 2.2rem; margin: auto; transition: transform 0.3s; }
.faq-list .faq::after { transform: rotate(90deg); }
.faq-list .faq.-open { background: #F8F8F8; }
.faq-list .faq.-open::after { transform: rotate(0deg); }
.faq-list .faq .faq-dt::before, .faq-list .faq .faq-dd::before { font-family:var(--mincho); font-weight: bold; color: #FFF; font-size: 0.8571428571rem; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; position: absolute; left: 1rem; margin: auto; }
.faq-list .faq .faq-dt { padding: 1.5rem 0 1.5rem 4rem; position: relative; margin:0; }
.faq-list .faq .faq-dt::before { content: "Q"; background: url(../image/green-block.svg) no-repeat center center/contain; color: #FFF; top: 1.25rem; }
.faq-list .faq .faq-dd { padding: 0.25rem 0 1.5rem 4rem; position: relative; display: none; }
.faq-list .faq .faq-dd::before { content: "A"; background: url(../image/green-line-block.svg) no-repeat center center/contain; color: #0F3A25; top: 0; }
@media screen and (min-width: 781.1px) { 
  .faq-list .faq-header { padding: 1rem 0;  }
  .faq-list .faq-header h2.faq-title { padding:1em; }
  .faq-list { display: flex; flex-wrap: wrap; margin-bottom:0; border-top: 1px solid #707070; }
  .faq-list:last-of-type { border-bottom: 1px solid #707070; }
  .faq-list header { width: 25%; padding-right: 2rem; }
  .faq-list .columns { width: 75%; border-bottom: none; }
  .faq-list .faq:first-child { border-top: 0; }
}
@media screen and (min-width: 1024.1px) { 
  .faq-list .faq::before, .faq-list .faq::after { top: 3rem; }
  .faq-list .faq .faq-dt::before, .faq-list .faq .faq-dd::before { font-size: 1.25rem; width: 2.5em; height: 2.5em; left: 1.5rem; }
  .faq-list .faq .faq-dt { font-size: 1.25rem; padding: 2rem 0 2rem 5.5rem; }
  .faq-list .faq .faq-dt::before { top: 1.5rem; }
  .faq-list .faq .faq-dd { padding: 1.5rem 0 2rem 5.5rem; }
  .faq-list .faq .faq-dd::before { top: 0.75rem; }
}
@media screen and (min-width: 1280.1px) { 
  .faq-list .faq { padding-right: 7rem; }
  .faq-list .faq::before, .faq-list .faq::after { right: 5rem; }
}


/*teikibin index
-----------------------------------------------------*/
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-index { display: flex; flex-wrap: wrap; flex-direction: row-reverse; }
}
.p-teikibin-index__text { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); margin:5vw auto 0; }
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-index__text { width: 44.5%; margin: 0 0 0 auto; padding-right: 8%; }
}
.p-teikibin-index__title { font-size: 1.4rem; margin-bottom: 1.5em; font-family: var(--mincho); letter-spacing: 0.2em; line-height:1.75; }
.p-teikibin-index__desc { line-height: 3; }
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-index__desc { line-height: 2; padding-bottom: 3em; }
}
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-index__img { width: 50%; max-height: 30rem; border-radius: 10px 0 0 30px; overflow: hidden; }
}
.p-teikibin-index__img video { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.p-teikibin-index__list { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; counter-reset: listnum; font-family: var(--mincho); margin-top: 3rem; }
.p-teikibin-index__list > li { margin-bottom: 3rem; }
@media screen and (min-width: 781.1px) { 
  .p-teikibin-index__list { width:calc( 100% - var(--column-gap) * 2 ); max-width:var(--container-width); flex-direction: row; margin: 3rem auto; }
}
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-index__list { margin-top: -2.5em; }
}
@media screen and (min-width: 781.1px) { 
  .p-teikibin-index__list > li + li { margin-left: 5%; }
}
.p-teikibin-index__list-item { counter-increment: listnum; position: relative; background: url(../image/white-block.svg) no-repeat center center/cover; width: 16em; height: 16em; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; line-height: 1.4; }
@media screen and (min-width: 781.1px) { 
  .p-teikibin-index__list-item { font-size: 1rem; width: 14em; height: 14em; }
}
@media screen and (min-width: 1280.1px) { 
  .p-teikibin-index__list-item { font-size: 1.25rem; }
}
.p-teikibin-index__list-item::before { content: counter(listnum, decimal-leading-zero); color: #0F3A25; font-family:var(--mincho); }
.p-teikibin-index__list-item::after { content: ""; width: 2rem; height: 2rem; display: block; background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg); background-position: center center; background-size: 40% auto, 100% 100%; background-repeat: no-repeat; position: absolute; right: 0.7142857143rem; bottom: 0.7142857143rem; margin: auto; transition: background 0.5s; }
@media (hover: hover) and (pointer: fine) { 
  .p-teikibin-index__list-item:hover::after { background-image: url(../image/icon-arrow-white.svg), url(images/common/bright-green-block.svg); }
}
.p-teikibin-index__list .img { display: block; margin: 0 auto; width: 45%; }
.p-teikibin-index__more-wrap { width: 100%; }
.p-teikibin-index-course { margin: 1rem 0 0; width:100%; overflow:hidden; }

@media screen and (min-width: 781.1px) { 
  .p-teikibin-index-course { margin:0; }
}

.p-teikibin-index-course__title { display: none; text-align: right; margin-bottom: -3em; }
.p-teikibin-index-course__title { font-size: 1.4rem; margin-bottom: 0.5em; font-family: var(--mincho); letter-spacing: 0.2em; line-height: 2; }
@media screen and (min-width: 781.1px) { 
  .p-teikibin-index-course__title { margin-bottom: 2em; display: block; }
}
@media screen and (min-width: 1024.1px) { 
  .p-teikibin-index-course__title { margin-bottom: -3em; }
}
.p-teikibin-index-course__title .title { margin-bottom: 1em; }
.p-teikibin-index-course__title .title img { width:274px; }
.swiper-button-next {
  content: "";
    width: 2rem;
    height: 2rem;
    display: block;
    background-color:transparent;
    background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg);
    background-position: center center;
    background-size: 40% auto, 100% 100%;
    transform:translateY(-50%) translateX(50%);
    background-repeat: no-repeat;
    transition: background 0.5s;
  }
  .swiper-button-prev {
    content: "";
      width: 2rem;
      height: 2rem;
      display: block;
      background-color:transparent;
      background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg);
      background-position: center center;
      background-size: 40% auto, 100% 100%;
      background-repeat: no-repeat;
      transform:scale(-1, 1) translateY(-50%) translateX(50%);
      transition: background 0.5s;
    }
/* instagram embed
-----------------------------------------------------*/
#sb_instagram { display:block; overflow: hidden; }
#sb_instagram #sbi_images { float:none; display: flex; -webkit-animation: scroll-left linear 40s infinite; animation: scroll-left linear 40s infinite; white-space: nowrap; width: calc((30vw + 1rem) * 10); }
#sb_instagram #sb_instagram:nth-of-type(2) #sbi_images { -webkit-animation-delay: -3s; animation-delay: -3s; margin-top: 1rem; }

.p-instagram-emb-wrap { position: relative; }
.p-instagram-emb { overflow: hidden; }
.p-instagram-emb__list { display: flex; -webkit-animation: scroll-left linear 40s infinite; animation: scroll-left linear 40s infinite; white-space: nowrap; width: calc((30vw + 1rem) * 10); }
.p-instagram-emb__list:nth-of-type(2) { -webkit-animation-delay: -3s; animation-delay: -3s; margin-top: 1rem; }
.p-instagram-emb__item { flex-shrink: 0; width: 30vw; margin:0 1rem 0 0; }
.p-instagram-emb__item img { aspect-ratio:1/1; object-fit:cover; width:100%; }
#sb_instagram #sbi_images .sbi_item { flex-shrink: 0; width: 30vw; margin-right: 1rem; }

@media screen and (min-width: 781.1px) { 
  .p-instagram-emb__list { -webkit-animation-duration: 20s; animation-duration: 20s; width: calc((20vw + 2.5rem) * 10); }
  .p-instagram-emb__list:nth-of-type(2) { display: none; }
  #sb_instagram #sbi_images { -webkit-animation-duration: 20s; animation-duration: 20s; width: calc((20vw + 2.5rem) * 10); }
  #sb_instagram #sb_instagram:nth-of-type(2) { display:none; }
  .p-instagram-emb__item { margin-right: 2.5rem; width: var(--section-gap); }
  #sb_instagram #sbi_images .sbi_item { margin-right: 2.5rem; width: var(--section-gap); }
}
@media screen and (min-width: 1024.1px) { 
  .p-instagram-emb__list { -webkit-animation-duration: 60s; animation-duration: 60s; }
  #sb_instagram #sbi_images { -webkit-animation-duration: 60s; animation-duration: 60s; }
}

.p-instagram-emb__more { position: absolute; inset: 0; margin: auto!important; top:0; bottom:0; left:0; right:0; text-align: center; height:3.8em; width: 15em; border-radius: 3em; }
@media screen and (min-width: 781.1px) { 
  .p-instagram-emb__more { right: 5%; top: auto; left: auto; bottom: -3em; width: 25em; }
  .p-instagram-emb__more.c-button-round { padding: 1.5em 2em; }
}
.p-instagram-emb__more .instagram { display: block; font-family:var(--mincho); font-size: 0.8571428571rem;display: flex; align-items:center;justify-content: center; }
@media screen and (min-width: 781.1px) { 
  .p-instagram-emb__more .instagram { font-size: 0.75rem; margin-top: 0.5em; }
}
.p-instagram-emb__more .instagram img { width: 1.2em; height: 1.2em; vertical-align: middle; margin-right: 0.5em; fill: #004729; }

@-webkit-keyframes scroll-left { 0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes scroll-left { 0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* gift index
-----------------------------------------------------*/
.p-gift-index { display: flex; flex-direction: column-reverse; position: relative; }
.p-gift-index__title { z-index: 2; }
@media screen and (min-width: 1024.1px) { 
  .p-gift-index__title { width: 11%; position: absolute; top: 0; left: 5%; margin: auto; text-align: center; z-index: 2; }
}
@media screen and (min-width: 1280.1px) { 
  .p-gift-index__title { left: 7.5%; }
}
.p-gift-index__title .title { width: 5.5rem; position: absolute; top: 0; left: 5%; z-index: 2; }
@media screen and (min-width: 781.1px) { 
  .p-gift-index__title .title { width: 6.5rem; }
}
@media screen and (min-width: 1024.1px) { 
  .p-gift-index__title .title { position: relative; width: 100%; top: auto; left: auto; }
}
.p-gift-index__title .more { margin: 3rem auto 0; text-align: center; }
.p-gift-index__list-wrap { position: relative; padding-top:17rem; }
@media screen and (min-width: 1024.1px) { 
  .p-gift-index__list-wrap { padding-top: 5rem; }
  .p-gift-index__list-wrap > .l-container-primary:first-child { padding-top:calc(10rem + 25% )}
}
.p-gift-index__list-buttons { position: absolute; top: 0; right: 5%; }
.p-gift-index-list-prev, .p-gift-index-list-next { width: 4rem; height: 4rem; display: block; background: url(../image/white-block.svg) no-repeat center center/contain; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.5s; }
.p-gift-index-list-prev svg, .p-gift-index-list-next svg { fill: none; stroke: #004729; width:10px; height:auto; }

  .p-gift-index-list-prev:hover, .p-gift-index-list-next:hover { background-image: url(../image/green-block.svg); }
  .p-gift-index-list-prev:hover svg, .p-gift-index-list-next:hover svg { stroke: #FFF; }

.p-gift-index-list-next { margin-left: 0.5em; }
.p-gift-index-list { width: 95%; margin: 0 0 0 auto; padding-right: 5%; }
@media screen and (min-width: 1024.1px) { 
  .p-gift-index-list { width: 75%; }
  .p-gift-index-list .swiper-slide { width:40%; }
}
.p-gift-index-card__img { margin-bottom: 1em; position: relative; width: 100%; height: 0; padding-bottom: 100%; border-radius: 10px; overflow: hidden; }
.p-gift-index-card__img img { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; -o-object-fit: cover; object-fit: cover; transition: transform 1s; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .p-gift-index-card__img img { transition: transform 5s; transform: scale(1.2); }
}
.p-gift-index-card__img::before { content: ""; width: 2rem; height: 2rem; display: block; background-image: url(../image/icon-arrow-white.svg), url(../image/green-block.svg); background-position: center center; background-size: 40% auto, 100% 100%; background-repeat: no-repeat; position: absolute; bottom: 0.7142857143rem; right: 0.7142857143rem; margin: auto; transition: background 0.5s; z-index: 2; }
@media (hover: hover) and (pointer: fine) { 
  a:hover .p-gift-index-card__img::before { background-image: url(../image/icon-arrow-white.svg), url(images/common/bright-green-block.svg); }
}
.p-gift-index-card__subtitle { color: #0F3A25; font-size: 0.7857142857rem; font-family:var(--mincho); }
.p-gift-index-card__title { font-family: var(--mincho); letter-spacing: 0.2em; line-height: 1.4; }
@media screen and (min-width: 781.1px) { 
  .p-gift-index-card__title { font-size: 1.25rem; }
}
@media screen and (min-width: 1280.1px) { 
  .p-gift-index-card__title { font-size: 1.5rem; }
}

/*   Responsive
-----------------------------------------------------*/
@media screen and (min-width: 781.1px) { 
  .u-responsive-sp-visible { display: none; }
}
@media screen and (min-width: 1024.1px) { 
  .u-responsive-tab-visible { display: none; }
}
.u-responsive-sp-hidden { display: none; }
@media screen and (min-width: 781.1px) { 
  .u-responsive-sp-hidden { display: initial; }
}
.u-responsive-tab-hidden { display: none; }
@media screen and (min-width: 1024.1px) { 
  .u-responsive-tab-hidden { display: initial; }
}

/*   text
-----------------------------------------------------*/
.u-text-invisible { display: none; }
.u-text-center { text-align: center; }
.u-text-right { text-align: right; }
.u-text-en { font-family:var(--mincho); letter-spacing: 0.1em; }
.u-text-uppercase { text-transform: uppercase; }

/*   Screen Reader Text
-----------------------------------------------------*/
.screen-reader-text { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; }

/*   bg
-----------------------------------------------------*/
.u-bg-grad { background: linear-gradient(180deg, transparent 240px, #B1C5B5 640px); }
.u-bg-grad.-flowers, .u-bg-grad.-attend { background: linear-gradient(180deg, transparent 240px, #FFE0E0 640px); }
.u-bg-grad.-selects { background: linear-gradient(180deg, transparent 240px, #D9DADE 640px); }
.u-bg-pink { background: #FFE0E0; }
.u-bg-white { background: #fff; }
.u-bg-green { background: #B1C5B5; }
.u-bg-gray { background: #D9DADE; }
.-basic { --theme-color:#065830; --checked-color:#065830; --layer-color:#81a187; --border-color:#81a187;}
.-basic a.button { --button-color:#4e7455; --button-hover-color:#065830; }
.-attend { --theme-color:#cf5d5d; --checked-color:#cf5d5d; --layer-color:#e79090; --border-color:#e79090;}
.-attend a.button { --button-color:#da8282; --button-hover-color:#cf5d5d; }
.c-bg { background-color:var(--layer-color); }
.wpcf7-form .cf7mls_next.action-button, .wpcf7-form .cf7mls_progress_bar.cf7mls_bar_style_navigation_horizontal_squaren.cf7mls_bar_style_text_vertical li.active::before { background-color:#4e7455; }
.wpcf7-form .cf7mls_next.action-button:hover { background-color:#065830; }
/*   text
-----------------------------------------------------*/

.woocommerce-notices-wrapper { font-size:1rem; }
.woocommerce-MyAccount-content .shop_table .button { padding:.75em 1em;; }
/* アカウント画面の曜日選択フィールド */
.subscription_myaccount_option_form { display:flex; align-items:center; flex-wrap:nowrap; justify-content: end; gap:8px; }
.subscription_myaccount_option_form button { width:104px; min-width:104px; margin:4px; padding: .75em 1em; font-size: .875em; }
.subscription_myaccount_option_form ~ p.note { margin-top: 4px; }
.delivery_schedule_row .delivery_schedule { font-size:1.2em; font-weight:bold; margin:0; }
p.subscription_after_action { margin: 0; }
p.subscription_after_action + p.subscription_after_action { margin: 0.5em 0 0; }

#separate-cart-message { background-color:var(--layer-color); padding:24px; margin-top:var(--column-gap); border-radius:12px; }
#separate-cart-message h3 { font-size:1.2em; margin:0 0 6px; }
#separate-cart-message p { font-size:1em; margin:0 0 var(--p-margin); }
#separate-cart-message .shop_table { margin:0; }
#separate-cart-message .shop_table tr { border-top-width:1px; }
#separate-cart-message .shop_table tr:last-child { border-bottom-width:1px; }
#separate-cart-message .shop_table + a.button { margin-top: var(--p-margin); }
.account_payment_additional_info { background-color:var(--layer-color); padding:var(--p-margin); margin:var(--column-gap) 0; border-radius:12px; }
.shop_table td.product-price .woocommerce-Price-amount { font-size:1.3em; }
.wc-proceed-to-checkout { margin:0; }
.delivery-date-form-row.validate-required, .delivery-timezone-form-row.validate-required { padding:1em; width:50%; margin-top:1em; margin-left:0; font-weight:600; background-color:#e3f3b9; }
.delivery-date-form-row.validate-required { padding-right:.5em; }
.delivery-timezone-form-row.validate-required { padding-left:.5em; }
#referred_name_field .optional, #referred_number_field .optional { display:none; }


