@charset "UTF-8";
/* ========================================
   第二階層
======================================== */
html {
  scroll-behavior: smooth;
}

/* br-mobile: 560px以下でのみ改行 */
.br-mobile {
  display: none;
}

@media (max-width: 560px) {
  .br-mobile {
    display: inline;
  }
}
/* ========================================
   product.html
======================================== */

/* ========== Hero　第二階層共通　========== */
#products .hero{--wave-h:140px;--wave-gap:6px;--wave-overlap:90px;min-height:max(320px, min(28vw, 540px));padding-top:calc(var(--wave-h) - var(--wave-overlap) + var(--wave-gap));padding-bottom:32px;position:relative;overflow:hidden;background:url("../img/products_hero.jpg") 0% 40%/130% auto no-repeat!important;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#products .hero__inner{position:static;z-index:3;}
#products .hero__title{font-size:45px;color:#3b5c86;font-weight:300;position:absolute;top:50%;left:18%;transform:translateY(-50%);z-index:3;letter-spacing:1px;}
@media (max-width:960px){#products .hero__title{font-size:45px;font-weight:300;top:60%;left:5%}}
@media (max-width:760px){#products .hero{min-height:max(256px, min(22.4vw, 432px));background:url("../img/products_hero.jpg") 0% 40%/140% auto no-repeat!important}#products .hero__title{font-size:35px;font-weight:400;top:60%;left:5%}}
@media (max-width:560px){#products .hero{min-height:max(256px, min(22.4vw, 432px));background:url("../img/products_hero.jpg") 0% 95%/170% auto no-repeat!important}#products .hero__title{font-size:25px;font-weight:400;top:60%;left:5%}}
/* ========== Hero　第二階層共通　ここまで ========== */
/*****　背景グラデーション・波　*****/
#products .White-bg{background-color:#fff;background-image:url("../img/product_maskbg.jpg");background-position:1% 12%;background-size:140%;background-repeat:no-repeat;background-attachment:fixed;}
#products .beige-bg{background:linear-gradient(to bottom,#fff 0,#fff 40%,#f2d7aa 100%);position:relative;}
#products .beige-bg::before{content:"";position:absolute;left:50%;transform:translateX(-50%) scaleX(-1) scaleY(.7);top:-280px;width:100vw;height:245px;background:#fff;z-index:1;pointer-events:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,224L80,197.3C160,171,320,117,480,112C640,107,800,149,960,154.7C1120,160,1280,128,1360,112L1440,96L1440,320L1360,320C1280,320,1120,320,960,320C800,320,640,320,480,320C320,320,160,320,80,320L0,320Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,224L80,197.3C160,171,320,117,480,112C640,107,800,149,960,154.7C1120,160,1280,128,1360,112L1440,96L1440,320L1360,320C1280,320,1120,320,960,320C800,320,640,320,480,320C320,320,160,320,80,320L0,320Z'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center top;mask-position:center top;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
#products .product-categories{position:relative;z-index:2;}
/*****　商品一覧　*****/
#products .container{width:min(var(--max),100% - var(--pad) * 2);margin-inline:auto;margin-bottom:150px;}
#products .product-categories{padding:32px 0 40px;}
#products .pcards{display:grid;gap:26px;}
#products .pcards__item{list-style:none;}
#products .pcard{position:relative;display:grid;align-items:center;min-height:180px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-1);background:var(--g-navy);color:#fff;padding:24px;height:450px;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease;}
#products a.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);}
#products .pcard__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--g-navy);opacity:.95;}
#products .pcard__bg--blend::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120px 100% at 90% 50%,rgba(255,255,255,.18),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));}
#products .pcard--rightText .pcard__bg--blend::after,#products .pcard--rightText2 .pcard__bg--blend::after{background:radial-gradient(120px 100% at 10% 50%,rgba(255,255,255,.18),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));}
#products .pcard__media{position:absolute;top:0;right:0;bottom:0;left:40%;background:url("../img/placeholder-01.jpg") center/cover no-repeat;border-radius:inherit;filter:saturate(1.05);}
#products .pcard__media--thumb{left:18%;right:18%;top:22%;bottom:22%;border-radius:16px;background:url("../img/placeholder-thumb.jpg") center/cover no-repeat;box-shadow:var(--shadow-2);}
#products .pcard__media--white{top:0;right:55%;bottom:0;left:0;background:#fff url("../img/placeholder-white.jpg") center/cover no-repeat;}
#products .pcard--leftImage::after,#products .pcard--rightText::after,#products .pcard--leftImage2::after,#products .pcard--rightText2::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;transition:background .3s ease;pointer-events:none;z-index:5;}
#products .pcard--leftImage:hover::after,#products .pcard--rightText:hover::after,#products .pcard--leftImage2:hover::after,#products .pcard--rightText2:hover::after{background:rgba(25,67,110,.2);}
#products .pcard__mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;}
#products .pcard--leftImage .pcard__mask,#products .pcard--leftImage2 .pcard__mask{background:linear-gradient(90deg,transparent 0%,transparent 15%,rgba(128,166,186,.3) 30%,rgba(128,166,186,.6) 50%,rgba(128,166,186,.3) 70%,transparent 85%);}
#products .pcard--rightText .pcard__mask,#products .pcard--rightText2 .pcard__mask{background:linear-gradient(90deg,transparent 15%,rgba(128,166,186,.3) 30%,rgba(128,166,186,.6) 50%,rgba(128,166,186,.3) 70%,transparent 85%);}
#products .pcard__content{position:relative;z-index:10;max-width:50%;margin:0 20px;}
#products .pcard__title{font-size:35px;font-weight:300;line-height:1.5;letter-spacing:1px;}
#products .pcard__title::after{content:"";display:block;width:100%;height:20px;margin:0 0 20px;background:url("../img/whiteline.png") left center/contain no-repeat;}
#products .pcard__text{margin-top:.4rem;color:#e9f0fb;letter-spacing:1px;font-size:20px;}
/* Card1 */
#products .pcard--leftImage::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:url("../img/product_eyes.png") right center/50% no-repeat;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 50,0 Q 55,50 50,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 50,0 Q 55,50 50,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
#products .pcard--leftImage .pcard__media{left:50%;right:0;z-index:1;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 Q 10,50 0,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 Q 10,50 0,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
/* Card2 */
#products .pcard--rightText::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background-image:url("../img/product_grayhair.png");background-size:auto 120%;background-position:-100px 10%;background-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 50,100 Q 45,50 50,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 50,100 Q 45,50 50,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
#products .pcard--rightText .pcard__media{left:0;right:100%;z-index:1;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 100,100 Q 90,50 100,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 100,100 Q 90,50 100,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
/* Card3 */
#products .pcard--leftImage2::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:url("../img/product_nail.png");background-size:auto 120%;background-position:-260px 10%;background-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 50,0 Q 55,50 50,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 50,0 Q 55,50 50,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
#products .pcard--leftImage2 .pcard__media{left:50%;right:0;z-index:1;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 Q 10,50 0,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 Q 10,50 0,100 L 100,100 L 100,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
/* Card4 */
#products .pcard--rightText2::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:url("../img/product_empty_packs.png");background-size:auto 130%;background-position:-100px 100%;background-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 50,100 Q 45,50 50,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 50,100 Q 45,50 50,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
#products .pcard--rightText2 .pcard__media{left:0;right:50%;z-index:1;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 100,100 Q 90,50 100,0 Z' fill='%23000'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M 0,0 L 0,100 L 100,100 Q 90,50 100,0 Z' fill='%23000'/></svg>");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
#products .pcard--centerThumb .pcard__media{display:none;}
#products .pcard--rightText .pcard__content{margin-left:auto;}
#products .pcard--rightText2 .pcard__content{margin-left:auto;}
#products .pcard--leftWhite .pcard__bg{background:var(--g-navy);}
#products .pcard--leftWhite .pcard__media--white{z-index:1;}
#products .pcard--leftWhite .pcard__content{margin-left:auto;}
/*****　技術解説　*****/
#products .technology-cards{padding:60px 0 200px;}
#products .technology-cards__header{text-align:center;margin:0 auto 80px;padding:0 32px;}
#products .technology-cards__title{font-size:42px;font-weight:300;line-height:1.4;color:#1d395e;margin-bottom:20px;}
#products .technology-cards__description{font-size:20px;line-height:1.7;max-width:1000px;margin:0 auto;color:#40526e;}
#products .technology-cards__list{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:18px;margin:0 25px;}
#products .technology-card{flex:1 1 0;aspect-ratio:1 / 1;min-width:0;border-radius:24px;text-align:center;background:linear-gradient(180deg,#FFDFD0 0%,#FCBCA9 50%,#FAA691 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;}
#products .technology-card__link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none;color:inherit;padding:36px 24px;}
#products .technology-card__inner{position:static;width:100%;}
#products .technology-card__icon{position:absolute;top:-20px;right:-10px;width:120px;height:120px;object-fit:contain;}
#products .technology-card:nth-child(1) .technology-card__icon{width:130px;height:130px;right:0;}
#products .technology-card:nth-child(2) .technology-card__icon{width:100px;height:100px;right:10px;}
#products .technology-card:nth-child(3) .technology-card__icon{width:130px;height:130px;right:-10px;top:-30px;}
#products .technology-card__title{font-weight:400;font-size:32px;}
#products .technology-card__arrow-wrapper{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);width:60px;height:30px;display:flex;align-items:center;justify-content:center;}
#products .technology-card__arrow-wrapper::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:60px;height:60px;background:rgba(255,240,230,.389);border-radius:50%;opacity:0;transition:transform .4s ease,opacity .4s ease;z-index:-1;}
#products .technology-card:hover .technology-card__arrow-wrapper::before{transform:translate(-50%,-50%) scale(1);opacity:1;}
#products .technology-card__arrow{display:block;width:60px;height:30px;object-fit:contain;position:relative;z-index:2;}
#products .technology{max-width:1100px;margin:100px auto 0;padding-bottom:200px;}
#products .technology_container{margin:0 25px 200px;scroll-margin-top:140px;}
#products .technology_inner{display:flex;gap:26px;align-items:center;}
#products .technology_title{font-weight:300;color:#19436E;font-size:42px;line-height:1.5;}
#products .technology_subtitle{margin-top:6px;color:#19436E;font-weight:300;font-size:32px;line-height:1.5;}
#products .technology_body{margin-top:14px;color:#19436E;font-size:18px;line-height: 1.5;}
#products .technology_figure{width:100%;aspect-ratio:1 / 1;background:url("../img/product_ad.png") center/contain no-repeat;}
#products .technology_figure--paint{aspect-ratio:16/11;background:url("../img/product_fd01.png") center/contain no-repeat;background-size:70%;position:relative;}
#products .technology_figure--paint::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("../img/product_fd02.png") left center/70% no-repeat;}
#products .technology_figure--tools{aspect-ratio:16/11;background:url("../img/product_pd.png") center/contain no-repeat;}

/* ========================================
   About us
======================================== */
/* タイトル部分 */
#about .hero{--wave-h:140px;--wave-gap:6px;--wave-overlap:90px;min-height:max(320px, min(28vw, 540px));padding-top:calc(var(--wave-h) - var(--wave-overlap) + var(--wave-gap));padding-bottom:32px;position:relative;overflow:hidden;background: url("../img/about_hero.jpg") 100% 0%/120% auto no-repeat!important;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#about .hero__inner{ position: static; z-index: 3; }
#about .hero__title{font-size:45px;color:#3b5c86;font-weight:300;position:absolute;top:50%;left:18%;transform:translateY(-50%);z-index:3;letter-spacing: 1px;}
#about .breadcrumb {background-color: #fff;}
/* intro */
#about .intro {padding: 80px 0 80px;background-color: #fff;}
#about .intro .inner {max-width: 1000px;margin: 0 auto;}
#about .intro .text {width: 100%;margin: 0 auto 80px;text-align: center;}
#about .intro .text p {margin-bottom: 1.4em;font-size: 20px;line-height: 1.8;color: #19436E;}
#about .intro .text .highlight-orange {color: #E6644C;font-weight: 500;}
#about .intro .photo {width: 100%;margin: 0 auto;}
#about .intro .photo img {display: block;width: 100%;height: auto;}
/* precision-engineering  */
#about .precision-engineering {position: relative;width: 100%;overflow: visible;z-index: 1;background-color: #fff;}
#about .precision-engineering .technology-background {position: absolute;top: 0;right: 0;bottom: 0;left: 0;background-image: url('../img/technology_bg.png');background-size: 100% 100%;background-position: top center;background-repeat: no-repeat;z-index: 0;}
#about .precision-engineering .technology-inner {position: relative;z-index: 1;max-width: 1000px;margin: 0 auto;padding: 164px 0 224px;display: flex;flex-direction: column;align-items: center;}
#about .precision-engineering .technology-heading {text-align: center;margin-bottom: 72px;}
#about .precision-engineering .technology-heading h3 {font-size: 42px;line-height: 1.7;font-weight: 400;color: #19436E;margin-bottom: 24px;}
#about .precision-engineering .technology-heading p {font-size: 18px;line-height: 1.8;color: #19436E;}
#about .precision-engineering .technology-bottom {display: flex;align-items: center;gap: 48px;width: 100%;}
#about .precision-engineering .technology-figure {flex: 0 0 42%;text-align: center;}
#about .precision-engineering .technology-figure img {display: block;width: 100%;height: auto;max-width: 500px;margin: 0 auto;}
#about .precision-engineering .technology-text {flex: 1;text-align: left;color: #19436E;}
#about .precision-engineering .technology-text h4 {font-size: 29px;line-height: 1.6;font-weight: 400;margin-bottom: 16px;}
#about .precision-engineering .technology-text p {font-size: 16px;line-height: 1.6;margin-bottom: 1.2em;font-weight: 300;}
#about .precision-engineering .technology-text span {font-weight: 600;}
/* Gradient Story Block */
#about #story-block {background: linear-gradient(180deg, #FFFFFF 0%, #F7E9D1 70%, #efd9af 100%);padding: 120px 0 56px;}
/* Quality Assurance  */
#about #quality-assurance {margin-bottom: 160px;}
#about #quality-assurance .inner {width: 1000px;margin: 0 auto;text-align: center;overflow: hidden;}
/* 手書きタイトルエリア ------------------ */
#about #quality-assurance .qa-title-wrapper {max-width: 900px;margin: 0 auto 40px;}
#about #quality-assurance .qa-title-wrapper .qa-handwriting {display: block;width: 100%;height: auto;}
#about #quality-assurance .qa-title-wrapper .qa-text path {fill: #19436E;}
#about #quality-assurance .qa-title-wrapper .qa-mask-line path {fill: none;stroke: #fff;stroke-width: 60;stroke-linecap: round;stroke-linejoin: round;
stroke-dasharray: 1;stroke-dashoffset: 1;animation: none;}
#about #quality-assurance .qa-title-wrapper.is-anim .qa-mask-line path {animation: qa-handwriting 7.5s ease forwards;}
@keyframes qa-handwriting { 0% {stroke-dashoffset: 1;} 100% { stroke-dashoffset: 0;}}
#about #quality-assurance .qa-title-img-sp {display: none;}
/* ------------------  */
#about #quality-assurance .description {font-size: 18px;line-height: 1.8;color: #19436E;margin-bottom: 64px;}
#about #quality-assurance .factory-layout {width: 850px;margin: 0 auto;display: flex;justify-content: center;align-items: stretch;gap: 40px;}
#about #quality-assurance .factory-cert {width: 50%;background: #fff;border-radius: 24px;padding: 24px 32px;display: flex;align-items: center;}
#about #quality-assurance .factory-items {display: flex;flex-wrap: wrap;row-gap: 24px;column-gap: 24px;justify-content: flex-start;}
#about #quality-assurance .factory-item {display: flex;flex-direction: column;align-items: center;}
#about #quality-assurance .factory-item:first-child {width: 100%;align-items: flex-start;}
#about #quality-assurance .factory-item:first-child .factory-mark {width: 100%;height: auto;}
#about #quality-assurance .factory-item:first-child .factory-label {text-align: left;}
#about #quality-assurance .factory-item:first-child .factory-label {text-align: left;margin-top: -12px;}
#about #quality-assurance .factory-item:not(:first-child) .factory-label {margin-top: 6px;}
#about #quality-assurance .factory-mark {width: 98px;height: auto;display: flex;align-items: center;justify-content: center;}
#about #quality-assurance .factory-mark img {display: block;width: 100%;height: auto;}
#about #quality-assurance .factory-label {font-size: 11px;font-weight: 300;color: #000;line-height: 1.4;}
#about #quality-assurance .factory-photos {width: 50%;display: flex;flex-direction: column;gap: 24px;}
#about #quality-assurance .factory-photo {width: 100%;overflow: hidden;}
#about #quality-assurance .factory-photo img {display: block;width: 100%;height: auto;}
/* production-system */
#about #production-system {padding: 180px 0 320px;position: relative;overflow: hidden;}
#about #production-system::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background-repeat:no-repeat;
  background-position:center top;
  background-image: url(../img/production_bg.jpg) ;
  background-size: cover;
  }
#about #production-system .inner {max-width: 950px;width: 100%;margin: 0 auto;position: relative;z-index: 1;}
#about #production-system .production-panel {background: rgba(255, 255, 255, 0.7);border-radius: 24px;box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);padding: 48px 64px 16px;color: #19436E;}
#about #production-system .production-title {font-size: 33px;font-weight: 500;margin: 0 0 10px;}
#about #production-system .production-title-sub {margin-top: 40px;}
#about #production-system .production-accent-line {width: 100%;height: 3px;background: #E6644C;margin-bottom: 40px;}
#about #production-system .production-row {display: grid;grid-template-columns: 248px 1fr;column-gap: 40px;row-gap: 8px;margin: 40px 0;}
#about #production-system .production-label {font-weight: 500;line-height: 1.7;font-size: 18px;}
#about #production-system .production-desc {line-height: 1.7;font-size: 16px;}
#about #production-system .production-desc ul {margin: 0;padding-left: 1.2em;list-style-type: disc;list-style-position: outside;}
#about #production-system .production-desc li {margin-bottom: 0.2em;}
#about #production-system .production-separator {border: none;border-top: 1px solid #19436E;margin: 24px 0;}

/* ========================================
   Company
======================================== */
/* タイトル部分 */
#company .hero{--wave-h:140px;--wave-gap:6px;--wave-overlap:90px;min-height:max(320px, min(28vw, 540px));padding-top:calc(var(--wave-h) - var(--wave-overlap) + var(--wave-gap));padding-bottom:32px;position:relative;overflow:hidden;background: url("../img/company_hero.jpg") 100% 0%/100% auto no-repeat!important;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#company .hero__inner{ position: static; z-index: 3; }
#company .hero__title{font-size:45px;color:#3b5c86;font-weight:300;position:absolute;top:50%;left:50%;transform:translateX(-50%);z-index:3;letter-spacing: 1px;}
/* company info */
#company .company_info {position: relative;width: 100%;padding: 140px 0 164px;;background-color: #fff;overflow: visible;z-index: 2;}
#company .company_info .inner {position: relative;z-index: 1;text-align: center;width: 950px;margin: 0 auto;overflow: hidden;}
#company .company_info .title {font-size: 60px;font-weight: 400;color: #19436E;}
#company .company_info .decoration {margin: -10px auto 40px;width: 675px;max-width: 100%;}
#company .company_info .decoration-inner {position: relative;overflow: hidden;}
#company .company_info .decoration img {width: 100%;height: auto;display: block;}
#company .company_info .decoration-inner::before {content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;background: #fff;transform: translateX(0);}
#company .company_info .decoration-inner.is-animate::before {animation: title-decoration-reveal 1.2s cubic-bezier(0.7, 0, 0.3, 1) forwards;}
@keyframes title-decoration-reveal {from { transform: translateX(0); }to   { transform: translateX(100%); }}
#company .company_info .info_panel {margin-top: 120px;}
#company .company_info .info-card {border: 2px solid #19436E;border-radius: 32px;padding: 64px 80px;text-align: left;}
#company .company_info .info-separator {height: 1px;margin: 64px 0;background-color: #19436E;}
#company .company_info .info-table {display: grid;grid-template-columns: 170px 1fr;column-gap: 56px;row-gap: 14px;font-size: 16px;line-height: 1.8;color: #19436E;margin: 0;}
#company .company_info .info-table dt {font-weight: 500;}
#company .company_info .info-table dd {margin: 0;font-weight: 400;}
/* Gradient Story Block */
#company #story-block {background: linear-gradient(180deg, #FFFFFF 0%, #F7E9D1 60%, #EDC681B2 100%);padding: 0;}
/* company photo */
#company .company_photo {width: 100%;margin: 0;padding: 0;}
#company .company_photo-inner {display: flex;width: 100%;max-width: 100%;}
#company .company_photo-item {flex: 1 1 33.333%;margin: 0;}
#company .company_photo-item img {display: block;width: 100%;height: auto;}
/* company access */
#company .company_access {padding: 132px 0 300px;}
#company .company_access .inner {width: 950px;margin: 0 auto;}
#company .company_access .map-wrapper {position: relative;width: 100%;max-width: 950px;margin: 0 auto 72px;padding-top: 56.25%;border-radius: 4px;overflow: hidden;}
#company .company_access .map-wrapper iframe {position: absolute;top: 0;right: 0;bottom: 0;left: 0;width: 100%;height: 100%;}
#company .company_access .access-text {text-align: center;}
#company .company_access .access-heading {font-size: 18px;font-weight: 500;color: #19436E;margin-bottom: 16px;}
#company .company_access .access-list {list-style: none;margin: 0 auto;padding: 0;max-width: 640px;display: inline-block;
text-align: left; font-size: 16px;font-weight: 400;line-height: 24px;color: #19436E;justify-content: center}
#company .company_access .access-list li {position: relative;padding-left: 1.2em;}
#company .company_access .access-list li::before {content: "•";position: absolute;left: 0;top: 0;color: #E6644C;}

/* ========================================
   Sustainability
======================================== */
/* タイトル部分 */
#sustainability .hero{--wave-h:140px;--wave-gap:6px;--wave-overlap:90px;min-height:max(320px, min(28vw, 540px));padding-top:calc(var(--wave-h) - var(--wave-overlap) + var(--wave-gap));padding-bottom:32px;position:relative;overflow:hidden;background: url("../img/sustainability_hero.png") 100% 100%/120% auto no-repeat!important;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#sustainability .hero__inner{ position: static; z-index: 3; }
#sustainability .hero__title{font-size:45px;color:#fff;font-weight:300;position:absolute;top:50%;left:18%;transform:translateY(-50%);z-index:3;letter-spacing: 1px;}
/* vision */
#sustainability .s_vision {padding: 140px 0;}
#sustainability .s_vision .inner {max-width: 950px;margin: 0 auto;display: flex;flex-direction: column;align-items: center;text-align: center;}
#sustainability .s_vision_title {width: 100%;max-width: 900px;margin: 0 auto 64px;}
#sustainability .s_vision_title img.s_vision_title_pc { display: block;width: 100%;height: auto;}
#sustainability .s_vision_title img.s_vision_title_sp { display: none;}
/* SVG本体 */
#sustainability .s_vision_title .s_vision-handwriting {display: block;width: 100%;height: auto;opacity: 1;}
#sustainability .s_vision_title .s_vision-text .st1 {fill: #19436E;}
#sustainability .s_vision_title .s_vision-mask-line .st0 {fill: none;stroke: #fff;stroke-width: 60;stroke-linecap: round;stroke-linejoin: round;stroke-dasharray: 1;stroke-dashoffset: 1;animation: none;}
#sustainability .s_vision_title.is-anim .s_vision-mask-line .st0 { animation: s-vision-handwriting 7.5s ease forwards;}
@keyframes s-vision-handwriting { 0%   { stroke-dashoffset: 1; } 100% { stroke-dashoffset: 0; }}
/* ------------------------------------------------------------------------------- */
#sustainability .s_vision_lead {width: 80%;max-width: 700px;margin: 0 auto;font-size: 20px;line-height: 1.8;color: #19436E;}
#sustainability .s_vision_pen {width: 80%;max-width: 700px; margin: 40px auto;}
#sustainability .s_vision_pen img {display: block;width: 100%; height: auto;}
#sustainability .s_vision_text {width: 80%;max-width: 700px;margin: 0 auto;font-size: 20px;line-height: 1.8;color: #19436E;}
#sustainability .vision_btn {margin-top: 56px;}
#sustainability .more-button {display: inline-block;padding: 12px 64px;background-color: #19436E;color: #fff;text-decoration: none;border-radius: 50px;font-size: 18px;font-weight: 500;border: 1px solid transparent;transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;}
#sustainability .more-button:hover {background-color: #fff;color: #19436E;border-color: #19436E;}
/* future */
#sustainability .s_future {position: relative;padding: 156px 0;background: url("../img/s_future_bg.jpg") center center / cover no-repeat;color: #fff;}
#sustainability .s_future .inner {position: relative;max-width: 950px;margin: 0 auto;display: flex;flex-direction: column;align-items: center;text-align: center;}
#sustainability .s_future_title {font-size: 42px;font-weight: 400;margin-bottom: 40px;}
#sustainability .s_future_title br {display: none;}
#sustainability .s_future_text {width: 100%;margin: 0 auto;font-size: 20px;line-height: 1.8;font-weight: 400;}
#sustainability .s_future_text + .s_future_text {margin-top: 24px;}
/* Gradient Story Block */
#sustainability #story-block {background: linear-gradient(180deg, #FFFFFF 0%, #F7E9D1 60%, #EDC681B2 100%);padding: 0;}
/* journey */
#sustainability .s_journey {padding: 164px 0 300px;color: #19436E;}
#sustainability .s_journey .inner {max-width: 950px;margin: 0 auto;text-align: center;}
#sustainability .s_journey_lead {font-size: 20px;line-height: 1.8;font-weight: 400;margin: 0 0 32px;}
#sustainability .s_journey_text {font-size: 20px;line-height: 1.8;font-weight: 400;margin: 0 0 56px;}
#sustainability .s_journey_btn {text-align: center;}
#sustainability .supplier-button {display: inline-flex; align-items: center;justify-content: center;column-gap: 48px;   padding: 20px 48px 20px 72px;background-color: #19436E;color: #fff;text-decoration: none;border-radius: 50px;font-size: 18px;font-weight: 500;border: 1px solid transparent;line-height: 21px;transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease;}
#sustainability .supplier-button__text {text-align: center;}
#sustainability .supplier-button__icon {position: relative;display: block;width: 15px;height: 15px;}
#sustainability .supplier-button__icon img {display: block;width: 100%;height: 100%;opacity: 0;}
#sustainability .supplier-button__icon::before {content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;
-webkit-mask-image: url("../img/arrow_right.png");mask-image: url("../img/arrow_right.png");-webkit-mask-repeat: no-repeat;mask-repeat: no-repeat;-webkit-mask-position: center;mask-position: center;-webkit-mask-size: contain;mask-size: contain;background-color: #fff;transition: background-color 0.3s ease;}
#sustainability .supplier-button:hover {background-color: #fff;color: #19436E;border-color: #19436E;}
#sustainability .supplier-button:hover .supplier-button__icon::before {background-color: #19436E;}

/* ========================================
   レスポンシブ
======================================== */

@media screen and (max-width: 1050px) {
  /* intro */
 #about .intro {padding: 80px 0 80px;}
 #about .intro .inner {width: 90%;}
 #about .intro .text {width: 90%;margin: 0 auto 64px;}
 #about .intro .text p {font-size: 18px;}
 #about .intro .text br {display: none;}
 #about .intro .photo {width: 100%;}
 /* precision-engineering  */
 #about .precision-engineering .technology-background{position: absolute;top: 0;right: 0;bottom: 0;left: 0;background-image: url('../img/technology_bg_sp.png');background-size: 100% 100%;background-position: top center;background-repeat: no-repeat;z-index: 0;}
 #about .precision-engineering .technology-inner {width: 90%;padding: 100px 0 164px;}
 #about .precision-engineering .technology-heading {margin-bottom: 64px;width: 90%;}
 #about .precision-engineering .technology-heading h3 {font-size: 34px;}
 #about .precision-engineering .technology-heading p {font-size: 17px;}
 #about .precision-engineering .technology-bottom {flex-direction: column;text-align: center;}
 #about .precision-engineering .technology-figure {width: 100%;margin: 0 auto;flex:none;}
 #about .precision-engineering .technology-text {width: 90%;margin: 0 auto;text-align: left;flex: none;}
 #about .precision-engineering .technology-text h4 {font-size: 24px;}
 #about .precision-engineering .technology-text br {display: none;}
 #about .precision-engineering .technology-text p {font-size: 15px;line-height: 1.8;font-weight: 400;}
 /* Gradient Story Block */
 #about #story-block {padding: 64px 0 56px;}
 /* Quality Assurance  */
 #about #quality-assurance {margin-bottom: 100px;}
 #about #quality-assurance .inner {width: 90%;}
 /* 手書きタイトルエリア ------------------ */
 #about #quality-assurance .qa-title-wrapper {width: 90%;margin: 0 auto 24px;}
 #about #quality-assurance .qa-title-wrapper .qa-handwriting {display: block;width: 100%;height: auto;}
 #about #quality-assurance .qa-title-wrapper .qa-text path {fill: #19436E;}
 #about #quality-assurance .qa-title-wrapper .qa-mask-line path {fill: none;stroke: #fff;stroke-width: 60;stroke-linecap: round;stroke-linejoin: round;
 stroke-dasharray: 1;stroke-dashoffset: 1;animation: none;}
 #about #quality-assurance .qa-title-wrapper.is-anim .qa-mask-line path {animation: qa-handwriting 7.5s ease forwards;}
 @keyframes qa-handwriting { 0% {stroke-dashoffset: 1;} 100% { stroke-dashoffset: 0;}}
 /* ------------------  */
 #about #quality-assurance .description {width: 90%;margin: 40px auto 48px;font-size: 17px;}
 #about #quality-assurance .description br {display: none;}
 #about #quality-assurance .factory-layout {width: 100%;gap: 32px;}
 #about #quality-assurance .factory-cert {width: 50%;padding: 16px;}
 #about #quality-assurance .factory-items {column-gap: 20px;justify-content: center;}
 #about #quality-assurance .factory-item:first-child {width: 90%;margin: 0 auto;align-items: flex-start;}
 #about #quality-assurance .factory-item:first-child .factory-label {margin-top: -8px;}
 #about #quality-assurance .factory-item:not(:first-child) .factory-label {margin-top: 6px;}
 #about #quality-assurance .factory-mark {width: 82px;}
 #about #quality-assurance .factory-photos {width: 50%;display: flex;flex-direction: column;gap: 24px;}
 /* production-system */
 #about #production-system {padding: 132px 0 280px;}
 #about #production-system::before {content:"";display:block;position:fixed;top:0;left:0;z-index:-1;width:100%;height:100vh;background-repeat:no-repeat;background-position:center top;background-image: url(../img/production_bg.jpg);background-size: cover;}
 #about #production-system .inner {width: 90%;}
 #about #production-system .production-panel {padding: 48px 32px 16px;}
 #about #production-system .production-title {font-size: 28px;}
 #about #production-system .production-row {grid-template-columns: 225px 1fr;column-gap: 32px;}
 #about #production-system .production-label {font-size: 17px;}
 #about #production-system .production-desc {font-size: 15px;}
 

 
 /***** company *****/
/* company info */
#company .company_info .inner {width: 90%;}
#company .company_info .title {font-size: 48px;}
#company .company_info .decoration {width: 80%;max-width: 600px;}
#company .company_info .info_panel {margin-top: 80px;}
#company .company_info .info-card {padding: 56px 64px;}
#company .company_info .info-table {column-gap: 48px;}
/* company access */
#company .company_access {padding: 132px 0 300px;}
#company .company_access .inner {width: 80%;}
#company .company_access .map-wrapper {margin: 0 auto 72px;padding-top: 56.25%;}


/***** sustainability　*****/
/* vision */
#sustainability .s_vision .inner {width: 90%;}
#sustainability .s_vision_title {width: 100%;margin: 0 auto 48px;}
#sustainability .s_vision_lead {width: 90%;font-size: 19px;}
#sustainability .s_vision_pen {width: 90%;margin: 56px auto;}
#sustainability .s_vision_text {width: 90%;font-size: 19px;}
#sustainability .vision_btn {margin-top: 56px;}
#sustainability .more-button {font-size: 17px;}
/* future */
#sustainability .s_future .inner {width: 90%;}
#sustainability .s_future_title {font-size: 40px;}
#sustainability .s_future_text {font-size: 19px;}
/* journey */
#sustainability .s_journey .inner {width: 90%;}
#sustainability .s_journey_lead {font-size: 19px;}
#sustainability .s_journey_text {font-size: 19px;}
#sustainability .supplier-button {font-size: 17px;}
#sustainability .supplier-button__icon {width: 14px;height: 14px;}

}
 
@media (max-width: 1024px) {
 #products .White-bg{background-size:cover;background-position:center;}
}

@media (max-width: 960px) {
 #products .container{width:90%}
 #products .pcard{height:auto;min-height:auto;padding:0;display:flex;flex-direction:column;background:transparent;margin-bottom:20px}
 #products .pcards{display:block}
 #products .pcard__content{padding:30px;max-width:none;width:100%;margin:0;position:relative;z-index:10;background:url("../img/blue_grad.png") top center / 100% 100% no-repeat;border-radius:var(--radius-xl) var(--radius-xl) 0 0;min-height:300px;box-sizing:border-box}
 #products .pcard__bg{display:none}
 #products .pcard--leftImage::before,#products .pcard--rightText::before,#products .pcard--leftImage2::before,#products .pcard--rightText2::before{position:relative;width:100%;height:300px;order:2;-webkit-mask-image:none;mask-image:none;background-size:cover;background-position:center;border-radius:0 0 var(--radius-xl) var(--radius-xl);margin-top:-30px;z-index:1}
 #products .pcard--leftImage2::before{background-position:100% center}
 #products .pcard__title{font-size:36px;letter-spacing:1px;font-weight:300}
 #products .pcard__title br{display:none}
 #products .pcard--leftImage2 .pcard__title br{display:block}
 #products .pcard__text{font-size:18px;letter-spacing:1px;font-weight:300}
 #products .br-desktop{display:none}
 #products .pcard--leftImage .pcard__title::after{width:40%;min-width:300px}
 #products .pcard--rightText .pcard__title::after{width:65%;min-width:450px}
 #products .pcard--leftImage2 .pcard__title::after{width:55%;min-width:400px}
 #products .pcard--rightText2 .pcard__title::after{width:50%;min-width:300px}
 #products .pcard--leftImage .pcard__media,#products .pcard--rightText .pcard__media,#products .pcard--leftImage2 .pcard__media,#products .pcard--rightText2 .pcard__media{display:none}
 #products .pcard__mask{display:none}
 #products .technology_title{font-size:32px;line-height:1.4}
 #products .technology_subtitle{font-size:28px}
 #products .technology_inner{grid-template-columns:1.2fr .8fr;gap:40px}
 #products .technology_inner--reverse{grid-template-columns:.9fr 1.1fr}
 #products .technology-cards__list{margin:0 20px;gap:10px}
 #products .technology-card{border-radius:15px}
 #products .technology-card__arrow-wrapper{bottom:20px}
 #products .technology_text{width:90%}
}

@media screen and (max-width: 768px) {
  /* intro */
  #about .intro {padding: 80px 0 80px;}
  #about .intro .text {margin: 0 auto 64px;}
  #about .intro .text p {font-size: 17px;}
  /* precision-engineering  */
  #about .precision-engineering .technology-inner {padding: 100px 0 148px;}
  #about .precision-engineering .technology-heading h3 {font-size: 26px;}
  #about .precision-engineering .technology-heading p {font-size: 16px;}
  #about .precision-engineering .technology-text h4 {font-size: 22px;}
  /* Quality Assurance */
  #about #quality-assurance {margin-bottom: 80px;}
  #about #quality-assurance .inner{max-width: none;} 
  /* タイトルSVG */ 
  #about #quality-assurance .qa-title-wrapper { width: 100%; margin: 0 auto 24px; overflow: visible;}
  #about #quality-assurance .qa-title-svg--pc { display: none; } 
  #about #quality-assurance .qa-title-svg--sp { display: block; }
  #about #quality-assurance .qa-title-svg--sp { width: 150%; max-width: none; margin-left: 18%; height: auto; }
  #about #quality-assurance .qa-title-svg path { fill: #19436E; stroke: #19436E; stroke-width: 0.8; stroke-linecap: round; stroke-linejoin: round; }
  #about #quality-assurance .qa-title-svg .qa-clip-rect { width: 0; }
  #about #quality-assurance .qa-title-svg .qa-clip-rect.is-anim { animation: qa-reveal-horizontal 7.5s ease-out forwards; }
  #about #quality-assurance .qa-title-svg--pc {display: none !important;}
  #about #quality-assurance .qa-title-img-sp {display: block;width: 90%;max-width: 420px;margin: 0 auto 24px;height: auto;opacity: 0;transform: translateY(16px);transition:opacity 0.8s ease,transform 0.8s ease;}
  #about #quality-assurance .qa-title-wrapper.is-anim .qa-title-img-sp {opacity: 1;transform: translateY(0);}
  #about #quality-assurance .qa-title-wrapper .qa-mask-line path {animation: none;}
  /* ------------------ */
  #about #quality-assurance .description {font-size: 16px;}
  #about #quality-assurance .factory-layout {width: 90%;gap: 32px;display: flex;flex-direction: column;}   
  #about #quality-assurance .factory-cert {width: 100%;padding: 32px;}   
  #about #quality-assurance .factory-items {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));justify-items: center;max-width: 400px;margin: 0 auto;}
  #about #quality-assurance .factory-item:first-child {grid-column: 1 / -1;width: 100%;}
  #about #quality-assurance .factory-item:not(:first-child) {align-items: center;}
  #about #quality-assurance .factory-mark{width: auto;}
  #about #quality-assurance .factory-photos {width: 100%;}    
  /* production-system */
  #about #production-system {padding: 100px 0 264px;}
  #about #production-system::before {content:"";display:block;position:fixed;top:0;left:0;z-index:-1;width:100%;height:100vh;background-repeat:no-repeat;background-position:center top;background-image: url(../img/production_bg.jpg);background-size: cover;}
  #about #production-system .production-panel {padding: 40px 32px 16px;width: 95%;margin: 0 auto;}
  #about #production-system .production-title {font-size: 22px;margin: 0 0 6px;}
  #about #production-system .production-title-sub {margin-top: 32px;}
  #about #production-system .production-accent-line {margin-bottom: 24px;}
  #about #production-system .production-row {display: flex;flex-direction: column;margin-bottom: 24px;}
  #about #production-system .production-label {font-weight: 500;line-height: 1.6;font-size: 18px;}
  #about #production-system .production-desc {line-height: 1.6;}
  #about #production-system .production-desc ul {margin: 0;padding-left: 1.2em;list-style-type: disc;list-style-position: outside;}
  #about #production-system .production-desc li {margin-bottom: 0.2em;}
  #about #production-system .production-separator {border: none;border-top: 1px solid #19436E;margin: 24px 0;}

  /***** company *****/
  /* company info */
#company .company_info {padding: 80px 0 100px;}
#company .company_info .inner {width: 90%;}
#company .company_info .title {font-size: 32px;}
#company .company_info .decoration {width: 90%;max-width: 475px;margin: 0px auto;}
#company .company_info .info_panel {margin-top: 64px;}
#company .company_info .info-card {padding: 32px 32px;}
#company .company_info .info-separator {margin: 20px 0 36px;}
#company .company_info .info-table {display: flex;flex-direction: column;row-gap: 4px;font-size: 15px;line-height: 1.8;}
#company .company_info .info-table dd {margin-bottom: 16px;}
/* company access */
#company .company_access {padding: 100px 0 240px;}
#company .company_access .inner {width: 90%;}
#company .company_access .map-wrapper {margin: 0 auto 56px;padding-top: 100%;}
#company .company_access .access-heading {font-size: 16px;margin-bottom: 16px;}
#company .company_access .access-list {font-size: 15px;line-height: 22px;}

/*****　sustainability　*****/
/* vision */
#sustainability .s_vision {padding: 80px 0;}
#sustainability .s_vision .inner {width: 90%;}
#sustainability .s_vision_title {width: 72%;margin: 0 auto 80px;max-width: 400px;}
#sustainability .s_vision_title .s_vision_title_pc { display: none !important;}
#sustainability .s_vision_title img.s_vision_title_sp { display: block;opacity: 0;transform: translateY(16px);transition: opacity 0.8s ease, transform 0.8s ease;}
#sustainability .s_vision_title.is-anim .s_vision_title_sp { opacity: 1; transform: translateY(0);}
#sustainability .s_vision_lead {width: 90%;font-size: 18px;}
#sustainability .s_vision_pen {width: 90%;margin: 56px auto;}
#sustainability .s_vision_text {width: 90%;font-size: 18px;}
#sustainability .vision_btn {margin-top: 56px;}
/* future */
#sustainability .s_future {padding: 124px 0;}
#sustainability .s_future .inner {width: 90%;}
#sustainability .s_future_title {font-size: 32px;margin-bottom: 40px;}
#sustainability .s_future_title br {display: block;}
#sustainability .s_future_text {font-size: 17px;}
/* journey */
#sustainability .s_journey {padding: 100px 0 280px;}
#sustainability .s_journey .inner {width: 90%;}
#sustainability .s_journey_lead {font-size: 18px;}
#sustainability .s_journey_text {font-size: 18px;margin: 0 0 56px;}
#sustainability .supplier-button {font-size: 16px;}
#sustainability .supplier-button__icon {width: 13px;height: 13px;}

}
  
@media (max-width: 760px) {
 #products .beige-bg::before{top:-180px;height:180px}
 #products .pcard__content{min-height:250px}
 #products .pcard__title{font-size:22px}
 #products .pcard--leftImage2 .pcard__title br{display:block}
 #products .pcard__text{font-size:14px}
 #products .pcard--leftImage .pcard__title::after{width:40%;min-width:200px}
 #products .pcard--rightText .pcard__title::after{width:65%;min-width:300px}
 #products .pcard--leftImage2 .pcard__title::after{width:55%;min-width:250px}
 #products .pcard--rightText2 .pcard__title::after{width:30%;min-width:200px}
 #products .pcard--leftImage2::before{background-position:80% center}
 #products .pcard--rightText2::before{background-position:30% center}
 #products .beige-bg{background:linear-gradient(to bottom,#fff 0,#fff 20%,#f2d7aa 100%)}
 #products .beige-bg::before{top:-120px;height:100px}
 #products .technology{margin-top:50px}
 #products .technology-cards__title{font-size:22px}
 #products .technology-cards__description{font-size:14px}
 #products .technology-cards__header{margin-bottom:50px}
 #products .technology-cards{padding-bottom:100px}
 #products .technology-card__title{font-weight:400;font-size:3.5vw}
 #products .technology-card__icon{top:-10px;right:20px;width:80px;height:80px}
 #products .technology-card:nth-child(1) .technology-card__icon{width:80px;height:80px;top:-15px;right:0}
 #products .technology-card:nth-child(2) .technology-card__icon{width:60px;height:60px;right:10px}
 #products .technology-card:nth-child(3) .technology-card__icon{width:80px;height:80px;right:-10px;top:-20px}
 #products .technology-card__arrow-wrapper{bottom:15px}
 #products .technology-card__arrow{width:45px;height:25px}
 #products .technology_inner{display:flex;flex-direction:column;gap:0}
 #products .technology_inner--reverse{flex-direction:column-reverse}
 #products .technology_container{margin-bottom:100px}
 #products .technology_text{width:100%;margin:0 auto}
 #products .technology_figure{width:80%;margin:0 auto;position:static;transform:none}
 #products .technology_title{font-size:22px;line-height:1.4}
 #products .technology_subtitle{font-size:18px;line-height:1.4}
 #products .technology_body{font-size:14px}
 #products .technology_figure--paint::after{background:url(../img/product_fd02.png) 18% 61% / 54% no-repeat;}
 #products .technology_figure--paint{background-size:80%;}
}

@media (max-width: 560px) {
  
#about .intro .inner {width: 95%;}
#about .precision-engineering .technology-inner {width: 95%;}
 #about .precision-engineering .technology-figure img{width:70%}
 #about .precision-engineering .technology-text {width: 95%;}
 #products .pcard{margin-bottom:20px}
 #products .pcard__media{top:0;right:0;bottom:40%;left:0}
 #products .pcard--leftImage .pcard__media,#products .pcard--rightText .pcard__media{left:0;right:0;top:0;bottom:0;opacity:.28}
 #products .pcard--leftWhite .pcard__media--white{top:0;right:0;bottom:55%;left:0}
 #products .pcard--leftImage::before,#products .pcard--rightText::before,#products .pcard--leftImage2::before,#products .pcard--rightText2::before{height:250px;}
 #products .pill-card{padding:28px 20px}
 #products .content-band{padding:60px 0}
 #products .technology-card__link{padding:0}
 #products .technology-card__inner{position:static}
 #products .technology-card__icon{top:-50px;left:50%;transform:translateX(-50%);width:60px;height:60px}
 #products .technology-card:nth-child(1) .technology-card__icon{width:60px;height:60px;top:-20px}
 #products .technology-card:nth-child(2) .technology-card__icon{width:45px;height:45px;top:-5px}
 #products .technology-card:nth-child(3) .technology-card__icon{width:60px;height:60px;top:-20px}
 #products .technology-card__arrow-wrapper{bottom:5px}
 #products .technology-card__arrow{width:14px;height:14px}
 #products .technology_figure{width:90%}
 #products .technology_figure--paint{aspect-ratio:16 / 11;background:url(../img/product_fd01.png) 70% center / contain no-repeat;background-size:80%}
 #products .technology_figure--paint::after{background:url(../img/product_fd02.png) 22% 62% / 62% no-repeat}
}

@media screen and (max-width: 450px) {
 /* intro */
#about .intro {padding: 80px 0 80px;}
#about .intro .text {width: 90%;margin: 0 auto 64px;}
#about .intro .text p {font-size: 14px;line-height: 25px;}
/* precision-engineering  */
#about .precision-engineering .technology-inner {padding: 80px 0 124px;}
#about .precision-engineering .technology-heading h3 {font-size: 22px;}
#about .precision-engineering .technology-heading p {font-size: 14px;line-height: 25px;}
#about .precision-engineering .technology-heading p br {display: none;}
#about .precision-engineering .technology-text h4 {font-size: 16px;}
#about .precision-engineering .technology-text p {font-size: 14px;line-height: 25px;}
/* Quality Assurance */
#about #quality-assurance {margin-bottom: 48px;}
/* ------------------ */
#about #quality-assurance .factory-layout {gap: 32px;}   
#about #quality-assurance .factory-cert {padding: 32px;}
#about #quality-assurance .description {font-size: 14px;line-height: 25px;}
/* production-system */
#about #production-system {padding: 132px 0 280px;}
#about #production-system::before {content:"";display:block;position:fixed;top:0;left:0;z-index:-1;width:100%;height:100vh;background-repeat:no-repeat;background-position:center top;background-image: url(../img/production_bg.jpg);background-size: cover;}
#about #production-system .production-panel {padding: 32px 24px 16px;}
#about #production-system .production-title {font-size: 22px;}
#about #production-system .production-label {font-size: 16px;}
#about #production-system .production-desc {font-size: 14px;line-height: 20px;}

/***** company *****/
/* company info */
#company .company_info {padding: 64px 0 72px;}
#company .company_info .inner {width: 90%;}
#company .company_info .title {font-size: 22px;}
#company .company_info .decoration {width: 74%;margin: 0px auto;}
#company .company_info .info_panel {margin-top: 50px;}
#company .company_info .info-card {padding: 32px 24px;}
#company .company_info .info-separator {margin: 20px 0 32px;}
#company .company_info .info-table {display: flex;flex-direction: column;row-gap: 0;font-size: 14px;line-height: 1.8;}
#company .company_info .info-table dd {margin-bottom: 12px;}
/* company access */
#company .company_access {padding: 72px 0 240px;}
#company .company_access .inner {width: 90%;}
#company .company_access .map-wrapper {margin: 0 auto 32px;}
#company .company_access .access-heading {font-size: 16px;margin-bottom: 16px;}
#company .company_access .access-list {font-size: 14px;line-height: 22px;}

/***** sustainability *****/
/* vision */
#sustainability .s_vision {padding: 64px 0;}
#sustainability .s_vision_title {width: 72%;margin: 0 auto 40px;}
#sustainability .s_vision_lead {font-size: 14px;}
#sustainability .s_vision_pen {margin: 40px auto;}
#sustainability .s_vision_text {font-size: 14px;}
#sustainability .vision_btn {margin-top: 32px;}
#sustainability .more-button {padding: 12px 64px;font-size: 14px;}
/* future */
#sustainability .s_future {padding: 80px 0;}
#sustainability .s_future .inner {width: 90%;}
#sustainability .s_future_title {font-size: 22px;margin-bottom: 40px;}
#sustainability .s_future_title br {display: block;}
#sustainability .s_future_text {font-size: 14px;}
#sustainability .s_future_text + .s_future_text {margin-top: 20px;}
/* journey */
#sustainability .s_journey {padding: 80px 0 240px;}
#sustainability .s_journey .inner {width: 90%;}
#sustainability .s_journey_lead {font-size: 14px;margin: 0 0 32px;}
#sustainability .s_journey_text {font-size: 14px;margin: 0 0 56px;}
#sustainability .supplier-button {font-size: 14px;column-gap: 24px;padding: 16px 32px 16px 56px;}
#sustainability .supplier-button__icon {width: 12px;height: 12px;}

}

/* about title レスポンシブ */
@media (max-width: 960px) {#about .hero__title {font-size: 45px;font-weight: 300;top: 60%;left: 5%;}}
@media (max-width: 760px) {#about .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/about_hero_sp.jpg") 0% 0%/100% auto no-repeat !important;}
#about .hero__title {font-size: 35px;font-weight: 400;top: 60%;left: 5%;}}
@media (max-width: 560px) {#about .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/about_hero_sp.jpg") 80% 100%/ auto 101% no-repeat !important;}
#about .hero__title {font-size: 25px;font-weight: 400;top: 60%;left: 5%;}}

/* company title レスポンシブ */
@media (max-width: 960px) {#company .hero__title {font-size: 45px;font-weight: 300;top: 50%;left: 50%;}}
@media (max-width: 760px) {#company .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/company_hero.jpg") 0% 0%/100% auto no-repeat !important;}
#company .hero__title {font-size: 35px;font-weight: 400;top: 50%;left: 50%;}}
@media (max-width: 560px) {#company .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/company_hero.jpg") 32% 4%/auto 135% no-repeat !important;}
#company .hero__title {font-size: 25px;font-weight: 400;top: 50%;left: 50%;}}

/* Sustainability title レスポンシブ */
@media (max-width: 960px) {#sustainability .hero {background: url("../img/sustainability_hero.jpg") 0% 0%/100% auto no-repeat !important;} #sustainability .hero__title {font-size: 45px;font-weight: 300;top: 60%;left: 5%;}}
@media (max-width: 760px) {#sustainability .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/sustainability_hero.jpg") 0% 0%/100% auto no-repeat !important;} #sustainability .hero__title {font-size: 35px;font-weight: 400;top: 60%;left: 5%;}}
@media (max-width: 560px) {#sustainability .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/sustainability_hero.jpg") 45% 97%/140% auto no-repeat !important;} #sustainability .hero__title {font-size: 25px;font-weight: 400;top: 60%;left: 5%;}}

/* ========================================
   Contact

   デザイン変更時の注意：
   - form.htmlのHTML構造と連動しています
   - クラス名を変更する場合は、form.jsのセレクタも更新してください
   - 必須/任意バッジの色: #d946a6 (必須), #999 (任意)
======================================== */

/* ---------- Hero部分 ---------- */
#contact .hero {--wave-h:140px;--wave-gap:6px;--wave-overlap:90px;min-height:max(320px, min(28vw, 540px));padding-top:calc(var(--wave-h) - var(--wave-overlap) + var(--wave-gap));padding-bottom:32px;position:relative;overflow:hidden;background: url("../img/company_hero.jpg") 100% 0%/100% auto no-repeat!important;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#contact .hero__inner {position: static;z-index: 3;}
#contact .hero__title {font-size:45px;color:#3b5c86;font-weight:300;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:3;letter-spacing: 1px;}

/* ---------- フォーム全体 ---------- */
#contact .contact-form {max-width: 800px;margin: 60px auto;padding: 0 20px;}
#contact .contact-form__intro {font-size: 1rem;line-height: 1.8;color: #333;margin-bottom: 40px;}

/* セクション */
#contact .form-section {margin-bottom: 50px;}
#contact .form-section__title {font-size: 1rem;font-weight: 400;color: #333;margin-bottom: 20px;padding-left: 12px;border-left: 4px solid #d946a6;line-height: 1.6;}

/* チェックボックス */
#contact .form-checkbox-group {display: grid;grid-template-columns: repeat(2, 1fr);gap: 15px;}
#contact .form-checkbox {display: flex;align-items: center;cursor: pointer;}
#contact .form-checkbox input[type="checkbox"] {margin-right: 8px;width: 18px;height: 18px;cursor: pointer;}
#contact .form-checkbox span {font-size: 0.95rem;color: #333;}

/* ラジオボタン */
#contact .form-radio-group {display: flex;flex-direction: column;gap: 12px;}
#contact .form-radio {display: flex;align-items: center;cursor: pointer;}
#contact .form-radio input[type="radio"] {margin-right: 8px;width: 18px;height: 18px;cursor: pointer;}
#contact .form-radio span {font-size: 0.95rem;color: #333;}

/* 入力フィールド */
#contact .form-group {margin-bottom: 25px;}
#contact .form-group__label {display: inline-block;font-weight: 400;margin-bottom: 8px;font-size: 0.95rem;color: #333;}
/* 必須バッジ - デザイン変更時: 色は #d946a6 */
#contact .form-group__label--required::after {content: "必須";display: inline-block;margin-left: 8px;padding: 2px 8px;background: #d946a6;color: white;font-size: 0.75rem;border-radius: 3px;font-weight: 500;}
/* 任意バッジ - デザイン変更時: 色は #999 */
#contact .form-group__label--optional::after {content: "任意";display: inline-block;margin-left: 8px;padding: 2px 8px;background: #999;color: white;font-size: 0.75rem;border-radius: 3px;font-weight: 500;}
#contact .form-group__input,#contact .form-group__textarea,#contact .form-group__select {width: 100%;padding: 10px 12px;border: 1px solid #ddd;border-radius: 0;font-size: 1rem;font-family: inherit;transition: border-color 0.3s;box-sizing: border-box;}
#contact .form-group__input:focus,#contact .form-group__textarea:focus,#contact .form-group__select:focus {outline: none;border-color: #999;}
#contact .form-group__textarea {min-height: 200px;resize: vertical;}
#contact .form-group__select {cursor: pointer;background-color: white;appearance: none;background-image: url('data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3e%3cpolyline points="6 9 12 15 18 9"%3e%3c/polyline%3e%3c/svg%3e');background-repeat: no-repeat;background-position: right 12px center;background-size: 16px;padding-right: 40px;}
#contact .form-note {display: block;margin-top: 6px;font-size: 0.85rem;color: #666;}

/* 郵便番号 */
#contact .form-postal-code {display: flex;align-items: center;gap: 10px;}
#contact .form-group__input--short {width: 120px;flex-shrink: 0;}
#contact .form-postal-separator {font-size: 1rem;color: #333;}

/* 送信ボタン - デザイン変更時: 色は #a91d7a, hover #8a1862 */
#contact .form-buttons {display: flex;gap: 20px;justify-content: center;margin-top: 50px;margin-bottom: 200px;}
#contact .form-button {padding: 15px 80px;font-size: 1rem;border: none;border-radius: 0;cursor: pointer;transition: all 0.3s;font-weight: 500;}
#contact .form-button--submit {background: #a91d7a;color: white;}
#contact .form-button--submit:hover {background: #8a1862;}

/* Contact title レスポンシブ */
@media (max-width: 960px) {
  #contact .hero__title {font-size: 45px;font-weight: 300;top: 50%;left: 50%;}
}

@media (max-width: 768px) {
  #contact .contact-form {margin: 40px auto;}
  #contact .form-checkbox-group {grid-template-columns: 1fr;}
  #contact .form-group__input--short {width: 100px;}
  #contact .form-buttons {flex-direction: column;}
  #contact .form-button {padding: 12px 40px;width: 100%;}
}

@media (max-width: 760px) {
  #contact .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/company_hero.jpg") 0% 0%/100% auto no-repeat !important;}
  #contact .hero__title {font-size: 35px;font-weight: 400;top: 50%;left: 50%;}
}

@media (max-width: 560px) {
  #contact .hero {min-height: max(256px, min(22.4vw, 432px));background: url("../img/company_hero.jpg") 16% -50%/auto 120% no-repeat !important;}
  #contact .hero__title {font-size: 25px;font-weight: 400;top: 50%;left: 50%;}
}

@media (max-width: 450px) {
  #contact .contact-form {padding: 0 15px;}
  #contact .contact-form__intro {font-size: 0.9rem;}
  #contact .form-section__title {font-size: 0.9rem;}
  #contact .form-checkbox span,#contact .form-radio span {font-size: 0.85rem;}
  #contact .form-group__label {font-size: 0.9rem;}
  #contact .form-group__input,#contact .form-group__textarea,#contact .form-group__select {font-size: 0.9rem;padding: 10px;}
  #contact .form-group__input--short {width: 80px;}
  #contact .form-button {padding: 12px 40px;font-size: 0.9rem;}
  #contact .form-note {font-size: 0.8rem;}
}
