@charset "UTF-8";

/*--------------------------------------------------------
　WordPressのブロックエディタ調整CSS
--------------------------------------------------------*/


/* =======================================
　テーブル（表）
======================================= */

figure.wp-block-table table td {
  padding: 8px 16px;
}

figure.wp-block-table {
  word-break: break-all;
  word-wrap: break-all;
}


/* =======================================
　カラム
======================================= */

@media screen and (max-width: 1023px) {
  .wp-block-columns.reverse-col {
    flex-direction: column-reverse;
  }
}


/* =======================================
　画像
======================================= */

.wp-block-column figure img,
.wp-block-image img {
  height: auto !important;
}

.wp-block-embed figcaption {
  color: var(--color-gray03) !important;
  font-size: var(--size-primary-font-verysmall) !important;
  font-style: italic !important;
  margin-bottom: 48px !important;
  margin-top: -16px !important;
}



/* =======================================
　YouTube埋め込み
======================================= */

figure.is-type-video.is-provider-youtube.wp-block-embed-youtube.fullsize .wp-block-embed__wrapper {
  height: 0;
  margin-bottom: 16px;
  overflow: hidden;
  padding-bottom: 56.25%;
  /* アスペクト比16:9の場合 */
  padding-top: 30px;
  position: relative;
  /* YouTubeの下に余白をつける */
}

figure.is-type-video.is-provider-youtube.wp-block-embed-youtube.fullsize .wp-block-embed__wrapper iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}



/* =======================================
　ボタン
======================================= */
/* ボタン共通 */
.wp-block-button a.wp-block-button__link.wp-element-button {
  padding: 8px 32px;
  text-decoration: none !important;
}

/* ボタン通常*/
.wp-block-button a.wp-block-button__link.wp-element-button {
  border: 2px solid var(--color-primary01);
  color: #FFF !important;
  background-color: var(--color-primary01);
}

/* アウトラインタイプ */
.wp-block-button.is-style-outline a.wp-block-button__link.wp-element-button {
  border: 2px solid var(--color-primary01);
  color: var(--color-primary01) !important;
}



/* =======================================
　GoogleMap埋め込み（<div class="map">〜</div>）
======================================= */

.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  /* 16:9 aspect ratio (height / width = 9 / 16 = 0.5625) */
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/* =======================================
　Code
======================================= */
code {
  background: var(--color-gray01);
  padding: 40px;
  margin-bottom: 40px;
}

@media screen and (max-width: 639px) {
  code {
    padding: 16px;
  }
}



/* =======================================
　Snow Monkey blocks調整
======================================= */

/*------ コンテナ調整 -----*/
.c-container {
  max-width: 100% !important;
}

@media screen and (max-width: 639px) {
  .c-container {
    padding: 0 !important;
  }
}



/*------ ボックス内の余白 -----*/
/* カラム */
.wp-block-snow-monkey-blocks-box.smb-box .wp-block-columns {
  margin-bottom: 0 !important;
}

/* 画像（figure） */
.wp-block-snow-monkey-blocks-box.smb-box figure {
  margin-bottom: 0;
}


/*------ Snow Monkeyボタン -----*/
a.smb-btn.smb-btn--wrap {
  text-decoration: none !important;
}


/*------ ボックス -----*/
.wp-block-snow-monkey-blocks-box.smb-box:nth-child(n+2) {
  margin-top: 24px;
}


/*------ ボタン -----*/
a.smb-btn {
  line-height: 1.25;
}



/*------ ディレクトリ構造 -----*/
.wp-block-snow-monkey-blocks-directory-structure-item-directory.smb-directory-structure__item.smb-directory-structure__item--directory {
  margin-bottom: calc(var(--size-primary-font) * 1.25);
}

.wp-block-snow-monkey-blocks-directory-structure.smb-directory-structure p {
  padding-bottom: 0;
  line-height: 1.25;
}



/*------ FAQ -----*/
.smb-faq__item__question__label,
.smb-faq__item__answer__label {
  padding-top: 7px;
  font-weight: 700 !important;
}

.smb-faq__item__question__label {
  color: var(--color-primary) !important;
}

.smb-faq__item__answer__label {
  color: var(--color-accent01) !important;
}


/* =======================================
　Snow Monkey forms調整
======================================= */

/* フォーム枠 */
#toc_content form {
  margin-top: 56px;
}


/* グループ */
.smf-form .wp-block-group {
  margin-bottom: 24px;
}

.smf-form .wp-block-group:last-child {
  margin-bottom: 0;
}

.smf-form .wp-block-group .wp-block-heading {
  width: 120px;
}


/* 項目（ラベルと説明） */
span.smf-item__label__text {
  font-size: var(--size-primary-font);
}

.smf-item__description {
  font-size: 16px !important;
  background: #D32400;
  display: inline-block;
  color: #FFF !important;
  padding: 4px 8px 6px;
  line-height: 1 !important;
}


/* 年月日 */
.smf-placeholder {
  display: flex;
  align-items: center;
}

.smf-control-description {
  margin-left: 6px;
  font-size: 16px !important;
}


/* プレースホルダー */
::placeholder {
  color: #BBB;
}


/* テキスト */
.smf-text-control {
  max-width: 100%;
}

/* テキストエリア */
.smf-textarea-control {
  width: 100%;
}


/* 送信ボタン */
.smf-action {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}


/* 送信完了メッセージ */
.smf-complete-content p {
  text-align: center;
  margin-top: 80px;
  font-size: 24px !important;
}


@media screen and (max-width: 639px) {
  input.smf-text-control__control {
    width: 100%;
  }

  .wp-block-snow-monkey-blocks-tabs.smb-tabs.is-style-simple.entry-tab .wp-block-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}



/* =======================================
　ファイルダウンロード
======================================= */

.wp-block-file>a,
.wp-block-file>a:link,
.wp-block-file>a:visited {
  color: var(--color-primary-link);
}


a.wp-block-file__button.wp-element-button {
  color: var(--color-wh);
  text-decoration: none;
  background: var(--color-primary-link);
}



/* =======================================
　区切り線
======================================= */
.wp-block-separator {
  border: none !important;
  border-top: 1px solid !important;
}

hr.wp-block-separator.has-alpha-channel-opacity.is-style-wide {
  border-top: 1px dashed !important;
}

hr.wp-block-separator.has-alpha-channel-opacity.is-style-dots {
  border-top: 1px dotted !important;
}

hr.wp-block-separator.has-alpha-channel-opacity.is-style-dots::before {
  content: none;
}



/* =======================================
　YouTube
======================================= */

.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 aspect ratio (height / width = 9 / 16 = 0.5625) */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.entry-content {
  font-size: var(--font-size-md);
  line-height: var(--line-height-relaxed);
}

.entry-title {
  font-size: var(--font-size-h1);
  font-family: var(--font-secondary);
  color: var(--text-color);
}

.entry-meta {
  font-size: var(--font-size-sm);
  color: var(--secondary-color);
}