@charset "UTF-8";



.clear {
	clear: both;
}
.float_l {
	float: left;
}
.float_r {
	float: right;
}
.font10 {
	font-size: 0.625rem;
}
.font11 {
	font-size: 0.6875rem;
}
.font14 {
	font-size: 0.875rem;
}
.font15 {
	font-size: 0.9375rem;
}
.font16 {
	font-size: 1rem;
}
.font17 {
	font-size: 1.0625rem;
}
.font18 {
	font-size: 1.125rem;
}
.font19 {
	font-size: 1.1875rem;
}
.font20 {
	font-size: 1.25rem;
}
.fontb {
	font-weight: 700;
}
.font_red {
	color: var(--color-float-red);
}
.font_orange {
	color: #e67e22; /* 他のオレンジ色のテキストと合わせる */
}
.mt5 {
	margin-top: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}
.mt25 {
	margin-top: 25px;
}
.mt30 {
	margin-top: 30px;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
	margin-bottom: 30px;
}
.center {
	width: 100%;
	text-align: center;
}
.right {
	width: 100%;
	text-align: right;
}
.img_float_l {
	float: left;
	margin-right: 10px;
}
.img_float_r {
	float: right;
	margin-left: 10px;
}
.clearfix {
	*display: inline-block;
	*zoom: 1;
}
.clearfix:after {
	content: '';
	display: block;
	clear: both;
}
/**
 * 游ゴシック体
 *
 */
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium"); }
/**
 * ヘルベチカ
 *
 * OSにヘルベチカが搭載されている場合のハック対応
 * フォールバックはGoogle Fontの"Open Sans"推奨
 *
 */
@font-face {
  font-family: HelveticaHack;
  font-style: normal;
  font-weight: normal;
  src: local("HelveticaNeue"), local("Helvetica"); }
@font-face {
  font-family: HelveticaHack;
  font-style: normal;
  font-weight: bold;
  src: local("HelveticaNeue-Bold"), local("Helvetica-Bold"); }
/**
 * オリジナルアイコンフォント
 *
 * svgファイルからビルドする
 * 設定ファイルでビルドを有効にする必要がある
 *
 */
@font-face {
  font-family: icons;
  font-style: normal;
  font-weight: normal;
  src: url("../font/icons.eot");
  src: url("../font/icons.eot?#iefix") format("embedded-opentype"), url("../font/icons.woff") format("woff"), url("../font/icons.ttf") format("truetype"); }
/**
 * 設定
 *
 */
.bge-contents,
.bge_content {
  font-size: var(--font-size-base, 1rem);
  line-height: var(--line-height-base, 1.7); }
.bge-contents h2:first-child,
  .bge-contents h3:first-child,
  .bge-contents h4:first-child,
  .bge-contents h5:first-child,
  .bge-contents h6:first-child,
  .bge-contents p:first-child,
  .bge-contents ul:first-child,
  .bge-contents ol:first-child,
  .bge-contents blockquote:first-child,
  .bge-contents table:first-child,
  .bge_content h2:first-child,
  .bge_content h3:first-child,
  .bge_content h4:first-child,
  .bge_content h5:first-child,
  .bge_content h6:first-child,
  .bge_content p:first-child,
  .bge_content ul:first-child,
  .bge_content ol:first-child,
  .bge_content blockquote:first-child,
  .bge_content table:first-child {
    margin-top: 0; }
.bge-contents h1,
  .bge_content h1 {
    margin: 0 0 1em;
    overflow: hidden;
    font-size: 2.15385em;
    font-weight: bold;
    line-height: 1.2;
    color: var(--color-primary);
    text-align: center; }
.bge-contents h1::after,
    .bge_content h1::after {
      display: block;
      width: 40px;
      height: 2px;
      margin: .9em auto;
      content: "";
      background: var(--color-primary); }
.bge-contents h2,
  .bge_content h2 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100% + 1em);
    padding: .9em 1em .6em .4em;
    margin: 0 -.5em 1em;
    font-size: 1.46154em;
    background: -webkit-gradient(linear, left top, left bottom, from(var(--color-bg)), to(var(--color-border)));
    background: linear-gradient(to bottom, var(--color-bg) 0%, var(--color-border) 100%);
    border: 1px solid var(--color-border); }
.bge-contents h2::before,
    .bge_content h2::before {
      position: relative;
      top: -4px;
      display: inline-block;
      width: 3px;
      height: 1.8em;
      margin-right: .6em;
      vertical-align: middle;
      content: "";
      background: -webkit-gradient(linear, left top, left bottom, from(var(--color-primary-light)), to(var(--color-primary)));
      background: linear-gradient(to bottom, var(--color-primary-light) 0%, var(--color-primary) 100%); }
.bge-contents h3,
  .bge_content h3 {
    padding: .9em .6em .6em;
    margin: 0 0 1em;
    overflow: hidden;
    font-size: 1.23077em;
    font-weight: bold;
    line-height: 1.2;
    background: var(--color-bg-gray);
    border: none;
    border-bottom: 2px solid var(--color-border); }
.bge-contents h4,
  .bge_content h4 {
    position: relative;
    padding: 0 .4em .5em;
    margin: 0 0 1em;
    overflow: hidden;
    font-size: 1.38462em;
    font-weight: bold;
    line-height: 1.2;
    background: none;
    border: none; }
.bge-contents h4::before,
    .bge_content h4::before {
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 1;
      display: block;
      width: 33.33333%;
      height: 2px;
      content: "";
      background: var(--color-primary); }
.bge-contents h4::after,
    .bge_content h4::after {
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 0;
      display: block;
      width: 100%;
      height: 2px;
      content: "";
      background: var(--color-border); }
.bge-contents h5,
  .bge_content h5 {
    padding: .3em 0;
    margin: 1em 0;
    overflow: hidden;
    font-size: 1.23077em;
    font-weight: bold;
    line-height: 1.2;
    border-bottom: 1px dashed var(--color-text-sub); }
.bge-contents h6,
  .bge_content h6 {
    padding: .3em .5em;
    margin: 1em 0;
    overflow: hidden;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2;
    background: var(--color-bg-gray);
    border: none;
    border-left: 3px solid var(--color-primary); }
.bge-contents table,
  .bge_content table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 1em;
    border-collapse: separate; }
.bge-contents table caption,
    .bge_content table caption {
      font-size: 1.15385em;
      font-weight: bold;
      text-align: left; }
.bge-contents table th,
    .bge_content table th {
      padding: 0 0 1em;
      border-bottom: 1px solid var(--color-primary); }
.bge-contents table td,
    .bge_content table td {
      padding: 0 0 1em;
      border-bottom: 1px solid var(--color-border); }
.bge-contents .bgt-btn,
  .bge_content .bgt-btn {
    position: relative;
    display: inline-block;
    min-width: 15em;
    padding: 1em 3em 1em 2em;
    font-size: 1.0625em;
    line-height: 2;
    color: var(--color-white);
    text-align: center;
    text-decoration: none !important;
    vertical-align: middle;
    background: var(--color-primary);
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
.bge-contents .bgt-btn:hover, .bge-contents .bgt-btn:active, .bge-contents .bgt-btn:focus,
    .bge_content .bgt-btn:hover,
    .bge_content .bgt-btn:active,
    .bge_content .bgt-btn:focus {
      text-decoration: none !important; }
.bge-contents .bgt-btn:disabled,
    .bge_content .bgt-btn:disabled {
      opacity: .6; }
.bge-contents .bgt-btn::after,
    .bge_content .bgt-btn::after {
      position: absolute;
      top: 50%;
      right: .7em;
      display: block;
      width: 10px;
      height: 10px;
      margin-top: -5px;
      content: "";
      border: 2px solid currentColor;
      border-width: 2px 2px 0 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
.bge-contents [data-bgt-button-kind="em"] .bgt-btn,
  .bge_content [data-bgt-button-kind="em"] .bgt-btn {
    background: var(--color-primary); }
.bge-contents [data-bgt-button-kind="external"] .bgt-btn span::after,
  .bge_content [data-bgt-button-kind="external"] .bgt-btn span::after {
    display: inline-block;
    font-family: icons;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-align: left;
    text-indent: 0;
    text-transform: none;
    white-space: nowrap;
    vertical-align: middle;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    speak: none;
    text-rendering: auto;
    margin-left: .5em;
    font-size: 1em;
    vertical-align: middle;
    content: ""; }
.bge-contents [data-bgt-button-kind="back"] .bgt-btn,
  .bge_content [data-bgt-button-kind="back"] .bgt-btn {
    padding: 1em 2em 1em 3em; }
.bge-contents [data-bgt-button-kind="back"] .bgt-btn::before,
    .bge_content [data-bgt-button-kind="back"] .bgt-btn::before {
      position: absolute;
      top: 50%;
      left: .7em;
      display: block;
      width: 10px;
      height: 10px;
      margin-top: -5px;
      content: "";
      background: none;
      border: 2px solid currentColor;
      border-width: 0 0 2px 2px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
.bge-contents [data-bgt-button-kind="back"] .bgt-btn::after,
    .bge_content [data-bgt-button-kind="back"] .bgt-btn::after {
      display: none; }
.bge-contents .bgt-hr,
  .bge_content .bgt-hr {
    margin: 0 auto; }
.bge-contents [data-bgt-hr-kind="dashed"] .bgt-hr,
  .bge_content [data-bgt-hr-kind="dashed"] .bgt-hr {
    height: 0;
    background: none;
    border: none;
    border-bottom: 2px dashed currentColor; }
.bge-contents [data-bgt-hr-kind="bold"] .bgt-hr,
  .bge_content [data-bgt-hr-kind="bold"] .bgt-hr {
    height: 5px; }
.bge-contents [data-bgt-hr-kind="narrow"] .bgt-hr,
  .bge_content [data-bgt-hr-kind="narrow"] .bgt-hr {
    height: 1px; }
.bge-contents [data-bgt-hr-kind="short"] .bgt-hr,
  .bge_content [data-bgt-hr-kind="short"] .bgt-hr {
    width: 60%;
    height: 1px; }
.bge-contents .bgt-download-file__link,
  .bge_content .bgt-download-file__link {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 15em;
    padding: 1em 3em 1em 2em;
    font-size: 1.0625em;
    line-height: 2;
    color: var(--color-white);
    text-decoration: none !important;
    vertical-align: middle;
    background: var(--color-primary);
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
.bge-contents .bgt-download-file__link:hover, .bge-contents .bgt-download-file__link:active, .bge-contents .bgt-download-file__link:focus,
    .bge_content .bgt-download-file__link:hover,
    .bge_content .bgt-download-file__link:active,
    .bge_content .bgt-download-file__link:focus {
      text-decoration: none !important; }
.bge-contents .bgt-download-file__link::after,
    .bge_content .bgt-download-file__link::after {
      position: absolute;
      top: 50%;
      right: .7em;
      display: block;
      width: 10px;
      height: 10px;
      margin-top: -5px;
      content: "";
      border: 2px solid currentColor;
      border-width: 2px 2px 0 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
.bge-contents .bgt-download-file__link .bgt-link__icon--before,
    .bge_content .bgt-download-file__link .bgt-link__icon--before {
      display: block;
      margin: 0 .5em 0 0; }
.bge-contents .bgt-download-file__link .bgt-link__icon--before::after,
      .bge_content .bgt-download-file__link .bgt-link__icon--before::after {
        display: block; }

/* ==========================================================================
   RINCOM 詳細ページデザインのマッピング（bge_styleの上書き）
   ========================================================================== */
:root {
  --color-primary: #435FAF;
  --color-primary-light: #e8ebf5;
  --color-text: #333333;
  --color-text-sub: #6b7280;
  --color-text-light: #999999;
  --color-border: #e5e7eb;
  --color-bg: #ffffff;
  --color-bg-gray: #F9F9F9;
  --color-white: #ffffff;
  --color-tag-bg: #f3f4f6;
  --color-float-red: #e53e3e;

  --font-sans: 'Noto Sans JP', sans-serif;
  --font-weight-regular: 400;
  --font-weight-bold: 700;

  --font-size-base: 1rem;
  --font-size-sm: 0.875rem;
  --font-size-xs: 0.75rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.5rem;

  --line-height-base: 1.7;
  --border-radius: 12px;
  --transition-base: 0.25s ease;
}

/* コンテナとタイポグラフィのリセット（エディタでの上書きを許可するため、色には!importantを使用しない） */
.bge-contents,
.bge_content,
.bge-ckeditor {
  font-family: var(--font-sans) !important;
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-base) !important;
  color: var(--color-text);
}

.bge-contents p,
.bge_content p,
.bge-ckeditor p {
  margin-bottom: 32px;
}

.bge-contents p:last-child,
.bge_content p:last-child,
.bge-ckeditor p:last-child {
  margin-bottom: 0;
}

/* H2 見出し */
.bge-contents h2,
.bge_content h2,
.bge-title-h2,
.bge-ckeditor h2 {
  color: var(--color-primary);
  font-size: 1.6rem;
  font-weight: 700;
  margin: 40px 0 24px !important;
  padding-bottom: 10px !important;
  position: relative !important;
  display: block !important;
  background-color: transparent !important;
  border: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  width: auto !important;
  box-sizing: border-box !important;
}

.bge-contents h2::before,
.bge_content h2::before,
.bge-title-h2::before,
.bge-ckeditor h2::before {
  display: none !important;
  content: none !important;
}

.bge-contents h2::after,
.bge_content h2::after,
.bge-title-h2::after,
.bge-ckeditor h2::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 32px !important;
  height: 3px !important;
  background-color: var(--color-primary);
  display: block !important;
}

/* H3 見出し */
.bge-contents h3,
.bge_content h3,
.bge-title-h3,
.bge-ckeditor h3 {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 32px 0 20px !important;
  padding-bottom: 8px !important;
  padding-left: 0 !important;
  border-bottom: 1px solid var(--color-primary) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: none !important;
}

/* H4 見出し */
.bge-contents h4,
.bge_content h4,
.bge-ckeditor h4 {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 24px 0 16px !important;
  color: var(--color-primary);
  padding-left: 12px !important;
  border-left: 6px solid var(--color-primary) !important;
  border-top: none !important;
  border-bottom: none !important;
  border-right: none !important;
  line-height: 1.2 !important;
  background: none !important;
}

.bge-contents h4::before,
.bge_content h4::before,
.bge-ckeditor h4::before,
.bge-contents h4::after,
.bge_content h4::after,
.bge-ckeditor h4::after {
  display: none !important;
  content: none !important;
}

/* H5 見出し */
.bge-contents h5,
.bge_content h5,
.bge-ckeditor h5 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 24px 0 16px !important;
  color: var(--color-primary);
  padding: 8px 0 !important;
  border-top: 1px solid var(--color-primary) !important;
  border-bottom: 1px solid var(--color-primary) !important;
  border-left: none !important;
  border-right: none !important;
  background: none !important;
}

/* H6 見出し */
.bge-contents h6,
.bge_content h6,
.bge-ckeditor h6 {
  font-size: 1rem;
  font-weight: 700;
  margin: 24px 0 12px !important;
  color: var(--color-primary);
  background-color: var(--color-bg-gray) !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  border: none !important;
}

/* 最初の要素の余白をなくす（ブロックの上端を揃える用） */
.bge-contents > *:first-child,
.bge_content > *:first-child,
.bge-ckeditor > *:first-child {
  margin-top: 0 !important;
}

/* リストのスタイリング（入れ子・多階層） */
.bge-contents ul,
.bge_content ul,
.bge-ckeditor ul {
  list-style: none;
  padding-left: 0;
  margin: 24px 0;
}

.bge-contents ul li,
.bge_content ul li,
.bge-ckeditor ul li {
  position: relative !important;
  padding-left: 1.2em !important;
  margin-bottom: 8px;
  list-style-type: none;
  overflow: hidden;
}

.bge-contents ul > li::before,
.bge_content ul > li::before,
.bge-ckeditor ul > li::before {
  content: "・";
  position: absolute !important;
  left: 0 !important;
  color: inherit;
}

.bge-contents ul ul,
.bge_content ul ul,
.bge-ckeditor ul ul {
  list-style: none;
  padding-left: 1.2em;
  margin: 8px 0 0 !important;
}

.bge-contents ul ul > li::before,
.bge_content ul ul > li::before,
.bge-ckeditor ul ul > li::before {
  content: "―";
  position: absolute !important;
  left: 0 !important;
  color: inherit;
}

.bge-contents ul ul ul,
.bge_content ul ul ul,
.bge-ckeditor ul ul ul {
  list-style: none;
  padding-left: 1.2em;
  margin: 8px 0 0 !important;
}

.bge-contents ul ul ul > li::before,
.bge_content ul ul ul > li::before,
.bge-ckeditor ul ul ul > li::before {
  content: "＞";
  position: absolute !important;
  left: 0 !important;
  color: inherit;
  font-size: 0.7em !important;
  top: 0.25em !important;
}

.bge-contents ol,
.bge_content ol,
.bge-ckeditor ol {
  list-style: none;
  padding-left: 0;
  margin: 24px 0;
  counter-reset: custom-lvl1;
}

.bge-contents ol > li,
.bge_content ol > li,
.bge-ckeditor ol > li {
  position: relative !important;
  padding-left: 1.5em !important;
  margin-bottom: 8px;
  counter-increment: custom-lvl1;
  list-style-type: none;
  overflow: hidden;
}

.bge-contents ol > li::before,
.bge_content ol > li::before,
.bge-ckeditor ol > li::before {
  content: counter(custom-lvl1) ".";
  position: absolute !important;
  left: 0 !important;
  font-weight: bold;
  color: inherit;
}

.bge-contents ol ol,
.bge_content ol ol,
.bge-ckeditor ol ol {
  list-style: none;
  padding-left: 1.5em;
  margin: 8px 0 0 !important;
  counter-reset: custom-lvl2;
}

.bge-contents ol ol > li,
.bge_content ol ol > li,
.bge-ckeditor ol ol > li {
  position: relative !important;
  padding-left: 1.5em !important;
  margin-bottom: 8px;
  counter-increment: custom-lvl2;
  list-style-type: none;
  overflow: hidden;
}

.bge-contents ol ol > li::before,
.bge_content ol ol > li::before,
.bge-ckeditor ol ol > li::before {
  content: counter(custom-lvl2) ".";
  position: absolute !important;
  left: 0 !important;
  font-weight: normal;
  color: inherit;
}

/* テーブルのスタイリング */
table.bge-type-table,
.bge-ckeditor table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  border: 1px solid var(--color-border);
  table-layout: auto;
}

table.bge-type-table th,
table.bge-type-table td,
.bge-ckeditor table th,
.bge-ckeditor table td {
  padding: 16px;
  border: 1px solid var(--color-border);
  text-align: left;
  line-height: var(--line-height-base);
  color: var(--color-text);
}

table.bge-type-table th {
  background-color: var(--color-primary-light);
  color: var(--color-text-sub);
  font-weight: bold;
  width: 25%;
  min-width: 120px;
}

.bge-ckeditor table th {
  background-color: var(--color-primary-light);
  color: var(--color-text-sub);
  font-weight: bold;
  text-align: center;
}

@media (max-width: 767px) {
  table.bge-type-table th,
  table.bge-type-table td {
    display: block;
    width: 100%;
  }
  .bge-ckeditor table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  .bge-ckeditor table th,
  .bge-ckeditor table td {
    white-space: nowrap;
    display: table-cell;
  }
}

/* 単体ボタンとアクションボタン */
.bge-contents .bgt-btn,
.bge_content .bgt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: 9999px;
  font-weight: var(--font-weight-bold);
  transition: opacity var(--transition-base), background-color var(--transition-base);
  min-height: 48px;
  width: auto;
  min-width: 12em;
  line-height: 1.2;
  border: none;
  position: relative;
  text-decoration: none;
  box-sizing: border-box;
}

.bge-contents .bgt-btn:hover,
.bge_content .bgt-btn:hover {
  opacity: 0.85;
}

/* 強調ボタンのバリエーション */
.bge-contents [data-bgt-button-kind="em"] .bgt-btn,
.bge_content [data-bgt-button-kind="em"] .bgt-btn {
  background-color: var(--color-float-red);
}

/* 戻るリンクボタンのバリエーション */
.bge-contents [data-bgt-button-kind="back"] .bgt-btn,
.bge_content [data-bgt-button-kind="back"] .bgt-btn {
  padding-left: 40px;
  padding-right: 24px;
}
.bge-contents [data-bgt-button-kind="back"] .bgt-btn::before,
.bge_content [data-bgt-button-kind="back"] .bgt-btn::before {
  border-color: var(--color-white);
  left: 18px;
  width: 8px;
  height: 8px;
}
.bge-contents [data-bgt-button-kind="back"] .bgt-btn::after,
.bge_content [data-bgt-button-kind="back"] .bgt-btn::after {
  display: none;
  content: none;
}

/* 外部リンクボタンのバリエーション */
.bge-contents [data-bgt-button-kind="external"] .bgt-btn span::after,
.bge_content [data-bgt-button-kind="external"] .bgt-btn span::after {
  color: var(--color-white);
  margin-left: 8px;
}

/* ダウンロードボタンのスタイリング */
.bgb-download-file {
  text-align: center;
  margin: 40px 0;
}

.bgt-download-file__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: 9999px;
  font-weight: var(--font-weight-bold);
  min-height: 48px;
  text-decoration: none;
  transition: opacity var(--transition-base), background-color var(--transition-base);
  box-sizing: border-box;
}

.bgt-download-file__link:hover {
  opacity: 0.85;
}

.bgt-download-file__link .bgt-link__icon--before {
  display: none !important;
}

.bgt-download-file__link .bgt-link__size {
  display: none !important;
}

.bgt-download-file__link .bgt-link__icon--after {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  margin-left: 8px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  content: "" !important;
  position: static !important;
  transform: none !important;
  border: none !important;
}

.bgt-download-file__link .bgt-link__icon--after::after {
  display: none !important;
  content: none !important;
}

/* エディタのカラム数（.span1 〜 .span12）に基づく、レスポンシブで柔軟なグリッドシステム */
@media (min-width: 768px) {
  [data-bgb="wysiwyg2"],
  [data-bgb^="text-image"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
  }
  
  [data-bgb="wysiwyg2"] .bgt-grid,
  [data-bgb^="text-image"] .bgt-grid {
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
  }


  /* フレックスコンテナ内の正確なパーセント幅に span クラスをマッピングする */
  .bgt-grid.span12, .bgt-grid.bgt-grid12 { flex: 0 0 100% !important; max-width: 100% !important; }
  .bgt-grid.span11, .bgt-grid.bgt-grid11 { flex: 0 0 calc(91.666% - 22px) !important; max-width: calc(91.666% - 22px) !important; }
  .bgt-grid.span10, .bgt-grid.bgt-grid10 { flex: 0 0 calc(83.333% - 20px) !important; max-width: calc(83.333% - 20px) !important; }
  .bgt-grid.span9,  .bgt-grid.bgt-grid9  { flex: 0 0 calc(75% - 18px) !important; max-width: calc(75% - 18px) !important; }
  .bgt-grid.span8,  .bgt-grid.bgt-grid8  { flex: 0 0 calc(66.666% - 16px) !important; max-width: calc(66.666% - 16px) !important; }
  .bgt-grid.span7,  .bgt-grid.bgt-grid7  { flex: 0 0 calc(58.333% - 14px) !important; max-width: calc(58.333% - 14px) !important; }
  .bgt-grid.span6,  .bgt-grid.bgt-grid6  { flex: 0 0 calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; }
  .bgt-grid.span5,  .bgt-grid.bgt-grid5  { flex: 0 0 calc(41.666% - 10px) !important; max-width: calc(41.666% - 10px) !important; }
  .bgt-grid.span4,  .bgt-grid.bgt-grid4  { flex: 0 0 calc(33.333% - 8px) !important; max-width: calc(33.333% - 8px) !important; }
  .bgt-grid.span3,  .bgt-grid.bgt-grid3  { flex: 0 0 calc(25% - 6px) !important; max-width: calc(25% - 6px) !important; }
  .bgt-grid.span2,  .bgt-grid.bgt-grid2  { flex: 0 0 calc(16.666% - 4px) !important; max-width: calc(16.666% - 4px) !important; }
  .bgt-grid.span1,  .bgt-grid.bgt-grid1  { flex: 0 0 calc(8.333% - 2px) !important; max-width: calc(8.333% - 2px) !important; }
}

/* モバイル表示時のカラムのデフォルト間隔（フォールバック） */
@media (max-width: 767px) {
  [data-bgb="wysiwyg2"],
  [data-bgb^="text-image"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  [data-bgb="wysiwyg2"] .bgt-grid,
  [data-bgb^="text-image"] .bgt-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
  }
}

/* 画像グリッドとギャラリーのスタイリング */
/* 単体の画像(image1): image2/3などのギャラリーと同じ外側マージンを適用 */
[data-bgb="image1"],
[data-bgb="image-link1"] {
  margin: 32px 0;
}

[data-bgb="image1"] .bgt-box__image-container img,
[data-bgb="image-link1"] .bgt-box__image-container img {
  border-radius: var(--border-radius);
  width: 100%;
  height: auto;
  display: block;
}

[data-bgb="image2"],
[data-bgb="image3"],
[data-bgb="image4"],
[data-bgb="image5"],
[data-bgb="image-link2"],
[data-bgb="image-link3"] {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 16px;
  row-gap: 0;
  margin: 32px 0;
  width: 100%;
  float: none;
}

[data-bgb="image2"] .bgt-grid,
[data-bgb="image3"] .bgt-grid,
[data-bgb="image4"] .bgt-grid,
[data-bgb="image5"] .bgt-grid,
[data-bgb="image-link2"] .bgt-grid,
[data-bgb="image-link3"] .bgt-grid {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* グリッドコンテナ内のclearfix(::after)を無効化（グリッドアイテムとして認識され余分な行ができるのを防ぐため） */
[data-bgb="image2"]::after,
[data-bgb="image3"]::after,
[data-bgb="image4"]::after,
[data-bgb="image5"]::after,
[data-bgb="image-link2"]::after,
[data-bgb="image-link3"]::after {
  display: none !important;
}

/* 複数列グリッド内にネストされたimage1: 継承された外側マージンとclearfixを削除 */
[data-bgb="image2"] .bgt-grid [data-bgb="image1"],
[data-bgb="image3"] .bgt-grid [data-bgb="image1"],
[data-bgb="image4"] .bgt-grid [data-bgb="image1"],
[data-bgb="image5"] .bgt-grid [data-bgb="image1"],
[data-bgb="image-link2"] .bgt-grid [data-bgb="image-link1"],
[data-bgb="image-link3"] .bgt-grid [data-bgb="image-link1"] {
  margin: 0 !important;
}

[data-bgb="image2"] .bgt-grid [data-bgb="image1"]::after,
[data-bgb="image3"] .bgt-grid [data-bgb="image1"]::after,
[data-bgb="image4"] .bgt-grid [data-bgb="image1"]::after,
[data-bgb="image5"] .bgt-grid [data-bgb="image1"]::after,
[data-bgb="image-link2"] .bgt-grid [data-bgb="image-link1"]::after,
[data-bgb="image-link3"] .bgt-grid [data-bgb="image-link1"]::after {
  display: none !important;
}

@media (min-width: 768px) {
  [data-bgb="image2"],
  [data-bgb="image-link2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  [data-bgb="image3"],
  [data-bgb="image-link3"] {
    grid-template-columns: repeat(3, 1fr);
  }
  [data-bgb="image4"] {
    grid-template-columns: repeat(4, 1fr);
  }
  [data-bgb="image5"] {
    grid-template-columns: repeat(5, 1fr);
  }
}

.bgt-box__caption {
  font-size: var(--font-size-sm);
  color: var(--color-text-sub);
  text-align: center;
  margin-top: 8px;
  margin-bottom: 0;
  line-height: 1.4;
}

/* キャプション付きの単体画像(image1): キャプションの下に余白を追加 */
[data-bgb="image1"] .bgt-box__caption,
[data-bgb="image-link1"] .bgt-box__caption {
  margin-bottom: 0;
}

.bgt-box__image-container img {
  border-radius: var(--border-radius);
  background-color: var(--color-border);
}

/* YouTubeの縦横比（アスペクト比）設定 */
.bgb-youtube,
.bgt-youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  height: auto;
  margin: 32px 0;
}

.bgt-youtube__thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Googleマップ ブロック */
.bgb-google-maps,
.bgt-google-maps {
  width: 100%;
  height: 400px;
  border-radius: 8px;
  overflow: hidden;
  margin: 32px 0;
}

.bgt-google-maps > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* CKEditor内のリンクブロック */
.bge-ckeditor a {
  color: var(--color-text);
  text-decoration: underline;
  transition: opacity var(--transition-base);
}

.bge-ckeditor a:hover {
  opacity: 0.7;
}

/* 引用（Blockquote）のスタイリング（元々はスタイルなし） */
.bge-contents blockquote,
.bge_content blockquote,
.bge-ckeditor blockquote {
  margin: 24px 0 !important;
  padding: 16px 20px !important;
  background-color: var(--color-bg-gray) !important;
  border-left: 4px solid var(--color-primary) !important;
  color: var(--color-text-sub) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 0 8px 8px 0 !important;
}

.bge-contents blockquote p,
.bge_content blockquote p,
.bge-ckeditor blockquote p {
  margin-bottom: 8px !important;
}

.bge-contents blockquote p:last-child,
.bge_content blockquote p:last-child,
.bge-ckeditor blockquote p:last-child {
  margin-bottom: 0 !important;
}

/* 水平線（.bgt-hr）のスタイリング（元々はデフォルトのグレー/黒） */
.bge-contents .bgt-hr,
.bge_content .bgt-hr {
  background-color: var(--color-border) !important;
  border: none !important;
  margin: 32px auto !important;
}

.bge-contents [data-bgt-hr-kind="dashed"] .bgt-hr,
.bge_content [data-bgt-hr-kind="dashed"] .bgt-hr {
  border-bottom: 2px dashed var(--color-border) !important;
  background: none !important;
  height: 0 !important;
}

.bge-contents [data-bgt-hr-kind="bold"] .bgt-hr,
.bge_content [data-bgt-hr-kind="bold"] .bgt-hr {
  height: 4px !important;
}

.bge-contents [data-bgt-hr-kind="narrow"] .bgt-hr,
.bge_content [data-bgt-hr-kind="narrow"] .bgt-hr {
  height: 1px !important;
}

.bge-contents [data-bgt-hr-kind="short"] .bgt-hr,
.bge_content [data-bgt-hr-kind="short"] .bgt-hr {
  width: 60% !important;
  height: 1px !important;
}

/* 基本的な文字色ユーティリティをデザインシステムの色にマッピング */
.font_red {
  color: var(--color-float-red) !important;
}

.font_orange {
  color: #e67e22 !important;
}

/* ==========================================================================
   見出し要素（H2〜H6）の上書き - detail.htmlのデザインシステムへマッピング
   ========================================================================== */
.bge-contents h2,
.bge_content h2,
.bge-ckeditor h2 {
  background: transparent !important;
  border: none !important;
  width: auto !important;
  margin: 40px 0 24px !important;
  padding: 0 0 10px 0 !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  display: block !important;
}

.bge-contents h2::before,
.bge_content h2::before,
.bge-ckeditor h2::before {
  display: none !important;
}

.bge-contents h2::after,
.bge_content h2::after,
.bge-ckeditor h2::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 32px !important;
  height: 3px !important;
  background-color: var(--color-primary) !important;
  display: block !important;
}

.bge-contents h3,
.bge_content h3,
.bge-ckeditor h3 {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--color-primary) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin: 32px 0 20px !important;
  padding: 0 0 8px 0 !important;
}

.bge-contents h4,
.bge_content h4,
.bge-ckeditor h4 {
  background: transparent !important;
  border: none !important;
  border-left: 6px solid var(--color-primary) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin: 24px 0 16px !important;
  padding: 0 0 0 12px !important;
  color: var(--color-primary) !important;
  line-height: 1.2 !important;
}

.bge-contents h4::before,
.bge-contents h4::after,
.bge_content h4::before,
.bge_content h4::after,
.bge-ckeditor h4::before,
.bge-ckeditor h4::after {
  display: none !important;
}

.bge-contents h5,
.bge_content h5,
.bge-ckeditor h5 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin: 24px 0 16px !important;
  color: var(--color-primary) !important;
  padding: 8px 0 !important;
  border: none !important;
  border-top: 1px solid var(--color-primary) !important;
  border-bottom: 1px solid var(--color-primary) !important;
}

.bge-contents h6,
.bge_content h6,
.bge-ckeditor h6 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 24px 0 12px !important;
  color: var(--color-primary) !important;
  background-color: var(--color-bg-gray) !important;
  padding: 8px 16px !important;
  border: none !important;
  border-radius: 4px !important;
}

/* ==========================================================================
   bge_style_default.css のデフォルトデザイン要素の上書き
   ========================================================================== */

/* タイポグラフィとカラー */
.bge-embed-label {
  color: var(--color-text-sub) !important;
}

/* 公開画面: embed は貼った HTML（YouTube iframe の width=560 など）を生のまま出す。
   youtube ブロック用の .bgt-youtube は使わないため、列幅へ収める。 */
[data-bgb="embed"],
.bgb-embed {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

[data-bgb="embed"] iframe,
.bgb-embed iframe,
[data-bgb="embed"] video,
.bgb-embed video {
  max-width: 100% !important;
  display: block;
}

[data-bgb="embed"] iframe[src*="youtube.com"],
[data-bgb="embed"] iframe[src*="youtube-nocookie.com"],
[data-bgb="embed"] iframe[src*="youtu.be"],
[data-bgb="embed"] iframe[src*="vimeo.com"],
.bgb-embed iframe[src*="youtube.com"],
.bgb-embed iframe[src*="youtube-nocookie.com"],
.bgb-embed iframe[src*="youtu.be"],
.bgb-embed iframe[src*="vimeo.com"] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  border: 0;
}

[data-bgt="gallery"] [data-gallery-marker="dot"] + .bgt-gallery-marker li {
  background-color: var(--color-primary) !important;
}

.bgt-image-link__link,
.bgt-image__link,
.bgt-trimmed-image-link__link,
.bgt-trimmed-image__link {
  color: var(--color-text) !important;
}

/* 背景オプション */
.bgb-opt--bg-gray {
  background-color: var(--color-bg-gray) !important;
}

.bgb-opt--bg-blue {
  background-color: var(--color-primary-light) !important;
}

.bgb-opt--bg-pink {
  background-color: #fef2f2 !important; /* サイトテーマに合わせた薄い赤色 */
}

/* 枠線オプション */
.bgb-opt--border-bold,
.bgb-opt--border-thin,
.bgb-opt--border-dotted,
.bgb-opt--border-tb,
.bgb-opt--border-td,
.bgb-opt--border-lr,
.bgb-opt--border-trl,
.bgb-opt--border-rbl {
  border-color: var(--color-border) !important;
}

/* ==========================================================================
   detail_editor.html のボタンデザイン（.p-btn--primary-filled）に合わせるための上書き
   ========================================================================== */
.bge-contents .bgt-btn,
.bge_content .bgt-btn,
.bge-contents .bgt-download-file__link,
.bge_content .bgt-download-file__link {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: var(--font-weight-bold) !important;
  transition: opacity var(--transition-base) !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  padding: 12px 32px !important;
  line-height: 1.5 !important;
}

.bge-contents .bgt-btn:hover, 
.bge-contents .bgt-btn:active, 
.bge-contents .bgt-btn:focus,
.bge_content .bgt-btn:hover,
.bge_content .bgt-btn:active,
.bge_content .bgt-btn:focus,
.bge-contents .bgt-download-file__link:hover, 
.bge-contents .bgt-download-file__link:active, 
.bge-contents .bgt-download-file__link:focus,
.bge_content .bgt-download-file__link:hover,
.bge_content .bgt-download-file__link:active,
.bge_content .bgt-download-file__link:focus {
  opacity: 0.85 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  background-color: var(--color-primary) !important;
}

/* エディタのボタン内にある「＞」を描画している疑似要素の矢印を非表示にする */
.bge-contents .bgt-btn::after,
.bge_content .bgt-btn::after,
.bge-contents .bgt-download-file__link::after,
.bge_content .bgt-download-file__link::after {
  display: none !important;
}
