/*
Theme Name: 就労移行支援ベルテールlien
Theme URI: 
Author: Toshimi Nishihara
Author URI: トップページ
Memo: 2025/11｜全3ページ構成にリニューアルする段階で新規作成したCSS。ベースは style.css（リニューアル前からの既存）となる。上書き指定。
Note: 全ページ共通で使うスタイルを記述。個別ページの差分は各ページCSSに分離。
*/


/* ページ全体で横スクロールを防止 */
html, body {
  overflow-x: hidden;
}

/* 色変更　水色→紺へ */
body{
  border-right: 10px solid #084F6A;
  border-left: 10px solid #084F6A;      
}

.navbar-inverse{
  border-top: 10px solid #084F6A;    
  border-right: 10px solid #084F6A;    
  border-left: 10px solid #084F6A;      
}

#global-nav div.active{
  background: #084F6A;
}

#copyLine{
  background:#084F6A;
}

#rinen-box h4{
  border-top: 3px solid #084F6A;
}

#rinen-box div p{
  border-top: 2px dotted #084F6A;
}

.topGrad{
	border-top: 3px solid #084F6A;
}

/* ------------------------------------------------------------------- */
/* フォント                                                             */
/* ------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap');

/* 本文全体 */
body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.6;
}

/* ------------------------------------------------------------------- */
/* ヘッダー                                                             */
/* ------------------------------------------------------------------- */
#headLogo{
  width: 230px;
  height: auto;
}

/* ------------------------------------------------------------------- */
/* フッター                                                             */
/* ------------------------------------------------------------------- */
footer h2 , footer h3 {
  font-family: 'Noto Sans JP', sans-serif;
}

footer h3:not(:first-of-type) {
  margin-top: 30px;
}


/* ------------------------------------------------------------------- */
/* 汎用                                                                */
/* ------------------------------------------------------------------- */
h1,.h1,h2,.h2,h3,.h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: 'Noto Sans JP', serif;
  font-weight: 600;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

.red {
  color: #f2531c;
}

/* ボタン画像 -------------------------------------------------------- */
#contents a img {
  transition: transform 0.3s ease;
}
#contents a:hover img {
  transform: scale(1.05);
}

/* 見出し ------------------------------------------------------------ */
/* 通常 */
h2 {
  clear: both;
  /*color: #4ea0e6;*/
  color: #74a447;
  font-size: 3rem;
  text-align: center;
  background: url(images/h2_icon01.png) top center no-repeat;
  margin: 70px 0 50px 0;
  padding: 40px 0 0 0;
}

/* 違う見出しデザイン 1 */
h2.midashi_pg {
  color: #111111;
  font-size: 3.1rem;
  text-align: left;
  background: url(images/aboutus_icon01x2.png) 5px 0px no-repeat;
  background-size: 107px 28px;
  margin: 0 0 40px 0;
  padding: 0 0 0 0;
}

/* 違う見出しデザイン 2 */
h2.midashi_square {
  color: #505050;
  font-size: 2.5rem;
  text-align: left;
  background: url(images/h2_icon02.png) 0px 8px no-repeat;
  background-size: 16px 16px;
  margin: 50px 0 40px 0;
  padding: 0 0 0 26px;
}

/* 横並び ------------------------------------------------------------ */
.flex-block01 { 
display: flex;
align-items:flex-start;
gap: 50px;
}

.flex-block01 .txt {
flex: 1;
}

.flex-block01 .txt p {
  margin-bottom: 30px;
  font-size: 1.9rem;
}

.flex-block01 .txt p span {
  color: #f2531c;
  font-size: 1.1rem;
  font-weight: bold;
  vertical-align: top;
}

.flex-block01 img {
flex-shrink: 0;
width: 100%;
max-width: 350px;
}

/* ブルーマークのリスト ------------------------------------------------ */
.list01 {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list01 li {
  background: url(images/list_icon01.png) 0px 10px no-repeat;
  padding-left: 20px;
  margin-bottom: 20px;
}


/* ------------------------------------------------------------------- */
/* ボディー部分                                                         */
/* ------------------------------------------------------------------- */
#contents {
    width: 950px;
    margin: 50px auto 100px auto;
    padding: 0;
}


/* ------------------------------------------------------------------- */
/* ページタイトル                                                       */
/* ------------------------------------------------------------------- */
#page_title {
    padding-top: 145px;
    background: #eaeff3;
}

#page_title div {
    max-width: 1380px;
    width: 100%;
    height: 210px;
    margin: 0 auto;
    padding: 80px 20px 0 20px;
    box-sizing: border-box;
    background: url(images/page_title_bk.png) top right no-repeat;
    background-size: contain; /* 背景画像がはみ出さないように調整 */
}

#page_title div h1 {
    color: #4c4c4c;
    letter-spacing: 1rem;
    font-size: clamp(22px, 4vw, 38px); /* 画面幅に応じてフォントサイズ調整 */
    background: #FFFFFF;
    padding: 10px 40px;
    display: inline;
    background-image: url(images/page_title_bk_line.png);
    background-repeat: repeat-x;
    background-position: bottom left;
}


/* ------------------------------------------------------------------- */
/* パンくずリスト                                                       */
/* ------------------------------------------------------------------- */
.panlist {
  font-size: 1.2rem;
  margin: 0 auto;
  padding: 30px 20px;
  max-width: 1380px;
  color: #4C4C4C;
  background-color: #FFFFFF;
}

.panlist nav {
  position: static;
}

.panlist ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
}

.panlist li {
  display: flex;
  align-items: center;
}

.panlist li::after {
  content: ">";
  margin: 0 8px;
  color: #084F6A;
}

.panlist li:last-child::after {
  content: "";
}

.panlist a {
  color: #4C4C4C;
  text-decoration: none;
}

.panlist a:hover {
  text-decoration: underline;
}

.panlist li.home img.panlist-icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
  vertical-align: middle;
}


/* ------------------------------------------------------------------- */
/* 施設概要                                                             */
/* ------------------------------------------------------------------- */
.tbl01 {
  width: 100%;
  border-right: 1px solid #084F6A;
  margin: 0 auto;
}

.tbl01 th,
.tbl01 td {
  padding: 12px 16px;
  border: 1px solid #084F6A;
  border-right: none;
  vertical-align: top;
}

.tbl01 th {
  width: 20%;
  background: #e9f1f4;
  text-align: left;
  font-weight: normal;
}

.tbl01 td {
  width: 80%;;
}

/* テーブル内の営業時間部分 */
.info_group .info_row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}

.info_group .info_label {
  min-width: 140px;
}


/* ------------------------------------------------------------------- */
/* Google Map                                                          */
/* ------------------------------------------------------------------- */
.map .map_comment {
  margin-top: 20px;
  text-align: center;
}


/* ------------------------------------------------------------------- */
/* ページ下　CTA部分                                                    */
/* ------------------------------------------------------------------- */
.cta_box {
  margin-top: 100px;
  text-align: center;
}

.cta_box .cta_message {
  font-family: 'Noto Sans JP', serif;
  font-size: 2.8rem;
  font-weight: bold;
  margin: 30px 0;
}

.cta_box .cta_message span {
  font-size: 3.2rem;
  color: #084F6A;
}

.cta_box .cta_note {
  font-size: 2rem;
  margin-bottom: 40px;
}

.cta_box .cta_contact {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-end; /* 画像を下揃えにする */
}

.cta_box .cta_contact img {
  width: 320px;
  height: auto;
}


/* ------------------------------------------------------------------- */
/* レスポンシブ対応                                                      */
/* ------------------------------------------------------------------- */
@media screen and (max-width: 768px) {

  html, body {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  * {
    box-sizing: inherit;
  }

  img, iframe {
    max-width: 100%;
    height: auto;
  }

  [class*="col-"],
  [class*="container"],
  [id*="wrap"],
  [id*="main"],
  [id*="contents"] {
    max-width: 100% !important;
    width: 100% !important;
  }

  #contents section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .cta_box .cta_message {
    font-size: 2.7rem;
  }

  .cta_box .cta_message span {
    font-size: 2.6rem;
  }

  .flex-block01 {
    flex-direction: column;
    gap: 24px;
  }

  .flex-block01 img {
    max-width: 100%;
    width: 100%;
  }

  .flex-block01 .txt p {
    font-size: 1.7rem;
  }

  #page_title {
    padding-top: 94px;
  }

  #page_title div {
    height: 160px;
  }

  h2.midashi_pg {
    width: 100%;
    padding: 40px 0 0 0;
    margin: 0 0 40px 0;
  }

  .tbl01 {
    border-right: none;
  }

  .tbl01 tr {
    display: block;
    margin-bottom: 24px;
  }

  .tbl01 th,
  .tbl01 td {
    display: block;
    width: 100%;
    border-right: none;
    border-left: none;
    border-top: none;
    padding: 12px 0;
  }

  .tbl01 th {
    font-weight: bold;
    font-size: 1.6rem;
    padding-left: 10px;
  }

  .tbl01 td {
    font-size: 1.5rem;
    line-height: 1.6;
    border-bottom: none;
    padding-left: 10px;
  }

  .map iframe {
    height: 600px !important;
  }

}

/* ------------------------------------------------------------------- */

@media screen and (max-width: 425px) {

  .cta_box .cta_message {
    font-size: 2.2rem;
  }

  .map iframe {
    height: 500px !important;
  }

  .cta_box .cta_contact {
    flex-direction: column;   /* 縦並びに変更 */
    align-items: center;      /* 中央寄せ */
    gap: 20px;                /* 縦方向の余白を少し調整 */
  }

  .cta_box .cta_contact img {
    width: 100%;               /* 画面幅に合わせて縮小 */
  }

}