@charset "utf-8";

/* ==========================================================================
   cfi-tieup : tie-up article page
   All rules are scoped under .cfi-tieup to avoid collisions with the
   theme stylesheet and bootstrap.
   ========================================================================== */

.cfi-tieup{
  --cfi-ink:#0b2d53;
  --cfi-ink2:#173a60;
  --cfi-blue:#0f5ea8;
  --cfi-pale:#f4f9fd;
  --cfi-line:#d9e5ef;
  --cfi-text:#26384a;
  --cfi-muted:#65798c;
  --cfi-max:1120px;

  background:#fff;
  color:var(--cfi-text);
font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height:1.95;
  letter-spacing:.015em;
}
.cfi-tieup *{box-sizing:border-box}
.cfi-tieup img{max-width:100%;height:auto;display:block}
.cfi-tieup a{color:var(--cfi-blue);text-decoration:none}
.cfi-tieup a:hover{text-decoration:underline}

/* Reset theme / bootstrap heading rules */
.cfi-tieup h1,
.cfi-tieup h2,
.cfi-tieup h3{
  text-transform:none;
  font-weight:700;
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  color:var(--cfi-ink);
}

/* --------------------------------------------------------------- hero --- */
.cfi-hero{
  background:linear-gradient(180deg,#f1f7fb 0%,#fff 100%);
  border-bottom:1px solid var(--cfi-line);
}
.cfi-hero__inner{max-width:var(--cfi-max);margin:auto;padding:82px 24px 72px}
.cfi-label{
  display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;
  color:var(--cfi-blue);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.cfi-label:before{content:"";width:34px;height:2px;background:var(--cfi-blue)}
.cfi-hero h1{
  max-width:920px;margin:0;
  font-size:clamp(34px,5vw,64px);line-height:1.32;letter-spacing:.01em;
}
.cfi-hero__sub{
  margin:20px 0 0;max-width:780px;
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  color:var(--cfi-ink2);font-size:clamp(19px,2.2vw,27px);line-height:1.6;
}
.cfi-hero__meta{margin-top:26px;color:var(--cfi-muted);font-size:12px;letter-spacing:.08em}

/* -------------------------------------------------------- breadcrumbs --- */
.cfi-tieup__breadcrumbs{max-width:var(--cfi-max);margin:auto;padding-top:20px}

/* ------------------------------------------------------------- layout --- */
.cfi-main{max-width:var(--cfi-max);margin:auto;padding:24px 24px 90px}
.cfi-section{
  display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;
  padding:76px 0;border-bottom:1px solid var(--cfi-line);
}
.cfi-section:last-of-type{border-bottom:0}
.cfi-section__no{
  font-family:Georgia,"Times New Roman",serif;color:#85a2bf;font-size:46px;line-height:1;
  position:sticky;top:105px;align-self:start;
}
.cfi-article{max-width:900px}
.cfi-article h2{margin:0 0 28px;font-size:clamp(27px,3vw,40px);line-height:1.55;letter-spacing:.01em}
.cfi-article h3{margin:48px 0 20px;font-size:clamp(22px,2.5vw,30px);line-height:1.55}
.cfi-article p{margin:0 0 25px;font-size:16px}
.cfi-article p:last-child{margin-bottom:0}
.cfi-article sup{font-size:.7em;vertical-align:super;line-height:0}

/* ------------------------------------------------------------ figures --- */
.cfi-article figure{margin:42px 0}
.cfi-figure--graphic{padding:26px;background:var(--cfi-pale);border-top:3px solid var(--cfi-blue)}
.cfi-figure--graphic h3{margin:0 0 20px}
.cfi-figure--portrait{
  display:grid;grid-template-columns:minmax(260px,430px) 1fr;gap:28px;align-items:end;
  padding:0;margin:44px 0;
}
.cfi-figure--portrait img{width:100%;border-radius:2px}
.cfi-article figcaption{margin-top:12px;color:var(--cfi-muted);font-size:13px;line-height:1.7}
.cfi-profile{
  border-left:3px solid var(--cfi-blue);padding:16px 0 16px 22px;
  color:var(--cfi-ink);margin-top:0;font-size:16px;
}
.cfi-profile strong{display:block;font-size:16px;line-height:1.75;font-weight:700}

/* --------------------------------------------------------- blockquote --- */
/* Override the theme's decorated blockquote (quote images / rounded box) */
.cfi-tieup blockquote{
  margin:36px 0;padding:28px 32px;border-radius:0;
  background:#f6f9fc;border-left:4px solid var(--cfi-blue);
  color:#173b61;
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size:18px;line-height:2;position:static;
}
.cfi-tieup blockquote:before,
.cfi-tieup blockquote:after{content:none;display:none;background:none}
.cfi-tieup blockquote p{margin:0}

/* ------------------------------------------------------ pull / footnote -- */
.cfi-pull{
  margin:42px 0;padding:34px;
  border-top:1px solid #aac2d9;border-bottom:1px solid #aac2d9;
  text-align:center;color:var(--cfi-ink);
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size:clamp(22px,3vw,34px);line-height:1.65;
}
.cfi-footnote{
  margin-top:44px;padding-top:24px;border-top:1px solid var(--cfi-line);
  font-size:13px;color:var(--cfi-muted);
}
.cfi-footnote a{word-break:break-all}

/* ------------------------------------------------------------- banner --- */
.cfi-bnr{max-width:var(--cfi-max);margin:0 auto;padding:0 24px 90px}
.cfi-bnr a{display:block}

/* ----------------------------------------------------------- responsive -- */
@media (max-width:780px){
  .cfi-hero__inner{padding:58px 18px 50px}
  .cfi-main{padding:0 18px 70px}
  .cfi-bnr{padding:0 18px 70px}
  .cfi-section{grid-template-columns:1fr;gap:16px;padding:54px 0}
  .cfi-section__no{position:static;font-size:34px}
  .cfi-figure--portrait{grid-template-columns:1fr}
  .cfi-article p{font-size:15px}
  .cfi-tieup blockquote{padding:22px 20px;font-size:16px}
  .cfi-figure--graphic{padding:16px}
}
