.elementor-kit-7{--e-global-color-primary:#01B0E5;--e-global-color-secondary:#21A1C7;--e-global-color-text:#333333;--e-global-color-accent:#F9E71E;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-astglobalcolor4 );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================
  Heading
   ========================= */
h1 {
  font-family: "Libre Baskerville";
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  margin: 0; 
  text-align: left;
}

h1 .sub-title {
  display: block;
  font-size:1.0rem;
  font-weight: 400;
  margin-bottom: 2px; 
    letter-spacing: 1px;
}



/* モバイル微調整 */
@media (max-width: 767px){
h1 {
  font-size: 1.0rem;
  font-weight: 700;

}

h1 .sub-title {
  display: block;
  font-size:0.95rem;
  font-weight: 400;

}
}

h1.offmenu {
  font-size: 1.0rem;
  font-weight: 700;
  text-align: center;
}
h1 .sub-title-offmenu {
  display: block;
  font-size:1.0rem;
  font-weight: 400;
  margin-bottom: 1px; 
    letter-spacing: 1px;
    text-align: center;
}


/* H3 */
h3.support {
  position: relative;
  display: inline-block;
  padding: 0 60px;
  color:#333;
  font-size: 2.0rem;

}
h3.support:before, h3.support:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color:#01B0E5;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  
}
h3.support:before {
  left:0;
}
h3.support:after {
  right: 0;
}



.support-wrap {
  text-align: center;
}

.supportSubTit {
  display: block;
  margin-top: 6px;
  font-size: 0.9rem;
  letter-spacing: 0.15em;
  color: #666;
}


@media (max-width: 767px){
h3.support {
  position: relative;
  display: inline-block;
  padding: 0 40px;
  color:#333;
  font-size: 1.6rem;
letter-spacing: -0.03em;
}
h3.support:before, h3.support:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color:#01B0E5;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  
  
}
h3.support:before {
  left:0;
}
h3.support:after {
  right: 0;
}



.support-wrap {
  text-align: center;
}

.supportSubTit {
  display: block;
  margin-top: 6px;
  font-size: 0.9rem;
  letter-spacing: 0.15em;
  color: #666;
}
}










p{
    margin-bottom: 0;
}

p.mb20{
    margin-bottom: 20px;
}


.kana{
    font-size: 1.5rem;
}






/* News（アーカイブ）だけフル幅にする */
body.post-type-archive-news .ast-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
/* News の single post をフル幅に */
body.single-news .ast-container {
  max-width: none!important;
  padding-left: 0;
  padding-right: 0;
}
.elementor-1227 .elementor-element.elementor-element-204e1e51 {
   
padding-top: none!important;

}



/* News single：Astraの自動余白を解除 */
body.single-news .ast-container {
  padding-top: 0;
}

body.single-news .entry-content,
body.single-news .site-main {
  margin-top: 0;
}

body.single-news .ast-single-post-order {
  display: none;
}




/* 画像を包むリンク(a)を4:5の箱にする */
.news-thumb45 a.jet-listing-dynamic-image__link{
  display: block !important;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

/* imgを箱いっぱいにしてcover（Elementorの width/height:auto に勝つ） */
.news-thumb45 img.jet-listing-dynamic-image__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}














/* =========================
   Fluent Forms：必須の「*」を「必須」バッジに
置換（asterisk-right 対応）

   ========================= */

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after{
  content: "必須" !important;
  display: inline-flex;
  align-items: center;

  margin-left: 6px !important;
  background: #e60012;
  color: #fff !important;

  font-size: 12px;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 2px;
  white-space: nowrap;
}

/* モバイル微調整 */
@media (max-width: 767px){
  .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after{
    font-size: 11px;
    padding: 3px 5px;
  }
}


/* カスタムHTMLのラベル */
.custome_formlavel {
    color: #333;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.7px;
}

.receipt-checkbox label.ff-el-form-check-label {
    font-size: 1.0rem;
    font-weight: 400;
}



/* =========================
  規約・プライバシーポリシー
   ========================= */


.terms h3{
    font-size: 1.2rem;
    color: #333;
    margin-top: 20px;
}

.terms p{
    font-size: 1.0rem;
    line-height: 1.6;
    margin: 10px 0;
}























/* ====================================================
　Line break position
==================================================== */

/* sp CSS */
@media screen and (max-width: 767px) {
br.sp { display: inline; }
br.pc { display: none; }
br.tb { display: none; }
}

/* tb CSS */
@media (min-width: 768px) {
br.sp { display: none; }
br.tb { display: inline; }
}

/* PC CSS */
@media (min-width: 1024px) {
br.sp { display: none; }
br.tb { display: none; }
br.pc { display: inline; }
}/* End custom CSS */