@charset "utf-8";
/* CSS Document */

/* =========================================================
   Responsive Add-ons (差分追記用)
   ターゲットBP:
     - スマホ:   max-width: 480px
     - タブレット: max-width: 834px
     - ノートPC:  max-width: 1440px
   既存はデスクトップファーストなので、ここでは max-width を採用
   ========================================================= */

/* ---- ベース補助（既存デザインを崩さずに効く範囲） ---- */

/* 画像のはみ出し防止（全体適用してもPC見え方は変わりません） */
img { max-width: 100%; height: auto; }

/* 大きめタイポの流体化（上限値は既存と同等） */
.hero-text h1 { font-size: clamp(1.8rem, 5vw, 3rem); }
.hero-text p  { font-size: clamp(1rem, 3.5vw, 1.5rem); }
.top_50th_title { font-size: clamp(2rem, 8vw, 80px); }
.title_en        { font-size: clamp(2rem, 8vw, 64px); }

/* Slickスライドの固定値を緩和（比率指定） */
.slider-8 .slick-slide {
  width: min(80vw, 360px);
  aspect-ratio: 3 / 2;
  height: auto;
}
.slider-8 .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- ノートPC（～1440px）-------------------------------- */


/* ----  タブレット（～834px）------------------------------- */
@media (max-width: 834px) {
	.section_inner { 
		width: 90%;
	}
	.top_50th_dis {
		font-size: 20px;
	}
	.service-card { 
		width: calc(50% - 12px); 
	}
	.top_company_link {
		gap: 24px;
	}
	.card-content { 
		min-height: auto; 
	}
	.news-list {
		width: 100%;
		max-width: 700px;
		padding: 0 16px;
	}
	.contact-section {
		padding: 120px 40px;
	}
	.contact-card { 
		padding: 32px 40px; 
	}
	
 /* 事業内容ページ */
	.title {
		padding: 6rem 3rem 3rem;
		margin-bottom: 3rem;
	}
	.service-block {
		display: block;
	}
	.service-img img {
		width: 100%;
	}
	.service-content {
		width: auto;
	}
	
	/* 企業情報ページ */
	.overview-section dl {
		width: 90%;
	}
	.Group-section {
		padding: 50px 0 0;
	}
	
	.news-section {
		width: 100%;
		margin: 0;
	}
	.news_item {
		width: 100%;
	}
}

/* ----  スマホ（～480px）----------------------------------- */
@media (max-width: 480px) {
	
	section {
		margin: 0 auto;
	}
	.section_inner {
		width: auto;
		padding: 0 50px;
	}
	.hero-section { 
	  height: 70vh; 
	}
	.title_en {
		margin-top: 1rem;
	}
	.top_50th_dis {
		font-size: 16px;
		line-height: 30px;
	}
	.top_service::before {
		width: 90%;	
	}
	
	.top_service_list  {
		width: 90%;
		margin: auto;
	}

	.top_body_txt { 
	  line-height: 1.9;
	  margin: 1.5rem 0; 
	}
	.service-card {
		width: 100%;
	}
	
	.top_company {
		margin: 0 auto;
	}

	.news-list { 
		padding: 0 16px; 
	}
	.number {
		font-size: 20px; 
	}
	.btn-contact {
		padding: 10px 20px; 
	}
	
	/* 事業内容ページ */
	.title {
		padding: 6rem 3rem 1rem;
		margin-bottom: 0;
	}
	.title__image{
		display: none;
	}
	.sub_ttl {
		text-align: center;
	}
	.sub_ttl::after {
		display: none;
	}
	.service-section {
		padding: 10px 0;
	}
	.service-content {
		padding: 10px 0;
	}
	.service-img {
		display: none;
	}
	/* 企業情報ページ */
	.overview-section {
		margin: 2rem auto;
	}
	.overview-section dl {
		display: block;
	}
	.overview-section dt,.overview-section dd {
		width: 100%;
		padding: 20px;
	}
	.department-section {
		padding: 40px 0;
	}
	.dep-grid {
		display: block;
	}
	.dep-media img {
		height: 200px;
		margin-bottom: 2rem;
	}
	.group-list {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 98%;
	}
	.news-section {
		padding: 10px 0;
	}
	.pp__section {
		margin: 1rem auto;
	}
	.pp__h2 {
		font-size: 16px;
	} 
	.pp__section p {
		font-size: 14px;
	}
	.pp__address {
		width: 100%;
		margin: 2rem auto;
	}
	
}
