@charset "UTF-8";
:root {
  --font-family: "Jost", sans-serif;
  --font-family-ja: "Noto Sans JP", sans-serif;
  --font-size-sm: 12px;
  --font-size-md: 24px;
  --font-size-small: 0.8333rem;
  --font-size-large: 1.3333rem;
  --font-size-x-large: 1.6667rem;
  --font-weight-normal: 400;
  --font-weight-bold: 600;
  --font-weight-bold-ja: 700;
  --line-height: 1.667rem;
  --color-text-default: #32302e;
  --color-body-bg: #ffffff;
  --color-link: #32302e;
}

/*
* フォントサイズ
* editor-style.cssで除外させたく、別ファイルで管理
*/
html {
  font-size: var(--font-size-sm);
}
@media (min-width: 576px) {
  html {
    font-size: var(--font-size-md);
  }
}

h1 {
  font-size: 1.5rem;
}

h2 {
  font-size: 1.4166666667rem;
}

h3 {
  font-size: 1.3333333333rem;
}

h4 {
  font-size: 1.1666666667rem;
}

h5 {
  font-size: 1rem;
}

/*
* 基本スタイル
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-family);
  line-height: var(--line-height);
  color: var(--color-text-default);
  background: var(--color-body-bg);
  text-size-adjust: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}
[lang=ja] body {
  font-family: var(--font-family-ja);
}

h1,
p,
ul,
ol,
figure,
table {
  margin: 0 0 2.5rem;
}

h2 {
  margin: 0 0 1.6666666667rem;
}

h3 {
  margin: 0 0 1.25rem;
}

h4 {
  margin: 0 0 0.8333333333rem;
}

h5 {
  margin: 0 0 0.4166666667rem;
}

ul,
ol {
  padding-left: 2.0833333333rem;
}

li {
  margin-bottom: 0.6666666667rem;
}
li > ul, li > ol {
  margin-top: 0.6666666667rem;
}

a {
  font-weight: var(--font-weight-bold);
  color: var(--color-link);
  text-decoration: underline;
}

strong {
  font-weight: var(--font-weight-bold);
}
[lang=ja] strong {
  font-weight: var(--font-weight-bold-ja);
}

table {
  border-collapse: collapse;
}

/*
* ブロックのスタイル
*/
/*
* 見出しパーツ
* ブロック > テキスト > 見出しのスタイル
*/
h1 {
  font-weight: var(--font-weight-bold);
}

h2 {
  font-weight: var(--font-weight-bold);
}

h3 {
  padding-left: 0.8333333333rem;
  font-weight: var(--font-weight-bold);
  border-left: #49c7ef solid 4px;
}

h4 {
  font-weight: var(--font-weight-bold);
}
h4::before {
  content: "- ";
  color: #49c7ef;
}

h5 {
  font-weight: var(--font-weight-bold);
  color: #49c7ef;
}
[lang=ja] h5 {
  font-weight: var(--font-weight-bold-ja);
}

/*
* 段落パーツ
* ブロック > テキスト > 段落に付与するクラス名
*/
.button-link {
  display: flex;
  justify-content: center;
}
.button-link > a {
  padding: 1rem 1.6666666667rem;
  background: linear-gradient(90deg, #41c2f3 32%, #53e4f9 100%);
  color: white;
  text-decoration: none;
  border-radius: 0.6666666667rem;
}
.button-link.large > a {
  width: 100%;
  text-align: center;
}

.has-text-align-center {
  text-align: center;
}
.has-text-align-right {
  text-align: right;
}
.has-red-color {
  color: #ff3f66;
}
.has-blue-color {
  color: #49c7ef;
}
.has-gray-600-color {
  color: #162844;
}
.has-gray-500-color {
  color: #525d73;
}
.has-gray-400-color {
  color: #99a2b1;
}
.has-gray-300-color {
  color: #c4cdd9;
}
.has-gray-200-color {
  color: #d2dbe6;
}
.has-small-font-size {
  font-size: var(--font-size-small);
}
.has-large-font-size {
  font-size: var(--font-size-large);
  line-height: calc(var(--line-height) + 0.2rem);
}
.has-x-large-font-size {
  font-size: var(--font-size-x-large);
  line-height: calc(var(--line-height) + 0.5rem);
}

.text-small {
  font-size: var(--font-size-small);
}
.text-large {
  font-size: var(--font-size-large);
}
.text-x-large {
  font-size: var(--font-size-x-large);
}

.wp-block-image.margin-side-0 {
  margin-left: -2.0833333333rem;
  margin-right: -2.0833333333rem;
}

/*
* テーブルパーツ
* ブロック > テキスト > テーブルに付与するクラス名
*/
.wp-block-table {
  --color-table-back-th:#E4DEDD;
  --color-table-back-td: #FBF8F6;
  --color-table-back-strong: #E4DEDD;
  --color-table-border-th: #4F483F;
  --color-table-border-cell: #dfdad8;
}
.wp-block-table.width-full > table {
  width: 100%;
}
.wp-block-table tr {
  border-bottom: 1px solid var(--color-table-border-cell);
}
.wp-block-table th {
  font-weight: var(--font-weight-normal);
  text-align: left;
  border-bottom: 1px solid var(--color-table-border-th);
  background-color: var(--color-table-back-th);
}
.wp-block-table td {
  background-color: var(--color-table-back-td);
}
.wp-block-table td.strong {
  color: #fff;
  background-color: var(--color-table-back-strong);
}
.wp-block-table th, .wp-block-table td {
  padding: 0.8333333333rem;
  border-right: 1px solid var(--color-table-border-cell);
}
@media (min-width: 576px) {
  .wp-block-table th, .wp-block-table td {
    padding: 0.8333333333rem;
  }
}
.wp-block-table th:last-of-type, .wp-block-table td:last-of-type {
  border-right: none;
}
.wp-block-table p:last-of-type,
.wp-block-table ul:last-of-type,
.wp-block-table ol:last-of-type {
  margin-bottom: 0;
}

/*
* 画像
* ブロック > メディア > 画像
*/
.wp-block-image {
  text-align: center;
}
.wp-block-image img {
  max-width: 100%;
  height: auto;
}

/*
* カラムパーツ
* ブロック > デザイン > カラムに付与するクラス
*/
.wp-block-column.note {
  border-radius: 0.2083333333rem;
  background: #FBF8F6;
  margin-bottom: 2.5rem;
  padding: 1rem;
}
.wp-block-column.note p,
.wp-block-column.note ul,
.wp-block-column.note ol {
  margin-bottom: 1rem;
}
.wp-block-column.note li {
  margin-bottom: 0.2083333333rem;
}
.wp-block-column.note li > ul, .wp-block-column.note li > ol {
  margin-top: 0.2083333333rem;
}

.is-layout-flex:has(> .is-layout-flow:nth-child(2)) {
  display: flex;
  justify-content: space-between;
  column-gap: 1rem;
}
.is-layout-flex:has(> .is-layout-flow:nth-child(2)) > .is-layout-flow img {
  max-width: none;
}

/*
* 区切りパーツ
* ブロック > デザイン > 区切りに付与するクラス
*/
hr {
  border-top: 0.0833333333rem solid #4F483F;
  margin-bottom: 2.5rem;
  margin-left: -2.0833333333rem;
  margin-right: -2.0833333333rem;
}

/*
* ページのスタイル
*/
/*
* ページ共通
*/
.container {
  max-width: 992px;
  margin: 0 auto;
  padding: 1rem;
}

/*
* ヘルプページ
*/
.archive-help.list {
  list-style: none;
  padding-left: 0;
}

.content-help {
  padding-bottom: 4rem;
}

.content-help .button-back {
  position: fixed;
  max-width: 892px;
  width: 100%;
  z-index: 10;
  bottom: 0;
  padding: 1rem;
  background-color: var(--color-body-bg);
}
.content-help .button-back a {
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*
* お知らせページ
*/
.content-news h1 {
  display: none;
}
