:root {
  --ff-yuGo: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  --ff-min: "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
}
[class^="brand-hdg-"] {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}
picture {
  display: block;
}
.brand-under-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}
.line-u {
  padding: 0 2px;
  display: inline;
  background: linear-gradient(transparent 0%, #B5FFD7 0%) no-repeat 0 100% / 0 100%;
  transition: .9s;
}
.line-u.is-active {
  background-size: 100% 100%;
}
.brand-txt-contents .line-u {
  font-weight: normal;
}

@media screen and (max-width: 860px) {
  .brand-under-wrapper .pc-only {
    display: none !important;
  }
  .brand-under-wrapper .sp-only {
    display: block !important;
  }
}
@media screen and (min-width: 861px) {
  .brand-under-wrapper .pc-only {
    display: block !important;
  }
  .brand-under-wrapper .sp-only {
    display: none !important;
  }
}

/* ------------------
  MV
-------------------*/
/* structure */
.brand-section-mv {
  position: relative;
}
.brand-mv-wrap {
  position: sticky;
  top: 0;
  height: 100dvh;
  width: 100%;
  aspect-ratio: 1920 / 1080;
  background-color: #aaa;
  overflow: hidden;
}
.brand-mv-wrap img {
  object-fit: cover;
  height: 100dvh;
  width: 100%;
  animation: zoomIn 15s .5s ease-in-out forwards;
}
@keyframes zoomIn {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.brand-mv-text-wrap {
  position: relative;
  z-index: 1;
}
.brand-mv-lead {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  aspect-ratio: 1920 / 1698;
  color: #fff;
  background-image: linear-gradient(180deg, transparent 0%, rgba(13, 26, 19, .8) 100%);
  letter-spacing: .04em;
}

/* Text */
.brand-hdg-lv1 {
  margin: -100dvh 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100dvh;
}
.brand-hdg-lv1,
.brand-hdg-lv1-main {
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: .45em;
  color: #fff;
}
.brand-hdg-lv1-wrap {
  margin: -100dvh 0 0;
  width: 100%;
  height: 100dvh;
  display: flex;
}
.brand-hdg-lv1-wrap:not(._pcRight):not(._pcLeft):not(._pcCenter):not(._spBetween):not(._spCenter) {
  align-items: center;
  justify-content: center;
}
.brand-mv-lead-main {
  line-height: 1.6;
  letter-spacing: .02em;
  text-align: center;
  color: #fff;
}
.brand-mv-lead-main b {
  font-weight: normal;
}
.brand-mv-lead-sub {
  margin-top: 40px;
  line-height: 1.57;
  letter-spacing: .04em;
  text-align: center;
  color: #fff;
}
.brand-mv-lead-sub + .brand-mv-lead-sub {
  margin-top: 5px;
}
@media screen and (max-width: 860px) {
  /* structure */
  .brand-section-mv {
    width: 100dvw;
  }
  .brand-mv-lead {
    padding-bottom: calc(130 / 430 * 100vw);
    justify-content: flex-end;
    width: 100dvw;
    height: 100vh;
    background-image: linear-gradient(180deg, transparent 0%, rgba(13, 26, 19, .5) 100%);
  }

  /* Text */
  .brand-hdg-lv1,
  .brand-hdg-lv1-wrap {
    width: 100dvw;
  }
  .brand-hdg-lv1,
  .brand-hdg-lv1-main {
    font-size: min(calc(30 / 430 * 100vw), 30px);
  }
  .brand-hdg-lv1-wrap._spBetween {
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
  }
  .brand-hdg-lv1-wrap._spBetween .brand-hdg-lv1-main {
    margin: auto 0 0 min(calc(150 / 430 * 100vw), 150px);
    height: 80%;
  }
  .brand-hdg-lv1-wrap._spBetween .brand-hdg-lv1-inner {
    display: flex;
    flex-direction: row-reverse;
    height: fit-content;
    min-height: calc(580 / 430 * 100vw);
  }
  .brand-mv-lead-main {
    font-size: min(calc(24 / 430 * 100vw), 24px);
  }
  .brand-hdg-lv1-wrap._spBetween .brand-mv-lead-main {
    margin: 0 20px 0 0;
    display: flex;
    justify-content: flex-end;
    font-size: min(calc(20 / 430 * 100vw), 20px);
    writing-mode: vertical-rl;
    letter-spacing: .5em;
  }
  .brand-mv-lead-sub {
    width: 80%;
    font-size: min(calc(14 / 430 * 100vw), 14px);
  }
  .brand-hdg-lv1-wrap._spBetween .brand-mv-lead-sub {
    margin: 0;
    width: initial;
    display: flex;
    justify-content: flex-end;
    font-size: min(calc(18 / 430 * 100vw), 18px);
    writing-mode: vertical-rl;
    text-align: left;
    letter-spacing: .3em;
    line-height: 2;
  }
  .brand-hdg-lv1-wrap._spCenter {
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 861px) {
  /* Text */
  .brand-hdg-lv1,
  .brand-hdg-lv1-main {
    font-size: 30px;
  }
  .brand-hdg-lv1-wrap._pcRight {
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
  }
  .brand-hdg-lv1-wrap._pcLeft {
    align-items: center;
    flex-direction: row-reverse;
  }
  .brand-hdg-lv1-wrap._pcCenter {
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
  }
  .brand-hdg-lv1-wrap._pcCenter .brand-hdg-lv1-inner {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
  }
  .brand-hdg-lv1-wrap._pcRight .brand-hdg-lv1-inner,
  .brand-hdg-lv1-wrap._pcLeft .brand-hdg-lv1-inner {
    width: 50vw;
    display: flex;
    flex-direction: row-reverse;
  }
  .brand-hdg-lv1-wrap._pcRight .brand-hdg-lv1-inner {
    margin-right: auto;
    padding-right: min(calc(230 / 1920 * 100vw), 230px);
  }
  .brand-hdg-lv1-wrap._pcLeft .brand-hdg-lv1-inner {
    justify-content: center;
  }
  .brand-mv-lead-main {
    font-size: 40px;
  }
  .brand-hdg-lv1-wrap._pcRight .brand-mv-lead-main,
  .brand-hdg-lv1-wrap._pcLeft .brand-mv-lead-main {
    margin: 0 60px 0 0;
    font-size: 30px;
    writing-mode: vertical-rl;
    text-align: right;
    letter-spacing: .5em;
  }
  .brand-hdg-lv1-wrap._pcRight .brand-mv-lead-main {
    margin: 0 60px 0 0;
  }
  .brand-mv-lead-sub {
    font-size: 14px;
  }
  .brand-hdg-lv1-wrap._pcRight .brand-mv-lead-sub,
  .brand-hdg-lv1-wrap._pcLeft .brand-mv-lead-sub,
  .brand-hdg-lv1-wrap._pcCenter .brand-mv-lead-sub {
    margin: 0 60px 0 0;
    font-size: 18px;
    letter-spacing: .03em;
    line-height: 2.2;
    writing-mode: vertical-rl;
    text-align: left;
    letter-spacing: .3em;
  }
  .brand-hdg-lv1-wrap._pcCenter .brand-mv-lead-sub {
    margin: 0 60px 0 0;
  }
}

/* ------------------
  Contents
-------------------*/
/* section */
.brand-section {
  background-color: #F0EEE9;
  position: relative;
}
.brand-section._separed-line {
  border-top: 1px solid #D6D4CE;
}

/* Heading */
.brand-hdg-lv2 {
  color: #004620;
}
.brand-hdg-lv3 {
  line-height: 1.5;
}

/* contents */
.brand-block-contents {
  display: flex;
}
.brand-txt-contents {
  font-family: var(--ff-yuGo);
  line-height: 1.6;
}
.brand-txt-contents.adjust-large b {
  font-family: var(--ff-min);
  font-weight: normal;
  letter-spacing: .04em;
}
.brand-txt-contents + .brand-txt-contents {
  margin-top: 10px;
}
.brand-txt-contents.adjust-large + .brand-txt-contents {
  margin-top: 20px;
}
.brand-btn-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #006D31;
}
.brand-btn-inner:visited, .brand-btn-inner:link {
  color: #fff;
}

@media screen and (max-width: 860px) {
  /* section */
  .brand-section {
    padding: 80px 16px;
  }
  .brand-section + .brand-section {
    padding-top: 40px;
  }
  .brand-hdg-lv2 + .brand-section-nest {
    margin-top: 20px;
  }
  .brand-section-nest + .brand-section-nest {
    margin-top: 75px;
  }

  /* Heading */
  .brand-hdg-lv2 {
    padding: 0 min(calc(40 / 430 * 100vw), 40px) 0 min(calc(135 / 430 * 100vw), 135px);
    width: 100%;
    min-height: min(calc(400 / 430 * 100vw), 500px);
    writing-mode: vertical-rl;
    font-size: min(calc(36 / 430 * 100vw), 36px);
    letter-spacing: .1em;
    line-height: 1.5;
    position: relative;
  }
  /* .brand-hdg-lv2::before,
  .brand-hdg-lv2::after {
    position: absolute;
    content: "";
    top: -20px;
    background-color: #004620;
  }
  .brand-hdg-lv2::before {
    right: 15px;
    width: 2px;
    height: 80px;
  }
  .brand-hdg-lv2::after {
    right: 14px;
    width: 2px;
    height: 20px;
    transform: rotate(90deg);
    transform-origin: top;
  } */
  .brand-hdg-lv2 .hdg-inner::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    z-index: 0;
    width: min(calc(132 / 430 * 100vw), 132px);
    height: min(calc(235 / 430 * 100vw), 235px);
    background: var(--sp-img) no-repeat center / contain;
  }
  .brand-section._reverse .brand-hdg-lv2 {
    padding: 0 min(calc(135 / 430 * 100vw), 135px) 0 min(calc(40 / 430 * 100vw), 40px);
    display: flex;
    align-items: flex-end;
  }
  /* .brand-section._reverse .brand-hdg-lv2::before {
    left: 20px;
    right: auto;
  }
  .brand-section._reverse .brand-hdg-lv2::after {
    left: 39px;
    right: auto;
  } */
  .brand-section._reverse .brand-hdg-lv2 .hdg-inner::before {
    left: auto;
    right: 0;
  }
  .brand-hdg-lv3 {
    font-size: min(calc(28 / 430 * 100vw), 28px);
    letter-spacing: .028em;
  }

  /* contents */
  .brand-block-contents {
    flex-direction: column-reverse;
    gap: 24px;
  }
  .brand-txt-contents {
    font-size: min(calc(15 / 430 * 100vw), 15px);
  }
  .brand-txt-contents.adjust-large b {
    font-size: min(calc(20 / 430 * 100vw), 20px);
  }
  .brand-hdg-lv3 + .brand-txt-contents {
    margin-top: 30px;
  }
  .brand-block-contents-desc .brand-btn {
    display: none;
  }
  .brand-btn {
    margin-top: 75px;
  }
  .brand-btn-inner {
    font-size: min(calc(20 / 430 * 100vw), 20px);
    letter-spacing: .04em;
    min-height: 72px;
    border-radius: 40px;
  }

  .brand-block-contents-img-nest {
    margin-top: 80px;
  }
  .brand-block-contents-img-nest + .brand-txt-contents {
    margin-top: 30px;
  }
}
@media screen and (min-width: 861px) {
  /* structure */
  .brand-section-inner {
    margin: 0 auto;
    padding: 0 40px;
    max-width: 1840px;
  }
  /* section */
  .brand-section {
    padding: 160px 0;
  }
  .brand-hdg-lv2 + .brand-section-nest {
    margin-top: 80px;
  }
  .brand-section-nest + .brand-section-nest {
    margin-top: 160px;
  }
  .brand-section-nest:nth-of-type(odd) {
    padding: 0 0 0 min(calc(80 / 1920 * 100vw), 80px);
  }
  .brand-section-nest:nth-of-type(even) {
    padding: 0 min(calc(80 / 1920 * 100vw), 80px) 0 0;
  }
  /* Heading */
  .brand-hdg-lv2 {
    padding: 0 0 0 min(calc(80 / 1920 * 100vw), 80px);
    font-size: min(calc(72 / 1920 * 100vw), 72px);
    letter-spacing: .2em;
    line-height: 1.3;
    position: relative;
  }
  /* .brand-hdg-lv2::before,
  .brand-hdg-lv2::after {
    position: absolute;
    content: "";
    top: -20px;
    background-color: #004620;
  }
  .brand-hdg-lv2::before {
    left: 0;
    width: 5px;
    height: 20px;
  }
  .brand-hdg-lv2::after {
    left: -2px;
    width: 5px;
    height: min(calc(80 / 1920 * 100vw), 80px);
    transform: rotate(-90deg);
    transform-origin: top;
  } */
  .brand-section._reverse .brand-hdg-lv2 {
    padding: 0 min(calc(80 / 1920 * 100vw), 80px) 0 0;
    text-align: right;
  }
  /* .brand-section._reverse .brand-hdg-lv2::before {
    left: auto;
    right: 0;
  }
  .brand-section._reverse .brand-hdg-lv2::after {
    left: auto;
    right: min(calc(80 / 1920 * 100vw), 80px);
    transform-origin: top right;
  } */
  .brand-hdg-lv3 {
    font-size: min(calc(44 / 1920 * 100vw), 44px);
    letter-spacing: .018em;
  }
  .brand-section-nest:nth-of-type(odd) .brand-hdg-lv3 {
    text-align: right;
  }
  .brand-section-nest .brand-hdg-lv3.adjust-pc-left {
    text-align: left;
  }
  /* contents */
  .brand-block-contents {
    align-items: flex-end;
    gap: min(calc(45 / 1920 * 100vw), 45px);
    /* flex-wrap: wrap; */
  }
  .brand-section-nest:nth-of-type(even) .brand-block-contents {
    flex-direction: row-reverse;
  }
  .brand-section._reverse .brand-block-contents {
    flex-direction: row-reverse;
  }
  .brand-block-contents-desc {
    min-width: min(35%, 430px);
    flex: 1;
  }
  .brand-block-contents-img {
    margin: 0 auto;
  }
  .brand-block-contents-img.seafood-sec5 {
    max-width: min(calc(584 / 1920 * 100vw), 584px);
  }
  .brand-txt-contents {
    font-size: 16px;
  }
  .brand-txt-contents.adjust-large b {
    font-size: 24px;
  }
  .brand-hdg-lv3 + .brand-txt-contents {
    margin-top: min(calc(40 / 1920 * 100vw), 40px);
  }
  .brand-btn {
    margin-top: min(calc(50 / 1920 * 100vw), 50px);
    max-width: 252px;
  }
  .brand-btn-inner {
    font-size: 15px;
    min-height: 48px;
    border-radius: 24px;
  }
  .brand-btn-inner .icn-cart::before {
    content: "";
    margin: -5px 10px 0 0;
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    background: url(../../../../img/usr/pages/brand/shopping-cart.png) no-repeat center / contain;
  }
  .brand-block-contents-img-nest + .brand-txt-contents {
    margin-top: 10px;
  }
}

/* ------------------
  Fixed Contents
-------------------*/
.brand-section-bgFix-img {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100dvh;
  aspect-ratio: 1920 / 1080;
}
.brand-section-bgFix-img::after {
  position: absolute;
  content: "";
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: #004620 url(../../../../img/usr/pages/brand/bg_repeat.jpg);
}
.brand-section-bgFix {
  position: relative;
  z-index: 1;
}
.brand-bgFix-top {
  margin: -100dvh 0 0;
  width: 100%;
  display: flex;
}
.brand-bgFix-hdg,
.brand-section-teamaster-hdg {
  margin: 0;
  letter-spacing: .5em;
  line-height: 2.2;
  writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
}
.brand-under-wrapper .brand-bgFix-under {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  aspect-ratio: 1920 / 1698;
}
.brand-bgFix-txt,
.brand-section-teamaster-txt {
  letter-spacing: .3em;
  line-height: 2;
  writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
}

@media screen and (max-width: 860px) {
  .brand-section-bgFix-img {
    overflow-x: hidden;
  }
  .brand-section-bgFix-img::after {
    left: calc(100 / 430 * 100vw);
  }
  .brand-section-bgFix-img img {
    width: calc(222 / 430 * 100vw);
    height: 100dvh;
  }
  .brand-bgFix-top {
    margin-left: auto;
    width: 100%;
    height: 100dvh;
    flex-direction: column;
    justify-content: center;
    gap: 45px;
  }
  .brand-under-wrapper .brand-bgFix-under {
    margin-left: auto;
    width: 100%;
    height: 50vh;
  }
  .brand-bgFix-hdg {
    margin-right: calc(80 / 430 * 100vw);
    font-size: min(calc(24 / 430 * 100vw), 24px);
  }
  .brand-bgFix-txt {
    font-size: min(calc(16 / 430 * 100vw), 16px);
  }
  .brand-bgFix-tea {
    margin-left: 20px;
    width: min(calc(280 / 430 * 100vw), 280px);
  }

  /* page-tealeaves */
  .page-tealeaves .brand-section-bgFix {
    margin-left: auto;
    width: calc(100% - calc(100 / 430 * 100vw));
  }
  .page-tealeaves .brand-bgFix-top {
    padding-top: 60px;
    height: 45dvh;
    align-items: center;
  }
  .page-tealeaves .brand-bgFix-hdg {
    margin-right: 0;
  }
  .page-tealeaves .brand-bgFix-under {
    height: 60dvh;
  }
  .page-tealeaves .brand-bgFix-txt {
    line-height: 1.75;
  }
  .page-tealeaves .brand-hdg-lv2 {
    font-size: min(calc(40 / 430 * 100vw), 40px);
    letter-spacing: .3em;
  }
}
@media screen and (min-width: 861px) {
  .brand-section-bgFix-img {
    background: #004620 url(../../../../img/usr/pages/brand/bg_repeat.jpg);
    overflow: hidden;
  }
  .brand-section-bgFix-img::after {
    left: min(calc(668 / 1920 * 100vw), 668px);
  }
  .brand-section-bgFix-img img {
    width: min(calc(668 / 1920 * 100vw), 668px);
    height: 100dvh;
    object-fit: cover;
  }
  .brand-bgFix-top {
    margin-left: auto;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    width: calc(100% - min(calc(668 / 1920 * 100vw), 668px));
    height: 100dvh;
    min-height: min(calc(1010 / 1920 * 100vw), 1010px);
    position: relative;
  }
  .brand-bgFix-top::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    z-index: -1;
    width: min(calc(776 / 1920 * 100vw), 776px);
    height: min(calc(776 / 1920 * 100vw), 776px);
    background: url(../../../../img/usr/pages/brand/createtea/tea_pc.png) no-repeat center / contain;
    transform: translate(-50%, calc(-50% + 100px));
    opacity: 0;
    transition: .5s ease;
  }
  .brand-bgFix-top.is-active::after {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .brand-under-wrapper .brand-bgFix-under {
    display: none !important;
  }
  .brand-bgFix-hdg {
    margin-top: min(calc(180 / 1920 * 100vw), 180px);
    height: 100dvh;
    font-size: min(calc(40 / 1920 * 100vw), 40px);
  }
  .brand-bgFix-txt {
    margin: min(calc(180 / 1920 * 100vw), 180px) min(calc(130 / 1920 * 100vw), 130px) 0 0;
    font-size: 18px;
  }

  /* page-tealeaves */
  .page-tealeaves .brand-section-bgFix-img::after {
    left: 50%;
  }
  .page-tealeaves .brand-bgFix-top {
    width: 50%;
  }
  .page-tealeaves .brand-bgFix-top::after {
    content: none;
  }
  .page-tealeaves .brand-bgFix-hdg {
    margin-top: 0;
    display: flex;
    justify-content: center;
  }
  .page-tealeaves .brand-section-bgFix-img img {
    width: 50%;
  }
  .page-tealeaves .brand-section-nest._pcReverse {
    padding: 0 min(calc(80 / 1920 * 100vw), 80px) 0 0;
  }
  .page-tealeaves .brand-section-nest._pcReverse .brand-block-contents {
    flex-direction: row-reverse;
  }
  .page-tealeaves .brand-section-nest._pcCenter .brand-block-contents {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
  }
}

/* ------------------
  teamaster
-------------------*/
.brand-section-teamaster {
  background: #004620 url(../../../../img/usr/pages/brand/bg_repeat.jpg);
}

@media screen and (max-width: 860px) {
  .brand-section-teamaster {
    padding: 80px 16px;
    display: flex;
    flex-direction: column-reverse;
    gap: 60px;
  }
  .brand-section-teamaster-desc {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
  }
  .brand-section-teamaster-hdg {
    font-size: min(calc(24 / 430 * 100vw), 24px);
  }
  .brand-section-teamaster-txt {
    font-size: min(calc(18 / 430 * 100vw), 18px);
    line-height: 1.8;
  }
}
@media screen and (min-width: 861px) {
  .brand-section-teamaster {
    display: flex;
    flex-direction: row-reverse;
    height: 100dvh;
    min-height: min(calc(1010 / 1920 * 100vw), 1010px);
  }
  .brand-section-teamaster-desc {
    padding: 60px;
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: min(calc(110 / 1920 * 100vw), 110px);
  }
  .brand-section-teamaster-img {
    width: 100%;
  }
  .brand-section-teamaster-img picture {
    height: 100%;
    background: url(../../../../img/usr/pages/brand/teamaster/sec1_pc.jpg) no-repeat;
    background-size: 50% auto;
    background-attachment: fixed;
  }
  .brand-section-teamaster-img img {
    height: 100%;
    object-fit: cover;
    opacity: 0;
  }
  .brand-section-teamaster-hdg {
    font-size: min(calc(40 / 1920 * 100vw), 40px);
  }
  .brand-section-teamaster-txt {
    margin-top: min(calc(200 / 1920 * 100vw), 200px);
    font-size: 18px;
  }
}

/* ------------------
  Modal
-------------------*/
[data-modal-trigger] {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  min-width: initial;
  height: 18px;
  border: none;
  border-radius: 50%;
  background: #006D31 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12"><g id="interrogation_2_" data-name="interrogation (2)" transform="translate(-8 -4.998)"><path d="M12.714,5.051a4.66,4.66,0,0,0-3.278.707A3.075,3.075,0,0,0,8,8.272.922.922,0,0,0,9,9.09a.922.922,0,0,0,1-.818,1.538,1.538,0,0,1,.723-1.261,2.332,2.332,0,0,1,1.647-.349,1.876,1.876,0,0,1,1.6,1.3,1.557,1.557,0,0,1-1,1.738A3.167,3.167,0,0,0,11,12.572v.608A.922.922,0,0,0,12,14a.922.922,0,0,0,1-.818v-.608a1.568,1.568,0,0,1,.929-1.433,3.129,3.129,0,0,0,2.021-3.394,3.685,3.685,0,0,0-3.233-2.693Z" transform="translate(0)" fill="%23f0eee9"/><rect width="2" height="2" rx="1" transform="translate(10.998 14.998)" fill="%23f0eee9"/></g></svg>') no-repeat center / 8px 12px;
  position: relative;
  top: -3px;
  cursor: pointer;
}

/* ----- モーダル枠 ----- */
.generic_modal_ {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
}
.generic_modal_.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.generic_modal_overlay_ {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  cursor: pointer;
}
.generic_modal_content_ {
  width: 90%;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  border-radius: 30px;
  background-color: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .1);
  position: relative;
  z-index: 1001;
}
.generic_modal_body_ {
  flex-grow: 1;
  overflow-y: auto;
}
.generic_modal_close_ {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  display: block;
  width: 40px;
  min-width: initial;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: #006D31 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11.414" height="11.414" viewBox="0 0 11.414 11.414"><g transform="translate(-83.34 -13.579)"><path d="M84.047,14.286l10,10" fill="none" stroke="%23fff" stroke-linecap="round" stroke-width="1"/><path d="M94.047,14.286l-10,10" fill="none" stroke="%23fff" stroke-linecap="round" stroke-width="1"/></g></svg>') no-repeat center / 10px;
  cursor: pointer;
}
@media screen and (max-width: 860px) {
  .generic_modal_content_ {
    padding: 48px max(calc(40 / 430 * 100vw), 40px) 60px;
    min-width: 80%;
  }
}
@media screen and (min-width: 861px) {
  .generic_modal_content_ {
    padding: 48px 48px 60px;
    max-width: 680px;
  }
}

/* ----- モーダルコンテンツ ----- */
.brand-modal-title {
  font-family: var(--ff-min);
  text-align: center;
  letter-spacing: .04em;
  color: #006D31;
}
.brand-modal-layout-detail p {
  font-family: var(--ff-yuGo);
  font-weight: 500;
  letter-spacing: .04em;
}
.brand-modal-layout-img img {
  border-radius: 12px;
}
@media screen and (max-width: 860px) {
  .brand-modal-title {
    font-size: min(calc(20 / 430 * 100vw), 20px);
    line-height: calc(24/20);
  }
  .brand-modal-layout {
    margin: 16px 0 0;
    display: flex;
    flex-direction: column-reverse;
    gap: 24px;
  }
  .brand-modal-layout-detail p {
    font-size: min(calc(13 / 430 * 100vw), 13px);
  }
  .brand-modal-layout-img {
    text-align: center;
  }
}
@media screen and (min-width: 861px) {
  .brand-modal-title {
    font-size: 24px;
  }
  .brand-modal-layout {
    margin: 23px 0 0;
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
  }
  .brand-modal-layout-detail {
    flex: 1;
  }
  .brand-modal-layout-detail p {
    font-size: 14px;
  }
  .brand-modal-layout-img {
    width: 272px;
  }
}

/* ------------------
  Adjust
-------------------*/
.brand-under-line {
  text-decoration: underline;
}
.u-visuallyHidden {
  position: absolute;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
}
@media screen and (min-width: 861px) {
  .pc-al-right {
    text-align: right;
  }
}