@charset "UTF-8";

/*----------------------------------------
企業情報カテゴリページは以下を挿入
----------------------------------------*/ 
/*下層ヘッダー背景グラデ*/
.pages_head { background: #013396;
background: linear-gradient(90deg,rgba(1, 51, 150, 1) 0%, rgba(1, 104, 150, 1) 73%); }

/*サイドメニュー色変*/
.side_nav .side_nav_box { background: #005496; }
.side_nav a { color: #fff; }
.side_nav a:hover { color: #fff; background: #03477d; }
.side_nav a.is-active { color: #005496; background: #d7ebeb; font-weight: 700; font-weight: 700; }

/*----------------------------------------
END 企業情報カテゴリページは以下を共通で挿入 END
----------------------------------------*/ 


:root {
  --cyan:#01c6ca; --grad:linear-gradient(90deg,#0a55a5 0%,#0a55a5 35%,#2e7abf 55%,#62c2a1 100%); --grad-card:linear-gradient(90deg,#0b56a6 0%,#104aa2 30%,#1960b6 55%,#3aa8a4 80%,#9ad9a9 100%);
}

.pages_head { margin-bottom: 0;}
.intro { background: url("../img/strength/intro_bg.png")no-repeat; background-size: cover; background-position: bottom; padding: 180px 0 240px;　}
.intro h2 { font-family: var(--font-Mincho-B1); font-weight: 800; line-height: 1.6; color: #fff; margin-bottom: 40px; font-size: clamp(32px, 5vw, 110px); text-align: center; }
.intro .intro_txt { font-weight: 500; font-size: clamp(14px, 1.2vw, 26px); text-align: center; line-height: 1.8; color: #fff; letter-spacing: .1em; }

.strength { padding: clamp(40px,6vw,90px) 0; }
.strength__inner { margin: 0 auto; text-align: center; }
.strength__lead { font-family: var(--font-Mincho-B1); font-weight: 700; font-size: clamp(18px,3.3vw,40px); line-height: 1.6; letter-spacing: .02em; color: #222; }
.strength__pill { font-family: var(--font-Mincho); display: inline-block; padding: .7em 2em; border-radius: 9999px; background: linear-gradient(90deg,#1b55b6 0%,#67c08b 100%); color: #fff; font-weight: 700; letter-spacing: .08em; font-size: clamp(14px,1.6vw,18px); margin: 0 0 clamp(15px,2.6vw,20px); }
.strength__desc { font-size: clamp(14px,1.6vw,18px); color: #333; line-height: 2; margin: 0 0 clamp(36px,6vw,72px); }

.strength__values { position: relative; display: grid; grid-template-columns: repeat(2,1fr); --sep: clamp(28px,4vw,56px); gap: var(--sep); align-items: start; max-width: 900px; margin: 0 auto; }
.strength__values::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 2px; background: #2a57c8; border-radius: 1px; }
.strength__values::after { content: ""; position: absolute; right: 0; top: 8px; bottom: 8px; width: 2px; background: #2a57c8; border-radius: 1px; }
.value { position: relative; padding: 0 clamp(6px,1vw,10px); }
.value:not(:first-child)::before { content: ""; position: absolute; left: calc(-.5 * var(--sep)); top: 8px; bottom: 8px; width: 2px; background: #2a57c8; border-radius: 1px; }
.value__icon { display: block; width: clamp(96px,10vw,132px); height: auto; margin: 0 auto clamp(16px,2.6vw,22px); border-radius: 50%; }
.value__badge { display: inline-block; background: #2a2a2a; color: #fff; border-radius: 3px; padding: .2em .7em; font-size: clamp(11px,1.4vw,13px); font-weight: 700; }
.value__title { font-weight: 800; font-size: clamp(18px,2vw,24px); color: #1b1b1b; line-height: 1.3; margin: 0 0 .6em; display: flex; align-items: center; justify-content: center; gap: 10px; }
.value__text { font-size: clamp(13px,1.5vw,16px); color: #333; line-height: 1.9; margin: 0; }

.strength-list { display: flex; flex-direction: column; gap: clamp(30px,6vw,100px); margin-bottom: clamp(60px, 10vw, 120px); }
.strength-item { border-top: 1px solid #ccc; padding-top: clamp(30px,5vw,60px); }
.strength-item:last-child { border-bottom: 1px solid #ccc; bottom; padding-bottom: clamp(30px, 5vw, 60px) }
.strength-head { display: flex; align-items: center; gap: 16px; margin-bottom: clamp(15px,3vw,35px); }
.strength-num { flex-shrink: 0; max-width: 120px; width: 100%; }
.strength-title { font-family: var(--font-Mincho-B1); font-size: clamp(18px,2.8vw,26px); color: var(--blue-color); font-weight: 700; line-height: 1.4; }
.strength-body { display: flex; align-items: flex-start; gap: clamp(24px,4vw,48px); }
.strength-image { flex: 0 0 clamp(280px,35%,360px); }
.strength-image img { display: block; width: 100%; height: auto; border-radius: 8px; }
.strength-text { flex: 1; }
.strength-text p.txt { line-height: 1.8; }
.strength-item:nth-of-type(even) .strength-body { flex-direction: row-reverse; }

.contact-cta { position: relative; color: #fff; overflow: hidden; background: url("../img/strength/contact_bg.jpg") no-repeat; background-size: cover; background-position: center; margin-bottom: clamp(50px,5vw,120px); }
/*.contact-cta::before { content: ""; position: absolute; inset: 0;  }*/
.contact-cta__inner { position: relative; z-index: 1; padding: clamp(48px,8vw,120px) clamp(16px,4vw,40px); text-align: center; }
.contact-cta__title { font-family: var(--font-Mincho-B1,serif); font-weight: 800; line-height: 1.35; font-size: clamp(22px,4.5vw,40px); margin: 0 0 clamp(14px,2vw,18px); }
.contact-cta__lead { margin: 0 auto clamp(24px,4vw,40px); max-width: 980px; font-size: clamp(13px,2.2vw,16px); line-height: 2; opacity: .95; }
.contact-cta__btns { display: flex; gap: clamp(12px,3vw,20px); justify-content: center; flex-wrap: wrap; }
.c-pill-btn { --btn-h:62px; display: inline-flex; justify-content: center; align-items: center; gap: 12px; height: var(--btn-h); padding: 0 clamp(20px,4vw,36px); border-radius: 9999px; font-weight: 700; letter-spacing: .08em; text-decoration: none; transition: background .25s ease,color .25s ease,border-color .25s ease,transform .15s ease; border: 2px solid transparent; flex: 1; min-width: 245px; max-width: 300px; font-size: clamp(13px, 4vw, 20px); }
.c-pill-btn svg { width: 18px; height: 18px; flex: none; }
.c-pill-btn--ghost { background: #fff; color: var(--blue-color); border-color: transparent; }
.c-pill-btn--primary { background: #89BC75; color: #fff; border-color: transparent; }
.c-pill-btn:active { transform: translateY(1px); }

.entry-cards { display: grid; grid-template-columns: repeat(2,minmax(260px,1fr)); gap: clamp(16px,3vw,28px); margin-bottom: clamp(50px,5vw,120px); }

.entry-card { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: clamp(12px,3vw,24px); padding: clamp(20px,4vw,40px); text-decoration: none; color: #fff; background-image: linear-gradient(90deg, #013396 65%, #1960B6 79%, #1e8cb0 87%, #81e56a 100%); background-size: 250% 100%; background-position: 100% 50%; transition: background-position .8s ease, box-shadow .3s ease, transform .15s ease; box-shadow: 0 6px 14px rgba(0,0,0,.08); }

.entry-card__texts { display: grid; gap: .4em; }
.entry-card__eyebrow { margin: 0; font-family: var(--font-Mincho-B1,serif); font-size: clamp(24px,5vw,50px); font-weight: 800; letter-spacing: .06em; line-height: 1.1; }
.entry-card__sub { margin: 0; font-size: clamp(12px,2.4vw,16px); opacity: .95; }
.entry-card__icon { width: clamp(36px,5vw,56px); height: clamp(36px,5vw,56px); border-radius: 9999px; display: inline-grid; place-items: center; background: rgba(255,255,255,1); color: #89BC75; transition: background .3s ease, color .3s ease, opacity .3s ease; }
.entry-card__icon svg { width: 22px; height: 22px; }

@media (hover: hover) and (pointer: fine) {
  .c-pill-btn--ghost:hover { background: transparent; color: #fff; border-color: #fff; }
  .c-pill-btn--primary:hover { background: #fff; color: #89BC75; }
  .entry-card:hover { background-position: 0% 50%; box-shadow: 0 10px 18px rgba(0,0,0,.12); }
  .entry-card:hover .entry-card__icon { background: rgba(255,255,255,.5); color: var(--blue-color); opacity: .8; }
}

@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 1024px) {
}

@media only screen and (max-width: 980px){
  .c-pill-btn { --btn-h:56px; padding: 0 22px; }
  .entry-cards { grid-template-columns: 1fr; }
}

@media only screen and (max-width: 600px){
  .intro { padding: 70px 0 170px; }
  .strength__inner { margin-bottom: 0; }
  .strength__values::before , .strength__values::after { content: none; }
  .strength-body { flex-direction: column; gap: 20px; }
  .strength-image { flex: none; width: 100%; max-width: 100%; }
  .strength-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .strength-title { font-size: clamp(17px,4vw,22px); }
  .strength-num { max-width: 70px; width: 100%; }
  .strength__values { grid-template-columns: 1fr; gap: clamp(25px,6vw,40px); }
  .strength-item:nth-of-type(even) .strength-body { flex-direction: column; }
  .entry-card__texts { gap: 0.2em; }
  .entry-card__icon svg { width: 15px; height: 15px; }
  .value:not(:first-child)::before { display: none; }
  .value { padding: 0; }
}
