/*
Theme Name: CURRENT Official
Description: CURRENT公式サイト用テーマ
Version: 0.11.0
Text Domain: current-official
*/

@import url("assets/css/style.css");

.mobile-break { display: none; }

/* 全セクション共通の見出し階層 */
.section-heading,
.service__heading,
.brands__heading b,
.information__heading h2,
.closing-panel__index {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .08em;
}
.section-heading span,
.service__heading span,
.information__heading span,
.closing-panel__index span {
  margin-top: 9px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .08em;
}
.brands__heading { align-items: baseline; }
.brands__heading b { display: inline-block; }

/* PC本文の可読性調整。見出し・余白・カラム構成は変更しない。 */
@media (min-width: 861px) {
  .hero__lead { font-size: 15px; line-height: 1.8; }
  .hero__body { font-size: 14px; line-height: 1.9; }
  .concept__body, .service__copy p { font-size: 14px; line-height: 1.9; }
  .philosophy__items p { font-size: 12px; line-height: 1.7; }
  .service-values__label { font-size: 12px; }
  .service__copy .service__status { font-size: 10px; }
  .service-values h3 { font-size: 14px; line-height: 1.5; }
  .service-values article p { font-size: 11px; line-height: 1.7; }
  .brands article p { font-size: 13px; line-height: 1.8; }
  .brands article a { font-size: 11px; }
  .brands article .social-links a { font-size: 10px; }
  .closing-panel__lead { font-size: 14px; }
  .company-list, .interview-list p { font-size: 12px; line-height: 1.75; }
  .interview-list span { font-size: 10px; }
  .contact-form label { font-size: 11px; }
  .contact-form label em { font-size: 9px; }
  .form-status { font-size: 12px; }
  .site-footer p, .site-footer nav a, .site-footer__legal, .site-footer__legal a,
  .footer-social a, .representative-social a { font-size: 10px; }
}

.information { padding: clamp(72px, 10vw, 140px) 5vw; border-top: 1px solid #dbe2ea; background: #fff; color: #061b37; }
.information__inner { width: min(1180px, 100%); margin: 0 auto; }
.information__heading { margin-bottom: 46px; }
.information__heading h2 { margin: 0; font-size: 28px; font-weight: 500; letter-spacing: .08em; }
.information__heading span { display: block; margin-top: 8px; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.information__list { border-top: 1px solid #cfd8e3; }
.information__item { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 28px; min-height: 92px; padding: 20px 0; border-bottom: 1px solid #cfd8e3; color: inherit; text-decoration: none; }
.information__date { font-size: 13px; letter-spacing: .08em; }
.information__title { margin: 0; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; font-weight: 500; }
.information__arrow { font-size: 18px; }
.information__empty { padding: 32px 0; border-bottom: 1px solid #cfd8e3; font-size: 14px; }
@media (max-width: 720px) {
  .information { padding: 72px 22px; }
  .information__heading { margin-bottom: 30px; }
  .information__item { grid-template-columns: 1fr auto; gap: 8px 16px; min-height: 108px; }
  .information__date, .information__title { grid-column: 1; }
  .information__arrow { grid-column: 2; grid-row: 1 / span 2; }
}

/* スマートフォン本文の可読性を一括管理 */
@media (max-width: 860px) {
  .mobile-break { display: inline; }
  .concept__title { font-size: clamp(22px, 6.7vw, 26px); line-height: 1.55; letter-spacing: .015em; white-space: nowrap; }
  .section-heading,
  .service__heading,
  .brands__heading b,
  .information__heading h2,
  .closing-panel__index { font-size: 22px; line-height: 1.25; }
  .section-heading span,
  .service__heading span,
  .information__heading span,
  .closing-panel__index span { font-size: 11px; }
  .hero__title { font-size: clamp(27px, 8vw, 34px); line-height: 1.55; letter-spacing: .025em; }
  .hero__lead, .hero__body, .concept__body, .service__copy p { font-size: 15px; line-height: 1.9; }
  .philosophy h3 { font-size: 17px; }
  .philosophy__items p { font-size: 14px; line-height: 1.75; }
  .service-values__label { font-size: 12px; }
  .service-values h3 { font-size: 14px; line-height: 1.55; }
  .service-values article p { font-size: 13px; line-height: 1.75; }
  .brands article p { font-size: 14px; line-height: 1.8; }
  .brands article a { font-size: 12px; }
  .brands article .social-links a { font-size: 11px; }
  .closing-panel__lead { font-size: 15px; }
  .company-list { font-size: 14px; line-height: 1.8; }
  .contact-form label { font-size: 12px; }
  .contact-form label em { font-size: 10px; }
  .form-status { font-size: 12px; }
  .site-footer p, .site-footer nav a, .site-footer__legal, .site-footer__legal a,
  .footer-social a, .representative-social a { font-size: 11px; }
}

.news-header { position: relative; color: #061b37; border-bottom: 1px solid #e0e6ed; background: #fff; }
.news-header .wordmark img { filter: none; }
.news-main { min-height: 70vh; padding: clamp(72px, 9vw, 130px) 24px; color: #061b37; background: #fff; }
.news-article { width: min(820px, 100%); margin: 0 auto; }
.news-article__back { display: inline-block; margin-bottom: 54px; color: #506176; font-size: 12px; text-decoration: none; }
.news-article__label { margin: 0 0 18px; font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.news-article__date { display: block; margin-bottom: 24px; color: #607086; font-size: 13px; letter-spacing: .08em; }
.news-article h1 { margin: 0; padding-bottom: 34px; border-bottom: 1px solid #d5dde6; font-size: clamp(28px, 3vw, 38px); font-weight: 500; line-height: 1.55; letter-spacing: .025em; }
.news-article__body { padding-top: 42px; font-size: 16px; line-height: 2; }
.news-article__body p { margin: 0 0 1.8em; }
.news-article__body img { max-width: 100%; height: auto; }
@media (max-width: 860px) {
  .news-header { position: relative; }
  .news-main { padding: 64px 22px 80px; }
  .news-article__back { margin-bottom: 40px; }
  .news-article h1 { padding-bottom: 26px; font-size: 26px; line-height: 1.55; }
  .news-article__body { padding-top: 30px; font-size: 16px; line-height: 1.9; }
}

/* CMSで追加するページ・事例紹介にも、PCとスマホで共通の余白・文字組を適用します。 */
.cms-content { padding: 160px 24px 96px; color: #061b37; }
.cms-content .wrap { width: min(1080px, 100%); margin: 0 auto; }
.cms-content h1 { margin: 0 0 40px; font-size: clamp(32px, 4vw, 56px); letter-spacing: .04em; }
.cms-content h2 { font-size: clamp(20px, 2vw, 30px); line-height: 1.5; }
.cms-content p, .cms-content li { font-size: clamp(15px, 1.4vw, 17px); line-height: 2; }
.cms-content img { max-width: 100%; height: auto; }
.cms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cms-card { border: 1px solid #dbe2ea; }
.cms-card a { display: block; height: 100%; padding: 24px; color: inherit; text-decoration: none; }
.cms-card img { width: 100%; margin: -24px -24px 18px; width: calc(100% + 48px); }
@media (max-width: 720px) {
  .cms-content { padding: 112px 20px 64px; }
  .cms-content h1 { margin-bottom: 28px; }
  .cms-grid { grid-template-columns: 1fr; gap: 16px; }
}
