@charset "UTF-8";


* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
	scroll-behavior: smooth;

}
body {
	line-height: 1.4;
	font-size: 1.6rem;
	word-wrap: break-word;
	font-family:"Noto Sans JP", sans-serif;
	font-weight:400;
	background-color: #fff !important;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}
@media (min-width: 769px) {
	body {
		font-size: 1.6rem;
	}
}

h1,h2,h3,h4,h5,h6 {
	font-weight:normal;
	font-size:inherit;
	
}
.sp {
	display:block!important;
}
.pc {
	display:none!important;
}

@media (min-width: 769px) {
.sp {
	display:none!important;
}
.pc {
	display:block!important;
}
}

.pc_br {
	display:none!important;
	
}

.sp_br {
	display:block!important;
}

@media (min-width: 769px) {
.pc_br {
	display:block!important;
}

.sp_br {
	display:none!important;
}

}


img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* color 
buy
ピンク #ED7A9B
青 #014783
食べて
オレンジ #F0831F
参加して
水色 #08B2BB

*/

.mg20 {
	margin: 20px 0;
}

.mg40 {
	margin: 40px 0px !important;
}

.mb40 {
	margin-bottom: 40px;
}

.pb40 {
	padding-bottom: 40px;
}

/* header */

/* 共通 */
.site-header {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	position: relative;
  }
  .header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1000px;
	height: 60px;
	margin: 0 auto;
	padding: 10px 16px;
  }
  .logo a {
	text-decoration: none;
	font-weight: 700;
	font-size: 1.8rem;
	color: #014783;
  }
  
  .global-nav ul {
	display: flex;
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
  }
  .global-nav a {
	text-decoration: none;
	color: #014783;
  }
  
 /* ハンバーガーメニュー */
.hamburger {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 28px;
	height: 20px;
	background: transparent; /* noneでもOK */
	border: none;
	cursor: pointer;
	padding: 0;
	position: relative;
	z-index: 9999;
  }

  
.hamburger span {
	display: block;
	width: 100%;          /* 明示的に幅を付けると安全 */
	height: 3px;
	background-color: #014783 !important;
	border-radius: 2px;
	transition: 0.3s;
  }
  
.hamburger.active span:nth-child(1) {
	transform: rotate(45deg) translate(3px, 5px);
	width: 24px;
}

.hamburger.active span:nth-child(2) {
	opacity: 0; /* 中央バー非表示 */
}

.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -9px);
	width: 24px;
}
    
  /* SPのみ */
  @media (max-width: 768px) {
  
	.global-nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;                /* 画面幅いっぱい */
	height: auto;                /* メニュー分の高さ */
	max-height: 0;               /* 初期状態は閉じる */
	background: rgba(255, 255, 255, 0.95);
	flex-direction: column;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.5s ease, opacity 0.5s ease;
	z-index: 998;
	padding-top: 60px;          /* 上にヘッダー分の余白 */
	}
  
	.global-nav.open {
	display: flex;
	max-height: 500px;           /* メニュー項目分の高さ（調整可能） */
	opacity: 1;
	}
  
	.global-nav ul {
	  flex-direction: column;
	  gap: 20px;
	  padding: 0 16px;
	}
  
	.global-nav li {
	  padding: 10px 0;
	  border-bottom: 1px solid #ccc;
	}
  
	.global-nav li a {
	  display: block;
	  font-size: 18px;
	  color: #014783;
	  text-decoration: none;
	  text-align: center;
	  transition: background-color 0.3s ease;
	}
  
	.global-nav li a:hover {
	  background-color: #f0f0f0;
	}
  }
 
  
  @media (min-width: 769px) {

	.hamburger {
		display: none;

	}

	.header-inner {
		margin: 20px auto;
	}

}


/* main */
.main-header-2025 {
	margin-top: 10px;
}

.main-wrap {
	max-width: 100%;
	padding: 0 16px;
}

.spot-btn-wrap {
	max-width: 70%;
	margin: 20px auto;
}

.foodloss-month-wrap {
	background: #FFE329;
	position: relative;
}

.foodloss-month-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: url("../img/2025/wave-yellow.webp") repeat-x;
	background-size: contain;
	transform: translateY(-25px);
  }

.foodloss-month-innerwrap {
	padding: 20px 20px 70px 20px;
	background: #FFE329;
	margin-top: 50px;
}

.foodloss-month-innerwrap p{
	padding: 15px 10px;
	font-weight: 700;
}

.top-point-wrap {
	position: relative;
	margin-top: -40px; 
	text-align: center;
	z-index: 2; 
  }
  
.top-point-wrap img {
max-width: 100%;
height: auto;
display: inline-block;
}

.wave-wrap-pink{
position: relative;
margin-top: 50px;
background: #ED7A9D;
}

.wave-wrap-pink::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40px;
background: url("../img/2025/wave-pink.webp") repeat-x;
background-size: contain;
transform: translateY(-20px);
}


.wave-wrap-orange {
	margin: -5px 0;
	background: #F0831E;
}

.wave-wrap-blue{
	position: relative;
	margin-bottom: 50px;
	background: #02B3BA;

  }

  .wave-wrap-blue::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: url("../img/2025/wave-blue.webp") repeat-x;
	background-size: contain;
	transform: translateY(35px);
  }




@media (min-width: 769px) {

	.foodloss-month-wrap::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 40px;
		background: url("../img/2025/wave-yellow.webp") repeat-x;
		background-size: contain;
		transform: translateY(-38px);
	  }


	.wave-inner-wrap{
		max-width: 1000px;
		margin: 0 auto;
	}
	
	  .foodloss-month-inner-innerwrap {
		margin: 50px auto 0;
		max-width: 1000px;
	  }

	  .wave-wrap-pink{
		position: relative;
		margin-top: 50px;
	  }
	
	  .wave-wrap-pink::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 40px; /* 波の高さに合わせて調整 */
		background: url("../img/2025/wave-pink.webp") repeat-x;
		background-size: contain; /* 波画像のスケーリング */
		transform: translateY(-25px);
	  }
	
	}
	
	
.howto-wrap {
	padding: 40px 16px 90px;
	background: #024A8A;
}

.howto-img-wrap {
	
}

.howto-wrap p{
	color: #fff;
	text-align: center;
}

.present-wrap{
	background: #FFE329;
	padding: 50px 16px 0;
	position: relative;
}

.present-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: url("../img/2025/wave-yellow.webp") repeat-x;
	background-size: contain;
	transform: translateY(-25px);
  }



.present-innerwrap {
	background: #034885;
}

.present-inner-innerwrap{
	background: #fff;
	margin: 0 16px;
	padding: 5px;
}

.present-inner-innerwrap p{
	padding: 5px 16px;
}

.flex-wrap-btn {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin: 20px 0;
}
  
  .flex-wrap-btn img {
	max-width: 100%;
	height: auto;
	display: block;
}

.iframe-wrap {
	max-width: 1000px;
	height: 400px; 
	width: 100%; 
	margin: 0 auto;
  }
  
  .iframe-wrap iframe {
	width: 100%;
	height: 100%;
	border: 0;
  }
  
  

/* sns */
  .sns-wrap {
	background: #034885;
	padding: 16px;

}

.lets-sns-wrap {
	max-width: 85%;
	margin: 20px auto;
}

.hash-wrap {
	display: block; 
	align-items: center;
	background-color: #f5e9d3;    /* ベージュ背景 */
	border-radius: 50px;          /* 丸みを強めて pill 型に */
	padding: 20px 16px;
	gap: 12px;                    /* テキストとボタンの間 */
	margin: 20px auto;
	max-width: 85%;
  }
  .hash-wrap p {
	text-align: center;
	margin: 0 0 10px 0;
	font-weight: bold;
	color: #034885;                 /* 文字色調整 */
  }

  .hash-wrap a img {
	display: block;
	max-width: 100%;                   /* ボタンを少し小さめ */
	margin: 0 auto;
  }

  
  .sns-btn-wrap {
	position: relative;
	display: flex;
	overflow: visible;
  }
  
  .sns-btn-wrap::before,
  .sns-btn-wrap::after  {
	content: "";
	display: inline-block;
	width: 50%;
	height: auto;
	z-index: 1;
	aspect-ratio: 1 / 1;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
  }

  .sns-btn-wrap::before {
	background: url("../img/2025/sha-l.webp") no-repeat center/contain;
  }
  
  .sns-btn-wrap::after {
	background: url("../img/2025/sha-r.webp") no-repeat center/contain;
  }
  
  .sns-btn-wrap img {
	max-width: 80%;
	position: relative;
	z-index: 2; /* ボタンは上に */
  }
  

/* spot */
.main-header-spot {
	background-color: #fee120;
    background-image: radial-gradient(circle, rgb(255, 238, 163) 4px, transparent 4px);
    background-size: 20px 20px; /* ドットの間隔 */
    text-align: center; /* 画像を中央に */
	padding-bottom: 5px;
}


.flex-wrap-spot-btn {
	display: flex; 
	justify-content: center; 
	gap: 16px; 
	flex-wrap: wrap; 
	padding: 0 16px; 
	margin: 10px 0;
  }
  
  .flex-wrap-spot-btn > div {
	flex: 1; 
	text-align: center;
	min-width: 0px; 
  }
  
  .flex-wrap-spot-btn img {
	max-width: 100%;
	height: auto;
	display: inline-block;
  }
  
  .spot-header {
	
  }

  .spot-list {
    list-style: none;
    padding: 0;
    margin: 40px 20px;
}

/*最後だけ*/
.mglast {
	margin: 40px 20px 20px 20px !important;
}

.spot-list li {
    position: relative;
    padding-left: 45px; 
    margin-bottom: 10px; 
    border-bottom: 1px dotted #ccc;
}

.spot-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px; 
}

.buy-list li::before{
	background: url('../img/2025/buylist-icon.webp') no-repeat center/contain;
}

.eat-list li::before{
	background: url('../img/2025/eatlist-icon.webp') no-repeat center/contain;
}

.participate-list li::before{
	background: url('../img/2025/participatelist-icon.webp') no-repeat center/contain;
}

.spot-list a {
    color: inherit;
    text-decoration: none;
	font-weight: 700;
}

.spot-header-wrap-buy{
	position: relative;
	background: #ED7A9D;
	margin-bottom: 50px;
}

.spot-header-wrap-eat{
	position: relative;
	background: #F0831E;
	margin-bottom: 50px;
}

.spot-header-wrap-participate{
	position: relative;
	background: #02B3BA;	
	margin-bottom: 50px;
}

.spot-header-innerwrap-buy,
.spot-header-innerwrap-eat,
.spot-header-innerwrap-participate {
	max-width: 1000px;
	margin: 0 auto;

}


.spot-header-innerwrap-buy::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: url("../img/2025/wave-spot-pink.webp") repeat-x;
	background-size: contain;
	transform: translateY(40px);
  }

  .spot-header-innerwrap-eat::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: url("../img/2025/wave-spot-orange.webp") repeat-x;
	background-size: contain;
	transform: translateY(40px);
  }

  .spot-header-innerwrap-participate::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: url("../img/2025/wave-spot-blue.webp") repeat-x;
	background-size: contain;
	transform: translateY(39px);
  }

/* buy */


.flex-wrap {
display: flex;         /* 横並びにする */
justify-content: center; /* 中央寄せ（お好みで） */
align-items: center;     /* 高さを揃える */
gap: 16px;               /* 画像の間隔 */
}

.flex-wrap-left {
    flex: 0 0 40%;
    text-align: center;
}

.flex-wrap-right {
flex: 1;
text-align: center;
}

.buy-title-spot {
	color: #ED7A9B;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	margin-top: 30px;
}

h1.buy-title {
	color: #014783;
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
	margin: 20px 0 30px;
}

.shop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
	padding: 10px 0;
    border-bottom: 1px solid #ccc;
}

.shop-name {
    font-weight: 700;
}

.shop-map-link a {
    color: #014783;
    text-decoration: underline;
}

.map-placeholder {
    color: #ccc;
}


.shop-item {
    margin-bottom: 30px;
}


/* eat */
.eat-action-wrap{
	margin: 30px 0;
}

.eat-title-spot{
	color: #F0831F;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	margin-top: 30px;
}

.area-label-wrap {
	text-align: center;
}

.area-label {
	display: inline-block;     
	background-color: #F0831F;
	color: #fff;  
	padding: 6px 30px; 
	border-radius: 9999px; 
	font-size: 2rem; 
	font-weight: 700;
	margin: 20px 0 0;
  }
  
.h2-shop-header{
	font-size: 2rem;
	font-weight: 700;
	color: #024A8A;
	margin: 20px 0;
	text-align: center;
}

.shop-image {
	margin: 20px 0;
}

.shop-text {
	margin: 10px 0 40px;
}

.shop-icon.both {
	max-width: 100px;
	height: auto;
	margin: 20px auto;
  }

.shop-icon.takeout,
.shop-icon.eatup{
	max-width: 50px;
	height: auto;
	margin: 20px auto;
}


/* participate */

.participate-title-spot{
	color: #08B2BB;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	margin: 30px 0 30px;
}

.reception_date{
	font-weight: 700;
}

.participate-text{
	color: #08B2BB;
	font-weight: 700;
}

.participate-text-mb{
	color: #08B2BB;
	font-weight: 700;
	margin-bottom: 30px;
}

.participate-area-label{
	display: inline-block;     
	background-color: #08B2BB;
	color: #fff;  
	padding: 6px 30px; 
	border-radius: 9999px; 
	font-size: 2rem; 
	font-weight: 700;
	margin: 20px 0 0;
  }


/* footer */
.footer {
	margin: 50px auto 0;
}

.footer_title {
	font-size: 1.5rem;
}

.footer_text {
	font-size: 1.3rem;
}

.footer_address {
	font-size: 1.3rem;
}

.full-wrap{

}

.page-wrap {
	max-width: 100%;
}

.page-inner-wrap{
	max-width: 100%;
}

@media (min-width: 769px) {

	.footer {
		margin: 50px auto 0;
	}
	
	.footer_title {
		font-size: 1.5rem;
	}
	
	.footer_text {
		font-size: 2.2rem;
	}
	
	.footer_address {
		font-size: 2rem;
		margin: 0 auto;
	}

	.footer_tel {
		font-size: 3rem;
	}
}

@media (min-width: 769px) {
	.full-wrap{
	
	}
	.page-wrap {
		max-width: 1366px;
	}

	.page-inner-wrap{
		max-width: 1000px;
	
	}
}


@media (min-width: 769px) {
/* top */
.foodloss-month-innerwrap p{
	font-size: 3rem;
	padding: 30px 10px;
}

.hash-wrap p {
	font-size: 3rem;
  }

.howto-wrap p{
	font-size: 3rem;
	text-align: center;
}

	/* spot */
	.main-header-spot {
		max-width: 100%;
		background-color: #fee120;
		background-image: radial-gradient(circle, rgb(255, 238, 163) 4px, transparent 4px);
		background-size: 20px 20px; /* ドットの間隔 */
		text-align: center; /* 画像を中央に */
		padding-bottom: 5px;
	}

	.main-header,
	.flex-wrap-spot-btn,
	.main-wrap,
	.howto-inner-wrap,
	.present-innerwrap,
	.sns-inner-wrap,
	.foodloss-month-innerwrap{
		max-width: 1000px;
		margin: 0 auto;
	}

	.spot-list{
		font-size: 3rem;
	}

	.buy-title-spot,
	.eat-title-spot,
	.participate-title-spot{
		font-size: 3rem;
	}


.spot-list li {

    padding-left: 100px; 
    margin-bottom: 30px; 
}

.spot-list li::before {
    width: 40px;
    height: 40px; 
}

/* buy */
.buy-text{
	font-size: 3rem;
	font-weight: 700;
	margin: 50px 0;
}

.shop-item {
	margin-bottom: 100px;
	font-size: 3rem;
}

h1.buy-title {
	font-size: 5rem;
	margin: 20px 0 5dvi;
}

.present-inner-innerwrap{
	padding: 0;
	padding-bottom: 30px;
}

.present-inner-innerwrap p{
	font-size: 3rem;
	font-weight: 700;
	padding: 50px;
}

.foodloss-month-innerwrap {
	margin-top: 50px;
}


.iframe-wrap {
	max-width: 1000px;
	width: 100%; 
	height: 600px; 
	margin: 0 auto;
  }
  
  .iframe-wrap iframe {
	width: 100%;
	height: 100%;
	border: 0;
  }

  .h2-shop-header{
	font-size: 4rem;
}

.area-label {
	padding: 6px 30px; 
	font-size: 3rem; 
  }
	
.shop-icon.both {
	max-width: 300px;
	height: auto;
	margin: 20px auto;
  }

  .shop-icon.takeout,
.shop-icon.eatup{
	max-width: 150px;
	height: auto;
	margin: 20px auto;
}

.participate-text-mb{
	color: #08B2BB;
	font-weight: 700;
	margin-bottom: 40px;
}

.participate-area-label{
	font-size: 3rem; 
  }

 .flex-wrap-btn {

	padding: 0 100px;
}

}


/*モーダル利用規約*/
.page-title {
  font-size:2.0rem;
  text-align:center;
}
.terms-wrap {
padding:15px;
text-align:left;
}
.terms02 {
font-weight:900;
}
.terms-list {
list-style: none;
margin-bottom:30px;
}
.terms-list li {
text-indent: -1em;
padding-left: 1em;
}
.mb30 {
  margin-bottom:30px;
}
/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 90%;
  padding: 10px 30px;
  background-color: #fff;
  height : 80%;
  overflow : auto;
}
@media (min-width: 769px) {
.modalWrapper {
  width: 80%;
  max-width: 700px;
}
}
.closeModal {
  cursor: pointer;
}
.batsu {
  display: block;
  position: fixed;
  width: 30px;
  height: 30px;
  left:10px;
  top:10px;
}
 
.batsu::before, .batsu::after { /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px; /* 棒の幅（太さ） */
  height: 30px; /* 棒の高さ */
  background: #FFF;
}
 
.batsu::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
 
.batsu::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
