/*
Theme Name: OnePress Child
Template: onepress
Version: 1.0.0
*/

/* =========================
   Base
   ========================= */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  line-height: 1.6;
}

/* =========================
   ヘッダーロゴ
   ========================= */
@media (max-width: 575px) {
.site-branding .site-logo-div {
    line-height: 75px;
    max-width: 280px;
}
	.site-branding .no-logo-img.has-desc, .site-branding .has-logo-img {
    line-height: 0;
}
}
/* =========================
   Section: method / feature / flow（Gutenbergブロック周り）
   ========================= */

/* 右カラム内のテキストを上下中央にする（汎用） */
.wp-block-column.v-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
}

/* #method 内は常に縦積み（100%） */
#method .row > .col-lg-6,
#method .row > .col-sm-6 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

#method .wp-block-image { margin: 0; }

#method h3.wp-block-heading {
  border-bottom: 1px #333333 solid;
  padding: 10px;
}

#flow h4.service-title { display: none; }

#feature figure.wp-block-image { margin: 0; }
#feature :where(.wp-block-columns) { margin-bottom: 0; }

#feature .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
  margin: 20px auto;
}

#feature ul.wp-block-list { font-size: 1rem; }

/* #block4060（PCのみ 40/60） */
@media (min-width: 782px) {
  #block4060 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(.v-center) {
    flex: 0 0 40% !important;
    max-width: 40% !important;
  }
  #block4060 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.v-center {
    flex: 0 0 60% !important;
    max-width: 60% !important;
  }
}

/* =========================
   Section: hero（背景画像の見え方）
   ========================= */
#hero.hero-slideshow-wrapper{
  min-height: clamp(520px, 75vh, 920px);
  overflow: hidden;
}

#hero.hero-slideshow-wrapper .backstretch,
#hero.hero-slideshow-wrapper .backstretch img{
  inset: 0;
  width: 100%;
  height: 100%;
}

#hero.hero-slideshow-wrapper .backstretch img{
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px){
  #hero.hero-slideshow-wrapper{
    min-height: clamp(300px, 45svh, 520px);
  }
}


/* =========================
   Contact Form 7（OpenBlast CF7）
   お問い合わせ項目（checkbox）最適化
   既存CSSと重複しない差し替え版
   ========================= */

/* checkbox群：横並び＋折り返し */
#contact .openblast-cf7
.wpcf7-form-control.wpcf7-checkbox{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;     /* 縦 / 横 */
  margin-top: 12px;
}

/* 各チェック項目 */
#contact .openblast-cf7
.wpcf7-form-control.wpcf7-checkbox
.wpcf7-list-item{
  margin: 0;
}

/* チェック＋テキストを1行セット */
#contact .openblast-cf7
.wpcf7-form-control.wpcf7-checkbox
.wpcf7-list-item label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  white-space: nowrap;   /* PCでは折らない */
}

/* checkboxサイズ */
#contact .openblast-cf7
.wpcf7-form-control.wpcf7-checkbox
input[type="checkbox"]{
  width: 16px;
  height: 16px;
  margin: 0;
}

/* SP：2列レイアウト（見やすさ優先） */
@media (max-width: 781px){
  #contact .openblast-cf7
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item{
    flex: 0 0 calc(50% - 12px);
  }

  #contact .openblast-cf7
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item label{
    white-space: normal; /* スマホは自然改行OK */
  }
}
/* PCだけ 2カラム（必要な箇所だけに .cf7-grid-2 を付ける） */
@media (min-width: 782px){
  #contact .openblast-cf7 .cf7-grid-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}


/* =========================
   Contact footer（お問い合わせ下の疑似フッター）
   ========================= */
#contact .contact-foot{
  margin-top: 28px;
  padding: 22px 18px;
  background: #efefef;
  border-radius: 6px;
}

#contact .contact-foot__inner{
  max-width: 980px;
  margin: 0 auto;
}

#contact .contact-foot__grid{
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
}

#contact .contact-foot__org{
  display: flex;
  gap: 14px;
  align-items: center;
  flex: 1 1 60%;
  min-width: 0;
}

#contact .contact-foot__figure{
  margin: 0;
  flex: 0 0 220px;
}

#contact .contact-foot__figure img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

#contact .contact-foot__orgtext{
  min-width: 0;
}

#contact .contact-foot__orgname{
  font-weight: 700;
  margin-bottom: 6px;
}

#contact .contact-foot__orgaddr{
  font-size: 14px;
  line-height: 1.6;
  opacity: .85;
}

#contact .contact-foot__cta{
  flex: 1 1 40%;
  text-align: center;
}

#contact .contact-foot__title{
  font-weight: 700;
  margin-bottom: 10px;
}

#contact .contact-foot__tel a{
  display: inline-block;
  font-size: 28px;
  font-weight: 800;
  text-decoration: none;
  line-height: 1.2;
}

#contact .contact-foot__mail{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

#contact .contact-foot__icon{
  font-size: 16px;
}

@media (max-width: 781px){
  #contact .contact-foot__grid{
    flex-direction: column;
    text-align: left;
    align-items: stretch;
  }
  #contact .contact-foot__cta{ text-align: left; }
  #contact .contact-foot__figure{ flex-basis: 180px; }
}


/* =========================
   Contact：右カラム（address-box）内
   問合せ窓口 + SDGs画像 + 協会情報
   HTMLに合わせた差し替え版
   ========================= */

/* address-box 全体（右カラムの箱） */
#contact .address-box{
  margin-bottom: 40px;
  text-align: center;
}

/* -------------------------
   問合せ窓口ボックス
   ------------------------- */
#contact .contact-inquiry-box{
  background: #f2f2f2;
  padding: 28px 20px;
  border-radius: 6px;
  text-align: center;
  margin-bottom: 24px;
}

/* タイトル（※HTMLは __title ではなく contact-inquiry-boxtitle） */
#contact .contact-inquiry-boxtitle{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: .05em;
}

/* 電話行（※HTMLは __tel ではなく contact-inquiry-boxtel） */
#contact .contact-inquiry-boxtel{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

/* 電話アイコン */
#contact .contact-inquiry-boxtel .fa{
  font-size: 22px;
  color: #1e73be;
}

/* 電話番号 */
#contact .contact-inquiry-boxtel a{
  font-size: 34px;
  font-weight: 800;
  color: #1e73be;
  text-decoration: none;
  line-height: 1.2;
}
#contact .contact-inquiry-boxtel a:hover{
  opacity: .85;
}

/* SP調整 */
@media (max-width: 781px){
  #contact .contact-inquiry-box{
    padding: 22px 16px;
  }
  #contact .contact-inquiry-boxtitle{
    font-size: 18px;
  }
  #contact .contact-inquiry-boxtel a{
    font-size: 28px;
  }
}

/* WordPressの画像ブロックの固定幅を無効化 */
.wp-block-image img {
    width: 100% !important;
    height: auto !important;
}



/* -------------------------
   SDGs 画像（figure + img）
   ------------------------- */
#contact .contact-org-figure{
  display: block;
  margin: 24px auto;
  text-align: center;
  max-width: 420px;
}
#contact .contact-org-figure img{
  display: block;     /* inline-blockより安定 */
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* -------------------------
   協会情報（#association）
   ------------------------- */
#contact #association{
  margin-top: 18px;
  line-height: 1.7;
}

#contact .association-infoname{
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 10px;
}

#contact .association-infoaddress{
  font-size: 14px;
  color: #555;
  margin: 0 0 8px;
}

#contact .association-infotel{
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

#contact .association-infotel .fa{
  margin-right: 6px;
  color: #1e73be;
}

#contact .association-infotel a{
  text-decoration: none;
  color: inherit;
}
#contact .association-infotel a:hover{
  opacity: .85;
}

/* hr の余白を整える（必要なら） */
#contact .address-box hr{
  margin: 22px 0;
  opacity: .25;
}



/* OnePress クレジット非表示 */
.site-footer .site-info .sep,
.site-footer .site-info a[href*="onepress"] {
  display: none !important;
}
