@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
リセットCSS
************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  font-size: 16px;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

ol,
ul,
li {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  cursor: pointer;
}

a:hover {
  color: inherit;
}

.fade-in {
  opacity: 0;
  transition: opacity 2s ease;
}

.fade-in.show {
  opacity: 1;
}

.fade-in.delay {
  transition-delay: 0.5s;
}

.fade-up {
  opacity: 0;
  transform: translateY(8%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}
/* 右から現れる */
.fade-right {
  opacity: 0;
  transform: translateX(10%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-right.show {
  opacity: 1;
  transform: translateX(0);
}

/* 左から現れる */
.fade-left {
  opacity: 0;
  transform: translateX(-10%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-left.show {
  opacity: 1;
  transform: translateX(0);
}
/* 汎用コンテナ */
.stagger-fade-up > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.stagger-fade-up > *.show {
  opacity: 1;
  transform: translateY(0);
}
.fade-up-delay {
  opacity: 0;
  transform: translateY(8%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-up-delay.show {
  opacity: 1;
  transform: translateY(0);
}

/************************************
共通設定
************************************/
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans", "Noto Sans JP",
               "Hiragino Kaku Gothic ProN", "Hiragino Sans",
               "Yu Gothic", "Meiryo",
               -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;;
  font-size: 1rem;
  letter-spacing: 0.1rem;
  background-color: rgba(255, 255, 255, 1);
  color: #3C3C3C;
	
}

body.is-fixed {
  overflow: hidden;
  width: 100%;
}
body.is-fixed::before {
  content: "";
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒 */
  z-index: 999; /* 必要に応じて調整 */
  pointer-events: none; /* クリック操作は透過 */
}
.is-pad{
	display:none;
}
.is-sp{
	display:none;
}
.is-pc{
	display:block;
}
.btn {
	display: inline-flex;
    align-items: center;
    justify-content: center;
	padding:2% 0%;
	font-size: 1.2rem;
	font-weight: bold;
    border-radius: 5px;
    color: #fff;
    text-align: center;
	transition: all 0.2s;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	border: none;
	cursor: pointer;
	position: relative;
	top: 0;
	left: 0;
	letter-spacing: 0.05em;
	height:6vh;
}
.btn:hover {
	box-shadow: none;
	top: 2px;
	left: 2px;
	opacity: 1;
/* 	background: linear-gradient(to right, #FFCA57, #FFD28B); */
}
/* メールボタン用スタイル - 既存 */
.btn-mail {
}
.btn i {
	color: #fff;
    margin-right: 2%;
    transition: all 0.4s;
    display: inline-block;
    transform: scale(1, 0.806); /* 高さを約80.6%に縮小（29÷36=0.806） */
    transform-origin: center; /* 変形の基準点を中央に */
}
.orange-accent{
	font-size:5rem;
	font-weight:bold;
	color:#FF8A00;
	margin-right:1%;
}
.orange-small-accent{
	font-weight:bold;
	color:#FF8A00;
}
.red-accent{
	font-weight:bold;
	color:red;
}
.black-bold-accent{
	font-weight:bold;
	font-size:1.2rem;
}
.section-title{
	background-color:white;
	border:solid 2px #5EBD59;
	border-radius:100px;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	position:relative;
	width:28%;
	display:flex;
	justify-content:center;
	align-items:center;
	margin:0 auto;
	font-size:1.8rem;
	font-weight:bold;
	padding:0.5% 0%;
	color:#5EBD59;
}
.section-title img{
	position:absolute;
	left:5%;
	bottom:10%;
	width:18%;
	z-index:2;
}
section{
	display:flex;
	flex-direction:column;
}
.section-container{
	display:flex;
	justify-content:space-between;
	width:90%;
	margin:0 auto;
	max-width:1200px;
	align-items:flex-start;
}
.section-container img{
	width:55%;
	border-radius:10px;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
	object-fit:contain;
	margin-top:5%;
}
.page-container .section-container img{
	margin-top:0%;
}
.section-text{
	margin-top:3%;
	display:flex;
	flex-direction:column;
	width:43%;
	font-size:1rem;
}
.section-sub-title{
	font-size:1.2rem;
	font-weight:bold;
	color:#43AF3D;
}
.section-text-button{
	background-color:white;
	border:2px solid #43AF3D;
	color:#43AF3D;
	width:40%;
	margin-top:3%;
}
.section-text-button:hover{
	color:#43AF3D;
}
.section-message{
	font-size:1.5rem;
	color:#43AF3D;
	text-align:center;
	margin-top:3%;
	font-weight:bold;
}
.section-container.reverse{
	flex-direction:row-reverse;
}
body {
  margin: 0;
  overflow: hidden;
}
.header-sp-pad-icon{
	display:none;
}
.black-background{
	display:none;
}
/************************************
ローディング
************************************/
/* ローディング全体 */
.loader {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: #F7F1E1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden;
}
.loader img{
	width:20%;
	margin:0 auto;
	animation: logo-rotate 0.5s ease-in-out infinite alternate;
}

/* 背景 */
.bg {
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  z-index: 1;
}

.bg.green {
  background: #28a745;
  animation: slide-in-green 1s ease forwards;
  animation-delay: 0.7s;
}

.bg.orange {
  background: #ff7f00;
  animation: slide-in-orange 1s ease forwards;
  animation-delay: 1s;
}

/* ロゴのアニメーション */
@keyframes logo-rotate {
  0%   { transform: rotate(-12deg); }
  100% { transform: rotate(12deg); }
}

/* 緑背景 */
@keyframes slide-in-green {
  from { left: -100%; }
  to   { left: 0; }
}

/* オレンジ背景 */
@keyframes slide-in-orange {
  from { left: -100%; }
  to   { left: 0; }
}
.grecaptcha-badge{
	display:none;
}
/************************************
ヘッダー
************************************/
#header {
	width: 100%;
	padding:1% 0%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 8;
	background-color:white;
}
#header .header-wrapper {
	max-width: 1440px;
	height: inherit;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 2.5%;
}
#header .logo-wrapper {
	display: flex;
	align-items: center;
	width:15%;
}
#header .logo-wrapper .logo-1 {
	/*   width: 15%; */
	display:block;
	line-height: 0;
	transition: all 0.4s;
}
#header .logo-wrapper .logo-1:hover {
	opacity: 0.7;
}
#header .navi {
	background-color: transparent;
	width:67%;
	display: flex;
    justify-content: space-between;
}
#header .navi .menu {
	display: flex;
 	align-items: center;
	justify-content:space-between;
	width:50%;
	margin-right:5%;
	
}
#header .navi .menu > li {
	 
}
#header .navi .menu > li:first-child {

}
#header .navi .menu li {
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1;
}
#header .navi .menu .navi-link {
	transition: all 0.4s ease;
}
#header .navi .menu .navi-link:hover {
	color: #FFD166;
}
#header .navi .contact-menu {
	width:45%;
	display:flex;
	justify-content:space-between;
}
.contact-menu li{
	width:47%;
	display: flex;
    justify-content: flex-end;
}
.contact-menu li a{
	width:100%;
	display:flex;
	align-items:center;
}
#header .navi .menu .navi-link:hover{
	color:#FF8A00;
}

.btn-mail{
	background-color:#43AF3D;
	color:white;
}
.btn-cart{
	background-color:#FF8A00;
	display:flex;
	justify-content:center;
	align-items:center;
}
.btn-cart img{
	width:12%;
}
#header .header-german-icon {
	display: none;
}
.header-title{
	font-size:1.2rem;
	color:#2670B6;
	font-weight:bold;
	letter-spacing:0.2rem;
	margin-left:3%;
	width:50%;
}
.header-title i{
	margin-left:1%;
	display: inline-block; /* rotateを効かせるために必要 */
  transform: rotate(-45deg); /* 左回転（反時計回り）45度 */
}
.drawer-navi{
	position:fixed;
	transform: translateX(-100%);
	height:100vh;
	transition: all 0.3s ease;
}

/************************************
メインビジュアル
************************************/
.mainvisual{
	padding:0%;
	margin-top:6%;
}
/************************************
キャンペーン
************************************/
.campaign{
	position:relative;
}
.campaign-btn-box{
	position:absolute;
	left: 50%;
  transform: translateX(-50%);
	width:55%;
	display:flex;
	justify-content:space-between;
	bottom:5%;
}
.campaign-btn-box a{
	width:45%;
	display:flex;
	justify-content:center;
	align-items:center;
}
.campaign-btn-box a img{
	width:10%;
}
.campaign-x-btn{
	background-color:black;
	color:white;
}
.campaign-insta-btn{
	background: radial-gradient(circle at 15% 115%, 
    #fdf497 0%, 
    #fd5949 25%, 
    #d6249f 55%, 
    #285AEB 90%),
    rgba(0,0,0,0.2);

	
}
/************************************
商品概要
************************************/
.product{
	background-image:url('https://bumpysnack.com/wp-content/uploads/2025/09/海苔スナック菓子サイト-1-scaled.png');
	height:100vh;
	padding-top:3%;
	padding-bottom:3%;
	background-size:contain;
}

.product-text{
	height:23vh;	
}
/************************************
お客様の声
************************************/
.voice{
	padding-top:3%;

}
.voice-container{
	width:90%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	max-width:1200px;
	margin:0 auto;
	margin-top:3%;
}
.voice-box{
	display:flex;
	flex-direction:column;
	width:28%;
}
.voice-box-text{
	font-size:1rem;
	background-color:#F7F1E1;
	border-radius:5px;
	padding:5%;
	display:flex;
	margin-top:3%;
	flex-direction:column;
	height:23vh;
}
.voice-box-title{
	font-size:1.2rem;
	color:#43AF3D;
	font-weight:bold;
	text-align:center;
	margin-bottom:3%;
}
/************************************
掲載実績
************************************/
.post {
	margin-top:5%;
	background-image:url('https://bumpysnack.com/wp-content/uploads/2025/08/海苔スナック菓子サイト-4-scaled.png');
	background-position:center;
	background-size:cover;
	padding-top:3%;
	padding-bottom:3%;
}
.post-box{
	display:flex;
	flex-direction:column;
	width:28%;
	border-radius:10px;
	background-color:white;
	border:solid 3px #43AF3D;
	padding:3% 0%;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	position: relative;
	top: 0;
	left: 0;
	transition: all 0.2s;
}
.post-box img{
	width:90%;
	margin:0 auto;
}
/*
.post-box:hover {
	box-shadow: none;
	top: 2px;
	left: 2px;
	opacity: 1;
}
*/
.post-box-title{
	font-size:1.2rem;
	color:white;
	background-color:#43AF3D;
	padding:1% 0%;
	border-radius:5px;
	font-weight:bold;
	text-align:center;
	margin:0 auto;
	margin-top:3%;
	margin-bottom:3%;
	width:90%;
}
.post-container{
	width:90%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	max-width:1200px;
	margin:0 auto;
	margin-top:3%;
}
.post-box-text{
	font-size:1rem;
	padding:3%;
}
.post-box.dummy{
	background-color: transparent;
    border: none;
    box-shadow: none;
}
.post-box.dummy .post-box-title{
	display:none;
}

	
/************************************
ストーリー
************************************/
.story{
	padding:5% 0% 3% 0%;
}
.page-message{
	font-size:2rem;
	font-weight:bold;
	background-color:white;
	margin:3% auto;
	width:60%;
	padding:1% 2%;
	color:#43AF3D;
	text-align:center;
}
.page-container .section-text{
	margin-top:0%;
}
.page-container .section-container{
	align-items:flex-start;
	margin-top:3%;
}
.company{
	background-color:#F7F1E1;
	padding:3% 0%;
	padding-top:8%;
}
.company .section-container{
	align-items:flex-start;
	margin-top:3%;
}
.company .section-text{
	margin-top:0%;
}
.company-info {
  border-collapse: collapse;
  width: 100%;
	font-size:1.2rem;
}
.company-info th,
.company-info td {
  border: 1px solid #ccc;
  padding: 10px;
}
.company-info th {
  background: #43AF3D;
  color: #fff;
  text-align: left;
  width: 25%;
	font-weight:bold;
}
.company-info tr:nth-child(even) td {
  background: #f9f9f9; /* 明るい灰色 */
}
.company-container img{
	width:45%;
}
.company-container .section-text{
	width:53%;
}
/************************************
ニュース
************************************/
.news{
		background-color:#F7F1E1;
	padding:3% 0%;
}
.news-list{
	
}
.news-list{
	display:flex;
	flex-direction:column;
	margin:0 auto;
	margin-top:4%;
	width:90%;
	max-width:1200px;
	margin:0 auto;
	margin-top:3%;

}
.news-list li a{
	justify-content:space-between;
	display:flex;
	color:#2A2A2A;
	margin-bottom:3%;
}
.news-list li a:hover{
	opacity:0.7;
}
.news-list li img{
	width:28%;
	display:block;
}
.news-content{
	width:68%;
	display:flex;
	flex-direction:column;
	font-size:1rem;
}
.news-title{
	color:#43AF3D;
	font-size:1.5rem;
	font-weight:bold;
}
.news-detail-button{
	background-color:#43AF3D;
	width:25%;
	margin:0 auto;
}
/************************************
お問い合わせ
************************************/
.contact .section-title{
	z-index:2;
}
.contact{
	background-image:url('https://bumpysnack.com/wp-content/uploads/2025/08/33176048_m-e1756268167710.jpg');
	background-position:center;
	padding:3% 0%;
	background-attachment:fixed;
	position: relative;
}
.contact:before{
  content:"";
  position:absolute; inset:0;
  z-index:1;
  mix-blend-mode: normal; /* overlay 等に変えると演出可能 */
	background:white;
	opacity:0.5;
}
.section-message.contact-section{
	z-index:2;
	background-color:white;
	border-radius:10px;
	padding:1% 5%;
	border:solid 2px #43AF3D;
	width:50%;
	margin:0 auto;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	margin-top:3%;
}
.contact-section-container{
	display:flex;
	width:60%;
	justify-content:space-between;
	margin:0 auto;
	margin-top:3%;
	z-index:2;
}
.contact-section-container li{
	width:45%;
}
.contact-section-container li a{
	width:100%;
}
.contact-section-container .btn-cart img{
	width:8%;
}
.privacy-text{
	margin:0% auto 2% auto;
	width:70%;
	background-color:white;
	padding:1% 2%;
	color:#43AF3D;
	
	font-size:1.5rem;
	text-align:center;
}
.privacy-text p{
	font-weight:bold;	
}
.wpcf7 input[type="checkbox"] {
  transform: scale(3); /* 1.5倍に拡大 */
  margin-right: 3%; /* ラベルとの間隔調整 */
}
.contact-page-form .privacy-concent .wpcf7-form-control-wrap{
	width:100%;
}
.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required{
	width:100%;
}
.privacy-concent label{
	justify-content:center !important;
}

.privacy-concent .wpcf7-list-item{
	width:100%;
}

.privacy-button{
	width:50%;
	margin:2% auto;
	background-color:#43AF3D;
	color:white;
	font-size:1.2rem;
	text-align:center;
	font-weight:bold;
	border-radius:10px;
	display:flex;
}
.wpcf7-form.init{
	display:flex;
	flex-direction:column;
}
}
.contact-title-area{
	width:30%;
	display:flex;
	align-items:center;
}
.contact-title-area p{
	width:60%;
	font-weight:bold;
}
/************************************
固定ページ 共通設定
************************************/
.page-mainvisual{
	height:30vh;
	background-color:#43AF3D;
	color:white;
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-size:3rem;
}
.page-mainvisual-text{
	margin-top:8%;
	font-weight:bold;
	letter-spacing:1.5;
}
.page-background{
	background-color:#F7F1E1;
}
/************************************
お問い合わせページ
************************************/
.contact-page-form{
	width:80%;
	margin: 0 auto;
	color:#333;
	margin-bottom:5%;
	margin-top:5%;
	max-width:1200px;
}
.contact-page-form input {
	border:solid 1px #333 !important;
}
.contact-page-form select {
	border:solid 1px #333 !important;
}
.contact-page-form textarea {
	border:solid 1px #333 !important;
}
.must-area{
	color:white;
	padding:0.5% 3%;
	border-radius:5px;
	background-color:#d00;
	margin-left:3%;
	font-size:0.8rem;
}
.contact-title-area{
	width:30%;
	display:flex;
	align-items:center;
}
input::placeholder{
	color:lightgray;
}
select{
	color:#656565;
}
.contact-page-form .wpcf7-form label{
	display:flex;
	justify-content:space-between;
	margin:auto;
	font-size:1.3rem;
	margin-bottom: 3%;
}
.contact-form-box{
	display:flex;
	justify-content:space-between;
	margin:auto;
	font-size:1.3rem;
	margin-bottom: 3%;
	width:100%;
}
.contact-form-box p{
	width:65%;
}
.must-box{
	background-color:#FF8B8B;
	border-radius:5px;
	color:white;
	font-weight:bold;
	width:40%;
	display:flex;
	justify-content:center;
	padding:2% 0%;
}
.must-box p{
	display:flex;
	justify-content:center;
	font-weight:bold;
}
.contact-title-area.text-area{
	align-items:flex-start;
}
.contact-page-form .wpcf7-form-control-wrap{
	width:65%;	
}
.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner{
	width:30%;
	margin:auto;
	border-radius:10px;
	border:none !important;
	display: block;
	color:white;
	font-size:1.5rem;
	background: #FF8A00;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
	transition: all 0.2s ease-in-out;
}
.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner:hover{
	box-shadow: none;
    transform: translateY(2px);
	transform: translateX(2px);
}
/************************************
ニュースページ
************************************/
.pagination {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
.pagination li {
  padding-right: 2.5rem;
}
.pagination li:last-child {
  padding-right: 0;
}
/************************************
商品紹介ページ
************************************/
.product-list{
	display:flex;
	justify-content:space-between;
	width:90%;
	max-width:1200px;
	flex-wrap:wrap;
	margin:0 auto;
}
.product-list li{
	width:30%;
	margin-bottom:5%;
	
}
.fade-up.dummy.show .product-title{
	display:none;
}
.product-box{
	display:flex;
	flex-direction:column;
}
.product-box img{
	width:100%;	
	margin-bottom:3%;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	border-radius:10px;
	
}
.product-content{
	display:flex;
	flex-direction:column;
}
.product-title{
	color:#43AF3D;
	font-weight:bold;
	text-align:center;
	font-size:1.2rem;
}
.product-text{
	font-size:1rem;
}
.product-button{
	width:100%;
	color:white;
	font-size:1.2rem;
	font-weight:bold;
	background-color:#FF8A00;
	border-radius:5px;
	margin:0 auto;
	margin-top:2%;
}
.product-price{
	font-size:1.2rem;	
}
/************************************
プライバシーポリシーページ
************************************/
.page-content{
	background-color:#F7F1E1;
}
.page-content-text{
	width:90%;
	margin:0 auto;
	max-width:1200px;
}
.page-message.privacy-messsage{
	width:70%;
	font-size:1.5rem;
}
/************************************
個別投稿
************************************/
.single-mainvisual{
	background-color:#F7F1E1;
	display:flex;
	justify-content:center;
	margin-top:3%;
	padding-bottom:3%;
}
.single-mainvisual img{
	display:block;
	    margin: 0 auto;
	max-width:1200px;
}
.single-container{
	background-color:#F7F1E1;
}
.single-container a{
	color:blue;
}
.single-container a:hover{
	color:#FF8A00;
}
.single-title{
	font-size:2rem;
	text-align:center;
	font-weight:bold;
	color:#43AF3D;
	margin-bottom:3%;
}
.single-content{
	width:90%;
	margin:0 auto;
	max-width:1200px;
	padding-bottom:5%;
}
/************************************
フッター
************************************/
.footer__container{
	display:flex;
	flex-direction:column;
	width:60%;
	margin:0 auto;
	max-width:1200px;
}
.footer{
	background-color:#F7F1E1;
	padding-top:3%;
	margin-top:0px;
	padding-bottom:0px;
}
.footer-logo{
	width:25%;
	margin:0 auto;
}
.footer-menu{
	display:flex;
	justify-content:space-between;
	margin:3% auto;
	width:70%;
}
.footer-menu li{
	width:20%;
	font-weight:bold;
	display:flex;
	justify-content:center;
}
.footer__copyrightWrap{
	background-color:#43AF3D;
	width:100%;
	color:white;
	text-align:center;
}
.footer-menu .navi-link:hover{
	transition:all ease 0.3s;
	color:#FF8A00;
}
/************************************
Ipad
************************************/
/*1023px以下*/
@media screen and (max-width: 1025px){
	.loader img{
		width:40%;
	}
	.section-title{
		width:40%;
		font-size:1.5rem;
	}
	.section-title img{
		width:18%;
	}
	.is-pc{
		display:none;
	}
	.is-pad{
		display:flex;
	}
	
	.orange-accent{
		font-size:3rem;	
	}
	.section-container{
		flex-direction:column;
	}
	.section-container.reverse{
		flex-direction:column;
	}
	.section-container img{
		width:100%;
		margin-top:3%
	}
	.section-text{
		width:100%;
		margin-top:3%;
		
	}
	.section-sub-title{
		text-align:center;
	}
	.section-description{
		margin-top:3%;
	}
	.section-text-button{
		margin:3% auto;
	}
	.fade-left{
		transform: translateX(-5%);
	}
	.fade-right{
		transform: translateX(5%);
	}
 #header{
		height:8vh;
	}
	#header .logo-wrapper{
		width:55%;
	}
	#header .logo-wrapper .logo-1 {
		width: 70px;
		margin-right: 20px;
	}
	#header .logo-wrapper .logo-2 {
		width: 131px;
	}
	
	#header .navi .menu li {
		font-size: 1rem;
	}
	#header .header-german-icon {
/* 		display: block; */
		width: 70px;
		object-fit: cover;
		position: fixed;
		top: 7%;
  		left: 50%;
  		transform: translate(-50%, -50%);
		margin-top: 15px;
		z-index: 30;
	}
	#header .logo-wrapper .logo-1{
		width:30%;
	}
	#header .hamburger {
		width: 50px;
		height: 50px;
		cursor: pointer;
		position: fixed;
		right: 10%;
		margin-top: 30px;
		z-index: 30;
	}
	#header .hamburger span {
		width: 40px;
		height: 2px;
		background-color: #676767;
		display: inline-block;
		position: absolute;
		left: 10px;
		transition: all 0.4s;
	}
	#header .hamburger span:nth-of-type(1) {
		top: 10px;
	}
	#header .hamburger span:nth-of-type(2) {
		top: 20px;
	}
	#header .hamburger span:nth-of-type(2) {
		top: 20px;
	}
	#header .hamburger.active span:nth-of-type(1) {
		top: 24px;
		transform: rotate(-45deg);
	}
	#header .hamburger.active span:nth-of-type(2) {
		opacity: 0;
	}
	#header .hamburger.active span:nth-of-type(3) {
		top: 24px;
		transform: rotate(45deg);
	}
	
	#header .navi {
		width: 100%;
		height: 100vh;
		background-color: #FAF7F2;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10;
		opacity: 0;
		visibility: hidden;
		border-radius: 0px;
	}
	#header.active{
	}
	/*
	#header .navi.active {
		opacity: 1;
		visibility: visible;
		transition: all 0.4s;
		display:flex;
		flex-direction:column;
		width:80%;
		justify-content: center;
        align-items: center;
		z-index:10;
		position:fixed;
	}
	#header .navi.active .menu{
		flex-direction:column;
		margin-right:0%;
	}
	.navi.active 
	#header .navi .menu {
		width: 100%;
		height: 100vh;
		overflow: auto;
		text-align: center;
		flex-direction: column;
		padding-top: 140px;
	}
	#header .navi .menu > li {
    	margin-left: 0px;
		margin-bottom: 40px;
	}
	#header .navi.active .contact-menu{
		flex-direction:column;
		align-items:center;
		align-items:center;
	}
	#header .navi .menu .btn-mail {
		margin-bottom: 0;
		margin-top: 80px;
	}
	
	#header .navi.active .menu li{
		font-size:1.5rem;
	}
	.navi.active .contact-menu li{
		width:100%;
	}
	.navi.active .btn-mail{
		margin-bottom:10%;
	}
	*/
	.black-background.active{
		display:block;
		width:100%;
		height:100vh;
		z-index:9;
		background-color:black;
		opacity:0.7;
		position: fixed;
		top:0;
	}
	.drawer-navi.active{
		left:0%;
		top:0;
		position:fixed;
		z-index:11;
		width:60%;
		background-color:#F7F1E1;
		transform: translateX(0%);
		overflow-y: auto;
		        display: flex;
        flex-direction: column;
	}
	.close-icon {
		position: relative;
		width: 1.6rem;
		height: 1.6rem;
		cursor: pointer;
		transition: opacity .3s ease;
		        margin-left: 8%;
        margin-top: 8%;
	}
	.close-icon__bar1, .close-icon__bar2 {
		position: absolute;
		width: 100%;
		height: 0.25rem;
		left: 0;
		background-color: #43AF3D;
	}
	.close-icon__bar1 {
		top: 0rem;
		transform: rotate(-45deg);
	}
	.close-icon__bar2 {
		top: 1rem;
		transform: rotate(45deg);
	}
	.contact-menu{
		display:flex;
		flex-direction:column;
		align-items:center;
	}
	.drawer-navi.active .contact-menu li{
		margin-top:10%;
	}
	.drawer-navi.active .menu li{
		display:flex;
		justify-content:center;
		font-weight: bold;
        font-size: 1.5rem;
		margin-bottom:3%;
	}
	.contact-menu li a{
		font-size:1.5rem;	
	}
	.header-sp-pad-icon {
		display: block;
		width: 40%;
		margin: 10% auto;
	}
	.mainvisual{
		margin-top:8%;
	}
	.news-detail-button{
		width:35%;	
	}
	.product{
		height:auto;
		padding-top:5%;
		background-image:url('https://bumpysnack.com/wp-content/uploads/2025/09/海苔スナック_Pad_SP-3-scaled.png');
		    background-size: cover;
    background-position: center;
	}
	.product-text{
		height:20vh;
	}
	.section-message.contact-section{
		width:90%;
	}
	.page-message{
		width:90%;	
	}
	.page-mainvisual{
		height:20vh;
	}
	.page-mainvisual-text{
		margin-top:12%;
	}
	.company-container .section-text{
		width:100%;
	}
	.product-list li{
		width:48%;
	}
	.contact-page-form{
		width:90%;	
	}
	.contact-page-form .wpcf7-form label{
		font-size:1rem;
	}
	.privacy-text{
		width:90%;
	}
	.privacy-button{
		margin-bottom:5%;
	}
	.page-message.privacy-messsage{
		width:90%;
		font-size:1.3rem;
	}
	.campaign-btn-box{
		width:80%;
		bottom:3%;
	}
	.campaign-btn-box .btn{
		height:4vh;
		font-size:1rem;
	}
	.single-mainvisual img{
		width:100%;
	}
	.fixed-footer{
		position:fixed;
		left: 50%;
  		transform: translate(-50%, 0);
		bottom:5%;
		width: 90%;
        display: flex;
        justify-content: space-between;
		padding: 0% ;
        z-index: 5;
		transition: transform 0.3s ease; /* スライドのアニメーション */
	}
	.footer__container{
		width:90%;
	}
	.footer-menu{
		width:100%;
	}
	.fixed-footer-box{
		width:48%;
	}
	.fixed-footer.hide {
		transform: translate(-50%, 190%);
	}

	/* 表示状態 */
	.fixed-footer.show {
		transform: translate(-50%, 0); /* 中央を維持 */
	}
}
@media screen and (max-width: 834px){
	.mainvisual {
		margin-top: 8%;
    }
}


@media screen and (max-width: 770px){
	.page-mainvisual-text {
        margin-top: 9%;
    }
	.mainvisual {
		margin-top: 8%;
    }
}

/*480px以下*/
@media screen and (max-width: 599px){
	.is-pad{
		display:none;
	}
	.is-sp{
		display:flex;
	}
	
	.btn{
		font-size:1rem;
	}
	.section-title{
		font-size:1.2rem;
		width:60%;
	}
	.section-title img{
		width:22%;
	}
	.section-container img{
		border-radius:5px;
	}
	.drawer-navi.active{
		width:80%;
	}
	.drawer-navi.active .menu li{
		font-size:1rem;
	}
	.header-sp-pad-icon{
		width:50%;
	}
	#header .header-wrapper{
		padding:0% 5%;
	}
	#header .logo-wrapper .logo-1{
		width:65%;
	}
	#header .hamburger{
		right:5%;
		margin-top:5%;
	}
	.hamburger.active{
		display:none;
	}
	.contact-menu li a{
		font-size:1rem;
	}
	.contact-menu li{
		width:60%;
	}
	.mainvisual{
		margin-top:12%;
	}
	.campaign-btn-box{
		width:90%;	
	}
	.campaign-btn-box .btn{
		font-size:0.8rem;
		height:5vh;
	}
	.campaign-btn-box a{
		width:47%;
	}
	.product{
		padding-top:8%;
	}
	.section-sub-title{
		font-size:1rem;
	}
	.section-description{
		font-size:0.8rem;	
	}
	.voice{
		padding-top:8%;
	}
	.section-message{
		font-size:1rem;
	}
	.voice-container{
		flex-wrap:wrap;
	}
	.voice-box{
		width:48%;
		margin-bottom:3%;
	}
	.voice-box-title{
		font-size:1rem;	
	}
	.voice-box-text{
		font-size:0.8rem;
		height:27vh;
	}
	.post{
		padding-top:10%;
	}
	.post-container{
		flex-wrap:wrap;
	}
	.post-box{
		width:48%;
		margin-bottom:3%;
		height:30vh;
	}
	.post-box-title{
		font-size:1rem;
	}
	.post-box-text{
		font-size:0.8rem;	
	}
	.section-text-button{
		width:55%;
	}
	.news{
		padding:8% 0%;
	}
	.news-list li a{
		flex-direction:column;
		margin-bottom:3%;
	}
	.news-list li img{
		width:100%;
	}
	.news-content{
		width:100%;
	}
	.news-title{
		font-size:1.2rem;
	}
	.news-text{
		font-size:0.8rem;
	}
	.section-title img{
		width:18%;
	}
	.page-message{
		font-size:1.2rem;
	}
	.product-list li{
		width:100%;
		margin-bottom:20%;
	}
	.contact{
		padding:15% 0%;
	}
	.contact-section-container{
		width:90%;
	}
	.section-message.contact-section{
		padding:2% 3%;
	}
	.page-mainvisual-text{
		font-size:2rem;
		margin-top: 20%;
	}
	.product-title{
		font-size:1rem;
	}
	.product-text{
		font-size:0.8rem;
	}
	.company-info{
		font-size:1rem;
	}
	.contact-message{
		font-size:1rem;
	}
	.contact-page-form .wpcf7-form label{
		margin-bottom:5%;
		font-size:1rem;
	}
	.contact-form-box{
		flex-direction:column;
		margin-bottom:5%;
		font-size:1rem;
	}
	.contact-form-box p{
		width:100%;
	}
	.contact-page-form .wpcf7-form-control-wrap {
    	width: 100%;
	}
	.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner{
		width:100%;
		font-size:1rem;
	}
	.contact-page-form .contact-contents{
		width:90%;
	}
	.contact-page-form input[type=email]{
		border-radius:0px;
	}
	.contact-title-area{
		width:100%;
		        margin-bottom: 1%;
	}
	.contact-page-form .wpcf7-form label{
		font-size:0.9rem;
	}
	.contact-title-area p{
		width:60%;
	}
	.must-box{
		width:30%;
		padding:1% 0%;
	}
	.privacy-button{
		width:100%;
	}
	.privacy-text{
		font-size:1rem;
	}
	.page-message.privacy-messsage{
		font-size:1rem;	
	}
	.black-bold-accent{
		font-size:1rem;
	}
	.page-content-text{
		font-size:0.8rem;
	}
	.section-container .is-sp{
		display:block;
	}
	.footer-menu li{
		font-size:0.8rem;
		width:auto;
	}
	.fixed-footer.is-sp{
		display:flex;
	}
	.fixed-footer-box{
		padding:2% 0%;
	}
	.wpcf7 input[type="checkbox"] {
		transform: scale(2);
	}
	.single-title{
		font-size:1.2rem;
	}
	.single-content{
		font-size:0.8rem;
	}
	.single-mainvisual{
		margin-top:12%;
	}
	.product{
		background-image:none;
		background-color:#f7f1e1;
	}
	.post-box.dummy {
		display:none;
	}
}
@media screen and (max-width: 399px){
	.page-mainvisual-text{
		margin-top: 15%;
	}
	
}
