/* 衛生・品質管理ページ専用スタイル */

#safety.second-layer .hero::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 Q720,100 1440,0 L1440,100 L0,100 Z' fill='%23fcf9db'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
}

#safety .main-content {margin:0 auto;overflow:hidden}
#safety .en-label { color: var(--yellow); }
#safety .certification-section .en-label { color: #e5c6a5; }
#safety .policy-section .en-label { color: #e5c6a5; }
#safety .ink-section .en-label { color: #fff; }
#safety .title-flex-img img { transform-style: preserve-3d; cursor: pointer; }
#safety .title-flex-img img:hover { animation: titleIconBounce 0.3s ease 2; }
#safety .title-flex-img img.rotate { animation: titleIconRotate 0.6s ease; }
@keyframes titleIconRotate { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(90deg); } 100% { transform: rotateY(0deg); } }
@keyframes titleIconBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/************天然素材の可食インク************/
#safety .ink-section {width:100%;max-width:none;margin:0 auto;padding:80px 0;background-color:#ffd600;}
#safety .ink-section .section-head{max-width:1000px;margin:0 auto;}
#safety .ink-section .lead-sub {max-width:1000px;margin-left:auto;margin-right:auto;padding: 0 50px;}
/* 水滴アイコン */
#safety .ink-section .ink-drops{display:flex;justify-content:center;align-items:flex-end;gap:40px;margin-bottom:50px;max-width:1000px;margin-left:auto;margin-right:auto;}
#safety .ink-section .ink-drop{position:relative;width:150px;height:220px;display:flex;align-items:center;justify-content:center;}
#safety .ink-section .ink-drop .drop-svg{position:absolute;top:0;left:0;width:100%;height:100%;stroke:#ec931a;stroke-width:4px;overflow:visible;}
#safety .ink-section .ink-drop.pink .drop-svg { fill: #e4007f; }
#safety .ink-section .ink-drop.yellow .drop-svg { fill: #fff100; }
#safety .ink-section .ink-drop.blue .drop-svg { fill: #00a0e9; }
#safety .ink-section .ink-drop span{position:relative;z-index:1;color:#fff;font-size:16px;font-weight:700;line-height:1.6;text-align:center;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;padding-top:30px;}
#safety .ink-section .ink-drop.yellow span{color:#ec931a;}

#safety .ink-section .ink-desc{max-width:1000px;margin:50px auto;padding:0 50px;}
#safety .ink-section .ink-flex{display:grid;grid-template-columns:1fr 280px;gap:40px;margin-bottom:50px;background:#fff;border-radius:16px;padding:36px 40px;align-items:start;}
#safety .ink-section .ink-flex:nth-of-type(even){grid-template-columns:280px 1fr;}
#safety .ink-section .ink-flex .ink-text{min-width:0;}
#safety .ink-section .ink-flex .ink-text p{font-size:14px;font-weight:normal;line-height:1.9;margin-bottom:14px;}
#safety .ink-section .ink-flex .ink-text p:last-child{margin-bottom:0;}
#safety .ink-section .ink-flex .ink-img{min-width:0;}
#safety .ink-section .ink-flex .ink-img figure{margin:0;}
#safety .ink-section .ink-flex .ink-img img{width:100%;border-radius:12px;object-fit:cover;aspect-ratio:4/3;}
#safety .ink-section .ink-title{font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;font-size:22px;text-align:left;margin-bottom:16px;font-weight:700;color:var(--base);}
#safety .safety-section {width: 100%;margin:0 auto;padding: 0 0 180px;background: #fcf9db;}
#safety .safety-section .section-head{max-width: 1000px;margin: 0 auto;}
#safety .safety-section .lead-sub {max-width: 800px;margin-left: auto;margin-right: auto;padding: 0 50px;}

/* スライドショー */
#safety .safety-section .slide-container{width:100%;overflow:hidden;margin:40px 0;}
#safety .safety-section .slide-track{display:flex;gap:30px;animation:slide 30s linear infinite;width:calc((360px + 20px) * 16);}
#safety .safety-section .slide-item{flex-shrink:0;width:360px;height:259px;}
#safety .safety-section .slide-item img{width:100%;height:100%;object-fit:cover;border-radius:16px;}
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-250px * 8 - 20px * 8));
  }
}

/************衛生・品質への取り組み************/
#safety .safety-section .check-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1000px;margin:100px auto 0;padding:0 50px;position:relative;}
#safety .safety-section .check-card{position:relative;padding:20px 30px 50px;min-height:200px;}
#safety .safety-section .check-card:nth-child(n+3){margin-top:-3px;}
#safety .safety-section .check-bg{position:absolute;top:0;left:0;width:100%;height:auto;z-index:0;fill:#fff;stroke:#898875;stroke-width:3px;}
#safety .safety-section .check-bg-sp{display:none;}
#safety .safety-section .check-bg-sp02{display:none;}
#safety .safety-section .check-header{position:absolute;top:4px;left:49%;transform:translateX(-50%);text-align:center;z-index:1;}
#safety .safety-section .check-label{display:block;font-family:'Caveat',cursive;font-size:16px;color:#898875;letter-spacing:1px;margin-bottom:-5px;padding-left:7px;}
#safety .safety-section .check-num{display:block;font-family:'Caveat',cursive;font-size:42px;color:#898875;line-height:.8;}
#safety .safety-section .check-body{position:relative;z-index:1;padding-top:35px;}
#safety .safety-section .check-title{text-align:center;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;font-size:20px;font-weight:700;color:#333;margin-bottom:15px;padding-bottom:15px;position:relative;margin-top: 10px;}
#safety .safety-section .check-title::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:80px;height:3px;background:#898875;}
#safety .safety-section .check-text{font-size:14px;line-height:1.9;color:#333;font-weight:500;}
#safety .safety-section .check-link{display:block;margin-top:20px;text-align:center;color:#a58260;font-size:14px;text-decoration:none;}
#safety .safety-section .check-link:hover{text-decoration:underline;}

/************認定・認証************/
#safety .certification-section{width:100%;margin:0 auto;padding:80px 0;background:#fff;}
#safety .certification-section .section-head{max-width:1000px;margin:0 auto;}
#safety .cert-item{max-width:1000px;margin:0 auto;padding:0 50px 60px;}
#safety .cert-item + .cert-item{padding-top:20px;border-top:1px solid #e5e0d0;}
#safety .cert-title{font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;font-size:22px;font-weight:700;color:#791218;text-align:center;margin:40px 0 20px;padding-bottom:15px;position:relative;}
#safety .cert-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:#e5c6a5;}
#safety .cert-text{font-size:15px;line-height:1.9;color:#791218;font-weight:500;letter-spacing:0.5px;margin-bottom:40px;}
#safety .cert-img{max-width:300px;margin:0 auto;}
#safety .cert-img figure{text-align:center;}
#safety .cert-img img{width:100%;height:auto;display:block;}
#safety .cert-img--double{display:flex;gap:30px;max-width:630px;}
#safety .cert-img--double figure{flex:1;}
#safety .cert-link{display:block;margin-top:20px;text-align:center;color:#a58260;font-size:14px;text-decoration:none;}
#safety .cert-link:hover{text-decoration:underline;}
#safety .certification-section .zoom-hint{font-size:12px;color:#a66a6e;text-align:center;margin-top:10px;letter-spacing:1px;font-weight:700;}

/************食品安全方針・食品安全目標************/
#safety .policy-section{width:100%;margin:0 auto;padding:80px 0;background:#faebbf;}
#safety .policy-section .section-head{max-width:1000px;margin:0 auto;}
#safety .policy-section .policy-content{max-width:1000px;margin:0 auto;padding:0 50px;gap:20px;}
#safety .policy-section .policy-box{flex:1;background:#fff;border:none;padding:40px;border-radius:40px;margin-bottom:30px;}
#safety .policy-section .policy-title{font-size:24px;font-weight:700;color:#333;margin-bottom:25px;font-family:'Noto Sans JP','Hiragino Sans','Meiryo',sans-serif;}
#safety .policy-section .policy-lead{font-size:14px;line-height:2;color:#333;margin-bottom:30px;font-weight:500;}
#safety .policy-section .policy-list{margin:0 0 30px 20px;padding:0;}
#safety .policy-section .policy-list li{font-size:14px;line-height:2;color:#333;margin-bottom:5px;font-weight:500;}
#safety .policy-section .policy-footer{font-size:14px;line-height:2;color:#333;font-weight:500;}


/* ========================================
   レスポンシブ：タブレット（996px~）
   ======================================== */


@media (max-width: 930px) {
 #safety .safety-section .check-text{font-size:13px}
  }

@media (max-width: 885px) {
 #safety .safety-section .check-num{font-size:35px}
 #safety .safety-section .check-title{padding-top:10px}
 #safety .safety-section .check-grid{grid-template-columns:1fr;gap:30px}
 #safety .safety-section .check-grid::before{display:none}
 #safety .safety-section .check-card{min-height:368px;padding:15px 25px 30px;width:500px;margin:0 auto}
 #safety .safety-section .check-bg-pc{display:none}
 #safety .safety-section .check-bg-sp{display:block;position:absolute;top:0;left:0;width:100%;height:auto;z-index:0;fill:#fff;stroke:#898875;stroke-width:3px}
 #safety .safety-section .check-card:nth-child(n+3){margin-top:0}
 #safety .safety-section .check-card:nth-child(3){margin-top:0}
 #safety .safety-section .check-card--full{margin:80px auto 0;padding:80px 50px 50px;position:relative;width: 100%;}
 #safety .safety-section .check-card--full .check-header{top:75px;}

}

@media (max-width: 767px) {
 #safety .safety-section .slide-track{gap:20px;width:calc((250px + 20px) * 16);}
 #safety .safety-section .slide-item{width:250px;height:180px;}
 #safety .ink-section .ink-drop{width:130px;height:190px}
 #safety .ink-section .ink-drop span{font-size:14px}
 #safety .en-label{font-size:13px;}
 #safety .ink-section .ink-flex{grid-template-columns:1fr;padding:24px 10px;margin:0 auto 30px;}
 #safety .ink-section .ink-flex:nth-of-type(even){grid-template-columns:1fr;}
 #safety .ink-section .ink-flex .ink-text{width:100%;order:2;}
 #safety .ink-section .ink-flex .ink-img{width:100%;order:1;}
 #safety .ink-section .ink-flex .ink-img figure{display:flex;flex-direction:column;align-items:center;}
 #safety .ink-section .lead-sub{padding:0 10px;}
 #safety .ink-section .ink-desc{padding:0 10px;}
 #safety .safety-section{padding:0 0 50px;}
 #safety .safety-section .lead-sub{padding:0 10px;}
 #safety .safety-section .check-grid{margin:50px auto 0;padding:0 10px;}
 #safety .policy-section .policy-content{flex-direction:column;padding:0 10px;}
 #safety .policy-section .policy-box{padding:25px;}
 #safety .cert-item{padding:0 10px 40px;}
 #safety .cert-text{font-size:14px;}
 #safety .cert-img--double{flex-direction:column;max-width:300px;}

}

@media (max-width: 600px) {
 #safety .ink-section .ink-drops{gap:20px;padding:0 10px;}
 #safety .ink-section .ink-drops{margin-bottom:70px;}
 #safety .ink-section .ink-title{font-size:20px;}
 #safety .safety-section .check-num{font-size:35px}
 #safety .safety-section .check-title{padding-top:20px;font-size:16px;padding-bottom:10px}
 #safety .safety-section .check-card{min-height:323px;width:340px;padding:0 10px}
 #safety .safety-section .check-bg-sp{display:none}
 #safety .safety-section .check-bg-sp02{display:block;position:absolute;top:0;left:0;width:100%;height:auto;z-index:0;fill:#fff;stroke:#898875;stroke-width:3px}
 #safety .policy-section .policy-title{font-size:20px;}
 #safety .policy-section .policy-lead{line-height:1.8;}
 #safety .policy-section .policy-list li{line-height:1.8;}
 #safety .cert-text{font-size:13px;}
 #safety .cert-title {margin-top:20px;}
}

@media (max-width: 420px) {
 #safety .ink-section .ink-drops{margin-bottom:50px}
 #safety .ink-section .ink-drop span{font-size:13px}
 #safety .certification-section {padding:40px 0;}
}


