@charset "utf-8";

/* ■■■■■■■■■■共通■■■■■■■■■■ */
/* g-heading */
h1.g-heading {
  padding: var(--sec-spc-half) 0;
}

@media screen and (min-width: 768px){
  h1 .g-heading__en{
    font-size: clamp(30px, 3.5vw, 36px);
  }
  h1 .g-heading__ja{
    font-size: var(--fz-16);
  } 
}
@media screen and (max-width: 767px){
  #fs_CustomPage .g-headingContainer{
    margin-bottom: 0;
  }
  #fs_CustomPage .g-headingContainer.g-mgb--30{
    margin-bottom: var(--spc-30);
  }
  #fs_CustomPage .g-ranking .g-headingContainer{
    margin-bottom: var(--spc-30);
  }
  #fs_CustomPage .g-journal .g-headingContainer{
    margin-bottom: var(--spc-30);
  }
}

/* s-txt */
.s-txt {
  display: grid;
}

.s-txt mark {
  background: linear-gradient(transparent 70%, #fff799 30%);
}

.s-txt__list>li {
  position: relative;
  margin-left: 10px;
}

.s-txt__list>li::before {
  content: '';
  display: inline-block;
  background: var(--c-black);
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.s-txt__note li {
  position: relative;
  color: var(--txt-c-addon);
}

.s-txt__note li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}

.s-txt__order {
  counter-reset: original-counter;
}

.s-txt__order>li::before {
  content: counter(original-counter)'.';
  counter-increment: original-counter;
}

@media screen and (min-width: 768px) {
  .s-txt * {
    font-size: var(--fz-16);
    line-height: 2;
  }

  .s-txt p:has(mark) {
    line-height: 2.5;
  }

  .s-txt>p:not(:first-child) {
    margin-top: var(--spc-20);
  }

  .s-txt>*+.s-txt__list {
    margin-top: var(--spc-20);
  }

  .s-txt mark {
    padding: 2px 5px 3px;
  }

  .s-txt__list>li {
    padding-left: 13px;
  }

  .s-txt__list>li::before {
    width: 4px;
    top: 17px;
  }

  .s-txt__note li {
    font-size: var(--fz-12);
    padding-left: 15px;
  }
}

@media screen and (max-width: 767px) {
  .s-txt * {
    font-size: var(--fz-14);
    line-height: 1.8;
  }

  .s-txt p:has(mark) {
    line-height: 2.5;
  }

  .s-txt>p:not(:first-child) {
    margin-top: var(--spc-20);
  }

  .s-txt>*+.s-txt__list {
    margin-top: var(--spc-20);
  }

  .s-txt mark {
    padding: 2px 5px 3px;
  }

  .s-txt__list>li {
    padding-left: 12px;
  }

  .s-txt__list>li::before {
    width: 3px;
    top: 12px;
  }

  .s-txt__note li {
    font-size: var(--fz-12);
    padding-left: 15px;
  }
}

/* s-descWithImg */
.s-descWithImg {
  display: grid;
  gap: var(--sec-spc);
}

.s-descWithImg__desc {
  display: grid;
}

@media screen and (min-width: 768px) {
  .s-descWithImg li {
    display: flex;
    gap: var(--spc-40);
    align-items: flex-start;
  }

  .s-descWithImg--crossList li:nth-child(even) {
    flex-direction: row-reverse;
  }

  .s-descWithImg li>* {
    flex: 1;
  }

  .s-descWithImg__desc {
    gap: var(--spc-30);
  }
}

@media screen and (max-width: 767px) {
  .s-descWithImg li {
    display: grid;
    gap: var(--spc-20);
  }

  .s-descWithImg__desc {
    gap: var(--spc-30);
  }
}

/* ■■■■■■■■■■よくある質問■■■■■■■■■■ */

.s-faq dt,
.s-faq dd {
  position: relative;
}

.s-faq:last-child dd {
  padding-bottom: 0;
}

.s-faq dt::before,
.s-faq dd::before {
  font-family: var(--ff-en);
  font-weight: 400;
  position: absolute;
  line-height: 1;
  width: 22px;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1px 1px 3px 2px;
  border-radius: 7px;
}

.s-faq dt::before {
  content: 'Q';
  color: var(--c-white);
  background-color: var(--c-green);
}

.s-faq dd::before {
  content: 'A';
  color: var(--c-white);
  background-color: var(--c-gold);
}

@media screen and (min-width: 768px) {
  .s-faq {
    margin-top: 20px;
  }

  .s-faq dd:not(:last-child) {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .s-faq dt {
    font-size: var(--fz-18);
    font-weight: bold;
    padding: 2px 50px 20px 35px;
  }

  .s-faq dd {
    padding: 10px 40px 40px 40px;
  }

  .s-faq dt::before,
  .s-faq dd::before {
    font-size: 16px;
  }

  .s-faq dt::before {
    left: 0;
    top: 5px;
  }

  .s-faq dd::before {
    left: 0;
    top: 14px;
  }
}

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

  .s-faq dd:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .s-faq dt {
    font-size: var(--fz-18);
    font-weight: bold;
    padding: 0 0 10px 35px;
  }

  .s-faq dd {
    padding: 8px 0 30px 35px;
  }

  .s-faq dd p {
    font-size: var(--fz-16) !important;
  }

  .s-faq dt::before,
  .s-faq dd::before {
    font-size: 16px;
  }

  .s-faq dt::before {
    left: 0;
    top: 0;
  }

  .s-faq dd::before {
    left: 0;
    top: 8px;
  }

  .s-faq dd .s-txt {
    line-height: 1.7;
  }
}

/* アコーディオン プラスマイナス */
/* .s-faq--acc dt{
	position: relative;
}
.s-faq--acc dt span{
	display: inline-block;
	position: relative;
	aspect-ratio: 1/1;
	position: absolute;
	border: 1px solid var(--bd-c-gray);
	border-radius: 50%;

}
.s-faq--acc dt span::before,
.s-faq--acc dt span::after{
	content: "";
	display: inline-block;
	background: var(--bg-c-gray);
	width: 60%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.s-faq--acc dt span::after{
	transition: .3s;
	transform: translate(-50%, -50%) rotate(90deg);
}
.s-faq--acc dt.active span::after{
	transform: translate(-50%, -50%) rotate(180deg);
}
.s-faq--acc dd{
	display: none;
}
@media (hover: hover){
	.s-faq--acc dt:hover{
		cursor: pointer;
	}
}
@media screen and (min-width: 768px){
	.s-faq--acc dt:not(:first-child){
		margin-top: 20px;
	}
	.s-faq--acc dt span{
		width: 15px;
		right: 30px;
		top: 7px;
	}
}
@media screen and (max-width: 767px){
	.s-faq dt{
		padding-right: 30px;
	}
	.s-faq--acc dt:not(:first-child){
		margin-top: 10px;
	}
	.s-faq--acc dt span{
		width: 13px;
		right: 7px;
		top: 4px;
	}
} */

/* アコーディオン 矢印 */
.s-faq--acc dt {
  position: relative;
}

.s-faq--acc dt span {
  display: inline-block;
  position: relative;
  aspect-ratio: 1/1;
  position: absolute;
}

.s-faq--acc dt span::before {
  content: "";
  display: inline-block;
  --this-mask: var(--data-icon-btn-arrow) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--txt-c-base);
  aspect-ratio: 1;
  width: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  transition: .3s;
}

.s-faq--acc dt.active span::before {
  transform: translate(-50%, -50%) rotate(270deg);
}

@media screen and (min-width: 768px) {
  .s-faq--acc dt:not(:first-child) {
    margin-top: 20px;
  }

  .s-faq--acc dt span {
    width: 30px;
    right: 10px;
    top: 10px;
  }

  .s-faq--acc dt span::before {
    width: 12px;
  }
}

@media screen and (max-width: 767px) {
  /* .s-faq dt {
    padding-right: 30px;
  } */

  .s-faq--acc dt:not(:first-child) {
    margin-top: 10px;
  }

  .s-faq--acc dt span {
    width: 20px;
    right: 5px;
    top: 0px;
  }

  .s-faq--acc dt span::before {
    width: 10px;
  }
}

/* ■■■■■■■■■■お買い物ガイド■■■■■■■■■■ */
.s-guideContents ,
.popup-box{
  --h2-bgcolor: #F5F5F5;
  --h3-bdcolor: #b4b4b4;
  margin-top: 3px;
  display: grid;
  gap: var(--spc-50);
}

.s-guideColumn__heading {
  font-weight: 500;
  background-color: var(--h2-bgcolor);
}

.s-guideColumn__ttl {
  font-weight: 500;
  border-bottom: 1px solid var(--h3-bdcolor);
}

.s-guideColumn__subttl {
  font-weight: 500;
  border-left: 2px solid var(--txt-c-base);
}

.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(--txt-c-base);
  position: absolute;
  left: 0;
}

.s-guideCredit {
  display: flex;
  align-items: center;
  /* gap: var(--spc-10); */
  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: 300px;
}

.s-guideTable th,
.s-guideTable td {
  border: 1px solid var(--bd-c-gray);
}

.s-guideTable th {
  font-weight: normal;
}

.s-guideTable th {
  background-color: var(--bg-c-gray);
  padding: 5px 0;
  font-size: var(--fz-12);
}

.s-guideTable tbody th,
.s-guideTable tbody td {
  text-align: center;
}

.s-guideNav__item li.is-current a {
  color: var(--c-black);
}

.s-guideContents .bgcolor--gray {
  padding: var(--spc-20);
}

.s-guideContents .bgcolor--gray.is-widthFitContent {
  width: fit-content;
}

.g-heading--list {
  font-size: var(--fz-18);
}

@media screen and (min-width: 901px) {
  .s-guideContainer {
    display: grid;
    grid-template-columns: 230px 1fr;
    align-items: flex-start;
    gap: clamp(80px, 8.5vw, 100px);
  }

  .s-guideNav {
    position: sticky;
    top: 150px;
    left: 0;
  }

  .s-guideNav__item {
    display: grid;
    gap: 17px;
  }

  .s-guideNav__item li a {
    font-size: var(--fz-14);
    display: inline-block;
    padding-bottom: 2px;
    position: relative;
  }

  .s-guideNav__item li a::after {
    content: "";
    display: inline-block;
    background-color: var(--c-gold);
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    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;
  }
  .g-heading--list {
    margin-block: var(--spc-30) var(--spc-10);
  }
}

@media screen and (max-width: 900px) {
  .s-guideNav {
    --guide-nav-sp-box: 300px;
    --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: 1;
    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: 200px;
    background-color: rgba(225, 225, 225, 0.533);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px 0 0 5px;
    border: 1px solid var(--bd-c-gray);
    border-right: none;
    transition: .3s;
  }

  .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;
  }

  .g-heading--list {
    margin-block: var(--spc-40) var(--spc-10);
  }

  .s-guideContainer{
    padding-bottom: 0;
  }

  #fs_CustomPage .s-guideColumn >*:not(:has(h2.s-guideColumn__heading)){
    padding-right: 20px;
  }
}

@media screen and (min-width: 768px) {

  .s-guideColumn__heading {
    font-size: var(--fz-20);
    padding: 10px 15px;
    margin-bottom: var(--spc-30);
  }

  .s-guideColumn__ttl {
    font-size: var(--fz-18);
    padding: 0 0 10px 10px;
    margin: var(--spc-50) 0 var(--spc-20);
  }

  .s-guideColumn__heading+.s-guideColumn__ttl {
    margin-top: var(--spc-50);
  }

  .s-guideCredit {
    max-width: 450px;
  }

  .s-guidePaymentLogo--AmazonPay {
    width: 180px;
  }

  .s-guidePaymentLogo--PayPay {
    width: 130px;
  }

  .s-guidePaymentLogo--rakutenPay {
    width: 150px;
  }

  .s-guideTable {
    margin-top: var(--spc-20);
  }

  .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-16);
    margin-block: var(--spc-30) var(--spc-10);
  }

  .s-guideColumn__minittl::before {
    top: 13px;
  }
}

@media screen and (max-width: 767px) {
  .s-guideColumn__heading {
    font-size: 16px;
    padding: 10px;
    margin-bottom: 30px;
  }

  .s-guideColumn__ttl {
    font-size: 15px;
    padding: 7px 10px;
    margin-block: 30px 10px;
  }

  .s-guidePaymentLogo--AmazonPay {
    width: 150px;
  }

  .s-guidePaymentLogo--PayPay {
    width: 120px;
  }

  .s-guidePaymentLogo--rakutenPay {
    width: 120px;
  }

  .s-guideTable {
    margin-top: var(--spc-20);
  }

  .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-timeTable {
  width: 95%;
}

.s-timeTable__dial {
  --size: 100%;
  --bg: #e3e3e3;
  --accent: var(--txt-c-base);
  --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;
}








/* ここから追記 */
/* ------------------ ご利用ガイド -------------------- */
.s-guideContents,
.popup-box {
  font-size: var(--fz-16);
}

.s-guide_borderWrap {
  border: 1px solid var(--bd-c-gray);
  padding: 10px;
  margin-top: 10px;
  display: inline-block;
}

.s-guide_ol li+li {
  margin-top: var(--spc-30);
}

.s-guide_ol li strong {
  display: inline-block;
  margin-bottom: var(--spc-10);
  font-weight: bold;
}

.s-guideContents small,
.popup-box small {
  font-size: var(--fz-14);
  display: block;
  position: relative;
  padding-left: 15px;
}

.s-guideContents small::before ,
.popup-box small::before{
  content: '※';
  position: absolute;
  left: 0;
  top: 0;
}

.s-guideContents small.hide-before,
.popup-box small.hide-before {
  padding-left: 0 !important;
}

.s-guideContents small.hide-before::before ,
.popup-box small.hide-before::before{
  display: none;
}

.s-guideContents .s-txt,
.popup-box .s-txt {
  margin-bottom: var(--spc-30);
}

.s-guideContents .g-headingContainer ,
.popup-box .g-headingContainer{
  position: relative;
  font-weight: bold;
}

.s-guideContents .g-headingContainer::before ,
.popup-box .g-headingContainer::before{
  content: "・ ";
  color: var(--c-gold);
}

.s-guideColumn .g-btnContainer{
  margin-top: 0;
}
/* ------------------ 会社概要 -------------------- */
.s-companyProfile {
  display: grid;
  max-width: 600px;
  margin-inline: auto;
}

.s-companyProfile dt,
.s-companyProfile dd {
  padding-block: var(--spc-20);
}

.s-companyProfile dt {
  font-size: var(--fz-15);
  border-bottom: 1px solid var(--c-green);
}

.s-companyProfile dd {
  font-size: var(--fz-15);
  border-bottom: 1px solid var(--c-green);
}

.s-companyProfile dt:last-of-type,
.s-companyProfile dd:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .s-companyProfile {
    grid-template-columns: 150px 1fr;
  }
}

@media screen and (max-width: 767px) {
  .s-companyProfile {
    grid-template-columns: 110px 1fr;
  }
}



/* ------------------ ブランドストーリー -------------------- */
:root{
  --ff-mincho:  "Zen Old Mincho", serif;
  --ff-cormorant: "Cormorant Garamond", serif;
}

.s-brand{
  font-family: var(--ff-mincho);
  color: #3C3C3C;
}

.s-brand .g-heading__en{
  font-family: var(--ff-cormorant);
  font-weight: 600;
  font-size: var(--spc-60);
  color: var(--c-green);
  letter-spacing: .0em;
  text-align: left;
  line-height: 1.3;
}
.s-brand .g-heading__ja{
  text-align: left;
  color: var(--c-green);
}
.s-brand h3.g-heading{
  margin-block: var(--spc-20);
}
.s-brand h3 .g-heading__en{
  font-size: var(--fz-30);
}
.s-brand h2 .g-heading__ja{
  font-size: var(--fz-18) !important;
}

.s-brand-top{
  position: relative;
  display: inline-block;
  line-height: 0;
}

.s-brand-top img:nth-child(1){
  display: block;
  width: 100%;
  height: auto;
}
.s-brand-top h1{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 500px;
  width: 60%;
  height: auto;
  pointer-events: none;
}
.s-brand-top__txt{
  text-align: center;
  line-height: 2.6;
}
@media screen and (min-width: 768px){
  .s-brand-top__txt{
    font-size: var(--fz-18);
  }
}
@media screen and (max-width: 767px){
  .s-brand-top__txt{
    font-size: var(--fz-16);
    padding-block: 80px;
  }
}


.s-brand-intro__item + .s-brand-intro__item{
  margin-top: var(--spc-60);
}
.s-brand-intro__item{
  display: flex;
  align-items: center;
  gap: var(--spc-50);
}
.s-brand-intro__img{
  width: 40%;
  height: auto;
  object-fit: cover;
}
.s-brand-intro__txt{
  flex: 1;
  line-height: 2;
}
.s-brand-intro__txt p + p{
  margin-top: var(--spc-30);
}
.s-brand-intro__item--reverse .s-brand-intro__img{
  order: 1;
}
.s-brand-intro__item--reverse .s-brand-intro__txt{
  text-align: left;
}
@media screen and (min-width: 768px){
  .s-brand-intro__item{
    gap: var(--spc-50);
  }
  .s-brand-intro__item--reverse{
    gap: var(--spc-100);
  }
  .s-brand-intro__txt{
    font-size: var(--fz-16);
  }
  .s-brand-intro__item--reverse .s-brand-intro__txt{
    margin-left: 20%;
  }
}
@media screen and (max-width: 767px){
  .s-brand-intro__item{
    gap: var(--spc-20);
  }
  .s-brand-intro__item--reverse{
    gap: var(--spc-50);
  }
  .s-brand-intro{
    width: 100vw;
    margin-inline: calc(50% - 50vw); ;
  }
  .s-brand-intro__txt{
    font-size: var(--fz-14);
  }
  .s-brand-intro__item--reverse .s-brand-intro__txt{
    padding-top: var(--spc-80);
    margin-left: 8%;
  }
}

.s-brand-promise{
  position: relative;
  display: flex;
  gap: 8%;
}
.s-brand-promise::before{
  content: '';
  position: absolute;
  left: 0;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  background-color: var(--c-lightBlue);
  z-index: -1;
}
.s-brand-promise__txt{
  max-width: 230px;
  width: 30%;
}
.s-brand-promise__img{
  flex: 1;
}
.s-brand-promise__txt p{
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.15em;
  line-height: 2;
  margin-block: 0 auto;
}
.s-brand-promise__txt p span{
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media screen and (min-width: 768px){
  .s-brand-promise .g-heading{
    margin-bottom: var(--spc-60);
  }
  .s-brand-promise::before{
    top: 37%;
    height: calc(60% + 20%);
  }
  .s-brand-promise__txt p{
    font-size: var(--fz-16);
  }
  .s-brand-promise{
    margin-bottom: var(--spc-250);
  }
}
@media screen and (max-width: 767px){
  .s-brand-promise{
    flex-direction: column;
  }
  .s-brand-promise__txt{
    display: contents;
  }
  .s-brand h2{
    order: -1;
  }
  .s-brand-promise__img{
    order: -1;
    transform: translateX(-7.4%);
  }
  .s-brand-promise .g-heading{
    margin-bottom: var(--spc-30);
  }
  .s-brand-promise__txt p{
    margin-block: auto;
    margin-top: var(--spc-40);
  }
  .s-brand-promise::before{
    top: 25%;
    height: 40%;
  }
  .s-brand-promise__txt p{
    font-size: var(--fz-14);
  }
}


.s-brand-circulation .g-heading{
  margin-bottom: var(--spc-30);
}
.s-brand-circulation{
  display: grid;
}
.s-brand-circulation__txt{
  margin-bottom: var(--spc-30);
  position: relative;
}
.s-brand-circulation__item .line::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  background-color: var(--c-green);
}
@media screen and (min-width: 768px){
  .s-brand-circulation{
    margin-bottom: var(--spc-200);
  }
  .s-brand-circulation div:first-child >p{
    font-size: var(--fz-16);
  }
  .s-brand-circulation{
    grid-template-columns: 1.2fr 1fr;
    gap: 0 18%;
  }
  .s-brand-circulation__item--people{
    margin-top: -100%;
  }
  .s-brand-circulation__item.s-brand-circulation__item--material{
    margin-bottom: 30%;
    margin-top: var(--spc-80);
    transform: translateX(-13%);
  }
  .s-brand-circulation__item--material .line::before{
    height: 170%;
  }
  .s-brand-circulation__item--people .line::before{
    height: 480%;
  }
  .s-brand-circulation__item--aroma .line::before{
    height: 380%;
  }
  .s-brand-circulation__txt{
    padding-left: 20px;
    font-size: var(--fz-14);
  }
  .s-brand-circulation p{
    line-height: 2;
    transform: translateX(10px);
  }
  .s-brand-circulation__item .line::before{
    width: 1px;
  }
}
@media screen and (max-width: 767px){
  .s-brand-circulation{
    gap: var(--spc-60);
  }
  .s-brand-circulation div:first-child >p{
    font-size: var(--fz-14);
  }
  .s-brand-circulation__item{
    display: flex;
    gap: var(--spc-20);
  }
  .s-brand-circulation__item--people{
    flex-direction: row-reverse;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .s-brand-circulation__item > div{
    width: 55%;
  }
  .s-brand-circulation__item .s-brand-circulation__img{
    flex: 1;
  }
  .s-brand-circulation__item--material .line::before{
    height: 120%;
  }
  .s-brand-circulation__item--people .line::before{
    height: 230%;
  }
  .s-brand-circulation__item--aroma .line::before{
    height: 250%;
  }
  .s-brand-circulation__item--people{
    padding-left: 7%;
    gap: 8px;
  }
  .s-brand-circulation__item--people > div{
    width: 50%;
  }
  .s-brand-circulation__txt{
    padding-left: 13px;
    font-size: var(--fz-13);
  }
  .s-brand-circulation p{
    line-height: 1.8;
  }
  .s-brand-circulation__item .line::before{
    width: 0.5px;
  }
}


/* ------------------  -------------------- */
@media screen and (min-width: 768px){

}
@media screen and (max-width: 767px){

}

/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ■■■■■■■■■■　■■■■■■■■■■ */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ■■■■■■■■■■　■■■■■■■■■■ */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ■■■■■■■■■■　■■■■■■■■■■ */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ■■■■■■■■■■　■■■■■■■■■■ */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ■■■■■■■■■■　■■■■■■■■■■ */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ■■■■■■■■■■　■■■■■■■■■■ */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */
/* ------------------  -------------------- */