@charset "UTF-8";

:root{
  --navy:#0b2a4a;
  --navy2:#093053;
  --white:#fff;
  --text:#102033;
  --muted:#5b6b7b;
  --line:rgba(255,255,255,.18);
  --shadow:0 14px 30px rgba(0,0,0,.18);
  --radius:14px;
  --container:1100px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
  color:var(--text);
  background:#fff;
}

/* 固定ヘッダー分のオフセット */
main{ padding-top: 108px; }
@media (max-width: 860px){
  main{ padding-top: 73px; }
}

.container{
  width:min(var(--container), calc(100% - 32px));
  margin-inline:auto;
}

/* ===== Header ===== */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  background:linear-gradient(180deg, rgba(11,42,74,.96), rgba(11,42,74,.90));
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(255,255,255,.10);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--white);
  min-width: 240px;
}
.brand-mark{
  width:36px;height:36px;
  border-radius:10px;
  background: linear-gradient(135deg, #31c48d, #0ea5e9);
  box-shadow: 0 10px 18px rgba(0,0,0,.20);
}
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-name{ font-weight:800; letter-spacing:.02em; }
.brand-tag{ font-size:12px; opacity:.86; margin-top:4px; }

.header-right{
  display:flex;
  align-items:center;
  gap:12px;
}

.header-tel{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--white);
  font-weight:800;
  letter-spacing:.02em;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background: rgba(255,255,255,.06);
}
.header-tel i{ opacity:.9; }
.tel-number{ white-space:nowrap; }

/* ナビ */
.global-nav{
  border-top:1px solid rgba(255,255,255,.10);
}
.nav-list{
  list-style:none;
  display:flex;
  align-items:center;
  gap:0;
  padding:20px 0;
  margin:0;
}
.nav-list li{
  text-align: center;
}
.nav-list li:first-child{
  border-left: 1px solid rgba(255,255,255,.10);
}
.nav-list li + li{
  border-left: 1px solid rgba(255,255,255,.10);
}
.nav-list li:last-child{
  border-right: 1px solid rgba(255,255,255,.10);
}
.nav-list a{
  padding: 10px 14px;
  border-radius: 0;
  position: relative;
}
.nav-list li.nav-company{
  width: 180px;
}
.nav-list li.nav-aboutus{
  width: 200px;
}
.nav-list li.nav-ultrasonicpress{
  width: 290px;
}
.nav-list li.nav-machine{
  width: 180px;
}
.nav-list li.nav-recruit{
  width: 100px;
}
.nav-list li.nav-contact{
  width: 180px;
}
.nav-list a{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  font-size:14px;
  padding:8px 10px;
  border-radius:10px;
}
.nav-list a:hover{ background: rgba(255,255,255,.10); }
.nav-cta{
  background: rgba(49,196,141,.16);
  border:1px solid rgba(49,196,141,.35);
}
.nav-cta:hover{ background: rgba(49,196,141,.24); }

.nav-toggle{
  display:none;
  width:44px;height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.06);
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:20px;height:2px;
  background:rgba(255,255,255,.90);
  margin:5px auto;
  border-radius:2px;
}
.site-header{
  background: rgba(9, 28, 52, .78);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.nav-list a:hover{
  background: rgba(255,255,255,.08);
}

.nav-cta{
  margin-left: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(49,196,141,.25), rgba(14,165,233,.18));
  border: 1px solid rgba(255,255,255,.18);
}


/* ===== Hero Slider ===== */
.hero{ background: #0a2441; }
.hero-slider{ position:relative; overflow:hidden; }
.slides{ position:relative; height: 560px; }
@media (max-width: 860px){
  .slides{ height: 520px; }
}

.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform: scale(1.03);
  transition: opacity .6s ease, transform 1.2s ease;
  background-image: var(--bg);
  background-size:cover;
  background-position:center;
}
.slide.is-active{
  opacity:1;
  transform: scale(1);
  z-index:1;
}

.slide-overlay{
  height:100%;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(7,19,34,.78) 0%, rgba(7,19,34,.56) 45%, rgba(7,19,34,.20) 100%),
    radial-gradient(60% 60% at 20% 40%, rgba(0,0,0,.18), transparent 60%);
}

.hero-eyebrow{
  color:rgba(255,255,255,.92);
  margin:0 0 6px;
  font-weight:700;
  letter-spacing:.04em;
}
.hero-title{
  color:#fff;
  margin:0 0 12px;
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing:.02em;
  line-height:1.12;
  font-weight:900;
  text-shadow: 0 10px 24px rgba(0,0,0,.28);
}
.hero-lead{
  color:rgba(255,255,255,.88);
  margin:0 0 18px;
  line-height:1.7;
  max-width: 52ch;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 10px;
}

/* ボタン（赤枠内＝クリック可能の再現） */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  padding:12px 16px;
  border-radius:12px;
  font-weight:800;
  letter-spacing:.02em;
  border:1px solid transparent;
  cursor:pointer;
  transition: transform .06s ease, background .2s ease, border-color .2s ease;
  user-select:none;
}
.btn:active{ transform: translateY(1px); }

.btn-primary{
  background: #1b5fa6;
  color:#fff;
  border-color: rgba(255,255,255,.10);
  box-shadow: var(--shadow);
}
.btn-primary:hover{ background: #1a5696; }

.btn-outline{
  background: rgba(255,255,255,.08);
  color:#fff;
  border-color: rgba(255,255,255,.25);
}
.btn-outline:hover{ background: rgba(255,255,255,.14); }

.btn-wide{ width: min(500px, 100%); }

/* スライダー操作 */
.hero-controls{
  position:absolute;
  inset:auto 0 18px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  pointer-events:none;
}
.ctrl{
  pointer-events:auto;
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
}
.ctrl:hover{ background: rgba(255,255,255,.16); }

.dots{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.14);
}
.dot{
  width:10px;height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  background: rgba(255,255,255,.14);
  cursor:pointer;
}
.dot.is-active{
  background: rgba(255,255,255,.95);
  border-color: rgba(255,255,255,.95);
}


/* 練馬製作所が選ばれ続ける理由 */
.chosen-bg{
  border-radius: 4px;
  background-image: url(../img/topChosen-bg.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center;
  padding: 40px 20px 40px;
}

.chosen-bg .section-head{
  display: inline-block;
  margin: 0 0 18px;                      /* 下に余白 */
  border-radius: 6px;
/*
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10);
*/
  backdrop-filter: blur(8px);
  padding: 12px 18px;
}

/* タイトル */
.chosen-bg .section-title{
  margin: 0;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #0b2a4a;                         /* 文字色（ネイビー） */
  line-height: 1.2;
}

.chosen-grid{
  display:grid;
  grid-template-columns: 200px 200px 200px;
  gap:65px;
  margin-top: 18px;
}

.chosen-card{
  background:#fff;
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 12px 22px rgba(0,0,0,.06);
  border:1px solid rgba(16,32,51,.08);
  text-decoration:none;
  color:inherit;
  transition: transform .12s ease, box-shadow .2s ease;
  width: 255px;
  opacity: 0.8;
}
.chosen-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(0,0,0,.10);
}

.chosen-icon{
  width:46px;height:46px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: #eaf2ff;
  color:#1b5fa6;
  margin-bottom: 10px;
  font-size: 20px;
}

.chosen-title{ margin:0 0 6px; font-weight:bold; font-size: 18px; }
.chosen-text{ margin:0; color:var(--muted); line-height:1.7; }

.image_wrap {
  display: block;
  width: 100%;
  height: 80px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.chosen-image {
  width: 90px;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2;
  margin: 0 auto;
}


/* 練馬製作所が選ばれ続ける理由 */
.org-bg{
  border-radius: 4px;
  background-image: url(../img/topOrg-bg.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center;
  padding: 40px 20px 40px;
}

.org-bg .section-head{
  display: inline-block;
  margin: 0 0 18px;                      /* 下に余白 */
/*
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10);
*/
  backdrop-filter: blur(8px);
  padding: 12px 18px;
}

/* タイトル */
.org-bg .section-title{
  margin: 0;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #fff;                         /* 文字色（ネイビー） */
  line-height: 1.2;
}

.org-grid{
  display:grid;
  margin-top: 100px;
  justify-items: start;
}

.org-card{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(360px, 100%);
  min-height: 56px;
  padding: 14px 26px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #31c48d 0%, #1b5fa6 100%);
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
  box-shadow: 0 14px 28px rgba(0,0,0,.22);
  opacity: 1;
  overflow: hidden;
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}

.org-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.18), transparent 45%);
  pointer-events: none;
}

.org-card::after{
  content: "105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.org-card i,
.org-title{
  position: relative;
  z-index: 1;
}

.org-card i{
  font-size: 15px;
}

.org-title{
  margin: 0;
  color: #fff;
  font-size: inherit;
  font-weight: 900;
}

.org-card:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 18px 34px rgba(0,0,0,.26);
}

/* 私たちは『加工屋』ではありません。 */
.total-processing-bg{
  border-radius: 4px;
  background-image: linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.78) 48%, rgba(255,255,255,.28) 78%, rgba(255,255,255,.08) 100%),
    url(../img/topProcessing-bg.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center;
  padding: 40px 20px 40px;
}

.total-processing-bg .section-head{
  display: inline-block;
  margin: 0 0 18px;                      /* 下に余白 */
/*
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10);
*/
  backdrop-filter: blur(8px);
  padding: 12px 18px;
}

/* タイトル */
.total-processing-bg .section-title{
  margin: 0;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #0b2a4a;                         /* 文字色（ネイビー） */
  line-height: 1.2;
}

.total-processing {
  color: rgba(255, 255, 255, .88);
  margin: 0 0 0 24px;
  line-height: 1.7;
  max-width: 52ch;
  color: #0b2a4a;
  font-weight: 900;
}



/* ===== Sections ===== */
.section{ padding: 56px 0; }
.section--light{ background:#f5f7fb; }



.section-desc{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

/* 背景画像セクション */
.section--image{
  background-image: var(--sectionbg);
  background-size:cover;
  background-position:center;
}
.section-overlay{
  padding: 70px 0;
  background:
    linear-gradient(90deg, rgba(7,19,34,.72), rgba(7,19,34,.28));
}
.split{ display:flex; }
.split-text{
  max-width: 720px;
  color:#fff;
}
.section--image .section-desc{ color: rgba(255,255,255,.86); }

/* about */
.about-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap:14px;
  margin-top: 18px;
  align-items: stretch;
}
.about-card{
  background:#fff;
  border-radius: var(--radius);
  border:1px solid rgba(16,32,51,.08);
  padding: 18px;
  box-shadow: 0 12px 22px rgba(0,0,0,.06);
}
.about-card h3{ margin:0 0 10px; font-weight:900; }
.about-card ul{ margin:0; padding-left: 18px; color:var(--muted); line-height:1.8; }
.about-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius: var(--radius);
  border:1px solid rgba(16,32,51,.08);
  box-shadow: 0 12px 22px rgba(0,0,0,.06);
}

/* news + access */
.news-access{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
}
.news-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
}
.news-head .section-title{
  margin:0;
}
.news-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:150px;
  min-height:34px;
  padding:8px 14px;
  border:1px solid rgba(11,42,74,.20);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:14px;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(16,32,51,.08);
  transition:transform .12s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.news-more::after{
  content:"\f105";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:12px;
  line-height:1;
}
.news-more:hover{
  transform:translateY(-1px);
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
  box-shadow:0 12px 22px rgba(11,42,74,.18);
}
.news-more:focus-visible{
  outline:3px solid rgba(27,95,166,.28);
  outline-offset:3px;
}
.news-list{
  list-style:none;
  padding:0;
  margin:0;
}
.news-list li{
  border-bottom:1px solid rgba(16,32,51,.10);
}
.news-list a{
  display:flex;
  gap:10px;
  padding: 12px 0;
  color:inherit;
  text-decoration:none;
}
.news-list a:hover{ color:#1b5fa6; }
.news-list time{ color:var(--muted); font-weight:800; min-width: 74px; }

.map-card{
  background:#fff;
  /*border-radius: var(--radius);*/
  border:1px solid rgba(16,32,51,.08);
  overflow:hidden;
  box-shadow: 0 12px 22px rgba(0,0,0,.06);
}
.map-card img{ width:100%; height:auto; display:block; }
.access-meta{ margin-top: 12px; color:var(--muted); line-height:1.8; }
.access-meta a{
  display: block;
  color:#1b5fa6;
  font-weight:900;
  text-decoration:none;
  margin: 0 auto;
}

.access-meta a.btn-wide {
  display: block;
  color:#fff;
  font-weight:900;
  text-decoration:none;
  margin: 0 auto;
}


.map {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9のアスペクト比 */
  height: 0;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Form */
.form{
  max-width: 720px;
  margin: 0;
}
.form-row{ margin-bottom: 14px; }
label{ display:block; font-weight:800; }
.req{
  margin-left:6px;
  font-size:12px;
  color:#fff;
  background:#d12b2b;
  padding:2px 8px;
  border-radius: 999px;
  font-weight:900;
}
input, textarea{
  width:100%;
  margin-top: 8px;
  padding: 12px 12px;
  border-radius: 12px;
  border:1px solid rgba(16,32,51,.18);
  outline:none;
  font: inherit;
}
input:focus, textarea:focus{
  border-color: rgba(27,95,166,.55);
  box-shadow: 0 0 0 4px rgba(27,95,166,.12);
}
.form-note{ color:var(--muted); margin-top: 10px; }

/* Footer */
.site-footer{
  background: var(--navy);
  color: rgba(255,255,255,.86);
  padding: 18px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.to-top{
  width:40px;height:40px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
}

/* ===== Mobile fixed bar ===== */
.mobile-fixedbar{
  position:fixed;
  inset:auto 0 0 0;
  height: 58px;
  display:none;
  z-index:1200;
  background: rgba(11,42,74,.96);
  border-top:1px solid rgba(255,255,255,.14);
}
.mf-item{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
}
.mf-item i{ font-size: 18px; }
.mf-tel{ background: rgba(255,255,255,.04); }
.mf-contact{ background: rgba(49,196,141,.18); border-left:1px solid rgba(255,255,255,.14); }

/* ===== Responsive ===== */
@media (max-width: 980px){
  .feature-grid{ grid-template-columns: 1fr; }
  .about-grid{ grid-template-columns: 1fr; }
  .news-access{ grid-template-columns: 1fr; }
  .news-head{
    gap:12px;
    margin-bottom:10px;
  }
  .news-more{
    min-width:150px;
    min-height:34px;
    padding:8px 12px;
    font-size:13px;
  }
  .header-tel{ display:none; }
  .nav-toggle{ display:inline-block; }
  .global-nav .container{ padding: 0; }

  .global-nav{
    display:none;
  }
  .global-nav.is-open{
    display:block;
  }
  .nav-list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding: 6px 16px 14px;
  }
  .nav-list li{
    text-align: left;
    padding: 6px;
  }
  .nav-list li.nav-company
  , .nav-list li.nav-aboutus
  , .nav-list li.nav-ultrasonicpress
  , .nav-list li.nav-machine
  , .nav-list li.nav-contact{
    width: 100%;
  }
  .nav-list li:last-child{
    border-right: none;
  }
  .nav-list a{
    padding: 12px 12px;
    border-radius: 12px;
  }

  /* スマホ固定バー表示 */
  .mobile-fixedbar{ display:flex; }
  /* 下部固定バーの分だけ余白 */
  body{ padding-bottom: 58px; }

  }


}




@media (max-width: 420px){
  .news-more{
    min-width:140px;
    padding-inline:10px;
  }
}





@media (max-width: 980px){
  .org-grid{
    justify-items: start;
  }

  .org-card{
    width: min(100%, 340px);
    min-height: 52px;
    padding: 13px 22px;
    font-size: 15px;
  }
}

@media (max-width: 420px){
  .org-card{
    width: 100%;
    padding-inline: 18px;
  }
}


/* ===== Bottom contact CTA ===== */
#news.section{
  padding-bottom: 64px;
}

.bottom-contact-cta{
  position: relative;
  max-width: 820px;
  margin: 34px auto 0;
  padding: 22px 26px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(11,42,74,.97), rgba(9,48,83,.94));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 18px 36px rgba(11,42,74,.20);
  overflow: hidden;
}

.bottom-contact-cta::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(49,196,141,.20), transparent 28%),
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 46%);
  pointer-events: none;
}

.bottom-contact-cta__text,
.bottom-contact-cta__button{
  position: relative;
  z-index: 1;
}

.bottom-contact-cta__label{
  display: block;
  margin: 0 0 7px;
  color: #8de0bf;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .18em;
}

.bottom-contact-cta__text p{
  margin: 0;
  color: rgba(255,255,255,.92);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.7;
}

.bottom-contact-cta__button{
  flex: 0 0 auto;
  min-width: 230px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, #31c48d, #1b5fa6);
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(0,0,0,.20);
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}

.bottom-contact-cta__button::after{
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 14px;
}

.bottom-contact-cta__button:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 16px 28px rgba(0,0,0,.24);
}

.bottom-contact-cta__button:focus-visible{
  outline: 3px solid rgba(49,196,141,.35);
  outline-offset: 4px;
}

@media (max-width: 980px){
  #news.section{
    padding-bottom: 48px;
  }

  .bottom-contact-cta{
    max-width: 100%;
    margin-top: 28px;
    padding: 22px 18px;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    gap: 16px;
  }

  .bottom-contact-cta__button{
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 420px){
  .bottom-contact-cta{
    margin-top: 24px;
    padding: 20px 16px;
    border-radius: 14px;
  }

  .bottom-contact-cta__text p{
    font-size: 14px;
  }

  .bottom-contact-cta__button{
    min-height: 52px;
    font-size: 15px;
  }
}

/*utility*/
/* 全デバイス共通 */
.u-m0 {
  margin: 0px !important;
}

.u-mx0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.u-my0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.u-mt0 {
  margin-top: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-p0 {
  padding: 0px !important;
}

.u-px0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.u-py0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-m5 {
  margin: 5px !important;
}

.u-mx5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.u-my5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-p5 {
  padding: 5px !important;
}

.u-px5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.u-py5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-m10 {
  margin: 10px !important;
}

.u-mx10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.u-my10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-p10 {
  padding: 10px !important;
}

.u-px10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.u-py10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-m15 {
  margin: 15px !important;
}

.u-mx15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.u-my15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-p15 {
  padding: 15px !important;
}

.u-px15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.u-py15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-m20 {
  margin: 20px !important;
}

.u-mx20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.u-my20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-p20 {
  padding: 20px !important;
}

.u-px20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.u-py20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-m25 {
  margin: 25px !important;
}

.u-mx25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}

.u-my25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-p25 {
  padding: 25px !important;
}

.u-px25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.u-py25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-m30 {
  margin: 30px !important;
}

.u-mx30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.u-my30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-p30 {
  padding: 30px !important;
}

.u-px30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.u-py30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-m35 {
  margin: 35px !important;
}

.u-mx35 {
  margin-left: 35px !important;
  margin-right: 35px !important;
}

.u-my35 {
  margin-top: 35px !important;
  margin-bottom: 35px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-p35 {
  padding: 35px !important;
}

.u-px35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.u-py35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-m40 {
  margin: 40px !important;
}

.u-mx40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.u-my40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-p40 {
  padding: 40px !important;
}

.u-px40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.u-py40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-m45 {
  margin: 45px !important;
}

.u-mx45 {
  margin-left: 45px !important;
  margin-right: 45px !important;
}

.u-my45 {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-p45 {
  padding: 45px !important;
}

.u-px45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.u-py45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-m50 {
  margin: 50px !important;
}

.u-mx50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.u-my50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-p50 {
  padding: 50px !important;
}

.u-px50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.u-py50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-m55 {
  margin: 55px !important;
}

.u-mx55 {
  margin-left: 55px !important;
  margin-right: 55px !important;
}

.u-my55 {
  margin-top: 55px !important;
  margin-bottom: 55px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-p55 {
  padding: 55px !important;
}

.u-px55 {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.u-py55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-m60 {
  margin: 60px !important;
}

.u-mx60 {
  margin-left: 60px !important;
  margin-right: 60px !important;
}

.u-my60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-p60 {
  padding: 60px !important;
}

.u-px60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.u-py60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

.u-m65 {
  margin: 65px !important;
}

.u-mx65 {
  margin-left: 65px !important;
  margin-right: 65px !important;
}

.u-my65 {
  margin-top: 65px !important;
  margin-bottom: 65px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-p65 {
  padding: 65px !important;
}

.u-px65 {
  padding-left: 65px !important;
  padding-right: 65px !important;
}

.u-py65 {
  padding-top: 65px !important;
  padding-bottom: 65px !important;
}

.u-pt65 {
  padding-top: 65px !important;
}

.u-pr65 {
  padding-right: 65px !important;
}

.u-pb65 {
  padding-bottom: 65px !important;
}

.u-pl65 {
  padding-left: 65px !important;
}

.u-m70 {
  margin: 70px !important;
}

.u-mx70 {
  margin-left: 70px !important;
  margin-right: 70px !important;
}

.u-my70 {
  margin-top: 70px !important;
  margin-bottom: 70px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-p70 {
  padding: 70px !important;
}

.u-px70 {
  padding-left: 70px !important;
  padding-right: 70px !important;
}

.u-py70 {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pr70 {
  padding-right: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pl70 {
  padding-left: 70px !important;
}

.u-m75 {
  margin: 75px !important;
}

.u-mx75 {
  margin-left: 75px !important;
  margin-right: 75px !important;
}

.u-my75 {
  margin-top: 75px !important;
  margin-bottom: 75px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-p75 {
  padding: 75px !important;
}

.u-px75 {
  padding-left: 75px !important;
  padding-right: 75px !important;
}

.u-py75 {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-m80 {
  margin: 80px !important;
}

.u-mx80 {
  margin-left: 80px !important;
  margin-right: 80px !important;
}

.u-my80 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-p80 {
  padding: 80px !important;
}

.u-px80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.u-py80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pl80 {
  padding-left: 80px !important;
}

.u-m85 {
  margin: 85px !important;
}

.u-mx85 {
  margin-left: 85px !important;
  margin-right: 85px !important;
}

.u-my85 {
  margin-top: 85px !important;
  margin-bottom: 85px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-p85 {
  padding: 85px !important;
}

.u-px85 {
  padding-left: 85px !important;
  padding-right: 85px !important;
}

.u-py85 {
  padding-top: 85px !important;
  padding-bottom: 85px !important;
}

.u-pt85 {
  padding-top: 85px !important;
}

.u-pr85 {
  padding-right: 85px !important;
}

.u-pb85 {
  padding-bottom: 85px !important;
}

.u-pl85 {
  padding-left: 85px !important;
}

.u-m90 {
  margin: 90px !important;
}

.u-mx90 {
  margin-left: 90px !important;
  margin-right: 90px !important;
}

.u-my90 {
  margin-top: 90px !important;
  margin-bottom: 90px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-p90 {
  padding: 90px !important;
}

.u-px90 {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.u-py90 {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pr90 {
  padding-right: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-m95 {
  margin: 95px !important;
}

.u-mx95 {
  margin-left: 95px !important;
  margin-right: 95px !important;
}

.u-my95 {
  margin-top: 95px !important;
  margin-bottom: 95px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-p95 {
  padding: 95px !important;
}

.u-px95 {
  padding-left: 95px !important;
  padding-right: 95px !important;
}

.u-py95 {
  padding-top: 95px !important;
  padding-bottom: 95px !important;
}

.u-pt95 {
  padding-top: 95px !important;
}

.u-pr95 {
  padding-right: 95px !important;
}

.u-pb95 {
  padding-bottom: 95px !important;
}

.u-pl95 {
  padding-left: 95px !important;
}

.u-m100 {
  margin: 100px !important;
}

.u-mx100 {
  margin-left: 100px !important;
  margin-right: 100px !important;
}

.u-my100 {
  margin-top: 100px !important;
  margin-bottom: 100px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

.u-p100 {
  padding: 100px !important;
}

.u-px100 {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.u-py100 {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

/* SP専用クラアス */
@media screen and (max-width: 749px) {
  .u-m0sp {
    margin: 0px !important;
  }
  .u-mx0sp {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .u-my0sp {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-mt0sp {
    margin-top: 0px !important;
  }
  .u-mr0sp {
    margin-right: 0px !important;
  }
  .u-mb0sp {
    margin-bottom: 0px !important;
  }
  .u-ml0sp {
    margin-left: 0px !important;
  }
  .u-p0sp {
    padding: 0px !important;
  }
  .u-px0sp {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .u-py0sp {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .u-pt0sp {
    padding-top: 0px !important;
  }
  .u-pr0sp {
    padding-right: 0px !important;
  }
  .u-pb0sp {
    padding-bottom: 0px !important;
  }
  .u-pl0sp {
    padding-left: 0px !important;
  }
  .u-m5sp {
    margin: 5px !important;
  }
  .u-mx5sp {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .u-my5sp {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-mt5sp {
    margin-top: 5px !important;
  }
  .u-mr5sp {
    margin-right: 5px !important;
  }
  .u-mb5sp {
    margin-bottom: 5px !important;
  }
  .u-ml5sp {
    margin-left: 5px !important;
  }
  .u-p5sp {
    padding: 5px !important;
  }
  .u-px5sp {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .u-py5sp {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .u-pt5sp {
    padding-top: 5px !important;
  }
  .u-pr5sp {
    padding-right: 5px !important;
  }
  .u-pb5sp {
    padding-bottom: 5px !important;
  }
  .u-pl5sp {
    padding-left: 5px !important;
  }
  .u-m10sp {
    margin: 10px !important;
  }
  .u-mx10sp {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  .u-my10sp {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-mt10sp {
    margin-top: 10px !important;
  }
  .u-mr10sp {
    margin-right: 10px !important;
  }
  .u-mb10sp {
    margin-bottom: 10px !important;
  }
  .u-ml10sp {
    margin-left: 10px !important;
  }
  .u-p10sp {
    padding: 10px !important;
  }
  .u-px10sp {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .u-py10sp {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .u-pt10sp {
    padding-top: 10px !important;
  }
  .u-pr10sp {
    padding-right: 10px !important;
  }
  .u-pb10sp {
    padding-bottom: 10px !important;
  }
  .u-pl10sp {
    padding-left: 10px !important;
  }
  .u-m15sp {
    margin: 15px !important;
  }
  .u-mx15sp {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .u-my15sp {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-mt15sp {
    margin-top: 15px !important;
  }
  .u-mr15sp {
    margin-right: 15px !important;
  }
  .u-mb15sp {
    margin-bottom: 15px !important;
  }
  .u-ml15sp {
    margin-left: 15px !important;
  }
  .u-p15sp {
    padding: 15px !important;
  }
  .u-px15sp {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .u-py15sp {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .u-pt15sp {
    padding-top: 15px !important;
  }
  .u-pr15sp {
    padding-right: 15px !important;
  }
  .u-pb15sp {
    padding-bottom: 15px !important;
  }
  .u-pl15sp {
    padding-left: 15px !important;
  }
  .u-m20sp {
    margin: 20px !important;
  }
  .u-mx20sp {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .u-my20sp {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-mt20sp {
    margin-top: 20px !important;
  }
  .u-mr20sp {
    margin-right: 20px !important;
  }
  .u-mb20sp {
    margin-bottom: 20px !important;
  }
  .u-ml20sp {
    margin-left: 20px !important;
  }
  .u-p20sp {
    padding: 20px !important;
  }
  .u-px20sp {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .u-py20sp {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .u-pt20sp {
    padding-top: 20px !important;
  }
  .u-pr20sp {
    padding-right: 20px !important;
  }
  .u-pb20sp {
    padding-bottom: 20px !important;
  }
  .u-pl20sp {
    padding-left: 20px !important;
  }
  .u-m25sp {
    margin: 25px !important;
  }
  .u-mx25sp {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }
  .u-my25sp {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-mt25sp {
    margin-top: 25px !important;
  }
  .u-mr25sp {
    margin-right: 25px !important;
  }
  .u-mb25sp {
    margin-bottom: 25px !important;
  }
  .u-ml25sp {
    margin-left: 25px !important;
  }
  .u-p25sp {
    padding: 25px !important;
  }
  .u-px25sp {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .u-py25sp {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .u-pt25sp {
    padding-top: 25px !important;
  }
  .u-pr25sp {
    padding-right: 25px !important;
  }
  .u-pb25sp {
    padding-bottom: 25px !important;
  }
  .u-pl25sp {
    padding-left: 25px !important;
  }
  .u-m30sp {
    margin: 30px !important;
  }
  .u-mx30sp {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .u-my30sp {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-mt30sp {
    margin-top: 30px !important;
  }
  .u-mr30sp {
    margin-right: 30px !important;
  }
  .u-mb30sp {
    margin-bottom: 30px !important;
  }
  .u-ml30sp {
    margin-left: 30px !important;
  }
  .u-p30sp {
    padding: 30px !important;
  }
  .u-px30sp {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .u-py30sp {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .u-pt30sp {
    padding-top: 30px !important;
  }
  .u-pr30sp {
    padding-right: 30px !important;
  }
  .u-pb30sp {
    padding-bottom: 30px !important;
  }
  .u-pl30sp {
    padding-left: 30px !important;
  }
  .u-m35sp {
    margin: 35px !important;
  }
  .u-mx35sp {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }
  .u-my35sp {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }
  .u-mt35sp {
    margin-top: 35px !important;
  }
  .u-mr35sp {
    margin-right: 35px !important;
  }
  .u-mb35sp {
    margin-bottom: 35px !important;
  }
  .u-ml35sp {
    margin-left: 35px !important;
  }
  .u-p35sp {
    padding: 35px !important;
  }
  .u-px35sp {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .u-py35sp {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .u-pt35sp {
    padding-top: 35px !important;
  }
  .u-pr35sp {
    padding-right: 35px !important;
  }
  .u-pb35sp {
    padding-bottom: 35px !important;
  }
  .u-pl35sp {
    padding-left: 35px !important;
  }
  .u-m40sp {
    margin: 40px !important;
  }
  .u-mx40sp {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .u-my40sp {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-mt40sp {
    margin-top: 40px !important;
  }
  .u-mr40sp {
    margin-right: 40px !important;
  }
  .u-mb40sp {
    margin-bottom: 40px !important;
  }
  .u-ml40sp {
    margin-left: 40px !important;
  }
  .u-p40sp {
    padding: 40px !important;
  }
  .u-px40sp {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .u-py40sp {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .u-pt40sp {
    padding-top: 40px !important;
  }
  .u-pr40sp {
    padding-right: 40px !important;
  }
  .u-pb40sp {
    padding-bottom: 40px !important;
  }
  .u-pl40sp {
    padding-left: 40px !important;
  }
  .u-m45sp {
    margin: 45px !important;
  }
  .u-mx45sp {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }
  .u-my45sp {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }
  .u-mt45sp {
    margin-top: 45px !important;
  }
  .u-mr45sp {
    margin-right: 45px !important;
  }
  .u-mb45sp {
    margin-bottom: 45px !important;
  }
  .u-ml45sp {
    margin-left: 45px !important;
  }
  .u-p45sp {
    padding: 45px !important;
  }
  .u-px45sp {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .u-py45sp {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .u-pt45sp {
    padding-top: 45px !important;
  }
  .u-pr45sp {
    padding-right: 45px !important;
  }
  .u-pb45sp {
    padding-bottom: 45px !important;
  }
  .u-pl45sp {
    padding-left: 45px !important;
  }
  .u-m50sp {
    margin: 50px !important;
  }
  .u-mx50sp {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .u-my50sp {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-mt50sp {
    margin-top: 50px !important;
  }
  .u-mr50sp {
    margin-right: 50px !important;
  }
  .u-mb50sp {
    margin-bottom: 50px !important;
  }
  .u-ml50sp {
    margin-left: 50px !important;
  }
  .u-p50sp {
    padding: 50px !important;
  }
  .u-px50sp {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .u-py50sp {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .u-pt50sp {
    padding-top: 50px !important;
  }
  .u-pr50sp {
    padding-right: 50px !important;
  }
  .u-pb50sp {
    padding-bottom: 50px !important;
  }
  .u-pl50sp {
    padding-left: 50px !important;
  }
  .u-m55sp {
    margin: 55px !important;
  }
  .u-mx55sp {
    margin-left: 55px !important;
    margin-right: 55px !important;
  }
  .u-my55sp {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }
  .u-mt55sp {
    margin-top: 55px !important;
  }
  .u-mr55sp {
    margin-right: 55px !important;
  }
  .u-mb55sp {
    margin-bottom: 55px !important;
  }
  .u-ml55sp {
    margin-left: 55px !important;
  }
  .u-p55sp {
    padding: 55px !important;
  }
  .u-px55sp {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .u-py55sp {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .u-pt55sp {
    padding-top: 55px !important;
  }
  .u-pr55sp {
    padding-right: 55px !important;
  }
  .u-pb55sp {
    padding-bottom: 55px !important;
  }
  .u-pl55sp {
    padding-left: 55px !important;
  }
  .u-m60sp {
    margin: 60px !important;
  }
  .u-mx60sp {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }
  .u-my60sp {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-mt60sp {
    margin-top: 60px !important;
  }
  .u-mr60sp {
    margin-right: 60px !important;
  }
  .u-mb60sp {
    margin-bottom: 60px !important;
  }
  .u-ml60sp {
    margin-left: 60px !important;
  }
  .u-p60sp {
    padding: 60px !important;
  }
  .u-px60sp {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .u-py60sp {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .u-pt60sp {
    padding-top: 60px !important;
  }
  .u-pr60sp {
    padding-right: 60px !important;
  }
  .u-pb60sp {
    padding-bottom: 60px !important;
  }
  .u-pl60sp {
    padding-left: 60px !important;
  }
  .u-m65sp {
    margin: 65px !important;
  }
  .u-mx65sp {
    margin-left: 65px !important;
    margin-right: 65px !important;
  }
  .u-my65sp {
    margin-top: 65px !important;
    margin-bottom: 65px !important;
  }
  .u-mt65sp {
    margin-top: 65px !important;
  }
  .u-mr65sp {
    margin-right: 65px !important;
  }
  .u-mb65sp {
    margin-bottom: 65px !important;
  }
  .u-ml65sp {
    margin-left: 65px !important;
  }
  .u-p65sp {
    padding: 65px !important;
  }
  .u-px65sp {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
  .u-py65sp {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }
  .u-pt65sp {
    padding-top: 65px !important;
  }
  .u-pr65sp {
    padding-right: 65px !important;
  }
  .u-pb65sp {
    padding-bottom: 65px !important;
  }
  .u-pl65sp {
    padding-left: 65px !important;
  }
  .u-m70sp {
    margin: 70px !important;
  }
  .u-mx70sp {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }
  .u-my70sp {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-mt70sp {
    margin-top: 70px !important;
  }
  .u-mr70sp {
    margin-right: 70px !important;
  }
  .u-mb70sp {
    margin-bottom: 70px !important;
  }
  .u-ml70sp {
    margin-left: 70px !important;
  }
  .u-p70sp {
    padding: 70px !important;
  }
  .u-px70sp {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }
  .u-py70sp {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .u-pt70sp {
    padding-top: 70px !important;
  }
  .u-pr70sp {
    padding-right: 70px !important;
  }
  .u-pb70sp {
    padding-bottom: 70px !important;
  }
  .u-pl70sp {
    padding-left: 70px !important;
  }
  .u-m75sp {
    margin: 75px !important;
  }
  .u-mx75sp {
    margin-left: 75px !important;
    margin-right: 75px !important;
  }
  .u-my75sp {
    margin-top: 75px !important;
    margin-bottom: 75px !important;
  }
  .u-mt75sp {
    margin-top: 75px !important;
  }
  .u-mr75sp {
    margin-right: 75px !important;
  }
  .u-mb75sp {
    margin-bottom: 75px !important;
  }
  .u-ml75sp {
    margin-left: 75px !important;
  }
  .u-p75sp {
    padding: 75px !important;
  }
  .u-px75sp {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .u-py75sp {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  .u-pt75sp {
    padding-top: 75px !important;
  }
  .u-pr75sp {
    padding-right: 75px !important;
  }
  .u-pb75sp {
    padding-bottom: 75px !important;
  }
  .u-pl75sp {
    padding-left: 75px !important;
  }
  .u-m80sp {
    margin: 80px !important;
  }
  .u-mx80sp {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .u-my80sp {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-mt80sp {
    margin-top: 80px !important;
  }
  .u-mr80sp {
    margin-right: 80px !important;
  }
  .u-mb80sp {
    margin-bottom: 80px !important;
  }
  .u-ml80sp {
    margin-left: 80px !important;
  }
  .u-p80sp {
    padding: 80px !important;
  }
  .u-px80sp {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .u-py80sp {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .u-pt80sp {
    padding-top: 80px !important;
  }
  .u-pr80sp {
    padding-right: 80px !important;
  }
  .u-pb80sp {
    padding-bottom: 80px !important;
  }
  .u-pl80sp {
    padding-left: 80px !important;
  }
  .u-m85sp {
    margin: 85px !important;
  }
  .u-mx85sp {
    margin-left: 85px !important;
    margin-right: 85px !important;
  }
  .u-my85sp {
    margin-top: 85px !important;
    margin-bottom: 85px !important;
  }
  .u-mt85sp {
    margin-top: 85px !important;
  }
  .u-mr85sp {
    margin-right: 85px !important;
  }
  .u-mb85sp {
    margin-bottom: 85px !important;
  }
  .u-ml85sp {
    margin-left: 85px !important;
  }
  .u-p85sp {
    padding: 85px !important;
  }
  .u-px85sp {
    padding-left: 85px !important;
    padding-right: 85px !important;
  }
  .u-py85sp {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }
  .u-pt85sp {
    padding-top: 85px !important;
  }
  .u-pr85sp {
    padding-right: 85px !important;
  }
  .u-pb85sp {
    padding-bottom: 85px !important;
  }
  .u-pl85sp {
    padding-left: 85px !important;
  }
  .u-m90sp {
    margin: 90px !important;
  }
  .u-mx90sp {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }
  .u-my90sp {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-mt90sp {
    margin-top: 90px !important;
  }
  .u-mr90sp {
    margin-right: 90px !important;
  }
  .u-mb90sp {
    margin-bottom: 90px !important;
  }
  .u-ml90sp {
    margin-left: 90px !important;
  }
  .u-p90sp {
    padding: 90px !important;
  }
  .u-px90sp {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .u-py90sp {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
  .u-pt90sp {
    padding-top: 90px !important;
  }
  .u-pr90sp {
    padding-right: 90px !important;
  }
  .u-pb90sp {
    padding-bottom: 90px !important;
  }
  .u-pl90sp {
    padding-left: 90px !important;
  }
  .u-m95sp {
    margin: 95px !important;
  }
  .u-mx95sp {
    margin-left: 95px !important;
    margin-right: 95px !important;
  }
  .u-my95sp {
    margin-top: 95px !important;
    margin-bottom: 95px !important;
  }
  .u-mt95sp {
    margin-top: 95px !important;
  }
  .u-mr95sp {
    margin-right: 95px !important;
  }
  .u-mb95sp {
    margin-bottom: 95px !important;
  }
  .u-ml95sp {
    margin-left: 95px !important;
  }
  .u-p95sp {
    padding: 95px !important;
  }
  .u-px95sp {
    padding-left: 95px !important;
    padding-right: 95px !important;
  }
  .u-py95sp {
    padding-top: 95px !important;
    padding-bottom: 95px !important;
  }
  .u-pt95sp {
    padding-top: 95px !important;
  }
  .u-pr95sp {
    padding-right: 95px !important;
  }
  .u-pb95sp {
    padding-bottom: 95px !important;
  }
  .u-pl95sp {
    padding-left: 95px !important;
  }
  .u-m100sp {
    margin: 100px !important;
  }
  .u-mx100sp {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }
  .u-my100sp {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-mt100sp {
    margin-top: 100px !important;
  }
  .u-mr100sp {
    margin-right: 100px !important;
  }
  .u-mb100sp {
    margin-bottom: 100px !important;
  }
  .u-ml100sp {
    margin-left: 100px !important;
  }
  .u-p100sp {
    padding: 100px !important;
  }
  .u-px100sp {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
  .u-py100sp {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .u-pt100sp {
    padding-top: 100px !important;
  }
  .u-pr100sp {
    padding-right: 100px !important;
  }
  .u-pb100sp {
    padding-bottom: 100px !important;
  }
  .u-pl100sp {
    padding-left: 100px !important;
  }
  .u-spHide {
    display: none !important;
  }
}

/* PC専用クラアス */
@media screen and (min-width: 750px) {
  .u-m0pc {
    margin: 0px !important;
  }
  .u-mx0pc {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .u-my0pc {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-mt0pc {
    margin-top: 0px !important;
  }
  .u-mr0pc {
    margin-right: 0px !important;
  }
  .u-mb0pc {
    margin-bottom: 0px !important;
  }
  .u-ml0pc {
    margin-left: 0px !important;
  }
  .u-p0pc {
    padding: 0px !important;
  }
  .u-px0pc {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .u-py0pc {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .u-pt0pc {
    padding-top: 0px !important;
  }
  .u-pr0pc {
    padding-right: 0px !important;
  }
  .u-pb0pc {
    padding-bottom: 0px !important;
  }
  .u-pl0pc {
    padding-left: 0px !important;
  }
  .u-m5pc {
    margin: 5px !important;
  }
  .u-mx5pc {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .u-my5pc {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-mt5pc {
    margin-top: 5px !important;
  }
  .u-mr5pc {
    margin-right: 5px !important;
  }
  .u-mb5pc {
    margin-bottom: 5px !important;
  }
  .u-ml5pc {
    margin-left: 5px !important;
  }
  .u-p5pc {
    padding: 5px !important;
  }
  .u-px5pc {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .u-py5pc {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .u-pt5pc {
    padding-top: 5px !important;
  }
  .u-pr5pc {
    padding-right: 5px !important;
  }
  .u-pb5pc {
    padding-bottom: 5px !important;
  }
  .u-pl5pc {
    padding-left: 5px !important;
  }
  .u-m10pc {
    margin: 10px !important;
  }
  .u-mx10pc {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  .u-my10pc {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-mt10pc {
    margin-top: 10px !important;
  }
  .u-mr10pc {
    margin-right: 10px !important;
  }
  .u-mb10pc {
    margin-bottom: 10px !important;
  }
  .u-ml10pc {
    margin-left: 10px !important;
  }
  .u-p10pc {
    padding: 10px !important;
  }
  .u-px10pc {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .u-py10pc {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .u-pt10pc {
    padding-top: 10px !important;
  }
  .u-pr10pc {
    padding-right: 10px !important;
  }
  .u-pb10pc {
    padding-bottom: 10px !important;
  }
  .u-pl10pc {
    padding-left: 10px !important;
  }
  .u-m15pc {
    margin: 15px !important;
  }
  .u-mx15pc {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .u-my15pc {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-mt15pc {
    margin-top: 15px !important;
  }
  .u-mr15pc {
    margin-right: 15px !important;
  }
  .u-mb15pc {
    margin-bottom: 15px !important;
  }
  .u-ml15pc {
    margin-left: 15px !important;
  }
  .u-p15pc {
    padding: 15px !important;
  }
  .u-px15pc {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .u-py15pc {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .u-pt15pc {
    padding-top: 15px !important;
  }
  .u-pr15pc {
    padding-right: 15px !important;
  }
  .u-pb15pc {
    padding-bottom: 15px !important;
  }
  .u-pl15pc {
    padding-left: 15px !important;
  }
  .u-m20pc {
    margin: 20px !important;
  }
  .u-mx20pc {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .u-my20pc {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-mt20pc {
    margin-top: 20px !important;
  }
  .u-mr20pc {
    margin-right: 20px !important;
  }
  .u-mb20pc {
    margin-bottom: 20px !important;
  }
  .u-ml20pc {
    margin-left: 20px !important;
  }
  .u-p20pc {
    padding: 20px !important;
  }
  .u-px20pc {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .u-py20pc {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .u-pt20pc {
    padding-top: 20px !important;
  }
  .u-pr20pc {
    padding-right: 20px !important;
  }
  .u-pb20pc {
    padding-bottom: 20px !important;
  }
  .u-pl20pc {
    padding-left: 20px !important;
  }
  .u-m25pc {
    margin: 25px !important;
  }
  .u-mx25pc {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }
  .u-my25pc {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-mt25pc {
    margin-top: 25px !important;
  }
  .u-mr25pc {
    margin-right: 25px !important;
  }
  .u-mb25pc {
    margin-bottom: 25px !important;
  }
  .u-ml25pc {
    margin-left: 25px !important;
  }
  .u-p25pc {
    padding: 25px !important;
  }
  .u-px25pc {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .u-py25pc {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .u-pt25pc {
    padding-top: 25px !important;
  }
  .u-pr25pc {
    padding-right: 25px !important;
  }
  .u-pb25pc {
    padding-bottom: 25px !important;
  }
  .u-pl25pc {
    padding-left: 25px !important;
  }
  .u-m30pc {
    margin: 30px !important;
  }
  .u-mx30pc {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .u-my30pc {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-mt30pc {
    margin-top: 30px !important;
  }
  .u-mr30pc {
    margin-right: 30px !important;
  }
  .u-mb30pc {
    margin-bottom: 30px !important;
  }
  .u-ml30pc {
    margin-left: 30px !important;
  }
  .u-p30pc {
    padding: 30px !important;
  }
  .u-px30pc {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .u-py30pc {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .u-pt30pc {
    padding-top: 30px !important;
  }
  .u-pr30pc {
    padding-right: 30px !important;
  }
  .u-pb30pc {
    padding-bottom: 30px !important;
  }
  .u-pl30pc {
    padding-left: 30px !important;
  }
  .u-m35pc {
    margin: 35px !important;
  }
  .u-mx35pc {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }
  .u-my35pc {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }
  .u-mt35pc {
    margin-top: 35px !important;
  }
  .u-mr35pc {
    margin-right: 35px !important;
  }
  .u-mb35pc {
    margin-bottom: 35px !important;
  }
  .u-ml35pc {
    margin-left: 35px !important;
  }
  .u-p35pc {
    padding: 35px !important;
  }
  .u-px35pc {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .u-py35pc {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .u-pt35pc {
    padding-top: 35px !important;
  }
  .u-pr35pc {
    padding-right: 35px !important;
  }
  .u-pb35pc {
    padding-bottom: 35px !important;
  }
  .u-pl35pc {
    padding-left: 35px !important;
  }
  .u-m40pc {
    margin: 40px !important;
  }
  .u-mx40pc {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .u-my40pc {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-mt40pc {
    margin-top: 40px !important;
  }
  .u-mr40pc {
    margin-right: 40px !important;
  }
  .u-mb40pc {
    margin-bottom: 40px !important;
  }
  .u-ml40pc {
    margin-left: 40px !important;
  }
  .u-p40pc {
    padding: 40px !important;
  }
  .u-px40pc {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .u-py40pc {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .u-pt40pc {
    padding-top: 40px !important;
  }
  .u-pr40pc {
    padding-right: 40px !important;
  }
  .u-pb40pc {
    padding-bottom: 40px !important;
  }
  .u-pl40pc {
    padding-left: 40px !important;
  }
  .u-m45pc {
    margin: 45px !important;
  }
  .u-mx45pc {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }
  .u-my45pc {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }
  .u-mt45pc {
    margin-top: 45px !important;
  }
  .u-mr45pc {
    margin-right: 45px !important;
  }
  .u-mb45pc {
    margin-bottom: 45px !important;
  }
  .u-ml45pc {
    margin-left: 45px !important;
  }
  .u-p45pc {
    padding: 45px !important;
  }
  .u-px45pc {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .u-py45pc {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .u-pt45pc {
    padding-top: 45px !important;
  }
  .u-pr45pc {
    padding-right: 45px !important;
  }
  .u-pb45pc {
    padding-bottom: 45px !important;
  }
  .u-pl45pc {
    padding-left: 45px !important;
  }
  .u-m50pc {
    margin: 50px !important;
  }
  .u-mx50pc {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .u-my50pc {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-mt50pc {
    margin-top: 50px !important;
  }
  .u-mr50pc {
    margin-right: 50px !important;
  }
  .u-mb50pc {
    margin-bottom: 50px !important;
  }
  .u-ml50pc {
    margin-left: 50px !important;
  }
  .u-p50pc {
    padding: 50px !important;
  }
  .u-px50pc {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .u-py50pc {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .u-pt50pc {
    padding-top: 50px !important;
  }
  .u-pr50pc {
    padding-right: 50px !important;
  }
  .u-pb50pc {
    padding-bottom: 50px !important;
  }
  .u-pl50pc {
    padding-left: 50px !important;
  }
  .u-m55pc {
    margin: 55px !important;
  }
  .u-mx55pc {
    margin-left: 55px !important;
    margin-right: 55px !important;
  }
  .u-my55pc {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }
  .u-mt55pc {
    margin-top: 55px !important;
  }
  .u-mr55pc {
    margin-right: 55px !important;
  }
  .u-mb55pc {
    margin-bottom: 55px !important;
  }
  .u-ml55pc {
    margin-left: 55px !important;
  }
  .u-p55pc {
    padding: 55px !important;
  }
  .u-px55pc {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .u-py55pc {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .u-pt55pc {
    padding-top: 55px !important;
  }
  .u-pr55pc {
    padding-right: 55px !important;
  }
  .u-pb55pc {
    padding-bottom: 55px !important;
  }
  .u-pl55pc {
    padding-left: 55px !important;
  }
  .u-m60pc {
    margin: 60px !important;
  }
  .u-mx60pc {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }
  .u-my60pc {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-mt60pc {
    margin-top: 60px !important;
  }
  .u-mr60pc {
    margin-right: 60px !important;
  }
  .u-mb60pc {
    margin-bottom: 60px !important;
  }
  .u-ml60pc {
    margin-left: 60px !important;
  }
  .u-p60pc {
    padding: 60px !important;
  }
  .u-px60pc {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .u-py60pc {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .u-pt60pc {
    padding-top: 60px !important;
  }
  .u-pr60pc {
    padding-right: 60px !important;
  }
  .u-pb60pc {
    padding-bottom: 60px !important;
  }
  .u-pl60pc {
    padding-left: 60px !important;
  }
  .u-m65pc {
    margin: 65px !important;
  }
  .u-mx65pc {
    margin-left: 65px !important;
    margin-right: 65px !important;
  }
  .u-my65pc {
    margin-top: 65px !important;
    margin-bottom: 65px !important;
  }
  .u-mt65pc {
    margin-top: 65px !important;
  }
  .u-mr65pc {
    margin-right: 65px !important;
  }
  .u-mb65pc {
    margin-bottom: 65px !important;
  }
  .u-ml65pc {
    margin-left: 65px !important;
  }
  .u-p65pc {
    padding: 65px !important;
  }
  .u-px65pc {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
  .u-py65pc {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }
  .u-pt65pc {
    padding-top: 65px !important;
  }
  .u-pr65pc {
    padding-right: 65px !important;
  }
  .u-pb65pc {
    padding-bottom: 65px !important;
  }
  .u-pl65pc {
    padding-left: 65px !important;
  }
  .u-m70pc {
    margin: 70px !important;
  }
  .u-mx70pc {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }
  .u-my70pc {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-mt70pc {
    margin-top: 70px !important;
  }
  .u-mr70pc {
    margin-right: 70px !important;
  }
  .u-mb70pc {
    margin-bottom: 70px !important;
  }
  .u-ml70pc {
    margin-left: 70px !important;
  }
  .u-p70pc {
    padding: 70px !important;
  }
  .u-px70pc {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }
  .u-py70pc {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .u-pt70pc {
    padding-top: 70px !important;
  }
  .u-pr70pc {
    padding-right: 70px !important;
  }
  .u-pb70pc {
    padding-bottom: 70px !important;
  }
  .u-pl70pc {
    padding-left: 70px !important;
  }
  .u-m75pc {
    margin: 75px !important;
  }
  .u-mx75pc {
    margin-left: 75px !important;
    margin-right: 75px !important;
  }
  .u-my75pc {
    margin-top: 75px !important;
    margin-bottom: 75px !important;
  }
  .u-mt75pc {
    margin-top: 75px !important;
  }
  .u-mr75pc {
    margin-right: 75px !important;
  }
  .u-mb75pc {
    margin-bottom: 75px !important;
  }
  .u-ml75pc {
    margin-left: 75px !important;
  }
  .u-p75pc {
    padding: 75px !important;
  }
  .u-px75pc {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .u-py75pc {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  .u-pt75pc {
    padding-top: 75px !important;
  }
  .u-pr75pc {
    padding-right: 75px !important;
  }
  .u-pb75pc {
    padding-bottom: 75px !important;
  }
  .u-pl75pc {
    padding-left: 75px !important;
  }
  .u-m80pc {
    margin: 80px !important;
  }
  .u-mx80pc {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .u-my80pc {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-mt80pc {
    margin-top: 80px !important;
  }
  .u-mr80pc {
    margin-right: 80px !important;
  }
  .u-mb80pc {
    margin-bottom: 80px !important;
  }
  .u-ml80pc {
    margin-left: 80px !important;
  }
  .u-p80pc {
    padding: 80px !important;
  }
  .u-px80pc {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .u-py80pc {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .u-pt80pc {
    padding-top: 80px !important;
  }
  .u-pr80pc {
    padding-right: 80px !important;
  }
  .u-pb80pc {
    padding-bottom: 80px !important;
  }
  .u-pl80pc {
    padding-left: 80px !important;
  }
  .u-m85pc {
    margin: 85px !important;
  }
  .u-mx85pc {
    margin-left: 85px !important;
    margin-right: 85px !important;
  }
  .u-my85pc {
    margin-top: 85px !important;
    margin-bottom: 85px !important;
  }
  .u-mt85pc {
    margin-top: 85px !important;
  }
  .u-mr85pc {
    margin-right: 85px !important;
  }
  .u-mb85pc {
    margin-bottom: 85px !important;
  }
  .u-ml85pc {
    margin-left: 85px !important;
  }
  .u-p85pc {
    padding: 85px !important;
  }
  .u-px85pc {
    padding-left: 85px !important;
    padding-right: 85px !important;
  }
  .u-py85pc {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }
  .u-pt85pc {
    padding-top: 85px !important;
  }
  .u-pr85pc {
    padding-right: 85px !important;
  }
  .u-pb85pc {
    padding-bottom: 85px !important;
  }
  .u-pl85pc {
    padding-left: 85px !important;
  }
  .u-m90pc {
    margin: 90px !important;
  }
  .u-mx90pc {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }
  .u-my90pc {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-mt90pc {
    margin-top: 90px !important;
  }
  .u-mr90pc {
    margin-right: 90px !important;
  }
  .u-mb90pc {
    margin-bottom: 90px !important;
  }
  .u-ml90pc {
    margin-left: 90px !important;
  }
  .u-p90pc {
    padding: 90px !important;
  }
  .u-px90pc {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .u-py90pc {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
  .u-pt90pc {
    padding-top: 90px !important;
  }
  .u-pr90pc {
    padding-right: 90px !important;
  }
  .u-pb90pc {
    padding-bottom: 90px !important;
  }
  .u-pl90pc {
    padding-left: 90px !important;
  }
  .u-m95pc {
    margin: 95px !important;
  }
  .u-mx95pc {
    margin-left: 95px !important;
    margin-right: 95px !important;
  }
  .u-my95pc {
    margin-top: 95px !important;
    margin-bottom: 95px !important;
  }
  .u-mt95pc {
    margin-top: 95px !important;
  }
  .u-mr95pc {
    margin-right: 95px !important;
  }
  .u-mb95pc {
    margin-bottom: 95px !important;
  }
  .u-ml95pc {
    margin-left: 95px !important;
  }
  .u-p95pc {
    padding: 95px !important;
  }
  .u-px95pc {
    padding-left: 95px !important;
    padding-right: 95px !important;
  }
  .u-py95pc {
    padding-top: 95px !important;
    padding-bottom: 95px !important;
  }
  .u-pt95pc {
    padding-top: 95px !important;
  }
  .u-pr95pc {
    padding-right: 95px !important;
  }
  .u-pb95pc {
    padding-bottom: 95px !important;
  }
  .u-pl95pc {
    padding-left: 95px !important;
  }
  .u-m100pc {
    margin: 100px !important;
  }
  .u-mx100pc {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }
  .u-my100pc {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-mt100pc {
    margin-top: 100px !important;
  }
  .u-mr100pc {
    margin-right: 100px !important;
  }
  .u-mb100pc {
    margin-bottom: 100px !important;
  }
  .u-ml100pc {
    margin-left: 100px !important;
  }
  .u-p100pc {
    padding: 100px !important;
  }
  .u-px100pc {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
  .u-py100pc {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .u-pt100pc {
    padding-top: 100px !important;
  }
  .u-pr100pc {
    padding-right: 100px !important;
  }
  .u-pb100pc {
    padding-bottom: 100px !important;
  }
  .u-pl100pc {
    padding-left: 100px !important;
  }
  .u-pcHide {
    display: none !important;
  }
}












.sp-only {display: none;}
.br-pc{ display: inline; }

@media (max-width: 767px) {

  .sp-only {
    display: block; /* スマホの時だけ表示 */
  }

  .pc-only {
    display: none; /* スマホの時だけPC用を隠す */
  }

  .br-pc{ display: none; }


  .logo {
    width: 260px;
  }


  /* 練馬製作所が選ばれ続ける理由 */
  .chosen-bg{
    background-image: url(../img/topChosen-bg-smp.jpg);
    background-position: center center;
    padding: 60px 20px 60px;
    width: 100%;
  }

  .section-head{
    width: 100%;
  }

  .chosen-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .chosen-card{
    width: 100%;
  }

  /* 独自技術が、品質を変える。 */
  .org-bg{
    background-image: url(../img/topOrg-bg-smp.jpg);
    background-position: center center;
    padding: 60px 20px 60px;
    width: 100%;
  }

  .org-grid{
    margin-top: 30px
  }

  .org-yodanman-img{
    width: 100%;
  }

  /* 私たちは『加工屋』ではありません。 */
  .total-processing-bg{
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.82) 100%),
      url(../img/topTotal-processing-bg-smp.jpg);
    background-position: center center;
    padding: 60px 20px 60px;
    width: 100%;
  }





}

/* ===== News / Access title design ===== */
#news .news-access{
  gap: 30px;
}

.info-head{
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(11, 42, 74, .14);
}

.info-head::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--navy), #31c48d);
}

.info-title{
  position: relative;
  min-width: 0;
  padding-left: 0px;
}

.info-title-en{
  display: block;
  margin: 0 0 5px;
  color: #1b5fa6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .18em;
}

.info-title-ja{
  margin: 0;
  color: var(--navy);
  font-size: clamp(23px, 2.4vw, 30px);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .04em;
}

.news-head{
  align-items: flex-end;
  margin-bottom: 18px;
}

.access-head{
  margin-bottom: 18px;
}

.news-more{
  flex: 0 0 auto;
  min-width: 148px;
  min-height: 38px;
  margin-bottom: 1px;
  padding: 9px 15px;
  border: 1px solid rgba(11, 42, 74, .18);
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  box-shadow: 0 8px 18px rgba(16, 32, 51, .08);
}

.news-more:hover{
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

.news-list{
  margin: 0;
}

.map-card{
  margin-top: 0;
}

@media (max-width: 980px){
  #news .news-access{
    gap: 34px;
  }

  .info-head{
    margin-bottom: 16px;
    padding-bottom: 12px;
  }

  .info-title-ja{
    font-size: 24px;
  }

  .news-more{
    min-width: 136px;
    min-height: 36px;
    padding: 8px 12px;
    font-size: 13px;
  }
}

@media (max-width: 420px){
  .info-title{
    padding-left: 0px;
  }

  .info-title-en{
    font-size: 11px;
    letter-spacing: .14em;
  }

  .info-title-ja{
    font-size: 22px;
    letter-spacing: .02em;
  }

  .news-more{
    min-width: 128px;
    padding-inline: 10px;
  }
}



/* ===== Company page ===== */
.company-page{
  background:#f3f6f8;
}

.company-main{
  background:
    radial-gradient(circle at 50% 0, rgba(255,255,255,.82) 0, rgba(255,255,255,0) 360px),
    #f3f6f8;
}

.company-container{
  width:min(1100px, calc(100% - 32px));
  margin-inline:auto;
}

.company-hero{
  padding: 50px 0 22px;
}

.company-kicker{
  margin:0 0 10px;
  color:#258f77;
  font-size:15px;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
}

.company-page-title,
.company-main-title{
  margin:0;
  color:var(--text);
  font-size: clamp(26px, 3vw, 36px);
  font-weight:900;
  line-height:1.25;
  letter-spacing:.08em;
}

.company-lead,
.company-section-lead{
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
}

.company-overview-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.85fr) minmax(260px, .95fr);
  gap:18px;
  margin-top:22px;
  align-items:stretch;
}

.company-card{
  background:#fff;
  border:1px solid rgba(16,32,51,.08);
  border-radius:14px;
  box-shadow:0 14px 28px rgba(16,32,51,.07);
}

.company-profile-card,
.company-cert-card{
  padding:22px 24px;
}

.company-card-title{
  margin:0 0 14px;
  color:#258f77;
  font-size:15px;
  font-weight:900;
  line-height:1.4;
  letter-spacing:.08em;
}

.company-card-title--sub{
  margin-top:24px;
}

.company-profile-list{
  display:grid;
  gap:0;
  margin:0;
}

.company-profile-list div{
  display:grid;
  grid-template-columns:118px minmax(0, 1fr);
  gap:16px;
  padding:8px 0;
  border-bottom:1px solid rgba(16,32,51,.06);
}

.company-profile-list div:last-child{
  border-bottom:0;
}

.company-profile-list dt{
  color:var(--text);
  font-size:15px;
  font-weight:900;
}

.company-profile-list dd{
  margin:0;
  color:#26384d;
  font-size:15px;
  font-weight:600;
  line-height:1.8;
}

.company-profile-list a{
  color:inherit;
  text-decoration:none;
}

.company-profile-list a:hover{
  color:#1b5fa6;
}

.company-check-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.company-check-list li{
  position:relative;
  padding-left:18px;
  color:#26384d;
  font-size:15px;
  font-weight:700;
  line-height:1.7;
}

.company-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#258f77;
}

.company-section{
  padding:26px 0;
}

.company-section-title{
  position:relative;
  margin:0 0 16px;
  padding-left:14px;
  color:var(--text);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight:900;
  line-height:1.4;
  letter-spacing:.08em;
}

.company-section-title::before{
  content:"";
  position:absolute;
  left:0;
  top:.22em;
  width:3px;
  height:1.15em;
  border-radius:999px;
  background:#258f77;
}

.company-section-title--small{
  margin-bottom:14px;
  font-size:20px;
}

.company-message-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(240px, .72fr);
  gap:18px;
  align-items:start;
}

.company-message-card{
  display:grid;
  grid-template-columns:120px minmax(0, 1fr);
  gap:20px;
  padding:22px 24px;
}

.company-message-profile{
  text-align:center;
}

.company-president-photo{
  width:96px;
  height:96px;
  margin:0 auto 12px;
  border-radius:999px;
  border:4px solid #edf4f6;
  background:
    linear-gradient(135deg, rgba(49,196,141,.25), rgba(27,95,166,.20)),
    url('../img/company-president.jpg') center/cover no-repeat;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.company-president-photo span{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:rgba(11,42,74,.62);
  font-size:15px;
  font-weight:900;
  background:rgba(255,255,255,.28);
}

.company-president-name{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.8;
}

.company-president-name strong{
  color:var(--text);
  font-size:15px;
}

.company-message-body p{
  margin:0 0 13px;
  color:#26384d;
  font-size:15px;
  font-weight:600;
  line-height:2;
}

.company-message-body p:last-child{
  margin-bottom:0;
}

.company-message-sign{
  text-align:right;
}

.company-about-card{
  padding:22px 24px;
  border:1px solid rgba(37,143,119,.12);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(246,253,250,.96), rgba(255,255,255,.96));
  box-shadow:0 14px 28px rgba(16,32,51,.05);
}

.company-about-en,
.company-mini-label{
  margin:0 0 10px;
  color:#258f77;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
}

.company-about-card h3{
  margin:0 0 14px;
  color:var(--text);
  font-size:17px;
  font-weight:900;
  line-height:1.6;
}

.company-about-card p:not(.company-about-en){
  margin:0 0 12px;
  color:#46586b;
  font-size:15px;
  font-weight:600;
  line-height:1.9;
}

.company-philosophy{
  padding-top:10px;
}

.company-block{
  margin-top:28px;
}

.company-principle-card{
  position:relative;
  padding:24px 28px;
  border-radius:14px;
  color:#fff;
  overflow:hidden;
  box-shadow:0 18px 34px rgba(37,143,119,.22);
  background:
    linear-gradient(135deg, #06906f 0%, #31c48d 48%, #d6f2e9 100%);
}

.company-principle-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(11,42,74,.15), rgba(255,255,255,.12));
  pointer-events:none;
}

.company-principle-card span,
.company-principle-card strong,
.company-principle-card p{
  position:relative;
  z-index:1;
}

.company-principle-card span{
  display:block;
  margin:0 0 10px;
  color:rgba(255,255,255,.84);
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
}

.company-principle-card strong{
  display:block;
  font-size:20px;
  font-weight:900;
  line-height:1.5;
  letter-spacing:.04em;
}

.company-principle-card p{
  max-width:720px;
  margin:12px 0 0;
  color:rgba(255,255,255,.94);
  font-size:15px;
  font-weight:700;
  line-height:1.9;
}

.company-vision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.company-vision-card,
.company-vision-message{
  padding:24px 26px;
}

.company-vision-card p:not(.company-mini-label){
  margin:0 0 12px;
  color:#26384d;
  font-size:15px;
  font-weight:600;
  line-height:2;
}

.company-vision-message{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:
    radial-gradient(circle at 0 0, rgba(49,196,141,.16), transparent 38%),
    linear-gradient(135deg, #f8fffc, #eef5fb);
}

.company-vision-message h4{
  margin:0 0 12px;
  color:var(--text);
  font-size:18px;
  font-weight:900;
  line-height:1.6;
}

.company-vision-message p{
  margin:0;
  color:#46586b;
  font-size:15px;
  font-weight:700;
  line-height:1.9;
}

.company-history{
  padding-bottom:0;
}

.company-history-card{
  padding:22px 26px;
}

.company-history-list{
  margin:0;
  display:grid;
  gap:0;
}

.company-history-list div{
  display:grid;
  grid-template-columns:82px minmax(0, 1fr);
  gap:18px;
  padding:7px 0;
}

.company-history-list dt{
  color:#258f77;
  font-size:15px;
  font-weight:900;
  line-height:1.8;
}

.company-history-list dd{
  margin:0;
  color:#26384d;
  font-size:15px;
  font-weight:600;
  line-height:1.8;
}

@media (max-width: 980px){
  .company-main{
    padding-bottom:48px;
  }

  .company-hero{
    padding-top:36px;
  }

  .company-overview-grid,
  .company-message-grid,
  .company-vision-grid{
    grid-template-columns:1fr;
  }

  .company-message-card{
    grid-template-columns:1fr;
  }

  .company-message-profile{
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
  }

  .company-president-photo{
    margin:0;
    flex:0 0 auto;
  }
}

@media (max-width: 560px){
  .company-container{
    width:min(100% - 28px, 860px);
  }

  .company-page-title,
  .company-main-title{
    font-size:26px;
  }

  .company-profile-card,
  .company-cert-card,
  .company-message-card,
  .company-about-card,
  .company-vision-card,
  .company-vision-message,
  .company-history-card{
    padding:20px 18px;
  }

  .company-profile-list div{
    grid-template-columns:1fr;
    gap:4px;
    padding:10px 0;
  }

  .company-section{
    padding:22px 0;
  }

  .company-principle-card{
    padding:22px 18px;
  }

  .company-principle-card strong{
    font-size:18px;
  }

  .company-history-list div{
    grid-template-columns:1fr;
    gap:2px;
    padding:10px 0;
    border-bottom:1px solid rgba(16,32,51,.07);
  }

  .company-history-list div:last-child{
    border-bottom:0;
  }
}



/* ===== Company finance overview ===== */
.company-finance{
  padding-top:26px;
  padding-bottom:0;
}

.company-finance-card{
  padding:22px 24px;
  overflow:hidden;
}

.company-finance-media{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.company-finance-media img{
  display:block;
  height:auto;
}

@media (max-width: 980px){
  .company-finance-card{
    padding:18px;
  }
}

@media (max-width: 560px){
  .company-finance-card{
    padding:12px;
  }

  .company-finance-media img{
    width:100%;
    max-width:none;
  }
}


/* ===== About us page ===== */
.aboutus-page{
  background:#fff;
}

.aboutus-main{
  padding-top:108px;
}

.aboutus-container{
  width:min(1100px, calc(100% - 32px));
  margin-inline:auto;
}

.aboutus-hero{
  background:#f3f6f8;
  margin: 28px auto;
  padding: 20px;
}

.aboutus-hero__inner{
  width:min(1100px, 100%);
  min-height:310px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 38%, rgba(255,255,255,.64) 56%, rgba(255,255,255,.08) 78%, rgba(255,255,255,0) 100%),
    url('../img/aboutus-hero.jpg');
  border-radius: 4px;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center right;
}

.aboutus-hero__content{
  width:552px;
  padding:44px 40px;
}

.aboutus-kicker{
  margin:0 0 18px;
  color:#0b2a4a;
  font-size:24px;
  line-height:1;
  letter-spacing:.04em;
  font-weight: 700;
}

.aboutus-hero__title{
  margin:0 0 18px;
  color:#102033;
  font-size:33px;
  line-height:1.45;
  letter-spacing:.04em;
}

.aboutus-hero__lead{
  margin:0;
  color:#24384d;
  line-height:2;
  font-size: 18px;
}

.aboutus-story{
  padding:28px 0 0px;
}

.aboutus-feature{
  position:relative;
  min-height:150px;
  display:flex;
  align-items:center;
  margin:0 auto 26px;
  overflow:hidden;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center right;
}

.aboutus-feature:last-child{
  margin-bottom:0;
}

.aboutus-feature::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.94) 43%, rgba(255,255,255,.67) 60%, rgba(255,255,255,.16) 86%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.aboutus-feature--01{ background-image:url('../img/aboutus-step01.jpg'); border-radius: 4px; }
.aboutus-feature--02{ background-image:url('../img/aboutus-step02.jpg'); border-radius: 4px; }
.aboutus-feature--03{ background-image:url('../img/aboutus-step03.jpg'); border-radius: 4px; }
.aboutus-feature--04{ background-image:url('../img/aboutus-step04.jpg'); border-radius: 4px; }

.aboutus-feature__content{
  position:relative;
  z-index:1;
  width: 552px;
  padding: 44px 40px;
}

.aboutus-feature h2{
  margin:0 0 12px;
  color:#102033;
  font-size:27px;
  font-weight:900;
  line-height:1.45;
  letter-spacing:.04em;
}

.aboutus-feature p{
  margin:0 0 7px;
  color:#172b40;
  font-size:16px;
  line-height:1.85;
}

.aboutus-contact-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:220px;
  min-height:38px;
  margin-top:8px;
  padding:9px 20px;
  border-radius:4px;
  background:#258f77;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.04em;
  text-decoration:none;
  box-shadow:0 10px 18px rgba(37,143,119,.18);
  transition:transform .12s ease, background .2s ease, box-shadow .2s ease;
}

.aboutus-contact-button::after{
  content:"\f105";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:12px;
}

.aboutus-contact-button:hover{
  transform:translateY(-1px);
  background:#1f7f69;
  box-shadow:0 14px 24px rgba(37,143,119,.24);
}

@media (max-width: 860px){
  .aboutus-main{
    padding-top:73px;
  }
}

@media (max-width: 760px){
  .aboutus-container{
    width:min(100% - 28px, 760px);
  }

  .aboutus-hero{
    background:#f4f5f5;
  }

  .aboutus-hero__inner{
    width:100%;
    min-height:auto;
    align-items:flex-start;
    padding-top:0;
    background-image: none;
  }

  .aboutus-hero__content{
    width:100%;
    padding:24px 22px 30px;
    background:#fff;
  }

  .aboutus-hero__content img{
    width: 100%;
    border-radius: 4px;
    margin: 0 0 20px;
  }

  .aboutus-kicker{
    margin-bottom:12px;
    font-size:16px;
  }

  .aboutus-hero__title{
    font-size:26px;
    line-height:1.5;
  }

  .aboutus-story{
    padding:0 0 0px;
  }

  .aboutus-feature{
    min-height:auto;
    display:block;
    margin-bottom:22px;
    border-radius:0;
    background-color:#fff;
    background-size:100% auto;
    background-position:top center;
    padding-top:34%;
    box-shadow:0 10px 26px rgba(16,32,51,.06);
  }

  .aboutus-feature::before{
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.20) 46%, #fff 100%);
  }

  .aboutus-feature--01
  , .aboutus-feature--02
  , .aboutus-feature--03
  , .aboutus-feature--04{
    background-image: none;
  }

  .aboutus-feature__content{
    width:100%;
    padding:22px 20px 24px;
    background:#fff;
  }

  .aboutus-feature__content img{
    width: 100%;
    border-radius: 4px;
    margin: 0 0 20px;
  }

  .aboutus-feature h2{
    font-size:22px;
  }

  .aboutus-feature p{
    font-size:14px;
    line-height:1.9;
  }

  .aboutus-contact-button{
    width:100%;
    min-height:46px;
    margin-top:12px;
  }
}

@media (max-width: 420px){
  .aboutus-hero__content{
    padding:22px 18px 28px;
  }

  .aboutus-hero__title{
    font-size:22px;
  }

  .aboutus-hero__lead {
    line-height: normal;
    font-size:14px;
    line-height: 1.9;
  }

  .aboutus-feature{
    padding-top:0px;
  }

  .aboutus-feature__content{
    padding:20px 16px 22px;
  }
}


/* ===== Ultrasonic Press page ===== */
.ultrasonic-page{
  background:
    linear-gradient(180deg, #f1f2f3 0%, #f7f5f6 38%, #f7f5f6 100%);
}

.ultrasonic-main
, .machine-main
, .department-main{
  padding-top:108px;
  overflow:hidden;
  background-image: url(../img/bgimg.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.ultrasonic-container{
  width:min(1100px, calc(100% - 32px));
  margin-inline:auto;
}

.ultrasonic-hero,
.ultrasonic-intro,
.ultrasonic-about,
.ultrasonic-method,
.ultrasonic-stack{
  position:relative;
}

.ultrasonic-hero{
  padding:59px 0 14px;
}

.ultrasonic-hero__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(240px, 340px);
  gap:44px;
  align-items:start;
}

.ultrasonic-hero__copy{
  padding-top:6px;
}

.ultrasonic-hero__copy h1{
  margin:0 0 19px;
  color:#15191d;
  font-size:55px;
  font-weight:900;
  line-height:1.28;
  letter-spacing:.08em;
}

.ultrasonic-hero__lead{
  position:relative;
  margin:0;
  padding: 0 0 28px;
  color:#24282d;
  font-size:16px;
  line-height:2;
  letter-spacing:.06em;
}

.ultrasonic-hero__lead::before{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:min(580px, 100%);
  height:2px;
  background:rgba(16,32,51,.22);
}

.ultrasonic-hero-intro{
  max-width:560px;
  margin-top:45px;
  padding:0;
}

.ultrasonic-hero-intro h2{
  margin:0 0 16px;
  color:#15191d;
  font-size:clamp(24px, 3.2vw, 38px);
  font-weight:900;
  line-height:1.45;
  letter-spacing:.06em;
}

.ultrasonic-hero-intro p{
  margin:0;
  color:#222831;
  font-size:16px;
  line-height:1.95;
  letter-spacing:.04em;
}

.ultrasonic-video-card{
  justify-self:end;
  width:min(100%, 320px);
  padding:0;
  border:1px solid rgba(16,32,51,.14);
  border-radius:4px;
  background:#0b1118;
  box-shadow:0 18px 36px rgba(16,32,51,.22);
  overflow:hidden;
  margin: 0 94px 0 0;
}

.ultrasonic-video{
  display:block;
  width:100%;
  aspect-ratio:9 / 16;
  object-fit:cover;
  background:#0b1118;
}

.ultrasonic-intro{
  padding:6px 0 38px;
}

.ultrasonic-intro__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 560px) minmax(240px, 1fr);
  gap:36px;
}

.ultrasonic-intro__text h2,
.ultrasonic-about__text h2,
.ultrasonic-stack__text h2,
.ultrasonic-section-title{
  margin:0 0 16px;
  color:#15191d;
  font-size:clamp(24px, 3.2vw, 38px);
  font-weight:900;
  line-height:1.45;
  letter-spacing:.06em;
}

.ultrasonic-intro__text p,
.ultrasonic-about__text p,
.ultrasonic-stack__text p,
.ultrasonic-method-card p{
  margin:0 0 10px;
  color:#222831;
  font-size:16px;
  line-height:1.95;
  letter-spacing:.04em;
}

.ultrasonic-about{
  padding:0 0 48px;
}

.ultrasonic-about__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 560px) minmax(260px, 1fr);
  gap:40px;
  align-items:center;
}

.ultrasonic-about__lead::before {
    content: "";
    position: absolute;
    top: 60px;
    left: 0;
    width: min(580px, 100%);
    height: 2px;
    background: rgba(16, 32, 51, .22);
}

.ultrasonic-about__text ul{
  display:inline-block;
  min-width:340px;
  margin:0 0 0;
  padding:12px 20px 12px 34px;
  background:rgba(232,219,199,.64);
  border:1px solid rgba(89,69,43,.14);
  color:#222831;
  font-size:15px;
  font-weight:900;
  line-height:1.8;
}

.ultrasonic-disc{
  margin:0;
  text-align:center;
}

.ultrasonic-disc img{
  max-width:min(100%, 430px);
  height:auto;
  filter:drop-shadow(0 14px 18px rgba(16,32,51,.16));
  margin-top: 75px;
}

.ultrasonic-method{
  padding:4px 0 42px;
}

.ultrasonic-method .ultrasonic-container{
  position:relative;
  z-index:1;
}

.ultrasonic-method__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  margin: 18px 15px;
}

.ultrasonic-method-card{
  padding:14px 14px 18px;
  border:1px solid rgba(16,32,51,.16);
  background:rgba(255,255,255,.62);
  box-shadow:0 10px 24px rgba(16,32,51,.07);
}

.ultrasonic-method-card h3{
  margin:0 0 12px;
  color:#15191d;
  font-size:20px;
  font-weight:900;
  line-height:1.5;
  letter-spacing:.05em;
}

.ultrasonic-method-card img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
  margin-bottom:12px;
}

.ultrasonic-method-card p{
  margin-bottom:0;
  font-size:14px;
  line-height:1.8;
}

.ultrasonic-stack{
  padding:0 0 48px;
}

.ultrasonic-stack__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 420px);
  gap:36px;
  align-items:center;
}

.ultrasonic-samples{
  margin:0;
}

.ultrasonic-samples img{
  display:block;
  width:100%;
  height:auto;
}

.ultrasonic-contact-section{
  padding-top:18px;
}

@media (max-width: 860px){
  .ultrasonic-main{
    padding-top:73px;
  }
}

@media (max-width: 760px){
  .ultrasonic-container{
    margin-top: 24px;
    padding: 22px 20px;
    background: rgba(255, 255, 255, .70);
    border: 1px solid rgba(16, 32, 51, .08);
    box-shadow: 0 10px 24px rgba(16, 32, 51, .06);
    width:min(100% - 28px, 760px);
  }

  .ultrasonic-hero{
    padding:24px 0 0px;
  }

  .ultrasonic-hero__grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .ultrasonic-hero__copy h1{
    font-size:clamp(30px, 10vw, 44px);
    letter-spacing:.06em;
  }

  .ultrasonic-hero__lead{
    padding-top:0px;
    font-size:14px;
    line-height:1.9;
  }

  .ultrasonic-hero-intro{
    margin-top:24px;
    padding:22px 20px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(16,32,51,.08);
    box-shadow:0 10px 24px rgba(16,32,51,.06);
  }

  .ultrasonic-hero-intro h2{
    font-size:24px;
  }

  .ultrasonic-video-card{
    justify-self:center;
    width:min(76vw, 320px);
  }

  .ultrasonic-intro,
  .ultrasonic-about,
  .ultrasonic-method,
  .ultrasonic-stack{
    padding:0px 0;
  }

  .ultrasonic-intro__grid,
  .ultrasonic-about__grid,
  .ultrasonic-stack__grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .ultrasonic-intro__text,
  .ultrasonic-about__text,
  .ultrasonic-stack__text{
    padding:22px 20px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(16,32,51,.08);
    box-shadow:0 10px 24px rgba(16,32,51,.06);
  }

  .ultrasonic-intro__text h2,
  .ultrasonic-about__text h2,
  .ultrasonic-stack__text h2,
  .ultrasonic-section-title{
    font-size:24px;
  }

  .ultrasonic-about__text ul{
    min-width:0;
    width:100%;
  }

  .ultrasonic-about__lead::before {
    content: "";
    display: block;
    position: static;
    top: 84px;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(16, 32, 51, .22);
    margin: 10px auto;
  }

  .ultrasonic-method__grid{
    grid-template-columns:1fr;
    gap:20px;
    margin: 0;
  }

  .ultrasonic-method-card img{
    height:auto;
  }

}

@media (max-width: 420px){
  .ultrasonic-hero__copy h1{
    font-size:30px;
  }

  .ultrasonic-video-card{
    width:100%;
    margin: 0;
  }

  .ultrasonic-intro__text,
  .ultrasonic-about__text,
  .ultrasonic-stack__text{
    padding:20px 16px;
  }

  .ultrasonic-hero-intro{
    padding:20px 16px;
  }

  .ultrasonic-hero-intro p,
  .ultrasonic-intro__text p,
  .ultrasonic-about__text p,
  .ultrasonic-stack__text p,
  .ultrasonic-method-card p{
    font-size:14px;
  }
}


/* ===== Machine page ===== */
.machine-page{
  background:#f7f5f1;
}

.machine-container{
  width:min(1060px, calc(100% - 48px));
  margin-inline:auto;
}

.machine-hero{
  padding:59px 0 22px;
}

.machine-hero__inner{
  min-height:210px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(248,247,243,.98) 0%, rgba(248,247,243,.88) 43%, rgba(248,247,243,.22) 68%, rgba(248,247,243,.00) 100%),
    url(../img/machine-hero.png) right center / auto 100% no-repeat;
  border-bottom:1px solid rgba(16,32,51,.10);
}

.machine-hero__copy{
  max-width:520px;
  padding:30px 0;
}

.machine-hero__copy h1{
  margin:0 0 16px;
  color:#15191d;
  font-size:55px;
  line-height:1.24;
  letter-spacing:.05em;
  font-weight:900;
}

.machine-hero__copy p{
  margin:0;
  color:#15191d;
  font-size:16px;
  line-height:1.8;
  letter-spacing:.04em;
}

.machine-section{
  padding:0 0 30px;
}

.machine-panel{
  padding:22px 24px 26px;
  border:1px solid rgba(16,32,51,.18);
  border-radius:6px;
  background:rgba(255,255,255,.46);
  box-shadow:0 10px 26px rgba(16,32,51,.06);
}

.machine-section-title{
  margin:0 0 18px;
  color:#1f2429;
  font-size:clamp(20px, 2vw, 26px);
  font-weight:900;
  line-height:1.5;
  letter-spacing:.06em;
}

.machine-large-card,
.machine-process-card,
.machine-product-group{
  border:1px solid rgba(16,32,51,.18);
  border-radius:5px;
  background:rgba(255,255,255,.54);
  overflow:hidden;
}

.machine-card-heading{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  background:rgba(226,218,206,.78);
  border-bottom:1px solid rgba(16,32,51,.10);
}

.machine-card-heading h3,
.machine-product-group h3{
  margin:0;
  color:#23282d;
  font-size:clamp(17px, 1.55vw, 21px);
  font-weight:900;
  letter-spacing:.05em;
  line-height:1.45;
}

.machine-card-icon{
  flex:0 0 auto;
  width:28px;
  height:20px;
  display:inline-grid;
  place-items:center;
  color:#4b555d;
  font-size:16px;
}

.machine-photo-mosaic{
  max-width:928px;
  margin:16px auto 10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 10px;
}

.machine-photo-mosaic img{
  display:block;
  width:450px;
  object-fit:cover;
  filter:saturate(.82) contrast(.96);
}

.machine-large-card__text{
  margin:10px auto 0;
  max-width:953px;
  color:#15191d;
  font-size:16px;
  line-height:1.9;
  letter-spacing:.02em;
  padding:0 16px 16px;
}

.machine-process-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px 32px;
  margin-top:28px;
}

.machine-process-card img{
  display:block;
  width:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(.96);
  padding: 24px 25px 0;
}

.machine-process-card p,
.machine-process-card ul{
  margin:14px 16px;
  color:#22272c;
  font-size:16px;
  line-height:1.8;
  letter-spacing:.02em;
}

.machine-process-card ul{
  margin-top:8px;
  margin-bottom:18px;
  padding-left:1.2em;
}

.machine-process-card li::marker{
  color:#b68a3a;
}

.machine-products{
  padding-top:6px;
  padding-bottom:34px;
}

.machine-products-panel{
  padding-top:22px;
}

.machine-products-panel > .machine-section-title{
  margin-bottom:18px;
  font-size:clamp(18px, 1.8vw, 23px);
}

.machine-product-list{
  display:grid;
  gap:26px;
}

.machine-product-group{
  border-color:rgba(16,32,51,.12);
  background:transparent;
}

.machine-product-group h3{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:7px 14px;
  background:rgba(226,218,206,.78);
}

.machine-product-gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  padding:16px 16px 18px;
}

.machine-product-gallery img{
  display:block;
  width:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(.96);
}

.machine-contact-section{
  padding-top:10px;
}

@media (max-width: 860px){
  .machine-main{
    padding-top:73px;
  }
}

@media (max-width: 760px){
  .machine-container{
    width:min(100% - 28px, 760px);
  }

  .machine-hero{
    padding:18px 0 14px;
  }

  .machine-hero__inner{
    min-height:0;
    display:block;
    padding:28px 20px 160px;
    border:1px solid rgba(16,32,51,.10);
    border-radius:6px;
    background:
      linear-gradient(180deg, rgba(248,247,243,.98) 0%, rgba(248,247,243,.90) 56%, rgba(248,247,243,.25) 100%),
      url(../img/machine-hero.jpg) right bottom / auto 160px no-repeat;
    box-shadow:0 10px 24px rgba(16,32,51,.06);
  }

  .machine-hero__copy{
    padding:0;
  }

  .machine-hero__copy h1{
    font-size:clamp(29px, 8.8vw, 42px);
  }

  .machine-hero__copy p{
    font-size:14px;
  }

  .machine-section{
    padding-bottom:22px;
  }

  .machine-panel{
    padding:18px 14px 20px;
  }

  .machine-photo-mosaic,
  .machine-process-grid,
  .machine-product-gallery{
    grid-template-columns:1fr;
  }

  .machine-photo-mosaic{
    gap:10px;
    margin-top:12px;
  }

  .machine-photo-mosaic img,
  .machine-process-card img,
  .machine-product-gallery img{
    height:auto;
  }

  .machine-large-card__text{
    padding:0 12px 14px;
    font-size:13px;
  }

  .machine-process-grid{
    gap:18px;
    margin-top:20px;
  }

  .machine-process-card p,
  .machine-process-card ul{
    margin-left:14px;
    margin-right:14px;
    font-size:13px;
  }

  .machine-product-list{
    gap:18px;
  }

  .machine-product-gallery{
    gap:12px;
    padding:14px;
  }
}

@media (max-width: 420px){
  .machine-hero__inner{
    padding:24px 16px 140px;
    background-size:auto 142px;
  }

  .machine-card-heading,
  .machine-product-group h3{
    padding-inline:10px;
  }

  .machine-card-heading h3,
  .machine-product-group h3{
    font-size:16px;
  }
}


/* ===== Machine equipment list ===== */
.machine-equipment{
  padding-top:8px;
  padding-bottom:36px;
}

.machine-equipment-panel{
  position:relative;
  overflow:hidden;
  padding:30px 30px 32px;
  background:
    linear-gradient(180deg, rgba(255,253,248,.86), rgba(244,237,225,.78)),
    rgba(255,255,255,.58);
}

.machine-equipment-panel::before,
.machine-equipment-panel::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  pointer-events:none;
}

.machine-equipment-panel::before{
  top:0;
  height:6px;
  background:linear-gradient(90deg, rgba(169,137,92,.80), rgba(226,218,206,.88), rgba(169,137,92,.80));
}

.machine-equipment-panel::after{
  bottom:-78px;
  height:150px;
  background:
    radial-gradient(80% 70% at 22% 100%, rgba(188,169,137,.26), transparent 70%),
    radial-gradient(74% 70% at 80% 100%, rgba(188,169,137,.18), transparent 70%);
}

.machine-equipment-title{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 0 24px;
  color:#132a3f;
  font-size:clamp(26px, 3.4vw, 40px);
  font-weight:900;
  line-height:1.25;
  letter-spacing:.12em;
  text-align:center;
}

.machine-equipment-title::before,
.machine-equipment-title::after{
  content:"";
  flex:1 1 90px;
  max-width:240px;
  height:1px;
  border-top:1px dashed rgba(93,74,48,.28);
}

.machine-equipment-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "roll ultra"
    "press laminate"
    "other other";
  gap:22px 28px;
  align-items:start;
}

.machine-equipment-block--roll{ grid-area:roll; }
.machine-equipment-block--press{ grid-area:press; }
.machine-equipment-block--ultra{ grid-area:ultra; }
.machine-equipment-block--laminate{ grid-area:laminate; }
.machine-equipment-block--other{ grid-area:other; }

.machine-equipment-block{
  overflow:hidden;
  border:1px solid rgba(93,74,48,.22);
  border-radius:6px;
  background:rgba(255,255,255,.56);
  box-shadow:0 10px 24px rgba(93,74,48,.06);
}

.machine-equipment-heading{
  margin:0;
  padding:10px 16px;
  background:linear-gradient(180deg, #b39870 0%, #987a51 100%);
  color:#fff;
  font-size:clamp(17px, 1.65vw, 22px);
  font-weight:900;
  line-height:1.35;
  letter-spacing:.06em;
  text-align:center;
}

.machine-equipment-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.machine-equipment-table{
  width:100%;
  min-width:430px;
  border-collapse:collapse;
  color:#162b3f;
  font-size:15px;
  line-height:1.55;
  table-layout:auto;
}

.machine-equipment-table th,
.machine-equipment-table td{
  padding:10px 14px;
  border-right:1px solid rgba(93,74,48,.15);
  border-bottom:1px solid rgba(93,74,48,.13);
  vertical-align:middle;
}

.machine-equipment-table th:last-child,
.machine-equipment-table td:last-child{
  border-right:0;
}

.machine-equipment-table thead th{
  background:rgba(238,229,213,.90);
  color:#3d3328;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}

.machine-equipment-table thead th.machine-equipment-th01{
  width: 169px;
}

.machine-equipment-table thead th.machine-equipment-th02{
  width: 195px;
}

.machine-equipment-table thead th.machine-equipment-th03{
}

.machine-equipment-table tbody tr:nth-child(odd){
  background:rgba(255,255,255,.64);
}

.machine-equipment-table tbody tr:nth-child(even){
  background:rgba(239,232,221,.58);
}

.machine-equipment-table td:first-child{
  color:#132a3f;
  font-size:17px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
}

.machine-equipment-table td:nth-child(3){
  text-align:center;
  white-space:nowrap;
}

.machine-equipment-other-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:0;
}

.machine-equipment-other-grid .machine-equipment-table-wrap + .machine-equipment-table-wrap{
  border-left:1px solid rgba(93,74,48,.18);
}

.machine-equipment .machine-card-icon{
  color:#7c6038;
}

@media (max-width: 980px){
  .machine-equipment-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "roll"
      "press"
      "ultra"
      "laminate"
      "other";
    gap:18px;
  }
}

@media (max-width: 760px){
  .machine-equipment{
    padding-top:0;
    padding-bottom:24px;
  }

  .machine-equipment-panel{
    padding:22px 14px 18px;
  }

  .machine-equipment-title{
    gap:10px;
    margin-bottom:18px;
    font-size:clamp(24px, 7.6vw, 32px);
    letter-spacing:.08em;
  }

  .machine-equipment-title::before,
  .machine-equipment-title::after{
    max-width:58px;
  }

  .machine-equipment-heading{
    padding:8px 12px;
    font-size:17px;
  }

  .machine-equipment-table{
    min-width:420px;
    font-size:13px;
  }

  .machine-equipment-table th,
  .machine-equipment-table td{
    padding:9px 8px;
  }

  .machine-equipment-table td:first-child{
    font-size:14px;
  }

  .machine-equipment-table th:nth-child(2),
  .machine-equipment-table td:nth-child(2){
    min-width:128px;
  }

  .machine-equipment-other-grid{
    grid-template-columns:1fr;
  }

  .machine-equipment-other-grid .machine-equipment-table-wrap + .machine-equipment-table-wrap{
    border-left:0;
    border-top:1px solid rgba(93,74,48,.18);
  }
}

@media (max-width: 420px){
  .machine-equipment-panel{
    padding-inline:12px;
  }

  .machine-equipment-title::before,
  .machine-equipment-title::after{
    display:none;
  }

  .machine-equipment-table{
    min-width:390px;
  }

  .machine-equipment-table-wrap{
    border-bottom:1px solid rgba(93,74,48,.10);
  }
}


/* =========================================================
   Department page / 部門紹介
========================================================= */
.department-page{
  background:
    linear-gradient(180deg, rgba(239,234,223,.92), rgba(248,244,235,.96)),
    repeating-linear-gradient(0deg, rgba(131,110,82,.035) 0, rgba(131,110,82,.035) 1px, transparent 1px, transparent 6px);
  color:#2f2b28;
}
.department-container{
  width:min(1040px, calc(100% - 32px));
  margin-inline:auto;
}
.department-section{
  padding:28px 0;
}
.department-title{
  margin:0 0 14px;
  color:#3b3029;
  font-size:clamp(24px, 3vw, 36px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:.05em;
}
.department-title::after{
  content:"";
  display:inline-block;
  width:min(220px, 28vw);
  height:1px;
  margin-left:18px;
  vertical-align:middle;
  background:linear-gradient(90deg, rgba(111,91,60,.38), transparent);
}

.department-hero{
  padding: 117px 0 22px;
}
.department-hero-card{
  position:relative;
  min-height: 210px;
  border:1px solid rgba(115,96,65,.25);
  border-radius:8px;
  overflow: visible;
  background:rgba(252,248,240,.82);
  box-shadow:0 12px 28px rgba(67,47,20,.08);
}
.department-hero-bg{
  position:absolute;
  inset: 0px 0px 0 497px;
  background:url("../img/department-hero-bg.jpg") center/cover no-repeat;
  opacity:1;
}
.department-hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(250,246,238,.98) 0%, rgba(250,246,238,.86) 48%, rgba(250,246,238,.20) 100%);
  pointer-events:none;
  border-radius: 8px;
}
.department-hero-copy{
  position:relative;
  z-index:1;
  max-width: 600px;
  padding: 34px 30px 30px;
}
.department-kicker{
  margin:0 0 12px;
  color:#3b3029;
  font-size:clamp(28px, 3.2vw, 40px);
  font-weight:900;
  line-height:1;
  letter-spacing:.05em;
}
.department-kicker span{
  display:inline-block;
  margin-left:.35em;
  font-size:.42em;
  vertical-align:middle;
  letter-spacing:.08em;
}
.department-hero-copy h1{
  margin:0 0 10px;
  color:#3b3029;
  font-size:clamp(22px, 3vw, 32px);
  font-weight:900;
  line-height:1.35;
  letter-spacing:.05em;
}
.department-hero-copy p:not(.department-kicker){
  margin:0;
  line-height:1.8;
  color:#443b34;
  font-size: 16px;
}
.department-hero-character{
  position:absolute;
  z-index:2;
  right: 236px;
  bottom: -10px;
  width: clamp(350px, 34vw, 430px);
  max-width: 46%;
  max-height: none;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(67,47,20,.12));
}

.department-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.department-card,
.department-interview-card,
.department-gallery-panel,
.department-number-panel{
  border:1px solid rgba(115,96,65,.22);
  border-radius:8px;
  background:rgba(255,252,244,.76);
  box-shadow:0 10px 22px rgba(67,47,20,.06);
}
.department-card{
  overflow:hidden;
  padding:12px 14px 14px;
}
.department-card-head{
  display:flex;
  align-items:baseline;
  gap:8px;
  justify-content:center;
  min-height:26px;
  margin:0 0 8px;
  color:#3f332a;
  font-weight:900;
  letter-spacing:.04em;
}
.department-card-head h3{
  margin:0;
  font-size:18px;
}
.department-card-head span{
  font-size:13px;
  font-weight:800;
}
.department-card img{
  display:block;
  width:100%;
  height:160px;
  object-fit:cover;
  margin:0 0 10px;
  border-radius:4px;
  filter:saturate(.9) contrast(.96);
}
.department-card ul{
  margin:0;
  padding-left:1.2em;
  color:#4a4039;
  line-height:1.75;
}
.department-work-list{
  min-height:58px;
  font-size:16px;
}
.department-suited-label{
  display:block;
  width:min(190px, 82%);
  margin:10px auto 9px;
  padding:5px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, #d87527, #c96922);
  color:#fff;
  font-size:16px;
  text-align:center;
  letter-spacing:.08em;
}
.department-suited-list{
  font-size:16px;
}

.department-number-panel{
  position:relative;
  padding:20px 250px 22px 22px;
  overflow:hidden;
}
.department-number-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  max-width:720px;
}
.department-number-box,
.department-age-box{
  min-height:62px;
  padding:12px 16px;
  border-radius:8px;
  background:rgba(255,250,239,.78);
  border:1px solid rgba(124,101,67,.13);
}
.department-number-box span,
.department-age-box > span{
  display:inline-block;
  margin-right:8px;
  color:#4b4037;
  font-size:14px;
  font-weight:900;
}
.department-number-box strong{
  color:#b85f2a;
  font-size:clamp(20px, 2.6vw, 30px);
  line-height:1.3;
  letter-spacing:.04em;
}
.department-number-box small{
  display:block;
  margin-top:5px;
  color:#4b4037;
  font-weight:800;
}
.department-number-box--wide{
  grid-column:span 1;
}
.department-age-box{
  grid-column:span 3;
  min-height:auto;
}
.department-age-box dl{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin:6px 0 0;
}
.department-age-box div{
  display:flex;
  align-items:baseline;
  gap:6px;
}
.department-age-box dt{
  color:#a75d2e;
  font-size:22px;
  font-weight:900;
}
.department-age-box dd{
  margin:0;
  color:#4b4037;
  font-weight:800;
}
.department-number-character{
  position:absolute;
  right:34px;
  bottom:28px;
  width:190px;
  max-width:28%;
}

.department-interview-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.department-interview-card{
  padding:16px 18px 18px;
}
.department-interview-card h2{
  margin:0 0 12px;
  color:#3b3029;
  font-size:clamp(22px, 2.5vw, 30px);
  font-weight:900;
  letter-spacing:.05em;
}
.department-interview-card img{
  width:100%;
  height:263px;
  object-fit:cover;
  display:block;
  margin:0 0 12px;
  border-radius:4px;
}
.department-interview-card ul{
  margin:0;
  padding-left:1.2em;
  font-size:15px;
  font-weight:800;
  line-height:1.8;
}

.department-gallery{
  padding-bottom:54px;
}
.department-gallery-panel{
  padding:22px 24px 18px;
}
.department-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}
.department-gallery-grid img{
  display:block;
  width:100%;
  aspect-ratio: 4 / 2.75;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 8px 18px rgba(67,47,20,.10);
}
.department-gallery-panel p{
  margin:18px 0 0;
  text-align:center;
  color:#4a4039;
  font-size:18px;
  font-weight:900;
  letter-spacing:.06em;
}

@media (min-width: 981px){
  .department-card{
    display:flex;
    flex-direction:column;
  }

  .department-card-head,
  .department-card img{
    flex:0 0 auto;
  }

  .department-work-list{
    min-height:172px;
  }

  .department-suited-label{
    flex:0 0 auto;
  }
}

@media (max-width: 980px){
  .department-page{
    background:none;
  }
  .department-section{
    padding:24px 0;
  }
  .department-hero{
    padding-top: 40px;
  }
  .department-hero-bg{
    background:none;
  }
  .department-hero-card{
    min-height:0;
    overflow: hidden;
  }
  .department-hero-bg{
    inset: 78px 16px auto 16px;
    height: 108px;
  }
  .department-hero-copy{
    padding: 24px 20px 235px;
    max-width: none;
  }
  .department-hero-card::after{
    background:none;
  }
  .department-hero-character{
    width: min(340px, 86vw);
    max-width: none;
    right: 50%;
    bottom: -18px;
    transform: translateX(50%);
  }
  .department-card-grid,
  .department-interview-grid{
    grid-template-columns:1fr;
  }
  .department-card img{
    height:auto;
    max-height:180px;
  }
  .department-work-list{
    min-height:0;
  }
  .department-number-panel{
    padding:18px;
  }
  .department-number-grid{
    grid-template-columns:1fr 1fr;
    max-width:none;
  }
  .department-age-box{
    grid-column:span 2;
  }
  .department-number-character{
    position:static;
    display:block;
    width:160px;
    max-width:70%;
    margin:18px auto 0;
  }
  .department-gallery-grid{
    gap:14px;
  }
}

@media (max-width: 640px){
  .department-hero{
    padding-top: 28px;
  }

  .department-hero-card{
    border-radius: 8px;
  }

  .department-hero-bg{
    inset: 104px 12px auto 12px;
    height: 88px;
    opacity: .9;
  }

  .department-hero-copy{
    padding: 22px 18px 0px;
  }

  .department-hero-copy h1{
    font-size: clamp(23px, 7vw, 30px);
    line-height: 1.35;
  }

  .department-hero-copy p:not(.department-kicker){
    font-size: 14px;
    line-height: 1.75;
  }

  .department-hero-character{
    position: static;
    width: 100%;
    bottom: -12px;
    margin: 0 auto;
    transform: scale(1);
  }
  .department-container{
    width:min(100% - 24px, 1040px);
  }
  .department-title::after{
    display:none;
  }
  .department-number-grid{
    grid-template-columns:1fr;
  }
  .department-age-box{
    grid-column:auto;
  }
  .department-age-box dl{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .department-gallery-grid{
    grid-template-columns:1fr;
  }
  .department-gallery-panel{
    padding:16px;
  }
  .department-gallery-panel p{
    font-size:15px;
    line-height:1.7;
  }
}



/* =========================================================
   Department numbers redesign / 数字でみる練馬製作所
========================================================= */
.department-stats-panel{
  position:relative;
  padding:24px 26px 22px;
  border:1px solid rgba(115,96,65,.22);
  border-radius:10px;
  background:
    linear-gradient(180deg, rgba(255,252,244,.88), rgba(246,239,225,.72)),
    repeating-linear-gradient(0deg, rgba(124,101,67,.035) 0, rgba(124,101,67,.035) 1px, transparent 1px, transparent 7px);
  box-shadow:0 14px 28px rgba(67,47,20,.07);
  overflow:hidden;
}

.department-stats-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 16%, rgba(216,117,39,.10), transparent 28%),
    linear-gradient(90deg, rgba(255,255,255,.28), transparent 52%);
  pointer-events:none;
}

.department-stats-grid,
.department-stats-character,
.department-stats-message{
  position:relative;
  z-index:1;
}

.department-stats-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:12px;
}

.department-stats-card{
  border:1px solid rgba(124,101,67,.16);
  border-radius:10px;
  background:rgba(255,250,239,.82);
  box-shadow:0 8px 16px rgba(67,47,20,.045);
  padding:14px 16px;
}

.department-stats-card h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  color:#3b3029;
  font-size:18px;
  font-weight:900;
  letter-spacing:.06em;
}

.department-stats-card h3::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#d87527;
  box-shadow:0 0 0 4px rgba(216,117,39,.12);
  flex:0 0 auto;
}

.department-stats-card--walk,
.department-stats-card--people,
.department-stats-card--tenure,
.department-stats-card--experience{
  grid-column:span 3;
}

.department-stats-card--age,
.department-stats-card--workstyle,
.department-stats-card--phase{
  grid-column:span 6;
}

.department-stats-metrics{
  display:grid;
  gap:8px;
}

.department-stats-metrics--two{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.department-stats-metrics--three{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.department-stats-metrics--four{ grid-template-columns:repeat(4, minmax(0, 1fr)); }

.department-stats-metrics p{
  margin:0;
  padding:10px 10px;
  border-radius:8px;
  background:rgba(245,235,215,.72);
  text-align:center;
}

.department-stats-metrics span{
  display:block;
  color:#5b5048;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
}

.department-stats-metrics strong{
  display:block;
  margin-top:2px;
  color:#b85f2a;
  font-size:clamp(21px, 2.2vw, 30px);
  font-weight:900;
  line-height:1.15;
  letter-spacing:.04em;
  white-space:nowrap;
}

.department-stats-note{
  margin:10px 0 0;
  color:#4b4037;
  font-size:16px;
  line-height:1.7;
}

.department-age-list{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
  margin:0;
}

.department-age-list div{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:7px;
  min-height:48px;
  padding:8px;
  border-radius:8px;
  background:rgba(245,235,215,.72);
}

.department-age-list dt{
  color:#9e5d35;
  font-size:18px;
  font-weight:900;
}

.department-age-list dd{
  margin:0;
  color:#3f332a;
  font-size:13px;
  font-weight:900;
}

.department-experience-box{
  padding:6px;
  border-radius:999px;
  background:rgba(245,235,215,.72);
}

.department-experience-bar{
  display:grid;
  grid-template-columns:20% 80%;
  min-height:38px;
  border-radius:999px;
  overflow:hidden;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  text-align:center;
}

.department-experience-bar span{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
}

.department-experience-bar__experienced{
  background:#a56b37;
}

.department-experience-bar__beginner{
  background:linear-gradient(90deg, #d87527, #c96922);
}

.department-workstyle-list{
  display:grid;
  gap:8px;
  margin:0;
}

.department-workstyle-list div{
  display:grid;
  grid-template-columns:110px minmax(0, 1fr);
  gap:10px;
  align-items:start;
  padding:10px 12px;
  border-radius:8px;
  background:rgba(245,235,215,.72);
}

.department-workstyle-list dt{
  color:#9e5d35;
  font-weight:900;
}

.department-workstyle-list dd{
  margin:0;
  color:#3f332a;
  font-weight:800;
  line-height:1.6;
}

.department-workstyle-list dd span{
  display:block;
  margin-top:2px;
  color:#6b5b4e;
  font-size:12px;
}

.department-phase-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.department-phase-item{
  position:relative;
  padding:12px 14px;
  border-radius:10px;
  background:rgba(245,235,215,.72);
  border:1px solid rgba(124,101,67,.12);
}

.department-phase-item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-right:8px;
  border-radius:999px;
  background:#efe3ce;
  color:#9e5d35;
  font-weight:900;
}

.department-phase-item strong{
  color:#3f332a;
  font-size:14px;
  font-weight:900;
}

.department-phase-item em{
  position:absolute;
  right:10px;
  top:10px;
  padding:3px 9px;
  border-radius:999px;
  background:#d87527;
  color:#fff;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}

.department-phase-item.is-current{
  background:rgba(216,117,39,.12);
  border-color:rgba(216,117,39,.32);
}

.department-stats-character{
  position:absolute;
  right:34px;
  top:32px;
  width:178px;
  text-align:center;
}

.department-stats-character img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 10px 16px rgba(67,47,20,.12));
}

.department-stats-character p{
  display:inline-block;
  margin:8px 0 0;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,250,239,.88);
  color:#3f332a;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}

.department-stats-character strong{
  color:#b85f2a;
  font-size:1.2em;
}

.department-stats-message{
  width:fit-content;
  max-width:100%;
  margin:16px auto 0;
  padding:9px 20px;
  border-radius:999px;
  background:rgba(255,250,239,.86);
  border:1px solid rgba(124,101,67,.15);
  color:#3f332a;
  font-weight:900;
  line-height:1.6;
  text-align:center;
}

@media (max-width: 980px){
  .department-stats-panel{
    padding:18px;
  }

  .department-stats-grid{
    grid-template-columns:1fr;
    padding-right:0;
  }

  .department-stats-card--walk,
  .department-stats-card--people,
  .department-stats-card--tenure,
  .department-stats-card--experience,
  .department-stats-card--age,
  .department-stats-card--workstyle,
  .department-stats-card--phase{
    grid-column:auto;
  }

  .department-stats-metrics--three,
  .department-stats-metrics--four,
  .department-age-list,
  .department-phase-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .department-stats-character{
    position:relative;
    inset:auto;
    width:min(170px, 48vw);
    margin:18px auto 0;
  }

  .department-stats-message{
    border-radius:14px;
  }
}

@media (max-width: 640px){
  .department-stats-panel{
    padding:15px;
  }

  .department-stats-card{
    padding:13px;
  }

  .department-stats-metrics,
  .department-stats-metrics--two,
  .department-stats-metrics--three,
  .department-stats-metrics--four,
  .department-age-list,
  .department-phase-list{
    grid-template-columns:1fr;
  }

  .department-workstyle-list div{
    grid-template-columns:1fr;
    gap:4px;
  }

  .department-experience-bar{
    grid-template-columns:1fr;
    border-radius:14px;
  }

  .department-experience-bar span{
    min-height:34px;
  }

  .department-stats-message{
    width:100%;
    padding:10px 14px;
    font-size:14px;
  }
}


/* =========================================================
   Department workstyle character / 働き方エリアのキャラクター配置
========================================================= */
.department-workstyle-body{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 190px;
  gap:18px;
  align-items:end;
}

.department-workstyle-body .department-workstyle-list{
  min-width:0;
}

.department-workstyle-character{
  margin:0;
  width:178px;
  justify-self:center;
  align-self:end;
}

.department-workstyle-character img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 10px 16px rgba(67,47,20,.14));
}

@media (max-width: 980px){
  .department-workstyle-body{
    grid-template-columns:1fr;
    gap:12px;
  }

  .department-workstyle-character{
    width:min(190px, 52vw);
    margin:4px auto 0;
  }
}

@media (max-width: 640px){
  .department-workstyle-character{
    width:min(170px, 58vw);
  }
}
