@charset "UTF-8";

/* 全体共通-------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

html {
 color:#242424;
 font-size:16px;
 line-height:1.15;
 font-family:"Noto Sans JP", "メイリオ", sans-serif;

 scroll-behavior:smooth;
 scroll-padding-top:74px; /* 上部メニューの高さに合わせて調整 */
}

body {
 margin:0;
}

img {
 width:100%;
 max-width:100%;
 height:auto;
}

.all__wrap,
.all__wrap--company-list {
 display:flex;
 flex-direction:column;
 margin:auto;
 padding-bottom:4rem;
 background:#f5fad7;

 gap:4rem;
}

.all__wrap--company-list {
 background:#dafad7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 margin:0;
}

a {
 color:inherit;
 text-decoration:none;
}

h1 {
 font-size:64px;
}

h2 {
 font-size:48px;
}

h3 {
 font-size:20px;
}

h4 {
 font-size:18px;
}

p {
 margin:0;
 font-size:16px;
}

h1,
h2,
h3,
h4,
p {
 letter-spacing:.42px;

 font-feature-settings:"plat";
}

.pc {
 display:block;
}

.sp {
 display:none;
}

li {
 list-style:none;
}

@media screen and (max-width: 780px) {
 html {
  font-size:16px;
 }
 h1 {
  font-size:40px;
 }

 h2 {
  font-size:30px;
 }

 h3 {
  font-size:14px;
 }

 h4 {
  font-size:16px;
 }

 .pc {
  display:none;
 }
 .sp {
  display:block;
 }
}

/* 全体共通-------------------------*/

/* ボタン------------------------- */

:root {
 /* ボタンの色 */
 --btn-color-13A95B:#13a95b;
 --btn-color-dbe217:#dbe217;
 --btn-color-7ddaea:#7ddaea;
 --btn-color-FFA7A8:#ffa7a8;
 --btn-color-1C1C25:#1c1c25;
 --btn-text-color:#16362f;
}

.btn {
 display:flex;
 flex-direction:row;
 justify-content:center;
 align-items:center;
 position:relative;
 width:18.6rem;
 padding:.8rem 1.5rem;
 box-shadow:0 4px 4px rgba(0, 0, 0, .25);
 background:#000000;
 color:#ffffff;
 text-decoration:none;

 gap:10px;
}

.btn__text {
 flex-grow:1;
 font-weight:800;
 font-family:"Noto Sans JP", sans-serif;
 text-align:center;
}

.btn__text--s {
 font-size:var(--text-size-s);
}

.btn i {
 flex-shrink:0;
 margin-left:auto;
}

.btn--green {
 background:var(--btn-color-13A95B);
}

.btn--green-big {
 width:25rem;
 margin:auto;
 padding:1.5rem 1.5rem;
 background:var(--btn-color-13A95B);
 text-align:center;
}

.btn--lime {
 background:var(--btn-color-dbe217);
 color:var(--btn-text-color);
}

.btn--blue {
 background:var(--btn-color-7ddaea);
 color:var(--btn-text-color);
}

.btn--red {
 background:var(--btn-color-FFA7A8);
 color:var(--btn-text-color);
}

.btn--small {
 width:50%;
}

.btn--character {
 width:50%;

/* padding: 5rem 1rem 2rem; */
 padding:2rem 1rem 2rem;
 border-radius:1rem;
 background:#307acf;
 font-weight:900;
}

.btn--character-img {
 position:absolute;
 top:-2rem;
 width:8rem;
}

.btn-box {
 display:flex;
 flex-direction:row;
 justify-content:center;
 align-items:center;
 width:calc(95% - 5rem);
 max-width:1100px;
 margin:auto;

 gap:2.5rem;
}

@media screen and (max-width: 780px) {
 .btn {
  width:90%;
  padding:.8rem;
 }

 .btn--character {
  /* padding: 5rem 1rem 2rem; */
  padding:2rem 1rem 2rem;
 }

 .btn--green-big {
  width:80%;
 }
 .btn__text {
  font-size:.75em;
 }

 .btn-box {
  flex-direction:column;
 }
}

/* テキスト -------------------------*/
:root {
 /* テキストウェイト */
 --text-w500:500;
 --text-w700:700;
 --text-w800:800;
 --text-w900:900;

/* テキストサイズ */
 --ttl-size-normal:1.5rem;
 --subttl-size-normal:1.25rem;
 --text-size-l:1.25rem;
 --text-size-m:1rem;
 --text-size-s:.8rem;

/* テキストカラー */
 --txt-color-green:#16362f;
}

.main-h1,
.main-h1-circle,
.main-h1-company-list {
 display:flex;
 flex-direction:row;
 justify-content:space-between;
 align-items:center;
 position:relative;
 position:relative;
 width:100%;
 height:5rem;
 margin:0 auto;
 overflow:hidden;
 box-sizing:border-box;
 background:#1c1c25;
 color:#ffffff;
 font-weight:900;
 font-size:clamp(24px, 3vw, 36px);
 line-height:1.2;
 text-align:center;

 gap:10px;
 isolation:isolate;
}

.main-h1-circle {
 margin-top:3.6rem;
}

.main-h1-company-list {
 height:auto;
 margin-top:3.6rem;
}

.main-h1 img.decoration-top-left,
.main-h1-circle img.decoration-top-left,
.main-h1 img.decoration-bottom-right,
.main-h1-circle img.decoration-bottom-right {
 width:auto;
 height:100%;
}

@media (max-width: 1199px) {
 .main-h1-circle,
 .main-h1-company-list {
  margin-top:1.6rem;
 }
}

@media screen and (max-width: 780px) {
 .main-h1-circle,
 .main-h1-company-list {
  margin-top:0;
 }

 .main-h1 {
  justify-content:center;
 }

 .main-h1-circle {
  justify-content:center;
  margin-top:0;
 }

 .main-h1 img.decoration-top-left,
 .main-h1-circle img.decoration-top-left {
  position:absolute;
  top:0;
  left:0;
  height:35%;
 }

 .main-h1 img.decoration-bottom-right,
 .main-h1-circle img.decoration-bottom-right {
  position:absolute;
  right:0;
  bottom:0;
  height:35%;
 }
}

.ttl {
 color:#2a6146;
 font-weight:var(--text-w900);
 font-size:var(--ttl-size-normal);
 line-height:120%;
 text-align:center;
}

.sub-ttl,
.sub-ttl2 {
 width:12.8rem;
 padding-left:12px;
 border-left:4px solid #8ecd28;
 color:#16362f;
 font-weight:900;
 font-size:var(--subttl-size-normal);
 line-height:120%;
}

.sub-ttl2 {
 width:100%;
}

.text-center {
 color:var(--txt-color-green);
 font-weight:var(--text-w700);
 font-size:var(--text-size-m);
 line-height:1.5rem;
 text-align:center;
}

.ttl--l {
 color:var(--txt-color-green);
 font-weight:var(--text-w700);
 font-size:var(--text-size-m);
}

.ttl--m {
 color:var(--txt-color-green);
 font-weight:var(--text-w700);
 font-size:var(--text-size-m);
}

.ttl--m-w8 {
 color:var(--txt-color-green);
 font-weight:var(--text-w800);
 font-size:var(--text-size-m);
}

.ttl--s {
 color:var(--txt-color-green);
 font-weight:var(--text-w700);
 font-size:var(--text-size-s);
}

.ttl--line {
 padding-left:12px;
 border-left:4px solid #8ecd28;
 color:var(--txt-color-green);
 font-weight:900;
 font-size:var(--text-size-m);
 line-height:120%;
}

.text--m,
.text--m-w7 {
 padding:0;
 color:var(--txt-color-green);
 font-weight:var(--text-w500);
 font-size:var(--text-size-m);
 line-height:1.5rem;
}

.text--s,
.text--s-w7 {
 padding:0;
 color:var(--txt-color-green);
 font-weight:var(--text-w500);
 font-size:var(--text-size-s);
 line-height:1.5rem;
}

.text--m-w7,
.text--s-w7 {
 font-weight:var(--text-w700);

 overflow-wrap:break-word;
}

.text--c-red {
 color:#c71717;
}

.text--c-gray {
 color:#768481;
}

.text--strike {
 text-decoration-line:line-through;
}

@media screen and (max-width: 780px) {
 .sub-ttl {
  width:100%;
 }
}

/* テキスト -------------------------*/

/* レイアウト -------------------------*/

.wrap-row,
.wrap-row-3,
.wrap-row-s {
 display:flex;
 justify-content:center;
 width:100%;

 gap:2.5rem;
}

.wrap-row-3 {
 flex-wrap:wrap;
}

.wrap-row-s {
 width:80%;
}

.wrap-row-s__img {
 width:90%;
}
@media (min-width:769px) {
 .wrap-row-s__img {
  width:40%;
 }
}

.wrap-row__img {
 width:80%;
}

.wrap-row-3__img {
 width:calc((100% - 5rem) / 3);
}

.wrap-column {
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 width:100%;

 gap:1.5rem;
}

.wrap-column--2 {
 width:60%;
}

.wrap-column__text-group {
 display:flex;
 align-items:center;
 width:100%;
}

@media screen and (max-width: 780px) {
 .wrap-row {
  flex-direction:column;
 }
 .wrap-row-s {
  flex-wrap:wrap;
  width:100%;
 }

 .wrap-row__img {
  width:100%;
 }

 .wrap-row-3__img {
  width:calc((100% - 2.5rem) / 2);
 }

 .wrap-column__text-group {
  flex-direction:column;
  align-items:flex-start;

  gap:1rem;
 }

 .wrap-column--2 {
  width:100%;
 }
}

.content {
 width:100%;
}

.content__flexbox {
 display:flex;
 flex-direction:column;

 gap:1.5rem;
}

.content-column {
 display:flex;
 flex-direction:column;

 gap:1.5rem;
}

.content-row {
 display:flex;
 width:calc(100% - 12.5rem);

 gap:1.5rem;
}

.content-row2 {
 display:flex;
 width:100%;

 gap:1.5rem;
}

.content-row3 {
 display:flex;
 width:100%;

 gap:1.5rem;
}

.content__box {
 display:flex;
 flex-direction:column;
 align-items:center;
 position:relative;
 width:calc(100% / 3 - 1.5rem);
 padding:1.25rem;
 background:#f6f9b2;
 text-align:center;

 gap:1rem;
}

.content__box--c-blue {
 background:#d7f8fe;
}

.content__box--c-red {
 background:#ffe2e2;
}

.content__box--white {
 border:solid 1px;
 background:#ffffff;

 gap:.5rem;
}

.content__sample {
 margin-block:1rem;
}

.content__poster {
 width:80%;

 margin-inline:auto;
}

.content__text,
.content__text2,
.content__text3 {
 width:calc(100% - 12.5rem);
 margin:.5rem 0 0;
 padding:0;
 word-break:break-all;
}

.content__text2 {
 margin:0;
}

.content__text3 {
 width:100%;
}

.content__text li,
.content__text2 li,
.content__text3 li {
 display:flex;
}

.content__text li::before,
.content__text2 li::before,
.content__text3 li::before {
 content:"・";
}

.content__attention {
 display:flex;
 line-height:1.5rem;
}

.content__attention::before {
 content:"※";
}

@media screen and (max-width: 780px) {
 .content-row,
 .content-row2 {
  flex-direction:column;
  width:100%;
 }

 .content-row3 {
  display:flex;
  flex-wrap:wrap;
  width:100%;

  gap:.5rem;
 }

 .content__box {
  width:85%;
 }

 .content__text,
 .content__text2 {
  width:100%;
 }
}

.section {
 display:flex;
 flex-direction:column;
 align-items:center;
 position:relative;
 width:calc(95% - 5rem);
 max-width:1000px;
 margin:auto;
 padding:3.5rem 2.5rem;
 border:solid 3px #72c340;
 box-shadow:5px 5px 0 0 #dbe122;
 background:#ffffff;

 gap:2.5rem;
}
/* .section::before {
  position: absolute;
  content: url(../images/deco-top-left.svg);
  top: -3px;
  left: -3px;
} */
.section:before {
 display:inline-block;
 position:absolute;
 top:-2px;
 left:-2px;
 width:141px;
 height:47px;
 background-image:url(../images/deco-top-left.svg);
 background-size:contain;
 background-repeat:no-repeat;
 vertical-align:middle;
 content:"";
}
/* .section::after {
  position: absolute;
  content: url(../images/deco-lower-right.svg);
  bottom: -3px;
  right: -3px;
} */
.section:after {
 display:inline-block;
 position:absolute;
 right:-2px;
 bottom:-2px;
 width:141px;
 height:47px;
 background-image:url(../images/deco-lower-right.svg);
 background-size:contain;
 background-repeat:no-repeat;
 vertical-align:middle;
 content:"";
}
@media screen and (max-width: 780px) {
 .section {
  padding:3.5rem 1.5rem;
 }
 .section:before {
  width:100px;
  height:33px;
 }
 .section:after {
  width:100px;
  height:33px;
 }
}

/* レイアウト -------------------------*/

/* 終了表示 -------------------------*/
.end {
 position:relative;
 z-index:1;

 pointer-events:none;
}
.end::before {
 display:block;
 position:absolute;
 top:50%;
 left:50%;
 z-index:2;
 transform:translate(-50%,-50%);
 width:100%;
 height:100%;
 background-color:#00000073;
 content:"";

 padding-block:.5rem;
}
.end::after {
 display:block;
 position:absolute;
 top:50%;
 left:50%;
 z-index:2;
 transform:translate(-50%,-50%);
 width:100%;
 color:#ffffff;
 font-weight:900;
 font-size:1rem;
 text-align:center;
 content:"終了いたしました";
}
/* 終了表示 -------------------------*/

/* 仕切り線 -------------------------*/
hr {
 height:0;
 margin:0;
 padding:0;
 border:0;
}
.hr1 {
 width:100%;
 border-top:1px solid #bacfc9;
}
/* 仕切り線 -------------------------*/

/* map -------------------------*/
.map-container {
 width:45%;
}

.map-container iframe {
 width:100%;
 height:-webkit-fill-available;
 border:0;
 border-radius:4px;
}
@media (max-width: 780px) {
 .map-container {
  width:100%;
 }

 .map-container iframe {
  width:100%;
  height:160px;
 }
}

/* map -------------------------*/

/* TOPページ -------------------------*/

.top-mv {
 /* margin: 0 calc(50% - 50vw); */
 position:relative;
 width:100%;
}

.top-mv__content {
 display:flex;
 flex-direction:column;
 position:absolute;
 top:50%;
 left:36%;
 transform:translate(-50%, -50%);
 width:45%;

 padding-block:7px;
 gap:1rem;
}

.top-mv__text-box {
 display:flex;
 flex-direction:column;
 padding:1rem;
 border:solid 1px;
 background-color:#efffeecc;
 color:#1c1c25;

 gap:1rem;
}
.top-mv__text-group {
 display:flex;
 align-items:center;
}

.top-mv__text-unit {
 display:flex;
 flex-wrap:wrap;

 gap:1rem;
}

.top-mv__sub-text {
 font-weight:var(--text-w500);
 font-size:var(--text-size-m);
}

.top-mv__text-unit .top-mv__sub-text {
 width:calc(50% - .5rem);
}

.top-mv__sub-ttl {
 width:20%;
 font-weight:var(--text-w700);
 font-size:var(--text-size-m);
}

.top-mv__buttons {
 display:flex;

 gap:clamp(6px, 2vw, 16px);
}

.top-mv__buttons a {
 display:flex;
 justify-content:center;
 align-items:center;

 gap:.5rem;
}

@media screen and (max-width: 769px) {
 /* .top-mv {
    background-image: url(../images/main_sp.webp);
    height: 100vh;
    background-position-x: center;
  } */

 .top-mv__sub-ttl {
  width:100%;
 }

 .top-mv__text-group {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;

  gap:inherit;
 }
 .top-mv__content {
  display:flex;
  flex-direction:column;
  position:absolute;
  top:93%;
  left:50%;
  transform:translate(-50%, -50%);
  width:80%;

  padding-block:7px;
  gap:1rem;
 }
}

.l-wrap {
 width:-webkit-fill-available;
}

.news {
 display:flex;
 flex-direction:row;
 align-items:flex-start;
 padding:2rem 2.5rem;

 gap:1.5rem;
}

.news__text-box {
 display:flex;
 flex-direction:column;
 margin:0;
 padding:0;
 color:#16362f;

 gap:1rem;
}

.news__text-group {
 display:flex;
 align-items:center;

 gap:1rem;
}

.news__text {
 color:#13a95b;
}

.news__text:hover {
 opacity:.5;
}

.news__text--bold {
 color:var(--txt-color-green);
 font-weight:var(--text-w900);
 font-size:var(--text-size-m);
}

@media screen and (max-width: 780px) {
 .news {
  flex-direction:column;
  padding:2rem 1.5rem;
 }

 .news__text--bold,
 .news__text {
  margin-block:0;
 }

 .news__text {
  display:-webkit-box;
  overflow:hidden;

  -webkit-box-orient:vertical;
  text-overflow:ellipsis;
  -webkit-line-clamp:1;
 }
}

/* TOPページ -------------------------*/

/* 一般参加 -------------------------*/

.company-list__text {
 padding:4rem 0;
 font-size:var(--text-size-l);
}

/* 一般参加 -------------------------*/

/* キャンペーン -------------------------*/
.campaign .content__attention {
 color:#768481;
}
/* キャンペーン -------------------------*/

/* パンくずリスト------------------------- */
.breadcrumb {
 list-style:none;
 max-width:1120px;
 margin:0 auto;
 padding:10px 16px;
 border-radius:4px;
 background-color:#ffffff;
}

.breadcrumb__li {
 display:inline;
 font-weight:700;
 font-size:14px;
}

.breadcrumb__url {
 color:#000000;
 text-decoration:none;
}

.breadcrumb__url:hover {
 color:#6c757d;
 text-decoration:none;
}

.breadcrumb__li:last-child {
 color:#6c757d;
}

@media screen and (max-width: 780px) {
 .breadcrumb__li {
  font-size:12px;
 }
}

/* パンくずリスト------------------------- */

/* スクロールダウン------------------------- */
.scroll-down {
 position:absolute;
 bottom:10px;
 left:50%;
 height:50px;
}

.scroll-down span {
 position:absolute;
 top:-32px;
 left:-33px;
 color:#eeeeee;
 font-size:1.5rem;
 letter-spacing:.05em;
}

.scroll-down::after {
 opacity:0;
 position:absolute;
 top:0;
 width:3px;
 height:30px;
 background:#eeeeee;
 content:"";
 animation:pathmove 1.4s ease-in-out infinite;
}

@keyframes pathmove {
 0% {
  opacity:0;
  top:0;
  height:0;
 }
 30% {
  opacity:1;
  height:30px;
 }
 100% {
  opacity:0;
  top:50px;
  height:0;
 }
}

@media screen and (max-width: 780px) {
 .scroll-down {
  display:none;
 }
}

.point-img {
 width:70%;
 margin:auto;
}

@media screen and (max-width: 780px) {
 .point-img {
  width:90%;
  margin:auto;
 }
}
/* スクロールダウン------------------------- */

/* 一般------------------------- */

/* 一般------------------------- */

/* 企業ブース------------------------- */

.company-list__contents {
 width:calc(100% / 3 - 1.5rem);
}

.content__box--company-list {
 display:flex;
 flex-direction:column;
 align-items:center;
 width:calc(100% / 3 - 1.5rem);
 padding:1.25rem;
 background:#ffffff;
 text-align:center;

 gap:1rem;
}

.company-list__box {
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
 position:relative;
 height:14rem;
 padding:1.25rem;
 border:solid 1px;
 background:#ffffff;
 text-align:center;

 gap:.5rem;
}

.company-list__mark {
 position:absolute;
 top:0;
 left:0;
 padding:.3rem .5rem;
 background:#000000;
 color:#ffffff;
 font-size:var(--text-size-m);
}

.company-list__btn {
 display:flex;
 flex:none;
 flex-grow:0;
 flex-direction:row;
 align-items:center;
 order:0;
 width:9rem;
 height:28px;
 margin:1rem auto;
 padding:6px 16px;
 border:1px solid #13a95b;
 border-radius:1000px;
 box-sizing:border-box;
 background:#ffffff;
 color:#13a95b;
 font-weight:bold;

 gap:4px;
}

.company-list__btn:hover {
 opacity:.5;
}

.logo {
 width:100%;
 height:fit-content;
}

.saga-logo {
 width:100%;
 height:auto;
}

@media screen and (max-width: 780px) {
 .company-list__contents {
  width:calc(100% / 2 - .25rem);
 }
 .company-list__box {
  height:clamp(6rem, 30vw, 14rem);
 }

 .company-list__btn {
  width:90%;
  font-size:.8rem;
 }
}
/* 企業ブース------------------------- */
/* ユーティリティ-------------------------------- */
.mt-1 {
 margin-top:1rem;
}
.mt-2 {
 margin-top:2rem;
}
.mt-3 {
 margin-top:3rem;
}
.mb-1 {
 margin-bottom:1rem;
}
.mb-2 {
 margin-bottom:2rem;
}
.mb-3 {
 margin-bottom:3rem;
}

/* ユーティリティここまで-------------------------------- */
/* チケット-------------------------------- */
#ticket {
 scroll-margin:80px;
}
@media (max-width: 768px) {
 #ticket {
  scroll-margin:40px;
 }
}
.ticket {
 position:relative;
 background-color:#6eb516;
}
.ticket::before {
 position:absolute;
 top:0;
 left:0;
 z-index:0;
 width:100%;
 height:100%;
 background-image:repeating-linear-gradient(
 to right,
 rgba(255, 255, 255, .25) 0,
 rgba(255, 255, 255, .25) 2px,
 transparent 2px,
 transparent 40px
 ),
 repeating-linear-gradient(
 to bottom,
 rgba(255, 255, 255, .25) 0,
 rgba(255, 255, 255, .25) 2px,
 transparent 2px,
 transparent 40px
 );
 content:"";

 pointer-events:none;
}
.ticket__wrapper {
 position:relative;
 z-index:1;
 max-width:1000px;

 padding-inline:2rem;
 padding-block:5rem 2rem;
 margin-inline:auto;
}
.ticket__ttl {
 position:absolute;
 top:0;
 left:50%;
 transform:translate(-50%, -50%);
 width:50%;

 margin-inline:auto;
}
.ticket__desacription {
 width:fit-content;
 padding:12px 20px;
 background-color:#fff600;
 color:#16362f;
 font-weight:900;
 font-size:clamp(1rem, .648rem + 1.56vw, 1.625rem);
 text-align:center;

 margin-inline:auto;
}
.ticket__btn-list {
 display:grid;

 grid-template-columns:repeat(4, 1fr);
 gap:16px;
 padding-block:1rem;
}
.ticket__btn {
 transition:transform .3s ease;

 filter:drop-shadow(0px 4px 8px #00000040);
}
.ticket__btn:hover {
 transform:translateY(-4px);
}
@media (max-width: 768px) {
 .ticket__btn-list {
  display:grid;

  grid-template-columns:repeat(2, 1fr);
  gap:16px;
  padding-block:1rem;
 }
 .ticket__ttl {
  width:80%;
 }
 .ticket__wrapper {
  padding-inline:1.5rem;
  padding-block:3rem 1rem;
 }
}
/* チケットここまで------------------------- */
/* ボタンリンク-------------------------------- */
.btn-link {
 display:grid;
 max-width:1000px;

 grid-template-columns:1fr 1fr;
 margin-inline:auto;
 gap:32px;
 padding-block-end:6rem;
}
.btn-link--flex {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;

 gap:12px;
}
@media (min-width:769px) {
 .btn-link--flex {
  flex-wrap:nowrap;

  gap:32px;
 }
}
.btn-link--flex .btn-link__btn {
 width:48%;
}
@media (min-width:769px) {
 .btn-link--flex .btn-link__btn {
  width:30%;
 }
}

.btn-link__btn {
 transition:transform .3s ease;

 filter:drop-shadow(0px 4px 8px #00000040);
}
.btn-link__btn:hover {
 transform:translateY(-4px);
}
@media (max-width: 768px) {
 .btn-link {
  grid-template-columns:1fr;
  padding-inline:2rem;
  padding-block-end:2rem;
 }
}
/* ボタンリンクここまで------------------------- */
/* 限定グッズ-------------------------------- */
.limited__ttl {
 position:absolute;
 top:0;
 left:50%;
 transform:translate(-50%, -50%);
 width:50%;

 margin-inline:auto;
}
.limited__wrapper {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 align-items:center;
 width:100%;

 padding-block:1rem;
 gap:1rem;
}

.limited__goods {
 flex-basis:calc(50% - 16px);
}

.limited__goods__title {
 display:flex;
 justify-content:center;
 align-items:center;
 color:#1c1c25;
 font-weight:900;
 font-size:clamp(1rem, .789rem + .94vw, 1.375rem);
}
.limited__goods__title__label-wrapper {
 display:flex;
 align-items:center;

 gap:8px;
 margin-inline-end:12px;
}
.limited__goods__title__label {
 padding:4px 8px;
 border-radius:3px;
 color:#ffffff;
 font-weight:bold;
 font-size:clamp(.625rem, .555rem + .31vw, .75rem);
}

.limited__goods__title__label--blue {
 background-color:#0083ef;
}

.limited__goods__title__label--green {
 background-color:#50a21d;
}
.limited__goods__title__label--orange {
 background-color:#ef7100;
}
.limited__goods__middle-wrapper {
 display:grid;

 grid-template-columns:1fr 1fr;
 gap:16px;
}
/* .limited__goods__image {
} */

.limited__goods__info {
 display:flex;
 flex-direction:column;

 gap:40px;
 place-self:center;
}

.limited__goods__info__label {
 width:fit-content;
 padding:4px 8px;
 border-radius:3px;
 color:#525252;
 font-weight:bold;
 font-size:clamp(.75rem, .609rem + .63vw, 1rem);
}

.limited__goods__info__label--green {
 background-color:#d1efbe;
}
.limited__goods__info__label--orange {
 background-color:#f8d9b5;
}

.limited__goods__info__price {
 font-weight:900;
 font-size:clamp(1.5rem, 1.148rem + 1.56vw, 2.125rem);
}

.limited__goods__info__price__unit {
 font-size:.5em;
}

.limited__goods__info__notion-wrapper {
 display:flex;
 flex-direction:column;

 gap:4px;
}

.limited__goods__info__notion {
 font-weight:500;
 font-size:clamp(.688rem, .652rem + .16vw, .75rem);
}

.limited__goods__info__notion--green {
 color:#0a8846;
}
.limited__goods__info__notion--red {
 color:#dd0a0a;
}

.limited__goods__info__btn {
 display:flex;
 align-items:center;
 position:relative;
 width:fit-content;
 padding:12px 40px;
 border-radius:1000px;
 background-color:#50a21d;
 color:#ffffff;
 font-weight:900;
 font-size:clamp(.813rem, .707rem + .47vw, 1rem);
 letter-spacing:.075em;
 transition:opacity .3s ease;
}
.limited__goods__info__btn:hover {
 opacity:.8;
}
.limited__goods__info__btn-icon {
 display:inline-block;
 position:absolute;
 top:50%;
 right:8%;
 transform:translateY(-50%);
 width:8px;
 vertical-align:bottom;
}
.limited__goods__info__btn--disabled {
 background-color:#9c9c9c;
 cursor:none;

 pointer-events:none;
}
.limited__goods__info__btn--disabled .limited__goods__info__btn-icon {
 display:none;
}
@media (max-width: 768px) {
 .section.limited {
  padding:1.5rem 1.5rem;
 }
 .limited__ttl {
  width:80%;
 }
 .limited__goods__title {
  flex-direction:column;
  align-items:flex-start;

  gap:4px;
 }
 .limited__goods {
  flex-basis:100%;
 }
 .limited__goods__middle-wrapper {
  grid-template-columns:40% 1fr;
  gap:4px;
 }

 .limited__goods__title__label-wrapper {
  gap:4px;
 }
 .limited__goods__info__btn {
  flex:1;
 }
 .limited__goods__info__btn--disabled {
  display:flex;
  justify-content:center;
  align-items:center;
  width:auto;
  padding:12px 16px;
 }
 .limited__goods__info {
  gap:16px;
 }
}
/* 限定グッズここまで------------------------- */
/* 固定ボタン------------------------- */
.fixed-btn {
 position:fixed;
 right:2%;
 bottom:4%;
 z-index:100;
 width:280px;
}
@media (max-width: 768px) {
 .fixed-btn {
  right:2%;
  bottom:3%;
  width:180px;
 }
}
/* 固定ボタンここまで------------------------- */
/* メインビジュアル------------------------- */
.main-visual__wrapper {
 display:grid;

 grid-template-columns:1fr 1fr;
 gap:16px;
}
.main-visual__image {
}

.main-visual__info {
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;

 gap:40px;
}

.main-visual__info__intro {
 position:relative;
 padding:12px 20px;
 border-radius:1000px;
 background-color:#e6ff58;
 color:#1c1c25;
 font-weight:900;
 font-size:clamp(1rem, .93rem + .31vw, 1.125rem);
 line-height:20px;
 text-align:center;
}
.main-visual__info__intro::after {
 position:absolute;
 right:30%;
 bottom:0;
 border-width:16px 16px 0 0;
 border-style:solid;
 border-color:#e6ff58 transparent transparent;
 content:"";

 translate:-50% 100%;
}
.main-visual__info__artist {
 display:flex;
 flex-direction:column;
 align-items:center;

 gap:4px;
}

.main-visual__info__label {
 color:#13a95b;
 font-size:20px;
}

.main-visual__info__name {
 color:#16362f;
 font-weight:900;
 font-size:clamp(1.625rem, 1.344rem + 1.25vw, 2.125rem);
}
.main-visual__info__introduction {
 font-weight:bold;
 font-size:16px;
 text-align:center;

 padding-inline:20px;
}
.main-visual__info__sns-wrapper {
 display:flex;

 gap:12px;
}

.main-visual__info__sns {
 width:36px;
}
@media (max-width: 768px) {
 .main-visual__wrapper {
  grid-template-columns:1fr;
  gap:32px;
 }
 .main-visual__info {
  gap:20px;
 }
}
/* メインビジュアルここまで------------------------- */
