@charset "utf-8";
@media screen and (min-width: 768px){
  :root{
    --contents-gap: var(--spc-70);
  }
}
@media screen and (max-width: 767px){
  :root{
    --contents-gap: 30px;
  }
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■ NUKATO ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* s-brandFv */
.s-brandFv{
  position: relative;
  background: var(--this-bgimg) no-repeat center center / cover;
}
.s-brandFv::after{
  content: "";
  display: inline-block;
  background: linear-gradient(0deg, var(--c-yellow-050) 0%, rgba(250, 248, 240, 0) 100%);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.s-brandFv__heading{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin-inline: auto;
}
.s-brandFv__heading span{
  display: block;
}
.s-brandFv__heading__catch{
  text-align: center;
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-brandFv{
    height: 1500px;
    padding-top: 190px;
  }
  .s-brandFv::after{
    height: 300px;
  }
  .s-brandFv__heading{
    gap: var(--spc-60);
  }
  .s-brandFv__heading__logo--nukato{
    width: 150px;
  }
  .s-brandFv__heading__logo--mai{
    width: 120px;
  }
  .s-brandFv__heading__catch{
    font-size: var(--fz-35);
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 767px){
  .s-brandFv{
    height: 500px;
    padding-top: 150px;
  }
  .s-brandFv[style="--this-bgimg: url(/asset2025/images/nukato/img_mv.jpg)"]{
    padding-top: 30px;
  }
  .s-brandFv::after{
    height: 100px;
  }
  .s-brandFv__heading{
    gap: 20px;
  }
  .s-brandFv__heading__logo--nukato{
    width: 80px;
  }
  .s-brandFv__heading__catch{
    font-size: 20px;
    letter-spacing: 0.1em;
  }
  .s-mai .s-brandFv{
    padding-top: 30px;
  }
  .s-brandFv__heading__logo--mai{
    width: 60px;
  }
  .s-brandFv__heading__logo--mai+.s-brandFv__heading__catch{
    font-size: 14px;
  }
}


/* s-nukato__intro */
.s-nukato__intro__heading{
  text-align: center;
  font-family: var(--ff-serif);
}
.s-nukato__intro__heading span{
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px){
  .s-nukato__intro__heading{
    margin-bottom: var(--spc-20);
  }
  .s-nukato__intro__heading span{
    font-size: var(--fz-28);
    letter-spacing: 0.4em;
  }
  .s-nukato__intro__txt p{
    line-height: 2.5;
  }
}
@media screen and (max-width: 767px){
  .s-nukato__intro__heading{
    margin-bottom: 15px;
  }
  .s-nukato__intro__heading span{
    font-size: 20px;
    letter-spacing: 0.2em;
  }
}

/* s-coverPhoto */
.s-coverPhoto{
  position: relative;
  background: var(--this-bgimg) no-repeat center center / cover;
  z-index: 1;
}
.s-coverPhoto--nextElementFloat+*{
  position: relative;
  z-index: 2;
}
.s-coverPhoto__txt{
  text-align: center;
  color: var(--c-white);
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-coverPhoto{
    height: 600px;
  }
  .s-coverPhoto--nextElementFloat+*{
    margin-top: -40px;
  }
  .s-coverPhoto__txt{
    font-size: var(--fz-30);
    padding-top: 15%;
  }
}
@media screen and (max-width: 767px){
  .s-coverPhoto{
    height: 250px;
  }
  .s-coverPhoto--nextElementFloat+*{
    margin-top: -20px;
  }
  .s-coverPhoto__txt{
    font-size: 18px;
    padding-top: 20%;
  }
}

/* s-group */
.s-group{
  display: grid;
  gap: var(--contents-gap);
}

/* s-cols */
.s-cols{
  display: grid;
}
.s-subTtl{
  font-family: var(--ff-serif);
}
.s-subTtl[style*="--this-icon"]{
  display: grid;
  grid-template-columns: var(--this-icon-width) 1fr;
  align-items: center;
  gap: 10px;
}
.s-subTtl[style*="--this-icon"]::before{
  content: "";
  display: inline-block;
  background: var(--this-icon) no-repeat center center / cover;
  width: var(--this-icon-width);
  aspect-ratio: 1;
}
.s-subTtl--deco{
  position: relative;
}
.s-subTtl--deco::after{
  content: "";
  display: inline-block;
  background: var(--theme-c-secondary);
  width: 20px;
  height: 1px;
  position: absolute;
  left: 0;
}
.s-subTtl--decoGray::after{
  background: var(--c-gray-200);
}
.s-subTtl__material{
  display: block;
  width: fit-content;
  border-bottom: 1px solid var(--theme-c-secondary);
  font-family: var(--ff-zenkaku);
  letter-spacing: 0.05em;
}
.s-cols__item--img img{
  aspect-ratio: var(--aspect-ratio);
  object-fit: cover;
}
@media screen and (min-width: 768px){
  .s-cols--2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--spc-40);
  }
  .s-cols--txtMain{
    display: flex;
  }
  .s-cols--txtMain .s-cols__item--body{
    flex: 1;
  }
  .s-cols--txtMain .s-cols__item--img{
    width: clamp(200px, 25vw, 320px);
  }
  .s-subTtl{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-20);
  }
  .s-subTtl--deco{
    margin-bottom: var(--spc-30);
  }
  .s-subTtl--deco::after{
    bottom: -15px;
  }
  .s-subTtl[style*="--this-icon"]{
    --this-icon-width: 31px;
    margin-bottom: var(--spc-10);
  }
  .s-subTtl__material{
    font-size: var(--fz-16);
    padding-bottom: 3px;
    margin-bottom: var(--spc-10);
  }
}
@media screen and (max-width: 767px){
  .s-cols{
    row-gap: var(--contents-gap);
  }
  .s-cols__item--img{
    order: -1;
  }
  .s-subTtl{
    font-size: 17px;
    margin-bottom: 10px;
  }
  .s-subTtl--deco{
    margin-bottom: 20px;
  }
  .s-subTtl--deco::after{
    bottom: -8px;
  }
  .s-subTtl[style*="--this-icon"]{
    --this-icon-width: 27px;
    margin-bottom: var(--spc-10);
  }
  .s-subTtl__material{
    font-size: 12px;
    padding-bottom: 3px;
    margin-bottom: 10px;
  }
}
.s-subTtl small{
  display: block;
  font-size: var(--fz-16);
}
.s-cols__item--img img+.g-btn{
  margin-top: var(--spc-30);
}

/* s-imgCapiton */
.s-imgCapiton{
  font-size: 12px;
  margin-top: 10px;
}
small.s-imgCapiton{
  display: block;
  padding-left: 15px;
  position: relative;
}
small.s-imgCapiton::before{
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}



/* s-nukato__story__intro */
.s-nukato__story__intro{
  display: grid;
  gap: var(--contents-gap);
}
.s-nukato__story__list{
  display: grid;
  gap: var(--contents-gap);
}

/* s-nukato__story__detail */
.s-nukato__story__detail{
  margin-bottom: var(--contents-gap);
}

/* s-nukato__story__more */
.s-nukato__story__more{
  text-align: center;
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-nukato__story__more{
    font-size: var(--fz-25);
  }
}

/* s-nukato__orgin__detail */
.s-nukato__orgin__detail .s-cols__item--img img{
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (min-width: 768px){
  .s-nukato__orgin__detail .s-cols--2{
    grid-template-columns: 1fr clamp( 200px, 25vw, 320px);
  }
}

/* s-footPhoto */
.s-footPhoto{
  background: var(--this-bgimg) no-repeat center center / cover;
}
@media screen and (min-width: 768px){
  .s-footPhoto{
    height: 300px;
  }
}
@media screen and (max-width: 767px){
  .s-footPhoto{
    height: 150px;
  }
}


/* ■■■■■■■■■■■■■■■■■■■■■■■■■■ MAI ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* s-mai__intro */
.s-mai__intro__heading{
  text-align: center;
  font-family: var(--ff-serif);
}
.s-mai__intro__img{
  margin: var(--contents-gap) auto;
}
@media screen and (min-width: 768px){
  .s-mai__intro__heading{
    font-size: var(--fz-25);
    letter-spacing: 0.1em;
    line-height: 2.5;
  }
  .s-mai__intro__img{
    width: 388px;
  }
}
@media screen and (max-width: 767px){
  .s-mai__intro__heading{
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  .s-mai__intro__img{
    width: 100%;
    max-width: 388px;
  }
}

/* s-mai__lineup__icon */
.s-mai__lineup__icon{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp( 30px, 4vw, 50px), 1fr));
  gap: 8px;
  margin-top: var(--spc-20);
}
.s-mai__lineup__icon li img{
  border-radius: 50%;
}

/* s-mai__lineup__feature */
.s-mai__lineup__feature{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;
  margin-top: var(--spc-20);
}
.s-mai__lineup__feature li{
  font-size: var(--fz-12);
  border: 1px solid var(--bd-c-gray);
  border-radius: 20px;
  padding: 5px 15px;
}

/* s-nukatoLink */
.s-nukatoLink__img{
  background: var(--this-image) no-repeat center center / cover;
}
.s-nukatoLink__body{
  padding-block: var(--sec-spc);
}
.s-nukatoLink__logo{
  display: grid;
}
.s-nukatoLink__logo span{
  display: block;
  text-align: center;
  font-family: var(--ff-serif);
}
.s-nukatoLink__logo img{
  margin-inline: auto;
}
@media screen and (min-width: 768px){
  .s-nukatoLink a{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .s-nukatoLink__logo{
    gap: var(--spc-40);
  }
  .s-nukatoLink__logo span{
    font-size: var(--fz-18);
  }
  .s-nukatoLink__logo img{
    width: 255px;
  }
}
@media screen and (max-width: 767px){
  .s-nukatoLink a{
    display: flex;
    flex-direction: column-reverse;
  }
  .s-nukatoLink__logo{
    gap: 20px;
  }
  .s-nukatoLink__logo span{
    font-size: 14px;
  }
  .s-nukatoLink__logo img{
    width: 200px;
  }
  .s-nukatoLink__img{
    width: 100%;
    height: 150px;
  }
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■ about ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* s-fv */
.s-fv{
  background: var(--this-bgimg) no-repeat center center / cover;
  aspect-ratio: 20/8;
}
.s-fv span{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* @media screen and (min-width: 768px){
  .s-fv{
    height: 500px;
  }
}
@media screen and (max-width: 767px){
  .s-fv{
    height: 250px;
  }
} */
/* fs-c-breadcrumb */
@media screen and (min-width: 768px){
  #fs_ProductCategory nav.fs-c-breadcrumb,
  #fs_CustomPage nav.fs-c-breadcrumb{
    margin: 10px auto var(--spc-70);
  }
}
@media screen and (max-width: 767px){
  #fs_ProductCategory nav.fs-c-breadcrumb::after,
  #fs_CustomPage .fs-c-breadcrumb::after{
    background: linear-gradient(270deg,var(--c-yellow-500) 21.11%,hsla(0,0%,100%,0) 107.22%);
  }
}
/* s-about__intro */
.s-about__intro{
  display: flex;
}
.s-about__intro__heading{
  font-family: var(--ff-serif);
}
.s-about__intro__heading{
  width: fit-content;
  writing-mode: vertical-rl;
}
.s-about__intro__body{
  flex: 1;
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-about__intro{
    gap: var(--spc-100);
  }
  .s-about__intro__heading{
    font-size: var(--fz-35);
    letter-spacing: 0.2em;
  }
  .s-about__intro__body{
    font-size: var(--fz-18);
  }
}
@media screen and (max-width: 767px){
  .s-about__intro{
    gap: 30px;
  }
  .s-about__intro__heading{
    font-size: 25px;
  }
  .s-about__intro__body{
    font-size: 16px;
  }
}

/* s-about__message */
.about__message__upr__ttl{
  font-family: var(--ff-serif);
}
.s-about__message__upr__ceo{
  position: relative;
}
.s-about__message__upr__ceo__name{
  background-color: var(--c-white-op85);
  border-radius: 0 20px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  font-family: var(--ff-serif);
}
.s-about__message__upr__ceo__name small{
  display: block;
}
.s-about__message__btm{
  text-align: center;
  font-family: var(--ff-serif);
}
.s-about__message__btm__ttl{
  position: relative;
}
.s-about__message__btm__ttl::after{
  content: "";
  display: inline-block;
  background: var(--theme-c-secondary);
  width: 20px;
  height: 1px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.s-about__message__btm__ttl span{
  display: block;
}
@media screen and (min-width: 768px){
  .s-about__message__upr__body{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: var(--spc-40);
  }
  .about__message__upr__ttl{
    font-size: var(--fz-28);
    margin-bottom: var(--spc-20);
  }
  .s-about__message__upr__ceo__name{
    font-size: var(--fz-25);
    padding: 15px 40px;
  }
  .s-about__message__upr__ceo__name small{
    font-size: var(--fz-14);
  }
  .s-about__message__btm__ttl{
    font-size: var(--fz-28);
    padding-bottom: var(--spc-40);
    margin-block: var(--spc-40);
  }
  .s-about__message__btm__ttl span{
    font-size: var(--fz-20);
    margin-top: 10px;
  }
  .s-about__message__btm__txt p{
    line-height: 2.5;
  }
}
@media screen and (max-width: 767px){
  .s-about__message__upr__body{
    display: flex;
    flex-direction: column-reverse;
    gap: 30px;
  }
  .about__message__upr__ttl{
    font-size: 18px;
    margin-bottom: 20px;
  }
  .s-about__message__upr__ceo__name{
    font-size: 16px;
    padding: 8px 25px;
  }
  .s-about__message__upr__ceo__name small{
    font-size: 11px;
  }
  .s-about__message__btm__ttl{
    font-size: 18px;
    padding-bottom: 30px;
    margin-block: 30px;
  }
  .s-about__message__btm__ttl span{
    font-size: 14px;
    margin-top: 10px;
  }
  .s-about__message__btm__txt p{
    line-height: 2.5;
  }
}

/* s-about__thought */
.s-about__thought__ttl{
  width: fit-content;
  border-bottom: 1px solid var(--theme-c-secondary);
  margin-inline: auto;
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-about__thought__ttl{
    font-size: var(--fz-25);
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 767px){
  .s-about__thought__ttl{
    font-size: 16px;
    padding-bottom: 5px;
  }
}

/* s-about__history */
.s-about__history__body{
  counter-reset: original-counter;
}
.s-about__history__body article{
  position: relative;
  z-index: 0;
}
.s-about__history__body article::before{
  content: ''counter(original-counter);
  counter-increment: original-counter;
  font-family: var(--ff-serif);
  color: var(--c-yellow-050);
  z-index: -1;
  position: absolute;
}
.s-about__history__body article:nth-child(odd){
  background: linear-gradient(90deg,var(--c-yellow-050) 0%, rgba(250, 248, 240, 0) 100%);
}
.s-about__history__body article:nth-child(odd)::before{
  color: var(--c-white);
}
.s-about__history__year{
  writing-mode: vertical-rl;
  font-family: var(--ff-serif);
  color: var(--theme-c-secondary);
}
.s-about__history__ttl{
  font-family: var(--ff-serif);
}
.s-about__history__img img{
  border-radius: 50%;
}
.s-about__history__aboutBrand__year{
  font-family: var(--ff-serif);
  position: relative;
}
.s-about__history__aboutBrand__year::after{
  content: "";
  display: inline-block;
  background: var(--txt-c-base);
  width: 20px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) and (max-width: 900px){
  .s-about__history__aboutBrand li:not(:has(.s-about__history__img)) .s-about__history__aboutBrand__txt p{
    padding-right: var(--spc-70);
  }
}
@media screen and (min-width: 768px){
  .s-about__history{
    overflow: hidden;
  }
  .s-about__history__body{
    position: relative;
    --this-img-width: clamp(150px, 20vw, 250px);
  }
  .s-about__history__body::after{
    content: "";
    display: inline-block;
    background: linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(34, 57, 108, 1) 50%, rgba(255, 255, 255, 0) 100%);
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    right: calc(var(--this-img-width) / 2);
    z-index: 1;
  }
  .s-about__history__body article{
    display: flex;
    padding: var(--spc-35) 0 var(--spc-35) var(--spc-25);
    z-index: 2;
  }
  .s-about__history__body article::before{
    font-size: 200px;
    top: -70px;
    left: 80px;
  }
  .s-about__history__year{
    font-size: var(--fz-25);
    width: fit-content;
    margin-right: var(--spc-70);
  }
  .s-about__history__box{
    flex: 1;
    display: flex;
    align-items: center;
    padding-block: var(--spc-30);
  }
  .s-about__history__detail{
    flex: 1;
  }
  .s-about__history__ttl{
    font-size: var(--fz-35);
    margin-bottom: var(--spc-40);
  }
  .s-about__history__img{
    width: var(--this-img-width);
    margin-left: var(--spc-30);
    position: relative;
    z-index: 99;
  }
  .s-about__history__aboutBrand li{
    display: flex;
    align-items: center;
    gap: var(--spc-40);
  }
  .s-about__history__aboutBrand__body{
    max-width: 590px;
  }
  .s-about__history__aboutBrand li:has(.s-about__history__img){
    margin-block: calc(var(--spc-35) * 1.5);
  }
  .s-about__history__aboutBrand li:has(.s-about__history__img) .s-about__history__aboutBrand__body{
    max-width: unset;
    flex: 1;
  }
  .s-about__history__aboutBrand__year{
    font-size: var(--fz-25);
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .s-about__history__aboutBrand .s-about__history__img{
    transform: scale(1.52);
    transform-origin: center center;
  }
}
@media screen and (max-width: 767px){
  .s-about__history__body article{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    padding: 30px 20px;
  }
  .s-about__history__body article::before{
    font-size: 100px;
    top: -20px;
    left: 40px;
  }
  .s-about__history__box{
    padding-block: 30px;
  }
  .s-about__history__ttl{
    font-size: 18px;
    margin-bottom: 20px;
  }
  .s-about__history__img{
    width: 80%;
    margin: 30px auto 0;
  }
  .s-about__history__aboutBrand{
    display: grid;
    gap: 30px;
  }
  .s-about__history__aboutBrand__year{
    font-size: 16px;
    padding-bottom: 5px;
    margin-bottom: 5px;
  }
}

/* s-about__sdgs */
.s-about__sdgs{
  border-top: 1px solid var(--bd-c-gray);
}
@media screen and (min-width: 768px){
  .s-about__sdgs__youtube{
    grid-template-columns: 68fr 27fr;
  }
}


/* ■■■■■■■■■■■■■■■■■■■■■■■■■■ concept ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* s-concept__nav */
.s-concept__nav ul li a{
  display: block;
  font-family: var(--ff-serif);
  line-height: 1;
}
@media screen and (min-width: 768px){
  .s-concept__nav ul{
    display: flex;
    justify-content: center;
  }
  .s-concept__nav ul li a{
    padding-inline: var(--spc-50);
    font-size: var(--fz-20);
  }
  .s-concept__nav ul li:first-child{
    border-left: 1px solid var(--bd-c-gray);
  }
  .s-concept__nav ul li a{
    border-right: 1px solid var(--bd-c-gray);
  }
}
@media screen and (max-width: 767px){
  .s-concept__nav{
    width: var(--inner-w);
    margin-inline: auto;
  }
  .s-concept__nav ul{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    text-align: center;
    gap: 10px;
  }
  .s-concept__nav ul li a{
    padding: 10px 0;
    font-size: 12px;
    letter-spacing: 0;
  }
  .s-concept__nav ul li:first-child{
    border-left: none;
  }
  .s-concept__nav ul li a{
    border-right: none;
    border-bottom: 1px solid var(--bd-c-gray);
  }
}

/* 背景 */
.bgcolor--whiteLeftExpand{
	background: linear-gradient(to right, var(--c-white) 50%, transparent 50%);
}
.bgcolor--whiteRightExpand{
  background: linear-gradient(to left, var(--c-white) 50%, transparent 50%);
}

/* s-concept__thanks__contents */
@media screen and (min-width: 768px){
  .s-concept__thanks__contents .s-txt{
    margin-block: var(--spc-30);
  }
}
@media screen and (max-width: 767px){
  .s-concept__thanks__contents .s-txt{
    margin-block: 20px;
  }
}


/* ■■■■■■■■■■■■■■■■■■■■■■■■■■ NUKATO ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
.s-shop__news{
  border-radius: 20px;
}
.s-shop__news li *{
  display: block;
}
.s-shop__news__ttl a{
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}
@media screen and (min-width: 768px){
  .s-shop__news li{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: var(--spc-40);
  }
  .s-shop__news__date{
    font-size: var(--fz-12);
  }
  .s-shop__news__tag a{
    font-size: var(--fz-12);
  }
  .s-shop__news__ttl a{
    font-size: var(--fz-14);
  }
}
@media screen and (max-width: 767px){
  .s-shop__news li{
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 10px 15px;
    gap: 5px 20px;
  }
  .s-shop__news__date{
    font-size: 10px;
  }
  .s-shop__news__tag a{
    font-size: 10px;
  }
  .s-shop__news__ttl{
  grid-column: span 2;
  }
  .s-shop__news__ttl a{
    font-size: 12px;
  }
}

/* s-shop__intro */
@media screen and (min-width: 768px){
  .s-shop__intro p{
    font-size: var(--fz-18);
    line-height: 2.5;
  }
}
@media screen and (max-width: 767px){
  .s-shop__intro p{
    font-size: 16px;
    line-height: 2;
  }
}

/* s-shop__detail */
.cp-g-realStore__calendarLink a{
  background-color: var(--c-white);
}
.s-shop__detail__access dt{
  color: var(--theme-c-primary);
  font-family: var(--ff-serif);
  display: flex;
}
.s-shop__detail__access dt::before{
  content: "";
  display: inline-block;
  background: var(--this-icon) no-repeat center center / 100%;
  aspect-ratio: 1;
}
.s-shop__detail__access dd small::before{
  content: "※";
  margin-right: 3px;
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-shop__detail{
    grid-template-columns: 56fr 38fr;
  }
  .s-shop__detail .cp-g-realStore__calendarLink{
    margin-top: 10px;
  }
  .s-shop__detail__access{
    margin-top: var(--spc-40);
    padding: var(--spc-30);
  }
  .s-shop__detail__access dt{
    gap: 8px;
    font-size: var(--fz-20);
  }
  .s-shop__detail__access dt::before{
    width: 20px;
  }
  .s-shop__detail__access dd:not(:last-child){
    margin-bottom: var(--spc-30);
  }
  .s-shop__detail .g-btnContainer{
    grid-column: span 2;
  }
}
@media screen and (max-width: 767px){
  .s-shop__detail__access dt{
    font-size: var(--fz-16);
  }
  .s-shop__detail{
    gap: 0;
  }
  .s-shop__detail .s-cols__item--body{
    margin-top: var(--contents-gap);
  }
  .s-shop__detail .cp-g-realStore__calendarLink{
    margin-top: 10px;
  }
  .s-shop__detail__access{
    margin-top: 30px;
    padding: 20px;
  }
  .s-shop__detail__access dt{
    gap: 8px;
    font-size: 16px;
  }
  .s-shop__detail__access dt::before{
    width: 20px;
  }
  .s-shop__detail__access dd:not(:last-child){
    margin-bottom: 20px;
  }
}

/* s-shop__floarGuide */
.s-shop__floarGuide{
  --grid-cols-pc: 4;
  --grid-gap-pc: var(--spc-20);
  --grid-cols-sp: 2;
  --grid-gap-sp: 20px;
}
@media screen and (min-width: 768px){
  .s-shop__floarGuide{
    margin-top: var(--spc-30);
  }
  .s-shop__floarGuide li{
    font-size: var(--fz-14);
  }
  .s-shop__floarGuide li img{
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px){
  .s-shop__floarGuide{
    margin-top: 20px;
  }
  .s-shop__floarGuide li{
    font-size: 12px;
    letter-spacing: 0;
  }
  .s-shop__floarGuide li img{
    margin-bottom: 5px;
  }
}

/* s-shop__welcomeTxt */
@media screen and (min-width: 768px){
  .s-shop__welcomeTxt p{
    font-size: var(--fz-25);
    line-height: 2.5;
  }
}
@media screen and (max-width: 767px){
  .s-shop__welcomeTxt p{
    font-size: 16px;
    line-height: 2;
  }
}

/* s-shop__movie */
.s-shop__movie__ttl{
  text-align: center;
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-shop__movie__ttl{
    font-size: var(--fz-20);
    margin-top: var(--spc-20);
  }
}



/* s-bnr */
@media screen and (min-width: 768px){
  .s-bnr{
    display: flex;
    justify-content: center;
    padding-inline: var(--spc-40);
    gap: var(--spc-40);
    --this-gap: var(--spc-40);
  }
  .s-bnr li{
    width: calc((100% - var(--this-gap)) / 2);
  }
}
@media screen and (max-width: 767px){
  .s-bnr{
    display: grid;
    gap: 20px;
  }
}

/* s-thoughts */
.s-thoughts{
  --grid-gap-sp: 20px;
}
.s-thoughts li{
  background-color: var(--c-white);
  border-radius: var(--bdrs-md);
  box-shadow: var(--bxsd-default);
  position: relative;
  padding: var(--spc-20);
  display: flex;
  align-items: center;
}
.s-thoughts li::after{
  content: "";
  display: inline-block;
  background-color: inherit;
  clip-path: polygon(0 0, 28% 100%, 100% 0);
  aspect-ratio: 1;
  width: 15px;
  position: absolute;
  left: 20%;
  top: 100%;
}
@media screen and (min-width: 768px){
  .s-thoughts{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
      gap: var(--spc-20);
  }
  .s-thoughts li{
    width: calc((100% - var(--spc-20)) / 2);
    padding: 10px 15px;
    font-size: var(--fz-12);
  }
}


/* s-pageTitleContainer */
.s-pageTitleContainer{
  display: flex;
  align-items: center;
  justify-content: center;
}
.s-pageTitleContainer--beige{
  background: var(--bg-gradient-beige);
}
.s-pageTitleContainer--blue{
  background: var(--bg-gradient-blue);
}
@media screen and (min-width: 768px){
  .s-pageTitleContainer{
    height: 325px;
  }
  .s-pageTitleContainer .g-heading{
    margin-top: 5%;
  }
}
@media screen and (max-width: 767px){
  .s-pageTitleContainer{
    height: 200px;
  }
}

/* s-maiMaterial */
.s-maiMaterial{
  --grid-gap-pc: var(--spc-30) var(--spc-10);
  --grid-cols-sp: 2;
  --grid-gap-sp: 20px;
}
.s-maiMaterial li{
  display: grid;
  align-items: center;
}
.s-maiMaterial li::before{
  content: "";
  display: inline-block;
  background: var(--this-icon) no-repeat center center / 100%;
  aspect-ratio: 1;
}
.s-maiMaterial__note{
  display: block;
  text-align: center;
  margin-top: 15px;
}
@media screen and (min-width: 768px){
  .s-maiMaterial{
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr))
  }
  .s-maiMaterial li{
    gap: 15px;
    grid-template-columns: 40px 1fr;
  }
  .s-maiMaterial li span{
    font-size: var(--fz-16);
  }
  .s-maiMaterial+.s-txt__note{
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px){
  .s-maiMaterial{
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr))
  }
  .s-maiMaterial li{
    gap: 7px;
    grid-template-columns: 28px 1fr;
  }
  .s-maiMaterial li span{
    font-size: 12px;
    letter-spacing: 0;
  }
  .s-maiMaterial+.s-txt__note{
    margin-top: 15px;
  }
}

/* s-mai__point__detail */
@media screen and (min-width: 768px){
  .s-mai__point__detail .s-txt{
    gap: 10px;
  }
}
@media screen and (max-width: 767px){
  .s-mai__point__detail .s-txt{
    gap: 5px;
  }
}


/* s-making */
/* .s-making{
  counter-reset: original-counter;
}
.s-making li{
  position: relative;
  z-index: 2;
}
.s-making li:nth-child(odd){
  background: linear-gradient(90deg, var(--c-yellow-050) 0%, rgba(250, 248, 240, 0) 100%);
}
.s-making li::before{
  content: '' counter(original-counter);
  counter-increment: original-counter;
  font-family: var(--ff-serif);
  color: var(--c-yellow-050);
  z-index: -1;
  position: absolute;
}
.s-making li:nth-child(odd)::before{
  color: var(--c-white);
}
.s-making__ttl{
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .s-making{
    position: relative;
    --this-img-width: 300px;
  }
  .s-making::after{
    content: "";
    display: inline-block;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(34, 57, 108, 1) 50%, rgba(255, 255, 255, 0) 100%);
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    right: calc(var(--this-img-width) / 2);
    z-index: 1;
  }
  .s-making li{
    display: grid;
    grid-template-columns: 1fr var(--this-img-width);
    gap: var(--spc-50);
    padding: var(--spc-70) 0 var(--spc-70) var(--spc-100);
  }
  .s-making__ttl{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-20);
  }
  .s-making li::before{
    font-size: 150px;
    top: -43px;
    left: 59px;
  }
}
@media screen and (max-width: 767px){
  .s-making li{
    display: grid;
    gap: 20px;
    padding: 39px 20px 30px 56px;
  }
  .s-making__ttl{
    font-size: 20px;
    margin-bottom: 10px;
  }
  .s-making li::before{
    font-size: 100px;
    top: -34px;
    left: 22px;
  }
} */
.s-making{
  display: grid;
}
.s-making li{
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
}
.s-making__img img{
  aspect-ratio: 3/2;
  border-radius: var(--bdrs-md);
}
.s-making__ttl{
  font-family: var(--ff-serif);
  text-align: center;
}
@media screen and (min-width: 768px){
  .s-making{
    grid-template-columns: repeat(3,1fr);
    gap: var(--spc-50) var(--spc-30);
  }
  .s-making__ttl{
    font-size: var(--fz-18);
    margin-block: var(--spc-20) var(--spc-10);
  }
}
@media screen and (max-width: 767px){
  .s-making{
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
  }
  .s-making__ttl{
    font-size: 14px;
    margin-block: 10px 5px;
  }
  .s-making__txt.s-txt p{
    font-size: 11px;
    line-height: 1.5;
  }
}


/* s-lead */
@media screen and (min-width: 768px){
  .s-lead{
    margin-bottom: var(--spc-40);
  }
}
@media screen and (max-width: 767px){
  .s-lead{
    margin-bottom: 30px;
  }
  .s-lead.s-txt--center p{
    text-align: left;
  }
}
/* s-nakutoSeris */
.s-nakutoSeris{
  --grid-cols-pc: 2;
  --grid-gap-pc: var(--spc-100) var(--spc-50);
  --grid-cols-sp: 1;
  --grid-gap-sp: 70px;
}
.s-nakutoSeris__imgContainer{
  position: relative;
}
.s-nakutoSeris__catch{
  background-color: var(--bg-c-yellow);
  display: inline-block;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  z-index: 2;
}
.s-nakutoSeris__name{
  text-align: center;
  font-family: var(--ff-serif);
}
.s-nakutoSeris__worry{
  background-color: var(--bg-c-gray);
  border-radius: 20px;
}
.s-nakutoSeris__worry__list{
  display: grid;
}
.s-nakutoSeris__worry__list li{
  position: relative;
  letter-spacing: 0.05em;
}
.s-nakutoSeris__worry__list li::before{
  content: "";
  display: inline-block;
  --this-mask: var(--data-icon-check) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--theme-c-secondary);
  aspect-ratio: 1;
  position: absolute;
}
.s-nakutoSeris__worry__ttl{
  border-bottom: 1px solid var(--c-yellow-600);
  display: block;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px){
  .s-nakutoSeris{
    margin-top: var(--spc-100);
  }
  .s-nakutoSeris__catch{
    font-size: var(--fz-12);
    padding: 5px 12px;
    left: 8px;
  }
  .s-nakutoSeris__name{
    font-size: var(--fz-25);
    margin-block: var(--spc-25);
  }
  .s-nakutoSeris__worry{
    padding: var(--spc-30);
  }
  .s-nakutoSeris__worry__list{
    gap: 7px;
  }
  .s-nakutoSeris__worry__ttl{
    font-size: var(--fz-12);
    margin-bottom: var(--spc-20);
  }
  .s-nakutoSeris__worry__list li{
    font-size: var(--fz-14);
    padding-left: 21px;
  }
  .s-nakutoSeris__worry__list li::before{
    width: 15px;
    top: 5px;
    left: 0;
  }
}
@media screen and (max-width: 767px){
  .s-nakutoSeris{
    margin-top: 30px;
  }
  .s-nakutoSeris__catch{
    font-size: 11px;
    padding: 3px 8px;
    left: 8px;
  }
  .s-nakutoSeris__name{
    font-size: 18px;
    margin-block: 15px;
  }
  .s-nakutoSeris__worry{
    padding: 20px;
  }
  .s-nakutoSeris__worry__list{
    gap: 7px;
  }
  .s-nakutoSeris__worry__ttl{
    font-size: 10px;
    margin-bottom: 15px;
  }
  .s-nakutoSeris__worry__list li{
    font-size: 11px;
    padding-left: 19px;
  }
  .s-nakutoSeris__worry__list li::before{
    width: 12px;
    top: 2px;
    left: 0;
  }
  .s-nakutoSeris .g-btnContainer{
    margin-top: 20px;
  }
  .s-nakutoSeris .g-btn > a{
    min-height: 40px;
  }
  .s-nakutoSeris .g-btn__label{
    font-size: 12px;
  }
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■ COMPANY ■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* .s-company__pressRelease */
@media screen and (min-width: 768px){
  .s-company__pressRelease__txt{
    margin-block: var(--spc-40);
  }
}
@media screen and (max-width: 767px){
  .s-company__pressRelease__txt{
    margin-block: 30px;
  }
}

/* s-table */
.s-table{
  border-collapse: collapse;
}
.s-table th{
  font-weight: normal;
}
.s-company__history th{
  font-family: var(--ff-serif);
  color: var(--theme-c-primary);
}
.s-table :is(th, td){
  border: 1px solid var(--bd-c-gray);
  border-left: none;
  border-right: none;
}
@media screen and (min-width: 768px){
  .s-table th{
    width: 170px;
  }
  .s-table :is(th, td){
    padding-block: var(--spc-30);
  }
  .s-table th{
    font-size: var(--fz-16);
  }
  .s-company__history th{
    font-size: var(--fz-22);
  }
  .s-table td{
    font-size: var(--fz-14);
  }
  .s-company__about dl{
    display: grid;
    grid-template-columns: 140px 1fr;
  }
}
@media screen and (max-width: 767px){
  .s-table th{
    width: 100px;
  }
  .s-table :is(th, td){
    padding-block: 20px;
  }
  .s-table th{
    font-size: 13px;
    letter-spacing: 0;
  }
  .s-company__history th{
    font-size: 18px;
  }
  .s-table td{
    font-size: 12px;
  }
  .s-company__about dl{
    display: grid;
    gap: 5px;
  }
}


/* ■■■■■■■■■■よくある質問■■■■■■■■■■ */
.s-faq dt,
.s-faq dd{
	position: relative;
}
.s-faq dt{
  font-family: var(--ff-serif);
}
.s-faq dt::before,
.s-faq dd::before {
	position: absolute;
}
.s-faq dt::before,
.s-faq dd::before{
  font-weight: 500;
  font-family: var(--ff-base);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
}
.s-faq dt::before{
	content: 'Q';
  color: var(--theme-c-secondary);
}
.s-faq dd::before {
	content: 'A';
  color: var(--theme-c-primary);
}
@media screen and (min-width: 768px){
	.s-faq{
		margin-top: 20px;
	}
	.s-faq dt{
		font-size: var(--fz-20);
		padding: 2px 0 20px 65px;
	}
	.s-faq dd{
		padding: 2px 0 20px 65px;
    font-size: var(--fz-16);
	}
	.s-faq dd:not(:last-child){
		margin-bottom: var(--spc-50);
	}
	.s-faq dt::before,
	.s-faq dd::before{
		font-size: 30px;
	}
	.s-faq dt::before,
  .s-faq dd::before{
		left: 10px;
		top: -4px;
	}
}
@media screen and (max-width: 767px){
	.s-faq{
		margin-top: 20px;
	}
	.s-faq dt{
		font-size: 16px;
		padding: 0 10px 0px 40px;
    margin-bottom: 20px;
	}
	.s-faq dd{
		padding: 0 10px 0px 40px;
    font-size: 13px;
    line-height: 1.5;
	}
	.s-faq dd:not(:last-child){
		margin-bottom: 50px;
	}
	.s-faq dt::before,
	.s-faq dd::before{
		font-size: 23px;
	}
	.s-faq dt::before,
  .s-faq dd::before{
		left: 7px;
		top: -2px;
	}
}


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


/* s-headingBgcolor */
.s-headingBgcolor{
  font-family: var(--ff-serif);
}
.s-headingBgcolor--gray{
  background-color: var(--c-gray-050);
  border-left: 8px solid var(--c-blue-700);
}
@media screen and (min-width: 768px){
  .s-headingBgcolor{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-30);
    padding: 10px 13px;
  }
}
@media screen and (max-width: 767px){
  .s-headingBgcolor{
    font-size: 18px;
    margin-bottom: 20px;
    padding: 7px 10px;
  }
}

/* s-headingBgcolor */
.s-headingBgcolor{
  font-family: var(--ff-serif);
}
.s-headingBgcolor--gray{
  background-color: var(--c-gray-050);
  border-left: 8px solid var(--c-blue-700);
}
@media screen and (min-width: 768px){
  .s-headingBgcolor{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-30);
    padding: 10px 13px;
  }
}
@media screen and (max-width: 767px){
  .s-headingBgcolor{
    font-size: 18px;
    margin-bottom: 20px;
    padding: 7px 10px;
  }
}

/* s-headingBgcolor */
.s-headingBorderLeft{
  font-family: var(--ff-serif);
}
.s-headingBorderLeft--yellow{
  border-left: 5px solid var(--theme-c-secondary);
}
@media screen and (min-width: 768px){
  .s-headingBorderLeft{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-30);
    padding-inline: 13px;
  }
}
@media screen and (max-width: 767px){
  .s-headingBorderLeft{
    font-size: 18px;
    margin-bottom: 20px;
    padding-inline: 10px;
  }
}

/* s-headingBgcolor */
.s-headingLine{
  font-family: var(--ff-serif);
}
.s-headingLine--yellow{
  border-bottom: 1px solid var(--theme-c-secondary);
}
.s-headingLine--gray{
  border-bottom: 1px solid var(--c-gray-200);
}
@media screen and (min-width: 768px){
  .s-headingLine{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-30);
    padding-inline: 13px;
    padding-bottom: 5px;
  }
}
@media screen and (max-width: 767px){
  .s-headingLine{
    font-size: 18px;
    margin-bottom: 20px;
    padding-inline: 10px;
    padding-bottom: 3px;
  }
}

/* s-toc */
.s-toc__ttl{
  font-family: var(--ff-serif);
}
.s-toc__list{
  display: grid;
  border-left: 1px solid var(--theme-c-secondary);
}
.s-toc__list ol{
  display: grid;
}
.s-toc__list ol li{
  position: relative;
}
.s-toc__list ol li::before{
  content: "・";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px){
  .s-toc__ttl{
    font-size: var(--fz-25);
    margin-bottom: var(--spc-30);
  }
  .s-toc__list{
    gap: 20px;
    padding-left: 20px;
  }
  .s-toc__list > li{
    font-size: var(--fz-20);
  }
  .s-toc__list ol{
    gap: 5px;
    margin-top: 10px;
  }
  .s-toc__list ol li{
    font-size: var(--fz-16);
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px){
  .s-toc__ttl{
    font-size: 18px;
    margin-bottom: 20px;
  }
  .s-toc__list{
    gap: 10px;
    padding-left: 10px;
  }
  .s-toc__list > li{
    font-size: 16px;
  }
  .s-toc__list ol{
    gap: 3px;
    margin-top: 5px;
  }
  .s-toc__list ol li{
    font-size: 13px;
    padding-left: 15px;
  }
}

/* g-box */
.g-box{
  padding-block: calc(var(--sec-spc) / 2);
  position: relative;
}
.g-box__flowTtl{
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  background-color: var(--c-beige-050);
  font-family: var(--ff-serif);
}
@media screen and (min-width: 768px){
  .g-box__flowTtl{
    font-size: var(--fz-20);
    padding: 5px 16px;
    left: -16px;
  }
}
@media screen and (max-width: 767px){
  .g-box__flowTtl{
    font-size: 16px;
    padding: 3px 10px;
    left: -10px;
  }
}

/* g-boxContainer--quote */
.g-boxContainer--quote > div{
  position: relative;
}
.g-boxContainer--quote > div::before{
  content: "";
  display: inline-block;
  background-color: var(--txt-c-base);
  height: 1px;
  position: absolute;
  transform: rotate(-45deg);
}
.g-boxContainer--quote small{
  display: flex;
  justify-content: flex-end;
}
.g-boxContainer--quote small::before{
  content: "";
  display: inline-block;
  background-color: var(--txt-c-base);
  height: 1px;
}
@media screen and (min-width: 768px){
  .g-boxContainer--quote > div::before{
    width: 63px;
    top: 18px;
    left: -15px;
  }
  .g-boxContainer--quote small::before{
    width: 50px;
    margin-right: 10px;
    align-self: center;
  }
}
@media screen and (max-width: 767px){
  .g-boxContainer--quote > div::before{
    width: 40px;
    top: 12px;
    left: -10px;
  }
  .g-boxContainer--quote small::before{
    width: 30px;
    margin-right: 5px;
    align-self: center;
  }
}


/* g-table */
.g-table{
  border-collapse: collapse;
  table-layout: fixed;
}
.g-table :is(th,td){
  border: 1px solid var(--c-gray-250);
  text-align: center;
}
.g-table th{
  background-color: var(--c-yellow-070);
}
@media screen and (min-width: 768px){
  .g-table :is(th,td){
    font-size: var(--fz-16);
    padding-block: var(--spc-20);
  }
}
@media screen and (max-width: 767px){
  .g-table :is(th,td){
    font-size: 12px;
    padding-block: 15px;
  }
}


/* g-detail */
.g-detail{
  border-top: 1px solid var(--c-gray-250);
}
.g-detail div{
  border-bottom: 1px solid var(--c-gray-250);
  display: grid;
}
.g-detail dt{
  text-align: center;
}
@media screen and (min-width: 768px){
  .g-detail div{
    grid-template-columns: clamp( 150px, 20vw, 230px) 1fr;
    font-size: var(--fz-16);
    padding: var(--spc-20);
  }
}
@media screen and (max-width: 767px){
  .g-detail div{
    grid-template-columns: 100px 1fr;
    font-size: 12px;
    padding: 15px 10px;
  }
}


/* s-txt */
.s-txt{
  display: grid;
  gap: calc(var(--contents-gap) / 2);
}
.s-txt--serif p{
  font-family: var(--ff-serif);
}
.s-txt__list li{
  position: relative;
  padding-left: 1.2em;
}
.s-txt__list li::before{
  content: "";
  background-color: var(--theme-c-secondary);
  border-radius: 50%;
  aspect-ratio: 1;
  position: absolute;
  left: 5px;
}
.s-txt p{
  letter-spacing: 0.03em;
}
.s-txt--right p{
  text-align: right;
}
.s-txt a:not(.g-btn > a){
  text-decoration: underline;
}
@media screen and (min-width: 768px){
  .s-txt p,
  .s-txt__list li{
    font-size: var(--fz-16);
    line-height: 2;
  }
  .s-txt__list li::before{
    width: 6px;
    top: 13px;
  }
  .s-txt--center p{
    text-align: center;
  }
  .s-txt+.s-cols--2{
    margin-top: var(--spc-30);
  }
  .s-txt--sm p{
    font-size: var(--fz-14);
  }
  .s-txt--lg p{
    font-size: var(--fz-20);
  }
  .s-txt__big{
    font-size: var(--fz-22);
  }
}
@media screen and (max-width: 767px){
  .s-txt p,
  .s-txt__list li{
    font-size: 14px;
    line-height: 2;
  }
  .s-txt__list li::before{
    width: 4px;
    top: 10px;
  }
  .s-txt+.s-cols--2{
    margin-top: 20px;
  }
  .s-txt--sm p{
    font-size: 10px;
  }
  .s-txt--lg p{
    font-size: 14px;
  }
  .s-txt__big{
    font-size: 16px;
  }
}
li > .s-txt__note{
  margin-top: 5px;
}
.s-txt__note{
  display: block;
  margin-top: var(--spc-10);
  letter-spacing: 0.05em;
  color: var(--c-gray-300);
  padding-left: 1.2em;
  position: relative;
}
.s-txt__note::before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}


/* s-message */
.s-message{
  font-family: var(--ff-serif);
}
.s-message__ttl{
  color: var(--theme-c-secondary);
  position: relative;
}
.s-message__ttl::before{
  content: "";
  display: inline-block;
  background-color: var(--theme-c-secondary);
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0 0;
}
@media screen and (min-width: 768px){
  .s-message{
    padding: var(--spc-50);
  }
  .s-message__box{
    display: flex;
    align-items: flex-start;
    gap: var(--spc-30);
  }
  .s-message__ttl{
    writing-mode: vertical-rl;
    width: fit-content;
    font-size: var(--fz-25);
  }
  .s-message__ttl::before{
    height: 40px;
    transform: rotate(45deg) translate(-400%, -72%);
  }
  .s-message__body{
    flex: 1;
  }
  .s-message__txt{
    display: grid;
    gap: var(--spc-50);
  }
  .s-message__txt--centerPc{
    text-align: center;
  }
  .s-message__txt p{
    font-size: var(--fz-18);
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .s-message__txt__hasImage{
    display: grid;
    grid-template-columns: 1fr 270px;
    align-items: center;
    gap: var(--spc-50);
    margin-top: calc(0px - var(--spc-50));
  }
}
@media screen and (max-width: 767px){
  .s-message{
    padding: 30px 20px;
  }
  .s-message__ttl::before{
    height: 25px;
    transform: rotate(45deg) translate(-50%, -10%);
  }
  .s-message__box{
    display: grid;
    gap: 20px;
  }
  .s-message__ttl{
    font-size: 18px;
    width: fit-content;
    margin-inline: auto;
  }
  .s-message__body{
    flex: unset;
  }
  .s-message__txt{
    display: grid;
    gap: 20px;
  }
  .s-message__txt p{
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .s-message__txt__hasImage{
    display: grid;
    gap: 20px;
  }
}


/* ■■■■■■■■■■お買い物ガイド■■■■■■■■■■ */
.s-guideContents{
	--h3-bgcolor: #F5F5F5;
	--h2-bdcolor: #E5E5E5;
	margin-top: 3px;
	display: grid;
	gap: var(--sec-spc);
}
.s-guideColumn__heading{
  font-weight: 500;
  border-color: var(--theme-c-secondary);
}
.s-guideColumn__ttl{
  font-weight: 500;
}
.s-guideColumn__minittl{
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 1.3em;
}
.s-guideColumn__minittl::before{
  content: '';
  width: 10px;
  height: 1.5px;
  background-color: var(--theme-c-secondary);
  position: absolute;
  left: 0;
}
.s-guideCredit{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: var(--spc-20) 0;
}
.s-guideCredit li{
	flex: 1;
}
.s-guidePaymentLogo{
	margin: var(--spc-30) 0 var(--spc-20);
}
.s-guideTable{
	width: 100%;
	max-width: 800px;
	border-collapse: collapse;
}
.s-guideTable--bank{
	max-width: 350px;
  table-layout: fixed;
}
.s-guideTable th,
.s-guideTable td{
	border: 1px solid var(--bd-c-gray);
}
.s-guideTable th{
	font-weight: normal;
}
.s-guideTable thead th{
	background-color: var(--c-yellow-050);
	padding: 5px 0;
	font-size: var(--fz-14);
}
.s-guideTable tbody th{
	background-color: var(--c-yellow-050);
}
.s-guideTable tbody th,
.s-guideTable tbody td{
	text-align: center;
}
.s-guideColumn__subttl{
	font-weight: 500;
  border-left: 2px solid var(--theme-c-secondary);
}
.s-guideNav__item li a{
	position: relative;
}
.s-guideNav__item li.is-current a {
	color: var(--theme-c-secondary);
}
.s-guideColumn .bgcolor--yellow.width--fitContent{
  width: fit-content;
}
@media screen and (min-width: 901px){
	.s-guideContainer{
		display: grid;
		grid-template-columns: 220px 1fr;
		align-items: flex-start;
		gap: clamp( 60px, 8vw, 100px);
	}
	.s-guideNav{
		position: sticky;
		top: 130px;
		left: 0;
	}
  .s-guideNav__item li {
		margin-bottom: var(--spc-20);
	}
	.s-guideNav__item li a{
		font-size: var(--fz-16);
    font-family: var(--ff-serif);
    font-weight: 500;
    letter-spacing: 0.05em;
		display: block;
	}
	.s-guideNav__item li a::after{
		content: "";
		display: inline-block;
		background-color: var(--theme-c-secondary);
		width: 100%;
		height: 1px;
		position: absolute;
		bottom: -3px;
		left: 0;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform .3s;
	}
	.s-guideNav__item li.is-current a::after{
		transform: scaleX(1);
		transform-origin: left;
	}
}
@media screen and (max-width: 900px){
  .s-guideNav{
		--guide-nav-sp-box: 250px;
		--guide-nav-sp-box-trigger: 40px;
		position: fixed;
		right: calc(0px - var(--guide-nav-sp-box) + var(--guide-nav-sp-box-trigger));
		top: 150px;
		display: flex;
		width: var(--guide-nav-sp-box);
		transition: .5s;
		z-index: 99;
		opacity: 0;
	}
	body.scroll .s-guideNav{
		opacity: 0;
		animation: var(--anime-fade-in);
	}
	body.scroll.returnTop .s-guideNav{
		opacity: 1;
		animation: var(--anime-fade-out);
	}
	.s-guideNav.active{
		right: 0;
	}
	.s-guideNav__spTrigger{
		width: var(--guide-nav-sp-box-trigger);
		height: 150px;
		background-color: rgba(245, 243, 242, 0.5);
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 5px 0 0 5px;
		border: 1px solid var(--bd-c-gray);
		border-right: none;
	}
  .s-guideNav.active .s-guideNav__spTrigger{
    background-color: var(--c-white);
  }
	.s-guideNav__spTrigger::after{
		content: '目次';
		writing-mode: vertical-rl;
	}
	.s-guideNav.active .s-guideNav__spTrigger::after{
		content: '閉じる';
	}
	.s-guideNav__item{
		flex: 1;
		background-color: var(--c-white);
		border: 1px solid var(--bd-c-gray);
	}
	.s-guideNav__item li:not(:last-child){
		border-bottom: 1px solid var(--bd-c-gray);
	}
	.s-guideNav__item li a{
		display: block;
		padding: 8px 15px;
		font-size: 13px;
    letter-spacing: 0;
	}
}
@media screen and (min-width: 768px){
	.s-guideColumn__heading{
		font-size: var(--fz-20);
		padding-bottom: 10px;
		margin-bottom: var(--spc-50);
	}
	.s-guideColumn__ttl{
		font-size: var(--fz-18);
		padding: 0 10px 10px;
		margin-bottom: var(--spc-15);
	}
  *+.s-guideColumn__ttl{
    margin-top: var(--spc-50);
  }
	.s-guideCredit{
		max-width: 300px;
	}
	.s-guidePaymentLogo--AmazonPay{
		width: 180px;
	}
	.s-guidePaymentLogo--PayPay{
		width: 130px;
	}
	.s-guidePaymentLogo--rakutenPay{
		width: 150px;
	}
	.s-guideTable{
		margin-top: var(--spc-10);
	}
	.s-guideTable tbody th,
	.s-guideTable tbody td{
		padding: 7px 20px;
		font-size: var(--fz-12);
	}
	.s-guideColumn__subttl{
    font-size: var(--fz-16);
		margin-block: var(--spc-40) var(--spc-20);
    padding-left: 10px;
	}
  .s-guideColumn__minittl{
    font-size: var(--fz-17);
    margin-block: var(--spc-30) var(--spc-10);
  }
  .s-guideColumn__minittl::before{
    top: 13px;
  }
  .s-guideColumn .bgcolor--yellow{
    padding: var(--spc-20);
  }
}
@media screen and (max-width: 767px){
	.s-guideColumn__heading{
		font-size: 17px;
		padding-bottom: 5px;
		margin-bottom: 25px;
    border-width: 5px;
	}
	.s-guideColumn__ttl{
		font-size: 15px;
		padding: 7px 10px;
		margin-bottom: 10px;
	}
  *+.s-guideColumn__ttl{
    margin-top: 25px;
  }
	.s-guidePaymentLogo--AmazonPay{
		width: 150px;
	}
	.s-guidePaymentLogo--PayPay{
		width: 120px;
	}
	.s-guidePaymentLogo--rakutenPay{
		width: 120px;
	}
	.s-guideTable{
		margin-top: 5px;
	}
	.s-guideTable tbody th,
	.s-guideTable tbody td{
		padding: 5px 15px;
		font-size: var(--fz-12);
	}
	.s-guideColumn__subttl{
		font-size: 15px;
    margin-block: 25px 10px;
    padding-left: 10px;
	}
  .s-guideColumn__minittl{
    font-size: 14px;
    margin-block: 20px 8px;
  }
  .s-guideColumn__minittl::before{
    top: 10px;
  }
}

/* s-giftCaution  */
.s-giftCaution {
  padding-block: calc(var(--sec-spc) / 2);
}
.s-giftCaution__ttl{
  font-family: var(--ff-serif);
  color: var(--txt-c-emphasis);
}
.s-giftCaution__detail dt{
  border-left: 3px solid var(--theme-c-secondary);
  font-weight: 500;
}
.s-giftCaution__detail ul li{
  position: relative;
}
.s-giftCaution__detail ul li::before{
  content: "";
  display: inline-block;
  background-color: var(--theme-c-secondary);
  border-radius: 50%;
  aspect-ratio: 1;
  position: absolute;
}
@media screen and (min-width: 768px){
  .s-giftCaution__detail dd+dt{
    margin-top: var(--spc-50);
  }
  .s-giftCaution__detail dt{
    font-size: var(--fz-18);
    padding-left: 15px;
    margin-bottom: var(--spc-10);
  }
  .s-giftCaution__detail dd{
    font-size: var(--fz-16);
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
  .s-giftCaution__detail ul li{
    padding-left: var(--spc-20);
  }
  .s-giftCaution__detail ul li::before{
    width: 6px;
    top: 11px;
    left: 5px;
  }
}
@media screen and (max-width: 767px){
  .s-giftCaution__detail dd+dt{
    margin-top: 30px;
  }
  .s-giftCaution__detail dt{
    font-size: 16px;
    padding-left: 10px;
    margin-bottom: 10px;
  }
  .s-giftCaution__detail dd{
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .s-giftCaution__detail ul li{
    padding-left: 15px;
  }
  .s-giftCaution__detail ul li::before{
    width: 4px;
    top: 8px;
    left: 3px;
  }
}



/* タイムテーブル */
.s-timeTable{
	width: 95%;
}
.s-timeTable__dial {
  --size: 100%;
  --bg: #e3e3e3;
  --accent: var(--theme-c-secondary);
  --ring: 0px;
  --start-time: 9;
  --end-time: 12.5;
  --wrap: 0;
  --start-deg: calc(var(--start-time) * 30deg);
  --span-deg:  calc(((var(--end-time) - var(--start-time)) + (var(--wrap) * 12)) * 30deg);
	--this-mask: radial-gradient(circle,
      transparent max(0px, var(--ring) - 1px),
      #000       max(0px, var(--ring)));

  inline-size: var(--size);
	mask: var(--this-mask);
	-webkit-mask: var(--this-mask);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--bg);
  background-image: conic-gradient(
    from calc(var(--start-deg) - 0deg),
    var(--accent) 0 var(--span-deg),
    transparent var(--span-deg) 1turn
  );
  display:grid; place-items:center; position:relative;
}

.s-timeTable__chip{
  display:inline-block;
	padding:.1em .5em;
	border-radius:3px;
  background:rgba(255,255,255,.9);
	color:#1a1a1a;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
	white-space:nowrap;
	font-size: var(--fz-12);
	letter-spacing: 0.03em;
}



@media screen and (max-width: 767px){
  .s-productStory .g-btnContainer{
    margin-top: 20px;
  }
}

