.elementor-543 .elementor-element.elementor-element-1c2a5df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0150px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-543 .elementor-element.elementor-element-30f2aab{--display:flex;}.elementor-543 .elementor-element.elementor-element-cd32db3{--display:flex;}.elementor-543 .elementor-element.elementor-element-aa53d46{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 5px;--row-gap:0px;--column-gap:5px;--margin-top:0px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-543 .elementor-element.elementor-element-90b9269 .elementor-heading-title{font-size:12px;}.elementor-543 .elementor-element.elementor-element-ad37e6d .elementor-heading-title{font-size:12px;}.elementor-543 .elementor-element.elementor-element-911b494 .elementor-heading-title{font-size:12px;}.elementor-543 .elementor-element.elementor-element-44cd096 .elementor-heading-title{font-size:12px;}.elementor-543 .elementor-element.elementor-element-7b164d7 .elementor-heading-title{font-size:12px;line-height:1.7em;}.elementor-543 .elementor-element.elementor-element-1f797a3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:10px;--margin-left:0px;--margin-right:0px;}.elementor-543 .elementor-element.elementor-element-007a62b.elementor-element{--align-self:flex-start;}.elementor-543 .elementor-element.elementor-element-007a62b .elementor-icon-list-icon{width:14px;}.elementor-543 .elementor-element.elementor-element-007a62b .elementor-icon-list-icon i{font-size:14px;}.elementor-543 .elementor-element.elementor-element-007a62b .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-543 .elementor-element.elementor-element-007a62b .elementor-icon-list-text, .elementor-543 .elementor-element.elementor-element-007a62b .elementor-icon-list-text a{color:var( --e-global-color-astglobalcolor4 );}.elementor-543 .elementor-element.elementor-element-007a62b .elementor-icon-list-item{font-size:12px;font-weight:700;}.elementor-543 .elementor-element.elementor-element-c473f67.elementor-element{--align-self:flex-start;}.elementor-543 .elementor-element.elementor-element-c473f67 .elementor-icon-list-icon{width:14px;}.elementor-543 .elementor-element.elementor-element-c473f67 .elementor-icon-list-icon i{font-size:14px;}.elementor-543 .elementor-element.elementor-element-c473f67 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-543 .elementor-element.elementor-element-c473f67 .elementor-icon-list-text, .elementor-543 .elementor-element.elementor-element-c473f67 .elementor-icon-list-text a{color:var( --e-global-color-astglobalcolor3 );}.elementor-543 .elementor-element.elementor-element-c473f67 .elementor-icon-list-item{font-size:12px;}.elementor-543 .elementor-element.elementor-element-fb0dc2e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-543 .elementor-element.elementor-element-fb0dc2e .elementor-heading-title{font-size:24px;color:var( --e-global-color-astglobalcolor3 );}.elementor-543 .elementor-element.elementor-element-03a7e13{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-543 .elementor-element.elementor-element-9b140da .elementor-button{background-color:var( --e-global-color-astglobalcolor0 );fill:var( --e-global-color-astglobalcolor4 );color:var( --e-global-color-astglobalcolor4 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-astglobalcolor0 );border-radius:50px 50px 50px 50px;padding:20px 42px 20px 42px;}.elementor-543 .elementor-element.elementor-element-9b140da .elementor-button:hover, .elementor-543 .elementor-element.elementor-element-9b140da .elementor-button:focus{background-color:var( --e-global-color-astglobalcolor4 );color:var( --e-global-color-astglobalcolor2 );border-color:var( --e-global-color-astglobalcolor3 );}.elementor-543 .elementor-element.elementor-element-9b140da{width:var( --container-widget-width, 307px );max-width:307px;--container-widget-width:307px;--container-widget-flex-grow:0;}.elementor-543 .elementor-element.elementor-element-9b140da.elementor-element{--align-self:center;}.elementor-543 .elementor-element.elementor-element-9b140da .elementor-button:hover svg, .elementor-543 .elementor-element.elementor-element-9b140da .elementor-button:focus svg{fill:var( --e-global-color-astglobalcolor2 );}@media(min-width:768px){.elementor-543 .elementor-element.elementor-element-30f2aab{--content-width:740px;}}@media(max-width:767px){.elementor-543 .elementor-element.elementor-element-1c2a5df{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-543 .elementor-element.elementor-element-fb0dc2e .elementor-heading-title{font-size:20px;}.elementor-543 .elementor-element.elementor-element-9b140da{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}/* Start custom CSS for post-info, class: .elementor-element-007a62b */.news-single-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  padding: 5px 16px;
  background: #14a8d8;
  color: #fff;
  line-height: 1.2;
}/* End custom CSS */
/* Start custom CSS for post-info, class: .elementor-element-c473f67 */.news-card-category .elementor-widget-container {
  display: inline-block;
  min-width: 110px;
  padding: 3px 14px;
  border: 1px solid #333;
  text-align: center;
  line-height: 1.2;
}/* End custom CSS */
/* Start custom CSS for theme-post-content, class: .elementor-element-03a7e13 */.news-single-content {
  margin-top: 45px;
}

.news-single-content h2 {
  margin: 45px 0 18px;
  font-size: 18px;
  line-height: 1.6;
}

.news-single-content p {
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 1.8;
}/* End custom CSS */
/* Start custom CSS *//* グレー背景の外側コンテナ */
.news-single-bg {
  width: 100%;

  padding: 0 !important;
  margin: 0 !important;

  min-height: 0 !important;
  height: auto !important;

  flex-grow: 0 !important;
  flex-shrink: 0 !important;

  align-self: flex-start !important;
}


/* 白いアーチ背景 */
.news-single-shape {
  position: relative;

  width: 100%;
  max-width: 877px;
  margin: 0 auto !important;

  /* ボタン下の白い余白 */
 padding-bottom: 180px;

  overflow: visible;
  isolation: isolate;

  flex-grow: 0 !important;
}


/* 白背景 */
.news-single-shape::before {
  content: "";
  position: absolute;

  left: 0;
  right: 0;
  top: -80px;
  bottom: 0;

  background: #fff;

  border-radius: 50% 50% 0 0 / 420px 420px 0 0;

  z-index: 0;
  pointer-events: none;
}


/* 中身を前面へ */
.news-single-shape > * {
  position: relative;
  z-index: 1;
}


/* 実際のコンテンツ */
.news-single {
  width: 100%;
  max-width: 877px;

  margin: 0 auto !important;
  padding-bottom: 0 !important;

  background: transparent;

  flex-grow: 0 !important;
}


/* 本文幅740px */
.news-single > * {
  width: 100%;
  max-width: 740px;

  margin-left: auto;
  margin-right: auto;
}

/* ==================================================
   お知らせ個別ページ：SP
   Figma 375px
================================================== */

@media (max-width: 767px) {

  /* --------------------------------
     ページ全体
  -------------------------------- */

  .news-single-bg {
    position: relative;

    width: 100% !important;

    margin: 0 !important;
    padding: 40px 20px 40px !important;

    min-height: 0 !important;

    background: #f5f5f5 !important;

    overflow: hidden !important;
    box-sizing: border-box;
  }


  /* --------------------------------
     白いアーチの土台
  -------------------------------- */

  .news-single-shape {
    position: relative;

    width: 100% !important;
    max-width: 335px !important;

    margin: 0 auto !important;
    padding: 0 0 40px !important;

    background: transparent !important;
    border-radius: 0 !important;

    overflow: visible !important;
    isolation: isolate;
  }


  /*
   Figmaではセクション上端から86pxで
   白いアーチが始まる。

   news-single-bg の上paddingが40pxなので
   46px下から白背景を開始。
  */
  .news-single-shape::before {
    content: "";

    position: absolute;
    z-index: 0;

    top: 46px;
    bottom: 0;

    left: 50%;

    width: 100vw;

    transform: translateX(-50%);

    background: #fff;

    /* Figmaの大きな半円状 */
    border-radius: 50vw 50vw 0 0;

    pointer-events: none;
  }


  /* 以前作った白背景用::afterを無効化 */
  .news-single-shape::after {
    content: none !important;
    display: none !important;
  }


  /* --------------------------------
     実際のコンテンツ
  -------------------------------- */

  .news-single {
    position: relative;
    z-index: 1;

    width: 100% !important;
    max-width: 335px !important;

    margin: 0 auto !important;

    /* PCの大きな上余白を完全リセット */
    padding: 10px 0 0 !important;

    background: transparent !important;
    border-radius: 0 !important;
  }

  /* PCの740px指定を解除 */
  .news-single > * {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }


  /* --------------------------------
     カテゴリー＋日付
  -------------------------------- */

  .news-single-meta {
    display: flex !important;
    align-items: center !important;

    gap: 20px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .news-single-category {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 121px !important;
    min-width: 121px !important;
    height: 26px !important;

    margin: 0 !important;
    padding: 0 10px !important;

    background: #0ea7db !important;
    color: #fff !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 26px !important;

    box-sizing: border-box;
  }

  .news-single-date,
  .news-single-date .elementor-heading-title {
    margin: 0 !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;

    white-space: nowrap !important;
  }


  /* --------------------------------
     タイトル
  -------------------------------- */

  .news-single-title {
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }

  .news-single-title .elementor-heading-title {
    margin: 0 !important;

    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    letter-spacing: 0.1em !important;
  }


  /* --------------------------------
     パンくず
  -------------------------------- */

  .news-single-breadcrumb {
    margin: 40px 0 30px !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.1em !important;
  }


  /* --------------------------------
     投稿本文
  -------------------------------- */

  .news-single-content {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .news-single-content p {
    margin: 0 0 30px !important;

    font-size: 14px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.1em !important;
  }

  .news-single-content h2,
  .news-single-content h3 {
    margin: 30px 0 13px !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    letter-spacing: 0.1em !important;
  }


  /* --------------------------------
     一覧に戻る
  -------------------------------- */

  .news-single-back {
    width: 100% !important;

    margin: 30px 0 0 !important;
    padding: 0 !important;
  }

  .news-single-back .elementor-button {
    width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;

    padding: 5px 20px !important;

    border-radius: 100px !important;

    font-size: 16px !important;
    letter-spacing: 0.1em !important;
  }
}


/* ==================================================
   お知らせ個別ページ：TABLET
   768px〜1024px
================================================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* 外側は必ずグレー */
  .news-single-bg {
    position: relative;

    width: 100% !important;

    /* アーチが上に出るスペース */
    padding: 150px 32px 0 !important;
    margin: 0 !important;

    background: #f5f5f5 !important;

    box-sizing: border-box;
    overflow: hidden;
  }


  /* 白い本文本体 */
  .news-single-bg {
    position: relative;

    width: 100% !important;
    margin: 0 !important;

    padding: 150px 32px 0 !important;

    background: #f5f5f5 !important;

    box-sizing: border-box;
    overflow: hidden;
  }


  /* 背景本体は透明にする */
  .news-single-shape {
    position: relative;

    width: 100% !important;
    max-width: 760px !important;

    margin: 0 auto !important;
    padding-bottom: 120px !important;

    background: transparent !important;

    overflow: visible !important;
    isolation: isolate;
  }


  /* アーチ＋四角を1枚で作る */
  .news-single-shape::before {
    content: "";

    position: absolute;
    z-index: 0;

    left: 0;
    right: 0;

    top: -220px;
    bottom: 0;

    background: #fff;

    border-radius:
      50% 50% 0 0 /
      280px 280px 0 0;

    pointer-events: none;
  }



  .news-single-shape::after {
    content: none !important;
    display: none !important;
  }


  /* 中身を白背景の上へ */
  .news-single-shape > * {
    position: relative;
    z-index: 1;
  }


  .news-single {
    width: 100% !important;
    max-width: 680px !important;

    margin: 0 auto !important;
    padding: 20px 40px 0 !important;

    background: transparent !important;

    box-sizing: border-box;
  }

  /* 古い背景用の疑似要素があれば無効化 */
  .news-single-shape::after {
    content: none !important;
    display: none !important;
  }


  /* 中身をアーチより前へ */
  .news-single-shape > * {
    position: relative;
    z-index: 1;
  }


  /* 実コンテンツ */
  .news-single {
    width: 100% !important;
    max-width: 680px !important;

    margin: 0 auto !important;
    padding: 20px 40px 0 !important;

    background: transparent !important;

    box-sizing: border-box;
  }


  .news-single > * {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* タイトル */
  .news-single-title .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.5 !important;
  }


  /* 本文 */
  .news-single-content p {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .news-single-content h2,
  .news-single-content h3 {
    font-size: 20px !important;
  }


  /* 戻るボタン */
  .news-single-back .elementor-button {
    width: 260px !important;
    min-width: 260px !important;
  }

}

@media (min-width: 768px) and (max-width: 1024px) {

  .news-single {
    width: 100% !important;
    max-width: 680px !important;

    margin: 0 auto !important;
    padding: 20px 40px 0 !important;

    background: transparent !important;
    box-sizing: border-box;

    /* コンテンツ全体をアーチ上部へ */
    transform: translateY(-140px);
  }

  /* 移動した分、下の余分な空間を詰める */
  .news-single-shape {
    padding-bottom: 0 !important;
  }
}/* End custom CSS */