/*
Theme Name: BIRTH Child
Template: birth_tcd057
Author: Design Plus
Author URI: http://design-plus1.com/tcd-w/
Description: WordPressテーマ「BIRTH」
Version: 1.7.1
Updated: 2022-06-21 15:42:00

*/

@media screen and (max-width: 1200px) {
  .pc #header .logo { display: none; }
  .mobile #logo_text {
    position: absolute;
    top: 50%;
    left: 20px;
    margin: auto;
    -webkit-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
    -o-transform: translate(0%, -50%);
    transform: translate(0%, -50%); }
  }
  
  /* 会社情報の左右比率変更20190926 */
  #index_company .left_area { width:460px; float:left; margin:0 0 0 0; }
  #index_company .right_area { width:660px; float:right; margin:0 0 0 0; }
  
  * {
    font-family: "Zen Maru Gothic", "Noto Sans JP", "Hiragino Kaku Gothic ProN",
                 "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif !important;
  }
  
  /* 20251001カスタマイズ */
  /* フェードインアニメーション */
  .fade-in-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1.2s ease; 
  }
  
  .fade-in-up.show {
    opacity: 1;
    transform: translateY(0);
  }
  
  
  /* キービジュアルのテキスト設定 */
  #index_intro {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: clamp(
      -820px,
      calc(-630px + (-190) * ((100vw - 1200px) / (2000 - 1200))),
      -630px
    );
    background-color: transparent;
    @media screen and (max-width: 1270px) {
      top: -386px;
    }
    @media screen and (max-width: 730px) {
      top: -348px;
    }
  }
  
  #index_intro h2 {
    color: white;
    text-align: left !important; 
    font-weight: 600 !important; 
    margin-bottom: 72px !important;
    text-shadow: 2px 4px 6px rgba(0, 0, 0, 0.25);
    @media screen and (max-width: 1270px) {
      font-size: 40px !important;
      margin-bottom: 48px !important;
    }
    @media screen and (max-width: 730px) {
      font-size: 32px !important;
      margin-bottom: 32px !important;
    }
  }
  
  #index_intro .desc {
    color: white;
    text-align: left !important;
    font-weight: 600 !important; 
    font-size: 32px !important;
    line-height: 1.75 !important;
    text-shadow: 2px 4px 6px rgba(0, 0, 0, 0.25);
    @media screen and (max-width: 1270px) {
      font-size: 24px !important;
    }
    @media screen and (max-width: 730px) {
      font-size: 20px !important;
    }
  }
  
  /* お知らせ・フリースペースの設定 */
  .freeSpace {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    @media screen and (max-width: 1270px) {
      gap: 12px;
    }
    @media screen and (max-width: 730px) {
      flex-direction: column;
      justify-content: center;
      text-align: center;
      max-width: 500px;
      margin: 0 auto;
      gap: 6px;
    }
  }
  
  .freeSpace a:hover {
    opacity: 0.8;
    transition: opacity 0.3s ease;
  }
  
  #index_free_space2 {
    top: 0;
    margin: 0 auto;
    padding: 80px 0 20px 0;
    @media screen and (max-width: 730px) {
      padding: 40px 0 20px 0;
    }
  }
  
  #index_news {
    padding-bottom: 90px;
  }
  
  /* ご利用案内 */
  .headline_info {
    font-size: 40px;
    text-align: center;
    line-height: 1.5;
    margin: 0;
    font-weight: 500;
    @media screen and (max-width: 730px) {
      font-size: 24px;
    }
  }
  
  .sub_title {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    @media screen and (max-width: 730px) {
      font-size: 12px;
    }
  }
  
  #index_3box {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    @media screen and (max-width: 730px) {
      padding-top: 40px !important;
      padding-bottom: 40px !important;
    }
  }
  
  /* 固定ページ、投稿ページ */
  .post_content h2 {
    background-color: #f5f5f5;
    position: relative;
    line-height: 82px !important;
    color: #6598A1;
    padding-top: 0 !important;
    padding-left: 16px !important;
    @media screen and (max-width: 730px) {
      line-height: 42px !important;
    }
  }
  
  .post_content h2::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 3px;
    height: 82px;
    background-color: #6598A1;
    @media screen and (max-width: 730px) {
      height: 42px !important;
    }
  }
  
  .post_content h3 {
    position: relative;
    line-height: 40px !important;
    color: #6598A1;
    padding-top: 0 !important;
    padding-left: 16px !important;
  }
  
  .post_content h3::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 3px;
    height: 40px;
    background-color: #6598A1;
  }
  
  li::marker {
    color: #6598A1;
  }
  
  .post_content p {
    line-height: 2.4;
    margin: 0 0 1em 0 !important;
  }
  
  .wp-block-image {
    margin-bottom: 56px !important;
  }
  
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    position: absolute !important;
    bottom: -36px !important;
    left: 0 !important;
    right: 0 !important;
    color: #6598A1 !important;
    padding: 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    background: transparent !important;
    text-shadow: none !important;
    @media screen and (max-width: 730px) {
      font-size: 14px !important;
    }
  }
  
  /* お知らせ一覧ページ 画像のはみ出し修正 */
  #archive_news_list .image {
    height: 100% !important;
    aspect-ratio: 83 / 51 !important;
  }

  #archive_news_list .image img {
    height: 100% !important;
    object-fit: contain !important;   /* 縮小して枠に収める（余白ができる） */
    object-position: center !important;
  }
