@charset "UTF-8";

/*! * * BurgerEditor StyleSheet Style Sample v2.21.0 * */
@font-face {
    font-family: FontAwesome;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/fontawesome-webfont.eot?v=4.6.3);
    src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3) format("embedded-opentype"), url(../fonts/fontawesome-webfont.woff2?v=4.6.3) format("woff2"), url(../fonts/fontawesome-webfont.woff?v=4.6.3) format("woff"), url(../fonts/fontawesome-webfont.ttf?v=4.6.3) format("truetype"), url(../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular) format("svg")
}

/*タイトル*/
[data-bgb] h2 {
  position: relative;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 48px;
  line-height: 1.466666666;
  border-left: 10px solid #0b54c8;
  color: #000;
  background-color: #ebf3ff;
  border-radius: 10px;
  padding: 12px 24px;
}

[data-bgb] h2::before {
  content: '';
  position: absolute;
  top: 0;
  left: -10px;
  height: 50%;
  width: 10px;
  background-color: #7baeff;
  border-radius: 10px 0 0 0;
}

[data-bgb] h3 {
  position: relative;
  font-size: 30px;
  font-weight: 700;
  padding: 2px 0 2px 26px;
  margin-bottom: 32px;
  line-height: 1.466666666;
}

[data-bgb] h3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 22px;
  width: 8px;
  border-radius: 4px;
  background-color: #7baeff;
}

[data-bgb] h3::after {
  content: '';
  position: absolute;
  top: 26px;
  left: 0;
  height: 22px;
  width: 8px;
  border-radius: 4px;
  background-color: #0b54c8;
}

[data-bgb] h4 {
  position: relative;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 41px;
  margin-bottom: 32px;
  background: url(/neo_project/img/common/h4.svg) no-repeat top 6px left;
  background-size: 31px;
}

[data-bgb] h5 {
  position: relative;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 12px;
  margin-bottom: 21px;
}

[data-bgb] h5::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 4px;
  height: 12px;
  background: #7baeff;
}

[data-bgb] h5::after {
  content: '';
  position: absolute;
  top: 18px;
  left: 0;
  width: 4px;
  height: 12px;
  background: #0b54c8;
}

[data-bgb] h5 .small {
  font-size: 18px;
}

[data-bgb] h6 {
  position: relative;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 17px;
  margin-bottom: 16px;
  background: url(/neo_project/img/common/h6.svg) no-repeat top 11px left;
  background-size: 10px;
}

@media screen and (max-width: 599px) {
  [data-bgb] h2 {
    font-size: 22px;
    margin-bottom: 30px;
    line-height: 1.318181818;
    border-left: 6px solid #0b54c8;
    border-radius: 6px;
    padding: 10px;
  }

  [data-bgb] h2::before {
    left: -6px;
    width: 6px;
    border-radius: 6px 0 0 0;
  }

  [data-bgb] h3 {
    font-size: 22px;
    padding: 2px 0 2px 11px;
    margin-bottom: 24px;
    line-height: 1.4;
  }

  [data-bgb] h3::before {
    height: 16px;
    width: 4px;
  }

  [data-bgb] h3::after {
    top: 18px;
    height: 16px;
    width: 4px;
  }

  [data-bgb] h4 {
    font-size: 20px;
    padding-left: 31px;
    margin-bottom: 24px;
    background-position: top 5px left;
    background-size: 21px;
  }

  [data-bgb] h5 {
    font-size: 18px;
    padding-left: 12px;
    margin-bottom: 13px;
  }

  [data-bgb] h5::before {
    top: 3px;
    height: 10px;
  }

  [data-bgb] h5::after {
    top: 15px;
    height: 10px;
  }

  [data-bgb] h5 .small {
    font-size: 15px;
  }

  [data-bgb] h6 {
    font-size: 18px;
    padding-left: 18px;
    background-position: top 9px left;
  }
}

[data-bgb] li {
  list-style: inherit;
  overflow: hidden;
}

[data-bgb] li:first-child {
  margin-top: 0;
}

[data-bgb] ul {
  margin: 1em 0;
}

[data-bgb] ul:first-child {
  margin-top: 0;
}

[data-bgb] ul ul {
  margin: 0 0 0 1.8em;
}

[data-bgb] ul ul:first-child {
  margin-top: 0;
}

[data-bgb] ul li {
  list-style-position: inside;
  list-style-type: disc;
  margin: 0 0 0.2em;
}

[data-bgb] ol {
  margin: 1em 0;
}

[data-bgb] ol:first-child {
  margin-top: 0;
}

[data-bgb] ol ol {
  margin: 0 0 0 2em;
}

[data-bgb] ol ol:first-child {
  margin-top: 0;
}

[data-bgb] ol li {
  list-style-position: inside;
  list-style-type: decimal-leading-zero;
  margin: 0 0 0.2em;
}

[data-bgb] blockquote {
  background: none;
  border: 2 px solid #ccc;
  border-radius: 5 px;
  color: #888;
  font-size: 0.9em;
  margin: 1em 0;
  overflow: hidden;
  padding: 1 px 2.5em;
  position: relative;
}

[data-bgb] blockquote:first-child {
  margin-top: 0;
}

[data-bgb] blockquote:before {
  content: '“';
  left: 0.25em;
  top: 0.3em;
}

[data-bgb] blockquote:after,
[data-bgb] blockquote:before {
  color: #ccc;
  display: block;
  font-family: serif;
  font-size: 3em;
  position: absolute;
  z-index: 0;
}

[data-bgb] blockquote:after {
  bottom: -0.3em;
  content: '”';
  right: 0.25em;
}

/* ======================================
   BurgerEditor（data-bgb）専用 table1 スタイル
   ====================================== */

[data-bgb] table {
    border-top: 1px solid #C8C8C8;
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

[data-bgb] table th,
[data-bgb] table td {
    border-bottom: 1px solid #C8C8C8;
    vertical-align: middle;
    padding: 13px 37px;
    text-align: left;
}

[data-bgb] table th {
    font-size: 17px;
    font-weight: bold;
    background: #EBF3FF;
    width: 30%;
    color: #005EAD;
}

[data-bgb] table td {
    letter-spacing: .03em;
}

/* -----------------------
   レスポンシブ対応（599px以下）
   ----------------------- */
@media screen and (max-width: 599px) {

    [data-bgb] table th,
    [data-bgb] table td {
        display: block;
        width: 100%;
        padding: 16px 20px;
    }

    [data-bgb] table th {
        font-size: 16px;
    }

    [data-bgb] table td {
        border-bottom: none;
    }
}

[data-bgb] strong {
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

[data-bgb] u {
  text-decoration: underline;
}

[data-bgb] s,
[data-bgb] u {
  font-style: normal;
  font-weight: 400;
}

[data-bgb] s {
  text-decoration: line-through;
}

[data-bgb] sub {
  vertical-align: sub;
}

[data-bgb] sub,
[data-bgb] sup {
  font-size: 0.8em;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
}

[data-bgb] sup {
  vertical-align: super;
}

[data-bgb] hr {
  background: currentColor;
  border-style: none;
  color: #ccc;
  height: 2 px;
  margin: 50px auto;
  width: 100%;
}

[data-bgb] hr:first-child {
  margin-top: 0;
}

.bgt-box__caption {
  background: none;
  font-size: 0.8em;
  font-weight: 400;
  padding: 3 px;
  text-align: left;
}

/* =========================================================
   bge_style.css – buttons (modBtn4 / returnBtn 準拠)
   ========================================================= */

/* 共通 */
.bgt-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  background: transparent;
  cursor: pointer;
}

/* アクセシビリティ */
.bgt-btn:focus-visible {
  outline: 2px solid #0570c7;
  outline-offset: 2px;
}

/* =========================
   “リンク風”ボタン（modBtn4）
   ========================= */
/* .bgt-btn--link と data属性の両方で効くように */
.bgt-btn--link,
[data-bgt-button-kind="link"] .bgt-btn {
  position: relative;
  font-weight: 700;
  color: #0B54C8;
  padding: 6px 47px 6px 0;
  /* 右の丸アイコン分の余白 */
  line-height: 1;
}

/* 丸枠 */
.bgt-btn--link::before,
[data-bgt-button-kind="link"] .bgt-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background-color: #fff;
  border: 1px solid #0B54C8;
  transition: .2s;
}

/* 右向き矢印 */
.bgt-btn--link::after,
[data-bgt-button-kind="link"] .bgt-btn::after {
  content: "";
  position: absolute;
  top: 11px;
  right: 13px;
  width: 14px;
  height: 8px;
  background: url(/neo_project/img/common/icon-right-arrow-blue.svg) no-repeat center;
  background-size: cover;
  transition: .2s;
}

/* hover */
.bgt-btn--link:hover::before,
[data-bgt-button-kind="link"] .bgt-btn:hover::before {
  background-color: #0B54C8;
}

.bgt-btn--link:hover::after,
[data-bgt-button-kind="link"] .bgt-btn:hover::after {
  right: 10px;
  background-image: url(/neo_project/img/common/icon-right-arrow-white.svg);
}

/* SP調整（common.cssのmodBtn4準拠） */
@media (max-width: 599px) {

  .bgt-btn--link,
  [data-bgt-button-kind="link"] .bgt-btn {
    font-size: 13px;
    padding: 6px 41px 6px 0;
  }

  .bgt-btn--link::before,
  [data-bgt-button-kind="link"] .bgt-btn::before {
    width: 34px;
    height: 34px;
  }

  .bgt-btn--link::after,
  .bgt-btn--link:hover::after,
  [data-bgt-button-kind="link"] .bgt-btn::after,
  [data-bgt-button-kind="link"] .bgt-btn:hover::after {
    top: 14px;
    right: 10px;
  }
}

/* =========================
   “戻る”ボタン（returnBtn）右矢印をデフォルト表示
   ========================= */

/* 既存の :before 左矢印を消す（旧スタイル対策） */
.bgt-btn--back::before,
[data-bgt-button-kind="back"] .bgt-btn::before {
  content: none !important;
}

.bgt-btn--back,
[data-bgt-button-kind="back"] .bgt-btn {
  position: relative;
  min-width: 211px;
  height: 40px;
  line-height: 40px;
  padding: 0 40px 0 20px;
  /* 右アイコン分の余白 */
  border-radius: 4px;
  color: #fff;
  border: 1px solid #A5A5A5;
  /* 背景色と右矢印を同時指定（デフォルトで表示） */
  background: #A5A5A5 url(/neo_project/img/common/icon-right-white.svg) no-repeat center right 14px;
  background-size: 6px;
  transition: .2s;
}

/* hover時：色反転＆アイコン差し替え */
.bgt-btn--back:hover,
[data-bgt-button-kind="back"] .bgt-btn:hover {
  color: #131313;
  border-color: #A5A5A5;
  background: #F2F7FF url(/neo_project/img/common/icon-right-gray.svg) no-repeat center right 14px;
  background-size: 6px;
}

/* アクセシビリティ：フォーカス可視 */
.bgt-btn--back:focus-visible,
[data-bgt-button-kind="back"] .bgt-btn:focus-visible {
  outline: 2px solid #0570c7;
  outline-offset: 2px;
}

@media (max-width: 599px) {

  .bgt-btn--back,
  [data-bgt-button-kind="back"] .bgt-btn {
    min-width: 166px;
    /* 必要なら line-height/height も36pxに */
    /* height: 36px; line-height: 36px; */
    background-position: center right 10px;
    /* ちょい内側に */
  }
}

/* =========================
   em（modBtn5準拠）
   ========================= */
.bgt-btn--em,
[data-bgt-button-kind="em"] .bgt-btn {
  position: relative;
  display: inline-block;
  min-width: 211px;
  height: 40px;
  line-height: 40px;
  padding: 0 40px 0 16px;
  /* 右矢印の分だけ余白 */
  border-radius: 4px;
  font-weight: 700;
  color: #fff;
  background-color: #0B54C8;
  border: 1px solid #0B54C8;
  background-repeat: no-repeat;
  background-position: center right 14px;
  background-size: 6px;
  background-image: url(/neo_project/img/common/icon-right-white.svg);
  transition: .2s;
}

/* hover（modBtn5と同様の反転） */
.bgt-btn--em:hover,
[data-bgt-button-kind="em"] .bgt-btn:hover {
  background-color: #F2F7FF;
  color: #0B54C8;
  border-color: #0B54C8;
  background-image: url(/neo_project/img/common/icon-right-blue.svg);
}

/* フォーカス可視化 */
.bgt-btn--external:focus-visible,
[data-bgt-button-kind="external"] .bgt-btn:focus-visible,
.bgt-btn--em:focus-visible,
[data-bgt-button-kind="em"] .bgt-btn:focus-visible {
  outline: 2px solid #0570c7;
  outline-offset: 2px;
}

@media (max-width: 599px) {

  .bgt-btn--em,
  [data-bgt-button-kind="em"] .bgt-btn {
    min-width: 166px;
    height: 36px;
    line-height: 36px;
    background-position: center right 8px;
  }
}

/* =========================
   external – デフォルトで右アイコン表示（戻るボタン風）
   ========================= */
.bgt-btn--external,
[data-bgt-button-kind="external"] .bgt-btn {
  position: relative;
  display: inline-block;
  min-width: 211px;
  height: 40px;
  line-height: 40px;
  padding: 0 40px 0 16px;
  /* 右アイコン分の余白 */
  border-radius: 4px;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  transition: .2s;
}

/* 右の外部リンクアイコン（常時表示） */
.bgt-btn--external::after,
[data-bgt-button-kind="external"] .bgt-btn::after {
  content: "\f08e";
  /* FontAwesome external-link */
  font-family: FontAwesome, serif;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  font-size: 16px;
  line-height: 1;
  color: #999;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* hover：色反転＋アイコンを少しスライド＆カラー変更 */
.bgt-btn--external:hover,
[data-bgt-button-kind="external"] .bgt-btn:hover {
  background-color: #F2F7FF;
  border-color: #0B54C8;
  color: #0B54C8;
}

.bgt-btn--external:hover::after,
[data-bgt-button-kind="external"] .bgt-btn:hover::after {
  right: 14px;
  color: #0B54C8;
}

/* フォーカス可視化（任意） */
.bgt-btn--external:focus-visible,
[data-bgt-button-kind="external"] .bgt-btn:focus-visible {
  outline: 2px solid #0570c7;
  outline-offset: 2px;
}

/* SP 調整 */
@media (max-width: 599px) {

  .bgt-btn--external,
  [data-bgt-button-kind="external"] .bgt-btn {
    min-width: 166px;
    height: 36px;
    line-height: 36px;
  }

  .bgt-btn--external::after,
  [data-bgt-button-kind="external"] .bgt-btn::after {
    right: 10px;
    font-size: 14px;
  }
}


.bgt-hr {
  margin: 0 auto;
}

[data-bgt-hr-kind='dashed'] .bgt-hr {
  background: none;
  border: none;
  border-bottom: 2 px dashed;
  height: 0;
}

.bgt-hr--bold,
[data-bgt-hr-kind='bold'] .bgt-hr {
  height: 5 px;
}

.bgt-hr--narrow,
[data-bgt-hr-kind='narrow'] .bgt-hr {
  height: 1 px;
}

.bgt-hr--short,
[data-bgt-hr-kind='short'] .bgt-hr {
  height: 1 px;
  width: 60%;
}


/* 視認性UP版：淡い下地＋濃いめの枠線 */
.bgt-download-file__link {
  background-color: #F7FAFF;
  border: 1px solid #D8E7FF;
  border-radius: 6px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #131313;
  display: inline-flex;
  align-items: center;
  gap: .6em;
  font-size: 1.08em;
  font-weight: 700;
  line-height: 1.4;
  padding: 14px 16px;
  text-align: left;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
}

.bgt-download-file__link:hover {
  background-color: #EBF3FF;
  border-color: #0B54C8;
}

.bgt-download-file__link:focus-visible {
  outline: 2px solid #0570c7;
  outline-offset: 2px;
}

/* 以前の値はスペースのせいで無効になっていたので修正 */
.bgt-download-file__link:active,
.bgt-download-file__link:focus {
  box-shadow: 0 0 5px 1px #0570c7;
  outline: none;
}

/* ファイルサイズ表記は少し濃く・小さく */
.bgt-link__size {
  color: #666;
  font-size: .85em;
  font-weight: 400;
}

/* 既存の ::before でPDFアイコンが出る環境の色合わせ（任意） */
.bgt-download-file__link::before {
  color: #0B54C8;
}

/* アイコンが無い環境向けの簡易アイコン（使う場合は data-icon="auto" を付与） */
.bgt-download-file__link[data-icon="auto"]::before {
  content: "📄";
  font-size: 1.2em;
  line-height: 1;
}



@media screen and (max-width: 768px) {
  .bgt-google-maps-link {
    border: 1 px solid #999;
    border-radius: 3 px;
    color: #333;
    margin-top: 10px;
    padding: 1em;
    text-align: center;
    text-decoration: none;
  }

  .bgt-google-maps-link span {
    display: inline-block;
    vertical-align: middle;
  }

  .bgt-google-maps-link:after {
    font-family: FontAwesome, serif;
    speak: none;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    text-rendering: auto;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\f08e';
    font-size: 1em;
    vertical-align: middle;
  }
}




[data-bgt='gallery'] .bgt-gallery {
  padding-top: 54%;
}

[data-bgt=gallery] .bgt-gallery:hover [data-bgt=gallery] .bgt-gallery-ctrl {
  opacity: 1;
}

[data-bgt='gallery'] .bgt-gallery__img img {
  -o-object-fit: cover;
  object-fit: cover;
}

[data-bgt='gallery'] .bgt-gallery__caption {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 0.7em 1em;
  text-align: center;
}

[data-bgt='gallery'] .bgt-gallery-ctrl {
  opacity: 0;
  top: 50%;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}

[data-bgt='gallery'] .bgt-gallery-ctrl__next,
[data-bgt='gallery'] .bgt-gallery-ctrl__prev {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  display: block;
  margin: -20px 0 0;
  padding: 0;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

[data-bgt=gallery] .bgt-gallery-ctrl__next:hover,
[data-bgt=gallery] .bgt-gallery-ctrl__prev:hover {
  opacity: 0.5;
}

[data-bgt=gallery] .bgt-gallery-ctrl__next:focus,
[data-bgt=gallery] .bgt-gallery-ctrl__prev:focus {
  outline: none;
}

[data-bgt='gallery'] .bgt-gallery-ctrl__next span,
[data-bgt='gallery'] .bgt-gallery-ctrl__prev span {
  display: block;
  height: 0;
  overflow: hidden;
  width: 0;
}

[data-bgt=gallery] .bgt-gallery-ctrl__next:after,
[data-bgt=gallery] .bgt-gallery-ctrl__prev:after {
  border: solid #fff;
  border-width: 5 px 5 px 0 0;
  content: '';
  display: block;
  height: 40px;
  width: 40px;
}

[data-bgt='gallery'] .bgt-gallery-ctrl__prev {
  left: 20px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

[data-bgt='gallery'] .bgt-gallery-ctrl__next {
  right: 20px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

[data-bgt='gallery'] [data-gallery-marker='thumbs'] + .bgt-gallery-marker {
  margin-top: 10px;
}

[data-bgt='gallery'] [data-gallery-marker='thumbs'] + .bgt-gallery-marker li {
  height: 60px;
  margin: 0 5 px;
  width: 60px;
}

[data-bgt=gallery] [data-gallery-marker=thumbs]+.bgt-gallery-marker li:before {
  display: none;
}

[data-bgt='gallery'] [data-gallery-marker='dot'] + .bgt-gallery-marker {
  margin-top: 10px;
}

[data-bgt='gallery'] [data-gallery-marker='dot'] + .bgt-gallery-marker li {
  background-color: #999;
  border-radius: 100%;
  height: 10px;
  margin: 0 2 px;
  width: 10px;
}

[data-bgt='gallery'] [data-gallery-marker='dot'] + .bgt-gallery-marker li.current {
  background-color: #000;
}

.pc-only {
  display: block;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}


/* 1枚画像の最大幅を75%に（中央寄せ） */
.bgt-image__link .bgt-box__image-container img,
.bgt-image-link__link .bgt-box__image-container img {
    width: 75%;
    max-width: 75%;
    height: auto;
    margin: 27px auto;
    display: block;
    border-radius: 10px;
}

/* Editorが inline style で width/height を埋めた場合の保険 */
[data-bgb] img[style*="width"],
[data-bgb] img[style*="height"] {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
}

.bgt-grid .bgt-box__image-container img {
    width: 100%;
    max-width: 100%;
}

/* スマホでは100%にしたい例 */
@media (max-width: 768px) {
    .bgt-image__link .bgt-box__image-container img,
    .bgt-image-link__link .bgt-box__image-container img{
        width: 100%;
        max-width: 100%;
        margin: 20px auto;
    }
}


