/* 共通 */
html {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  padding-top: 60px;
  
}

body{
  font-family: 'Zen Kaku Gothic New', sans-serif;
  color: #333;
}

.header-logo {
  width: 150px;
  padding: 5px 15px
}

@media screen and (min-width: 1024px) {
  .header-logo {
    width: 200px;
    padding: 10px 20px;
    margin-left: 20px;
  }
}

.crowd-funding{
  width: 200px;
  }
@media screen and (min-width: 1024px){
  .crowd-funding {
  padding-left: 3%;
  font-family: 'Zen Kaku Gothic New';
  font-size: 1.5rem;
  font-weight: 500;
  }
}

.main,.main-curry,.curry-contents {
  width: 100%;
  max-width: 767px;
  margin: 0 auto !important;
}
.sponsorship,.cooperation {
  width: 100%;
  max-width: 767px;
  margin: 2rem auto 1rem !important;
}

.curry-breadcrumb {
  width: 100%;
  max-width: 767px;
  margin: 1rem auto !important;
}

@media screen and (min-width: 1024px){
  .main,.sponsorship,.cooperation {
    width: 80%;
    max-width: 1920px;
  }

  .curry-breadcrumb {
    width: 80%;
    max-width: 1920px;
    margin: 1rem auto !important;
  }

  .main-curry,.curry-contents {
    width: 60%;
    max-width: 1920px;
  }
}

footer {
  /* height: 200px; */
  background-image: url(../img/OM_W_S_Footer_Lattice.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.image-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
}

@media screen and (min-width: 1024px) {
  .image-circle {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
  }
}

@media screen and (min-width: 1024px) {
  footer {
    /* height: 200px; */
    background-image: url(../img/OM_W_P_Footer_Lattice.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }
}

.br-pc {
  display: none !important;
}

@media screen and (min-width: 1024px) {
  .br-sp {
    display: none !important;
  }

  .br-pc {
    display: initial !important;
  }
}

a.top-back {
  position: fixed;
  bottom: 50px;
  right: 20px;
  width: 48px;
  height: 48px;
  text-decoration: none;
  background-color: #666666;
  display: block;
  text-align: center;
  border-radius: 24px;
}

a.top-back::before {
  content: '\f077';
  font-family: 'Font Awesome 6 Free';
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  line-height: 48px;
}

@media screen and (min-width: 1024px) {
  a.top-back {
    bottom: 120px;
  }
}

.ec-shop-link {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45px;
    background-color: #666666;
    color: #fefefe;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* @media screen and (min-width: 1024px) {
  .ec-shop-link {
    height: 45px;
  }
} */

.first-view-curry {
  background-color: #ffd126;
  position: relative;
}

.first-view__image-pc,.logo__pc,.concept__image-pc {
  display: block !important;
}
.first-view__image-sp,.logo__sp,.concept__image-sp {
  display: none !important;
}

.curryfes-img {
  width: 70%;
  margin: 0 auto;
}

.curry-man__sp {
  width: 50%;
  position: absolute;
  top: -2%;
  right: 0;
}

.curry-man-info__sp {
  margin-bottom: 2rem
}

.curry-man-info,.curryfes-info {
  width: 80%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .curry-man__sp {
    width: 40%;
    position: absolute;
    top: -7%;
    right: 0;
}
}

@media screen and (min-width: 1024px) {
  .curry-man__pc {
    width: 15%;
    position: absolute;
    bottom: -30%;
    left: 13%;
  }

  .curry-man-info__store {
    position: relative;
  }

  .curry-man-info__pc {
    max-height: 100%;
    position: absolute;
    top: 0;
    left: 100%;
  }
  .curry-man__sp,.curry-man-info__sp,.stores-map-img__sp-image {
    display: none !important;
  }
}


@media screen and (max-width: 1023px) {
.first-view__image-pc,.logo__pc,.concept__image-pc,.stores-map-img__pc-image {
  display: none !important;
}
.first-view__image-sp,.logo__sp,.concept__image-sp,.stores-map-img__sp-image {
  display: block !important;
}
.curry-man__pc,.curry-man-info__pc{
  display: none !important;
}

.curry-man__sp,.curry-man-info__sp{
  display: block !important;
}

.curry__text {
  position: relative;
}
}


.description-shopkeeper__contents,.description-artist__contents {
  border-top: 1px dashed #333;
  border-bottom: 1px dashed #333;
}

.sns-svg {
  max-width: initial;
  width: 40px;
}

.sponsorship__logo-img {
  max-width: initial;
  width: 100px;
}

.sponsorship__logo-img_80 {
  width: 80px;
}

.sponsorship__logo-img--other {
  max-width: initial;
  margin: 0 auto;
  width: 90px;
}

.sponsorship__logo-a{
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .sponsorship__logo-img {
    width: 150px;
  }

  .sponsorship__logo-img_80 {
    width: 120px;
  }

  .sponsorship__logo-img--other {
    width: 130px;
  }
  .sponsorship__logo-a {
    margin: 0 2rem;
  }
}


/* 共通ここまで */

/* ハンバーガーメニュー　修正版 */
header {
  height: 60px;
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  justify-content: start;
  align-items: center;
  z-index: 90;
  background: #fff;
}
/* hamburgerここから */
	/* inputを非表示 */
  .input-hidden{
    display: none;
  }
    /* label */
  .hamburger-switch{
    cursor: pointer;
    position: absolute;
    right: 5px;
    top: 0; /* ハンバーガーアイコンの位置（上から） */
    z-index: 9999;
    width: 4em; /* アイコン（クリック可能領域）の幅 */
    height: 4em; /* アイコン（クリック可能領域の）高さ */
  }
  .hamburger-text {
    position: fixed;
    top: 0;
    right: 50px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    /* background: #3584bb; */
  }
  /* メニュー展開時にハンバーガーアイコンを固定 */
  #hamburger:checked ~ .hamburger-switch{
    position: fixed;
  }
  /* ハンバーガーアイコン */
  .hamburger-switch-line1, .hamburger-switch-line1-before, .hamburger-switch-line1-after{
    width: 25px;
    height: 3px;
    background: #333; /* ハンバーガーアイコンの色 */
    position: absolute;
    top: 50%;
    left: 50%;
    transition: .3s;
    content: "";
  }
  .hamburger-switch-line1{
      transform: translate(-50%, -50%);
  }
  .hamburger-switch-line1-before{
    transform: translate(-50%, -300%);
  }
  .hamburger-switch-line1-after{
    transform: translate(-50%, 200%);
  }
  /* ハンバーガーアイコン･アニメーション */
  #hamburger:checked ~ .hamburger-switch .hamburger-switch-line1{
    width: 0;
  }
  #hamburger:checked ~ .hamburger-switch .hamburger-switch-line1-before{
    transform: rotate(45deg) translate(-40%, 325%);
  }
  #hamburger:checked ~ .hamburger-switch .hamburger-switch-line1-after{
    transform: rotate(-45deg) translate(-40%, -325%);
  }
  /* メニューエリア */
  .hamburger-menuwrap{
    position: fixed;
    height: 100%;
    background: #e8e8e8; /* メニューエリアの背景色 */
    opacity: 0.9;
    padding: 5rem 2rem 2rem;
    z-index: 9998;
    transition: .3s;
    overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
    top: 0;
    left: 100%;
    width: 100%;
  }
  /* メニューリスト */
  .hamburger-menulist{
    margin-right: 3%;
    padding-left: 5% !important; /* !important不要な場合もあり */
    list-style: none;
  }
  .hamburger-menulist .hamburger-menulist__link{
    font-size: 1.15rem;
    text-decoration: none;
    color: #333; /* メニューリストの文字色 */
    display: block;
    padding: 10px 0;
  }

  .hamburger-menulist .hamburger-menulist__link--indent{
    font-size: 1.15rem;
    text-decoration: none;
    color: #333; /* メニューリストの文字色 */
    display: block;
    padding: 10px 0 10px 15px;
  }

  /* メニューエリア･アニメーション */
    /* 右から */
  #hamburger:checked ~ .hamburger-menuwrap{
    left: 0;
  }
  @media screen and (min-width: 1024px) {
    #hamburger:checked ~ .hamburger-menuwrap {
      left: 70%;
    }
    .hamburger-menuwrap{
      position: fixed;
      height: 100%;
      background: #e8e8e8; /* メニューエリアの背景色 */
      opacity: 0.9;
      padding: 5em 3% 2em;
      z-index: 9998;
      transition: .3s;
      overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
      top: 0;
      left: 100%;
      width: 30%;
    }
    /* メニューリスト */
    .hamburger-menulist{
      margin-right: 3%;
      padding-left: 5% !important; /* !important不要な場合もあり */
      list-style: none;
    }
    .hamburger-menulist .hamburger-menulist__link{
      font-size: 1.25rem;
      text-decoration: none;
      color: #333; /* メニューリストの文字色 */
      display: block;
      padding: 15px 0;
    }
    .hamburger-menulist .hamburger-menulist__link--indent{
      font-size: 1.25rem;
      text-decoration: none;
      color: #333; /* メニューリストの文字色 */
      display: block;
      padding: 15px 0 15px 15px;
    }
  }
/* ハンバーガーメニューここまで */


/* パンくず ここから*/
.breadcrumb {
  font-size: 0.75rem;
  margin: 0 1rem;
  padding: 0 1rem;
  /* width: 100%; */
  list-style: none;
}
@media screen and (min-width: 1024px)  {
  .breadcrumb {
    font-size: 0.75rem;
    margin: 0 2rem;
    padding: 0 0.75rem;
    /* width: 100%; */
    list-style: none;
  }
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: bold;/*太字*/
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #555;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #333333;/*色*/
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

.breadcrumb li a h1 {
  display: inline;
}
/* パンくず ここまで */

/* スライダー ここから */
.slider_box {
  width: 80%;
	margin:0 auto 30px;
	clear:both;
}
.slider_box img {
	width: 100%;
  padding: 0 10px;
	height: auto;
}
/* thumb-item */
.thumb-item {
	max-width: 700px;
	margin: 0 auto 7px;
	padding: 0;
}
.thumb-item img{
	position: relative;
}
.thumb-item p{
	width:100%;
	color:#FFF;
	text-align:center;
	position: absolute;
	bottom: 0;
	left: 0;
	padding:1%;
	background-color:#000;
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.thumb-item-nav {
	max-width: 700px;
	margin: 0 auto;
}
.thumb-item-nav li{
	margin: 5px;
}

.thumb-item-nav .slick-next{
	right: 20px;
	z-index: 99;
}
.thumb-item-nav .slick-prev{
	left: 15px;
	z-index: 100;
}

/* 参加店舗一覧 */

.stores__contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media screen and (min-width: 1024px)  {
  .stores__contents {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
  }
}


/* 参加店舗一覧のカード */
.card-store {
  margin-bottom: 1rem;
}

.card-store__info {
  height: 100%;
}
.card-store__img {
  object-fit: cover;
  width: 100%;
  height: 150px;
}

@media screen and (min-width: 768px)  {
  /* .card-store__info {
    height: 320px;
  } */
  .card-store__img {
    object-fit: cover;
    width: 100%;
    height: 200px;
  }
}

@media screen and (min-width: 1024px)  {
  .card-store {
    margin-bottom: 1rem;
  }
  
  /* .card-store__info {
    height: 380px;
  } */
  .card-store__img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: 200px;
  }
}

@media screen and (min-width: 1536px)  {
  .card-store__img {
    max-height: 300px;
  }
}

/* 参加アーティスト一覧 */
.artists__contents {
  display: grid;
  grid-template-columns: 150px 150px;
  gap: 1rem;
}

@media screen and (min-width: 768px)  {
  .artists__contents {
    grid-template-columns: 300px 300px;
  }
}

@media screen and (min-width: 1024px)  {
  .artists__contents {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
  }
}

/* 参加アーテイスト一覧のカード */
.card-artist {
  margin-bottom: 1.5rem;
}

.card-artist__info {
  height: 100%;
}
.card-artist__img {
  object-fit: contain;
  margin: 0 auto;
  width: 150px;
  height: 150px;
}

@media screen and (min-width: 768px)  {
  /* .card-artist__info {
    height: 300px;
  } */
  .card-artist__img {
    width: 100%;
    height: initial;
  }
}

@media screen and (min-width: 1024px)  {
  .card-artist {
    margin-bottom: 1rem;
  }
  
  /* .card-artist__info {
    height: 100%;
  } */
  .card-artist__img {
    width: 100%;
    height: initial;
  }
}


/* コラボ一覧 */
.stories__contents {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media screen and (min-width: 1024px)  {
  .stories__contents {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
  }
}

/* コラボストーリー詳細ページ */

.multiple-item_story-book_fv img {
  height: 300px;
  object-fit: cover;
}

@media screen and (min-width: 1024px)  {
  .multiple-item_story-book_fv img {
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
  }

  .slider_box .collabo-work__img {
    height: 650px;
    object-fit: contain;
  }
}
/* .store {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
}

.store-info {
  grid-row: 1/3;
  grid-column: 1/2;
}

.store-info__map {
  grid-row: 1/4;
  grid-column: 2/3;
}

.store-info__slider {
  grid-row: 3/4;
  grid-column: 1/2;
} */

/* iframeでのGoogleMAP差し込み */
.iframe-map{
  margin: 2rem auto;
}
@media screen and (min-width: 1024px)  {
  .iframe-map{
    margin: 4rem auto;
  }
}

/* 応援ボタン、ECサイトへのリンクボタン */
.button {
  width: 250px;
  /* height: 60px; */
  border: 0;
  outline: 0;
  border-radius: 100vh;
  padding: 16px;
  background-color:#EBECF0;
  /* text-shadow: 1px 1px 0 #fff; */
  font-weight: bold;
  box-shadow: -5px -5px 20px #fff,  5px 5px 20px #BABECC;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  font-weight: 600;
}

.button__message {
  color: #FFF;
  /* background-color: #E95550; */
  /* box-shadow:  -5px -5px 20px #c64844, 5px 5px 20px #ff625c; */
}

.button__buy {
  color: #FFF;
  /* background-color: #72C6D0; */
}

.button:hover {
    box-shadow: -2px -2px 5px #fff, 2px 2px 5px #BABECC;
  }

.button:active {
    box-shadow: inset 1px 1px 2px #BABECC, inset -1px -1px 2px #fff;
}

@media screen and (min-width: 1024px)  {
  .button {
    width: 350px;
  }
}

/* クーポンエリア */
.support-message {
  border: 5px solid #E95550;
  border-radius: 25px;
}

.support-message__headline {
  color: #E95550;
}

.support-message__coupon {
  background-color: #E95550;
  color: #fff;
}

.support-message__coupon-get {
  margin: 0 auto;
}

.support-message__circle-text {
  border: solid 5px #E95550;
  color: #E95550;
  border-radius: 50%;
  width: 130px;
  height: 130px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 10px 0;
}

@media screen and (min-width: 1024px)  {
  .support-message__circle-text {
    width: 180px;
    height: 180px;
  }
}

.support-buy {
  border: 5px solid #72C6D0;
  border-radius: 25px;
}

.support-buy__area {
  display: grid;
  grid-template-rows: 1fr auto auto auto auto auto ;
  grid-template-columns:1fr 1fr 1fr;
}

/* grid  grid-rows-5 grid-cols-3 lg:grid-rows-3 lg:grid-cols-11 */

.support-buy__image {
  grid-column-start: 1;
  grid-column-end: 2;
  grid-row-start: 1;
  grid-row-end: 2;
  justify-self: center;
}

/* col-start-1 col-end-2 row-start-1 row-end-2 lg:col-start-1 lg:col-end-3 lg:row-start-1 lg:row-end-3 */

.support-buy__headline {
  color: #72C6D0;
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 2;
}

/* col-start-2 col-end-4 row-start-1 row-end-2 lg:col-start-3 lg:col-end-12 lg:row-start-1 lg:row-end-2 */

.support-buy__text {
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 2;
  grid-row-end: 3;
}

/* row-start-2 row-end-3 lg:col-start-3 col-start-1 col-end-4 lg:col-end-8 lg:row-start-2 lg:row-end-3 */

.support-buy__art-text {
  border: 3px solid #72C6D0;
  color: #72C6D0;
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 3;
  grid-row-end: 4;
  width: 100%;
  margin: 1rem auto;
}

/* row-start-3 row-end-4 col-start-1 col-end-4 lg:row-start-3 lg:col-start-3 lg:col-end-10 */

.support-buy__art-subtext {
  color: #72C6D0;
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 5;
  grid-row-end: 6;
  margin: 1rem auto 0;
}

/* row-start-5 row-end-6 col-start-1 col-end-4  lg:row-start-3 lg:col-start-3 lg:col-end-10 */

.support-buy__art-image {
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 4;
  grid-row-end: 5;
  width: 90%;
  margin: 0 auto;
}

/* row-end-5 col-start-1 col-end-4 lg:row-start-2 lg:row-end-4 lg:col-start-9 lg:col-end-12 */

@media screen and (min-width: 1024px)  {
  .support-buy__area {
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .support-buy__image {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 3;
  }

  .support-buy__headline {
    grid-column-start: 3;
    grid-column-end: 12;
    grid-row-start: 1;
    grid-row-end: 2;
  }

  .support-buy__text {
    grid-column-start: 3;
    grid-column-end: 8;
    grid-row-start: 2;
    grid-row-end: 3;
  }

  .support-buy__art-text {
    grid-column-start: 3;
    grid-column-end: 10;
    grid-row-start: 3;
    grid-row-end: 4;
    width: initial;
    margin: initial;
  }

  .support-buy__art-subtext {
    grid-column-start: 3;
    grid-column-end: 10;
    grid-row-start: 3;
    grid-row-end: 4;
    margin: initial;
  }

  .support-buy__art-image {
    grid-column-start: 9;
    grid-column-end: 12;
    grid-row-start: 2;
    grid-row-end: 4;
    height: 200px;
    object-fit: cover;
  }
}


/* 店舗マップ */
.map-number {
  color: white;
  border: 1px solid #DB534E;
  background-color: #DB534E;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
}

.stores-map-time,.stores-map-holiday {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.stores-map-contents {
  margin-bottom: 1rem;
  height: 100%;
}

.stores-map-contents__image {
  object-fit: cover;
  margin: 0 auto;
  width: 100%;
  height: auto;
}

.stores-map-contents__image-other {
  object-fit: cover;
  margin: 0 10px 0 0;
  width: 50%;
  height: auto;
}

@media screen and (min-width: 1024px)  {
  .stores-map-contents__image {
    height: auto;
  }

  .stores-map-contents {
    margin-bottom: 1.5rem;
  }
}


/* 楽しみ方 */

.how-to-explanation__card {
  width: 90%;
  margin: 0 auto;
}

.how-to-explanation__card-img {
  width: 70%;
  margin: 0 auto;
}

.how-to-explanation__card-text {
  margin-top: 10px;
}

.how-to-explanation__card-text--number {
  display: inline-block;
  color: white;
  border: 1px solid #333;
  background-color: #333;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
  margin-right: 5px;
}

.how-to-explanation__card-text--content {
  width: 95%;
}

@media screen and (min-width: 1024px)  {
.how-to-explanation {
  column-gap: 20px;
}

.how-to-explanation__card {
  width: calc(100%/3 - 50px);
  /* flex-grow: calc(30%); */
}

.how-to-explanation__card-img {
  width: 70%;
  margin: 0 auto;
}

.how-to-explanation__card-text {
  margin-top: 10px;
}

.how-to-explanation__card-text--number {
  display: inline-block;
  color: white;
  border: 1px solid #333;
  background-color: #333;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
  margin-right: 5px;
}

.how-to-explanation__card-text--content {
  width: 95%;
}
}