/* generated — 手編集しない（再生成で上書き）*/

/* Reset & defaults — Studio エディタは margin/padding 0 を前提に組まれているため */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
/* production の body computed font-family は 'sans-serif'（generic）。テキスト要素は
   typography class や richText 個別ルールで Inter+Noto Sans JP に上書きされる。
   body 自体は sans-serif に揃えることで、typography class が当たらない素朴な要素も production と一致。 */
body { font-family: sans-serif; color: #333; line-height: 16px; }
/* Studio が生成する要素は flex container がデフォルト（display:flex; flex-direction:column; align-items:center）。
   個別の style 指定（display/flex-direction/align-items）が後で上書きする。
   これにより 'flex: none' だけ持つコンテナ (contact-thanks の トップに戻るボタン親等) も
   block 表示でなく flex-column-center で render され、子要素が full width に stretch しない。 */
[class^="n-"], [class*=" n-"] { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; max-width: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: inherit; font-weight: inherit; }
/* <p> は ctype=text の標準タグとして全テキストで使われるため、デフォルト margin はゼロ。
   richText 内では .prose p で段落間 margin を復活させる。
   production も全体テキストに margin: 0 適用、段落のみ margin あり。 */
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
figure { margin: 0; }
li { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: none; padding: 0; cursor: pointer; }
/* Studio production の img は flex column + center align（line-height:16px）。 */
img { display: flex; flex-direction: column; align-items: center; align-content: center; line-height: 16px; max-width: 100%; height: auto; }
iframe { border: 0; }
/* Material Icons: 親の font-size を継承して icon size を統一 */
.material-icons, .material-symbols-outlined, .material-symbols-rounded { font-size: inherit; line-height: 1; vertical-align: middle; }
/* richText コンテンツ内では production の runtime と同等のタイポグラフィを適用する。
   richText コンテナ自体は Studio source で font-family=Lato / size=24px が設定されることがあるが、
   production runtime は <p>/<h2>/etc に Inter+Noto Sans JP / size 16px / line-height 32px を上書きする。 */
.prose { line-height: 1.6; }
.prose p { font-family: Inter, 'Noto Sans JP'; font-size: 16px; line-height: 32px; min-height: 16px; margin: 24px 0; align-self: stretch; }
.prose h2 { font-family: Inter, 'Noto Sans JP'; font-size: 24px; line-height: 1.5; font-weight: 700; margin: 48px 0 24px 0; color: rgb(194,27,12); }
.prose h3 { font-family: Inter, 'Noto Sans JP'; font-size: 16px; line-height: 1.4; font-weight: 700; margin: 10px 0; }
.prose h5 { font-family: Inter, 'Noto Sans JP'; font-size: 16px; line-height: 1; font-weight: 600; color: rgb(51,51,51); margin: 10px 0; }
.prose ul { list-style: disc; padding-left: 0; margin: 0 0 0 20px; }
.prose ol { list-style: decimal; padding-left: 0; margin: 0 0 0 20px; }
.prose li { margin: 10px 0; }
.prose li p { margin: 0; line-height: inherit; font-size: inherit; }
.prose a { color: rgb(0,124,255); text-decoration: underline; }
/* Studio エディタの <u> ボタンは「黄色マーカーハイライト」用途で使われる
   （underline ではない）。production の computed style と一致させる。 */
.prose u { text-decoration: none; background-color: rgb(255,252,107); color: rgb(35,24,21); font-weight: 700; }
.prose a u { background-color: transparent; color: inherit; text-decoration: underline; font-weight: inherit; }
.prose strong { font-weight: bold; }
.prose em { font-style: normal; }
.prose figcaption { color: rgb(51,51,51); }
.embed { width: 100%; align-self: stretch; }

:root {
  /* Red */
  --s-color-b0946ecf: #d61e20;
  /* Gray */
  --s-color-b7b6c682: #ddddddff;
  /* New Red */
  --s-color-edbc1b9b: #c21b0cff;
  /* New White */
  --s-color-24bdb261: #ffffffff;
  /* New_gray */
  --s-color-6e945ada: #ebebebff;
  /* Dark Gray */
  --s-color-74858d12: #666666ff;
  /* New Black */
  --s-color-cf8f085a: #000000ff;
  --s-font-f9b42141: Lato;
  --s-font-f395aebd: 'Noto Sans JP';
  --s-font-35acdd82: Roboto;
  --s-font-c48052f3: Inter,'Noto Sans JP';
}

/* Title-XL */
.__TEXT_STYLE_TITLE_XL {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}
/* Title-L */
.__TEXT_STYLE_TITLE_L {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}
/* Title-M */
.__TEXT_STYLE_TITLE_M {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}
/* Paragraph-L */
.__TEXT_STYLE_PARAGRAPH_L {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}
/* Paragraph-M */
.__TEXT_STYLE_PARAGRAPH_M {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
}
/* New 本文 */
.s-1bb4ec34 {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
}
@media (max-width: 540px) {
  .s-1bb4ec34 {
    font-size: 14px;
  }
}
/* New セクション見出し英語 */
.c8af3453 {
  position: relative;
  font-family: var(--s-font-35acdd82);
  font-size: 48px;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 540px) {
  .c8af3453 {
    font-size: 28px;
  }
}
/* New 本文太字 */
.s-8aa053a1 {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2;
}
@media (max-width: 540px) {
  .s-8aa053a1 {
    font-size: 14px;
  }
}
/* New 注釈 */
.s-61ba3811 {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.5;
}
/* New 細字 */
.s-73a6f7df {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
}
@media (max-width: 540px) {
  .s-73a6f7df {
    font-size: 14px;
  }
}
/* New 中見出し */
.s-1296f27d {
  position: relative;
  font-family: var(--s-font-c48052f3);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1140px) {
  .s-1296f27d {
    font-weight: 600;
  }
}
@media (max-width: 540px) {
  .s-1296f27d {
    font-size: 22px;
  }
}
