@charset "UTF-8";
/* ================================
   Responsive (max-width: 768px)
================================ */
@media (max-width: 768px) {
	
  :root {
    --fs-base: 1rem;      /* 16px */
    --fs-h1: 1.4rem; 
    --fs-h2: 1.4rem;
    --fs-h3: 1.3rem; 
    --fs-h4: 1.1rem;  
  }
	

  .pc-only { display: none !important; }
  .sp-only { display: block !important; }
	
	main{
		padding: 0;
	}
	
	.wrap {
		flex-direction: column; /* 縦並びにする */
		margin: 1rem 0 0 0;
	padding: 0 1.5rem;
	}
	
.inner {
	padding: 0 1.5rem;
	}
	
.wrap .inner {
	padding: 0 0;
	}
	
  section {
    margin-bottom: 50px;
  }
	
  .content-area,
	#sidebar{
    width: 100%;  /* 横幅いっぱい */
    padding: 0 1.5rem;
	}
	
	#footer.bg_section{
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
  /* ---------------------------------
     テーマ装飾（本文・見出し・リンク・ボタン）
  ---------------------------------- */
	
img {
  max-width: 100%;
  height: auto;
}
  h4 {
    line-height: 1.4rem;
  }
	h1.page-title,
	h1.page-title.sp-only{
	margin-top: 3rem;
	margin-bottom: 3rem;
}
		
  /* ================================
     各ページ設定
  ================================ */

  /* ---------------------------------
     ヘッダー
  ---------------------------------- */
	
#masthead .wrap {
    display: flex;
    flex-direction: row; /* ← 強制横並び */
    justify-content: space-between;
    align-items: center;
  }

  .header-left,
  .header-right {
    flex: 0 0 auto;
    width: auto;   /* ← 100%を打ち消す */
    margin: 0;
  }
  .site-logo img {
    width: 220px;
    height: auto;
  }

  .main-navigation li:not(.bt_y) a::after {
    background-color: #fff; /* 下線色（モバイル版の変更点） */
  }

  /* ハンバーガーボタン */
  .hamburger {
    position: relative;
    z-index: 1001;
    display: block;
    width: 30px;
    height: 22px;
    cursor: pointer;
    border: none;
    background: transparent;
  }
  .hamburger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background: var(--c-main);
    transition: all 0.3s ease;
  }
  .hamburger span:nth-child(1) {
    top: 0;
  }
  .hamburger span:nth-child(2) {
    top: 9px;
  }
  .hamburger span:nth-child(3) {
    top: 18px;
  }
  .hamburger.active span:nth-child(1) {
    top: 9px;
    transform: rotate(45deg);
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    top: 9px;
    transform: rotate(-45deg);
  }

  /* ナビ全画面オーバーレイ */
  .main-navigation {
    position: fixed;
    top: 0;
    left: -100%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: left 0.3s ease;
  }
  .main-navigation.active {
    left: 0;
  }
  .main-navigation ul {
    display: flex;
    flex-direction: column;
    align-items: center;
		text-align: center;
    width: 100%;
    margin: 0;
    list-style: none;
    gap: 1.3rem;
  }
  .main-navigation li {
    text-align: center;
  }
  .main-navigation a {
    display: inline-block;
    padding: 0.5rem 1rem;
    color: var(--c-point);
    font-size: 1.5rem;
    text-decoration: none;
  }
		
	
  /* ---------------------------------
     ヘッダー：sub
  ---------------------------------- */

  /* コピー部分 */
.copy-wrap{
  display: none;
	}
.copy-wrap-mob{
  display: block;
	padding: 1rem;
	}
p.catchcopy{
	color: #fff;
  font-size: var(--fs-small);
	font-weight: var(--fw-b);
	margin-bottom: 0.5rem;
}
p.subcopy{
	background-color: #FFF;
	padding: 0.1rem 0.5rem;
	color: var(--c-point);
  font-size: var(--fs-small);
	font-weight: var(--fw-b);
	margin-bottom: 0.5rem;
}
	
  /* ロゴ切り替え */
#masthead.sub .logo-sub {
    content: url("../img/logo-sub-mob@2x-8.png");
  }

#masthead.sub .wrap { /* 背景にwidthを超えて全体背景をつける */
  padding: 0 1rem;
}
#masthead.sub .main-navigation li:not(.bt_y) a {
  color: var(--c-point);
}

	
#masthead.sub  .hamburger span {
    background: #fff;
  }
  /* ---------------------------------
     フッター
  ---------------------------------- */
	.copyright{
	margin-top: 1rem;
}

	
  /* ---------------------------------
     パンクズリスト
  ---------------------------------- */
	
.breadcrumb-area {
	padding: 0 1rem 1rem;
}
	
	
  /* ---------------------------------
     2カラム
  ---------------------------------- */
	
.wrap.two-colmun .inner {
    max-width: 100%;
	padding: 0 1rem;
}

	.post-headicon{
		padding-right: 0.3rem;
		padding-left: 0.3rem;
		font-size: var(--fs-small);
	}
.entry-header{
  position: relative;
  padding-left: 0; /* 左に余白を作る */
}

	.two-colmun .entry-header{
		padding-left: 0;
	}
	
.two-colmun .entry-header a{
	color: var(--c-point);
}

.two-colmun .entry-header::before {
  width: 0;
}

.entry-footer{
		margin-top: 2rem;
		font-size: var(--fs-small);
  flex: 0 0 auto;         /* 固定幅でもOK */
	}
	

	
  /* ---------------------------------
     フロントページ
  ---------------------------------- */

  h2.copy_main {
    margin: 15px 0 15px;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.5rem;
    text-align: center;
  }
  h3.copy_sub {
    padding: 3px 4px 5px;
    background-color: var(--c-accent);

    font-size: var(--fs-h4);
    line-height: 1.4rem;
    text-align: center;
    letter-spacing: 1px;
  }
  h1.site-title {
    margin: 1rem 0;
  }
  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    white-space: nowrap;
  }
	
	
	/* おしらせ */
	.news-item {
    flex-direction: column;  /* 縦並びにする */
    align-items: flex-start;
  }

  .news-label {
    flex: none;         /* 固定幅を解除 */
    margin-bottom: 0; /* 下に余白 */
  }

  .news-body {
    width: 100%;        /* 横幅いっぱいに広げる */
  }

	/* 事業案内カード */
	.card-wrap  {
			grid-template-columns: 1fr; /* ←必ずこれ */
	}
	.card h3 {
		font-size: 1.1rem;
		line-height: 1.5rem;
		margin-bottom: 0.5rem;
	}
	
	
	
} /*ここまで*/