@charset "utf-8";
html{
	overflow-x: hidden;
	scroll-behavior: smooth;
}
/* ボディ設定*/
body {
	-webkit-text-size-adjust: none;
	font-family: 'Noto Sans JP', sans-serif;
 	font-size: 18px;
	line-height: 1.8em;
	color: #333333;
  	text-align:left;
  	margin: 0;
  	padding: 0;
	background-color: #fff;
}
h1,h2,h3,h4,h5,h6,p,ul,li,dl, dt, dd{
  	margin: 0;
  	padding: 0;
}
li img,dt img,dd img{
	vertical-align:bottom;
}
ol, ul {
	list-style:none;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align:middle;
	border:0px;
	transition: 1.0s ;
}
a:hover img{
  opacity: 0.7;
}
* {
	box-sizing: border-box;
}

/* リンクの色 */
a {
	COLOR: #007ad8;
	text-decoration: none;
}
a:link {
  color: #007ad8;
}
a:visited {
  color: #007ad8;
}
a:hover {
  color: #363c71;
}
a:active {
  color: #363c71;
}

/*Clearfix*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix {
	zoom: 1;
}
/*インデント*/
.txt-ind{
	padding-left: 1em;
	text-indent: -1em;
}

/*全体の枠
---------------------------------------------------------------------------*/
#wrapper{
	width:100%;
}
/*PC・スマホ切り替え*/
@media screen and (max-width: 576px) {
	.pc-only{display: none;}
}
@media screen and (min-width: 576px){
	.br-sp {display: none; }
	.sp-only{display: none;}
}
/*インナーボックス*/
.sec-box-inner{
	width: 1500px;
	margin: auto;
}
.sec-box-inner h2{
	font-size: 36px;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 40px;
}
.sub-p {
	text-align: center;
	margin-top: -20px;
	margin-bottom: 40px;
}

@media screen and (max-width: 1550px) {
	.sec-box-inner{
		width: 1440px;
	}
}
@media screen and (max-width: 1450px) {
	.sec-box-inner{
		width: 1110px;
	}
}
@media all and (max-width:1200px){
	.sec-box-inner{
		width: 930px;
	}
}
@media all and (max-width:992px){
	.sec-box-inner{
		width: 690px;
	}
}
@media all and (max-width:768px){
	.sec-box-inner{
		width: 510px;
	}
	.sec-box-inner h2{
		font-size: 24px;
	}
}
@media all and (max-width:576px){
	.sec-box-inner{
		width: 92%;
	}
}

/*セクションの色分け*/
.sec-top-minus{
	padding-top: 60px!important;
}
.sec-color-w{
	background-color: #fff;
	padding: 100px 0;
}
.sec-color-w-top{
	background-color: #fff;
	padding: 60px 0 0;
}
.sec-color-g{
	background-color: #f9fafb;
	padding: 100px 0;
}
.sec-color-b{
	background-color: #5c8efd;
	padding: 100px 0;
}
.sec-color-contact{
	background-color:#fff;
	background-image:url("../images/contact-bk.jpg");
	background-repeat:no-repeat;
	background-size:cover;      /* ←追加 */
	background-position:center; /* ←中央配置 */
	padding:100px 0;
}
@media all and (max-width:768px){
	.sec-color-w{
		padding: 60px 0;
	}
	.sec-color-w-top{
		padding: 60px 0 0;
	}
	.sec-color-g{
		padding: 60px 0;
	}
	.sec-color-b{
		padding: 60px 0;
	}
	.sec-color-contact{
		padding: 60px 0;
	}
}
/*h2に区切りを入れる*/
.title-kugiri {
  text-wrap: balance;
  line-height: 1.4;
}
	/* 改行制御 */
.title-kugiri .line-kugiri {
  display: inline-block;
}
	/* スマホで改行解除 */
@media (max-width: 768px) {
  .title-kugiri .line-kugiri {
    display: inline;
  }
}

/*スマホの時にフェードインをなくす　スライドの時の動き*/
@media (max-width: 768px){

  .no-fade-sp{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

}


/*ヘッダー　グローバルナビ
---------------------------------------------------------------------------*/
.header{
position:fixed;
top:0;
left:0;
width:100%;
height:100px;
z-index:7000;

background:#fff;
backdrop-filter:blur(10px);

transition:all .35s ease;
border-bottom:1px solid rgba(0,0,0,0.05);
}

/* スクロール */

.header.small{
height:80px;
background:#fff;
/*box-shadow:0 8px 30px rgba(0,0,0,0.08);*/
}

/* inner */

.header-inner{
max-width:1500px;
margin:auto;
height:100%;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 30px;
}

/* logo */

.header-logo img{
width:251px;
transition:.3s;
}

.header.small .header-logo img{
width:210px;
}

/* =====================
nav
===================== */

.header-nav-menu ul{
display:flex;
gap:2em;
list-style:none;
}

.header-nav-menu a{
font-size:16px;
font-weight:500;
color:#333;
text-decoration:none;
position:relative;
transition:.3s;
}

/* hover animation */

.header-nav-menu a::after{

content:"";
position:absolute;
left:0;
bottom:-6px;

width:0;
height:2px;

background:#007ad8;

transition:.35s;

}

.header-nav-menu a:hover::after{
width:100%;
}

/* =====================
CTA button
===================== */

.header-btn{

width:220px;
height:60px;

border-radius:12px;

background:linear-gradient(135deg,#007ad8,#0091ff);

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

text-decoration:none;

transition:.35s;

box-shadow:0 10px 25px rgba(0,122,216,0.25);

position:relative;
overflow:hidden;

}

/* 光アニメ */

.header-btn::before{

content:"";
position:absolute;

top:0;
left:-100%;

width:100%;
height:100%;

background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,0.6),
transparent
);

transition:.6s;

}

.header-btn:hover::before{
left:100%;
}

.header-btn:hover{

transform:translateY(-3px);

box-shadow:0 18px 35px rgba(0,122,216,0.35);

}

/* phone */

.header-btn-top{
color:#fff;
font-size:22px;
font-weight:bold;
display:flex;
align-items:center;
gap:8px;
}

/* time */

.header-btn-time{

margin-top:2px;
margin-bottom: 6px;

width:145px;
height:18px;

border-radius:9px;

background:#fff;

font-size:13px;
color:#007ad8;

display:flex;
align-items:center;
justify-content:center;

}

/*---マウスを載せると下に出る---*/
/* =====================
親メニュー
===================== */
.has-child{
  position:relative;
}

/* リンク本体（操作性UP） */
.header-nav-menu a{
  padding-bottom:6px;
  position:relative;
}

/* 青ライン */
.header-nav-menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px; /* ←文字に近づけた */

  width:0;
  height:2px;

  background:#007ad8;

  transition:.35s;
}

.header-nav-menu a:hover::after{
  width:100%;
}

/* =====================
サブメニュー
===================== */
.sub-menu{
  position:absolute;

  top:calc(100% - 3px); /* ←ズレ補正（重要） */
  left:0;

  background:#fff;
  min-width:150px;

  padding:5px 0; /* ←上下をコンパクトに */

  border-radius:10px;

  box-shadow:0 10px 30px rgba(0,0,0,0.08);

  opacity:0;
  visibility:hidden;

  transform:translateY(8px); /* ←少しだけふわっと */
  transition:.3s;
}

/* 子項目 */
.sub-menu li{
  list-style:none;
}

/* リンク */
.sub-menu a{
  display:block;
  padding:8px 20px; /* ←少しコンパクト */
  font-size:14px;
  color:#333;
  text-decoration:none;
  transition:.25s;
}

/* hover */
.sub-menu a:hover{
  background:#f5f9ff;
  color:#007ad8;
}

/* 表示 */
.has-child:hover .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


/*---アイコンを出す---*/
.header-nav-menu a{
  display:flex;
  align-items:center; /* ←これで上下中央 */
  gap:6px; /* 文字と矢印の間 */
}
/* 親ホバー時 */
.has-child:hover > a{
  color:#007ad8;
}

/* 矢印 */
.arrow{
  display:inline-block;
  margin-left:6px;
  width:6px;
  height:6px;
  border-right:2px solid #333;
  border-bottom:2px solid #333;
  transform:rotate(45deg);
  transition:.3s;
}

.has-child:hover .arrow{
  transform:rotate(225deg);
}


/* =====================
hamburger
===================== */
.hamburger{

display:none;

position:fixed;
top:13px;
right:20px;

width:44px;
height:44px;

background:#fff;
border-radius:50%;

justify-content:center;
align-items:center;
flex-direction:column;
gap:6px;

z-index:99999;

box-shadow:0 3px 3px rgba(0,0,0,0.1);

}
.hamburger span{
width:28px;
height:2px;
background:#007ad8;
transition:.35s;
}

/* animation */
.hamburger.active span:nth-child(1){
transform:translateY(8px) rotate(45deg);
}

.hamburger.active span:nth-child(2){
	transform:scaleX(0);
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:translateY(-8px) rotate(-45deg);
}

/* =====================
drawer
===================== */

.drawer{

position:fixed;
top:0;
right:-80%;

width:80%;
height:100vh;   /* 画面高さにする */

background:rgba(255,255,255,1);
backdrop-filter:blur(14px);

z-index:10000;

transition:.5s ease;

padding:90px 35px;

overflow-y:auto;   /* ←これで縦スクロール */

-webkit-overflow-scrolling:touch; /* iPhone用 */

}

.drawer.open{
right:0;
}

/* menu */

.drawer-menu ul{
list-style:none;
}

.drawer-menu li{
border-bottom:1px solid #e5e5e5;
}

.drawer-menu a{
display:block;
padding:8px 0;
font-size:16px;
color:#333;
text-decoration:none;
opacity:0;
transform:translateX(25px);
}

/* animation */

.drawer.open li:nth-child(1) a{animation:menu .45s .1s forwards}
.drawer.open li:nth-child(2) a{animation:menu .45s .2s forwards}
.drawer.open li:nth-child(3) a{animation:menu .45s .3s forwards}
.drawer.open li:nth-child(4) a{animation:menu .45s .4s forwards}
.drawer.open li:nth-child(5) a{animation:menu .45s .5s forwards}
.drawer.open li:nth-child(6) a{animation:menu .45s .6s forwards}
.drawer.open li:nth-child(7) a{animation:menu .45s .7s forwards}
.drawer.open li:nth-child(8) a{animation:menu .45s .8s forwards}
.drawer.open li:nth-child(9) a{animation:menu .45s .9s forwards}

@keyframes menu{

to{

opacity:1;
transform:translateX(0);

}

}

/* =====================
overlay
===================== */

.drawer-overlay{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.35);

opacity:0;
visibility:hidden;

transition:.35s;

z-index:9000;

}

.drawer-overlay.open{

opacity:1;
visibility:visible;

}


/* =====================
responsive
===================== */

@media(max-width:1100px){

.header{
height:70px;
}

.header.small{
height:68px;   /* スクロールで10px小さく */
}

body{
padding-top:70px;
}

.header.small .header-logo img{
width:150px;  /* ロゴも少し縮小 */
}

.header-inner{
height:70px;
}

.header-logo img{
width:170px;
}

.header-nav-menu{
display:none;
}

.header-buttons{
display:none;
}
.hamburger{
display:flex;
}
.header-inner .hamburger{
display:flex;
flex-direction:column;
gap:6px;
cursor:pointer;

position:fixed;   /* ←変更 */
top:12px;         /* スマホヘッダー高さ調整 */
right:20px;

z-index:20000;    /* drawerより上 */
}

.drawer-logo img{
width:170px;
}

.drawer-btn{
margin:20px 0 40px;
display:flex;
justify-content:flex-start;
}

.drawer-btn .header-btn{
display:flex;
width:220px;
height:60px;
opacity:1;
visibility:visible;
	box-shadow:none;
	left: -20px;
	
}
.drawer{
padding:60px 35px;
}
}


/*メイン画像　スライド
---------------------------------------------------------------------------*/
.mv-box{
	width:100%;
	height:840px;
	margin-top:100px;
	position:relative;
	overflow:hidden;
}

/* スライド */
.mv-box-inner{
	width:100%;
	height:100%;
	position:relative;
}

.mv-slide{
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	list-style:none;
	position:relative;
}

.mv-slide li{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	animation:mvFade 25s infinite;
}

.mv-slide li:first-child{
	opacity:1;
}

.mv-slide li:nth-child(1){animation-delay:0s;}
.mv-slide li:nth-child(2){animation-delay:5s;}
.mv-slide li:nth-child(3){animation-delay:10s;}
.mv-slide li:nth-child(4){animation-delay:15s;}
.mv-slide li:nth-child(5){animation-delay:20s;}

.mv-slide img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
}

/* フェード */
@keyframes mvFade{
	0%{opacity:0;}
	5%{opacity:1;}
	20%{opacity:1;}
	25%{opacity:0;}
	100%{opacity:0;}
}

/* 左側黒30% */
.mv-box-inner::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:50%;
	height:100%;
	background:rgba(0,0,0,0.3);
	z-index:1;
}

/* テキスト */
.mv-box-text{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	z-index:2;
}
.mv-text-inner{
	max-width:1500px;
	width:100%;
	margin:auto;
	padding:0 10px;
	text-align:left;
}

/* タイトル */
.mv-box-text h2{
	color:#fff;
	font-size:60px;
	line-height:1.3;
	margin-bottom:30px;
}

/* 文章 */

.mv-box-text p{
	color:#fff;
	font-size:20px;
	line-height:33px;
	margin-bottom:40px;
}

/* ボタン */
.btn-01{
	display:flex;
	align-items:center;
	justify-content:center;
	width:260px;
	height:60px;
	background:#007ad8;
	border-radius:10px;
	color:#fff;
	font-size:18px;
	text-decoration:none;
	transition:.3s;
}

.btn-01,
.btn-01:link,
.btn-01:visited{
	color:#fff;
}

/* hover */

.btn-01:hover{
	background:#0067b8;
	transform:translateY(-3px);
	box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

.btn-01:active{
	transform:translateY(0);
	box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

.btn-wrap-center .btn-01{
	margin:50px auto 0;
}





/* =========================
レスポンシブ
========================= */

@media(max-width:1100px){
.mv-box{
	margin-top:0px;
}
.mv-box-inner::before{
	width:100%;
}

.mv-text-inner{
	text-align:center;
}

.btn-01{
	margin:0 auto;
}

}

@media(max-width:768px){

.mv-box{
	height:600px;
	margin-top:0px;
}

.mv-box-text h2{
	font-size:34px;
}

.mv-box-text p{
	font-size:16px;
	line-height:26px;
}

}


/*ページトップ
---------------------------------------------------------------------------*/
#scrollToTopBtn {
    position: fixed;
    bottom: 80px;
    right: 20px;
    display: none; /* 初期状態では非表示 */
    border: none;
    padding: 0px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 18px;
    z-index: 1010;
  transition: all .3s ease;
}
#scrollToTopBtn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}

/*CTA
---------------------------------------------------------------------------*/
.cta-container {
    display: none;
}
/*690以下 510*/
@media all and (max-width:768px){
    .cta-container {
        display: flex;
        justify-content: space-around;
        text-align: center;
        padding: 1px;
        background-color: #f9f9f9;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
		z-index: 1000;
    }
    .cta-container a{
        color: #fff;
    }
    .cta-button {
        background-color: #ff7900;
        color: white;
        border: none;
        padding: 10px 10px;
        margin: 5px;
        font-size: 16px;
        cursor: pointer;
        border-radius: 5px;
        width: 92%;
        max-width: 300px;
    }
    .cta-button:hover {
        background-color: #ff7900;
    }
}
/*510以下 92%*/
@media all and (max-width:576px){
}

/*パンくず
---------------------------------------------------------------------------*/
.pankuzu-line{
	width: 100%;
	margin:0 auto;
}
.pankuzu{
	padding: 15px;
	text-align: left;
	margin: 0px auto;
	font-size: 13px;
}
.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: normal;/*太字*/
}

.breadcrumb li:after {/* >を表示*/
  content: '＞';
  padding: 0 0.2em;
  color: #666666;
}
.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #666666;/*色*/
}

.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.pankuzu-home{
	margin-left: 5px;
}
@media screen and (max-width: 768px) {
	.pankuzu{
		padding: 3px 15px;
		font-size: 12px;
	}
}



/*　フッター
---------------------------------------------------------------------------*/
/* =========================
お問い合わせボックス
========================= */

.top-contact-box{
	width:100%;
	background:#fff;
	border-radius:10px;
	padding:80px 20px;
	text-align:center;
}

/* タイトル */
.top-contact-box h2{
	font-size:36px;
	font-weight:bold;
	margin-bottom:24px;
}

/* 説明文 */
.top-contact-text{
	font-size:24px;
	margin-bottom:30px;
}

/* 電話 */
.top-contact-tel{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:12px;
	font-size:60px;
	font-weight:bold;
	color:#007ad8;
	margin-bottom:24px;
}
.top-contact-tel a{
color:#007ad8;
font-weight:bold;
text-decoration:none;
}
/* 電話アイコン */
.top-contact-tel i{
	font-size:48px;
}

/* 営業時間 */
.top-contact-hours{
	font-size:18px;
	margin-bottom:40px;
}

/* ボタン */
.btn-02{
display:flex;
justify-content:center;
align-items:center;

width:260px;
height:60px;

margin:0 auto;

background:#007ad8;

border-radius:10px;

color:#fff;          /* ←追加 */

font-size:18px;

text-decoration:none;

transition:.3s;
}
.btn-02{
color:#fff !important;
}
.btn-02:link,
.btn-02:visited,
.btn-02:hover,
.btn-02:active{
color:#fff;
}
/* hover */
.btn-02:hover{
	background:#0064b1;
}
@media(max-width:768px){
	.top-contact-box{
	padding:60px 20px;
	}
	.top-contact-box h2{
	font-size:26px;
	}
	.top-contact-text{
	font-size:18px;
	}
	.top-contact-tel{
	font-size:36px;
	}
	.top-contact-tel i{
	font-size:28px;
	}
}


/* =========================
フッター
========================= */

.fooder_box{
	width:100%;
	display:flex;
	padding:0px;
	box-sizing:border-box;
}

/* =========================
左側 company
========================= */

.footer-company{
	width:50%;
}
.footer-company img{
	max-width:200px;
}
/* 住所 */
.footer-info{
	margin-top:40px;
}
.footer-info p{
	margin-bottom:6px;
	font-size:15px;
}
/* instagram */
.top-instagram{
	margin-top:30px;
}
.top-instagram img{
	width:42px;
	height:42px;
}

/* =========================
右側 menu
========================= */
.footer-menu{
	width:50%;
	display:flex;
	gap:40px;
	border:1px solid #3c5a9a;
	background:#fafafa;
	border-radius:10px;
	padding:30px;
	box-sizing:border-box;
}
/* ul */
.footer-menu ul{
	list-style:none;
	width:50%;
}
/* li */
.footer-menu li{
	width:100%;
	border-bottom:1px solid #ccc;
}
/* link */
.footer-menu a{
	display:block;
	width:100%;
	height:40px;
	line-height:40px;
	padding-left:10px;
	text-decoration:none;
	color:#333;
}
/* hover */
.footer-menu a:hover{
	background:#f0f4ff;
}
@media(max-width:768px){

	.fooder_box{
	flex-direction:column;
	gap:40px;
	}

	/* 両方100% */

	.footer-company{
	width:100%;
	}

	.footer-menu{
	width:100%;
	flex-direction:column;
	gap:0;   /* ←ここを変更 */
	padding:20px;
	}

	/* ul */

	.footer-menu ul{
	width:100%;
	margin:0;  /* ←追加 */
	padding:0; /* ←追加 */
	}
	.footer-menu ul + ul{
	margin-top:0;
	}
}
/* -------------------------------
   コピーライト
---------------------------------*/
.copy_right_box{
	width: 100%;
	text-align: center;
	color: #ffffff;
	background-color: #363c71;
	padding: 20px 0 100px;
	font-size: 14px;
}



/*トップページ
---------------------------------------------------------------------------*/
/* -----------------------
   2段組み 共通レイアウト
　　画像とテキストを逆にする場合
　　<div class="nidangumi-box reverse">
----------------------- */
.nidangumi-box{
	width:100%;
	display:flex;
	gap:40px;
	align-items:center;
}

.nidangumi-box.reverse{
	flex-direction:row-reverse;
}

/* 画像 */

.nidangumi-box-photo{
	flex:0 0 48%;
	max-width:726px;
	min-width:420px;
	border-radius:10px;
	overflow:hidden;
}

.nidangumi-box-photo img{
	width:100%;
	display:block;
	border-radius:10px;
	transition:.4s;
}

.nidangumi-box-photo:hover img{
	transform:scale(1.05);
}

/* テキスト */

.nidangumi-box-text{
	flex:1;
}
.nidangumi-box-text h1{
	font-size:36px;
	margin-bottom:30px;
	text-align: left;
}

.nidangumi-box-text h2{
	font-size:36px;
	margin-bottom:30px;
	text-align: left;
}

.nidangumi-box-text p{
	font-size:18px;
	margin-bottom:30px;
	line-height:1.8;
}
@media(max-width:1100px){

.nidangumi-box-photo{
	flex:0 0 45%;
}
.nidangumi-box-text h1{
	font-size:32px;
}
.nidangumi-box-text h2{
	font-size:32px;
}

}
@media all and (max-width:992px){

.nidangumi-box-photo{
	flex:0 0 46%;
	min-width:0;
}

}
@media all and (max-width:768px){

.nidangumi-box{
	flex-direction:column;
}

.nidangumi-box.reverse{
	flex-direction:column;
}

.nidangumi-box-photo{
	width:100%;
	max-width:none;
}
.nidangumi-box-text h1{
	font-size:26px;
}
.nidangumi-box-text h2{
	font-size:26px;
}


}


/* -----------------------
ニュースカード 投稿に使う
共有
----------------------- */

.sandan-news-box{
	width:100%;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}

.sandan-news-card{
	background:#fff;
	border-radius:10px;
	box-shadow:0 10px 25px rgba(0,0,0,0.08);
	overflow:hidden;
	transition:.35s;
}

.sandan-news-card a{
	display:block;
	color:inherit;
	text-decoration:none;
}

/* hover */

.sandan-news-card:hover{
	transform:translateY(-6px);
	box-shadow:0 18px 40px rgba(0,0,0,0.15);
}

/* 画像 */

.sandan-news-thumb{
	height:300px;
	overflow:hidden;
}

.sandan-news-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:.5s;
}

.sandan-news-card:hover img{
	transform:scale(1.05);
}

/* 本文 */

.sandan-news-body{
	padding:28px 20px 26px;
}

/* 日付＋カテゴリ */

.sandan-news-nidan{
	display:flex;
	align-items:center;
	gap:16px;
	margin-bottom:14px;
	flex-wrap:wrap;
}

.sandan-news-date{
	font-size:16px;
	white-space:nowrap;
}

/* カテゴリ */

.sandan-news-category{
	width:160px;
	height:32px;
	background:#363c71;
	border-radius:16px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-size:14px;
}

/* タイトル */

.sandan-news-title{
	font-size:18px;
	line-height:1.6;
}
/* タブレット */

@media(max-width:1110px){

.sandan-news-box{
	grid-template-columns:repeat(2,1fr);
}

.sandan-news-thumb{
	height:240px;
}

}

/* スマホ */

@media(max-width:768px){

.sandan-news-box{
	display:flex;
	overflow-x:auto;
	gap:20px;
	padding-left:20px;
	scroll-snap-type:x mandatory;
}

.sandan-news-card{
	flex:0 0 80%;
	scroll-snap-align:start;
}

.sandan-news-thumb{
	height:220px;
}

.sandan-news-title{
	font-size:16px;
}

}

/*スマホの時に縦並びに変更する　<div class="sandan-news-box sp-vertical">*/
@media(max-width:768px){

/* デフォルト（横スクロール） */
.sandan-news-box{
	display:flex;
	overflow-x:auto;
	gap:20px;
	padding-left:20px;
	scroll-snap-type:x mandatory;
}

.sandan-news-card{
	flex:0 0 80%;
	scroll-snap-align:start;
}

/* 👇これ追加（縦並び用） */
.sandan-news-box.sp-vertical{
	display:grid;
	grid-template-columns:1fr;
	overflow:visible;
	padding-left:0;
}

.sandan-news-box.sp-vertical .sandan-news-card{
	flex:none;
}

}



/* -----------------------
強みボタン
びけんの強みと事業
----------------------- */

.sandan-tsuyomi-box{
	width:100%;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}

.sandan-tsuyomi-card{
	width:100%;
}

/* ボタン */

.sandan-tsuyomi-btn{
	width:100%;
	max-width:480px;
	height:320px;
	position:relative;
	border-radius:10px;
	overflow:hidden;
}

.sandan-tsuyomi-btn a{
	display:block;
	width:100%;
	height:100%;
}

.sandan-tsuyomi-btn img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:.5s;
	border-radius:10px;
}

/* hover */

.sandan-tsuyomi-btn:hover img{
	transform:scale(1.05);
}

/* タイトル帯 */

.sandan-tsuyomi-title{
	position:absolute;
	left:0;
	bottom:0px;
	width:100%;
	height:80px;
	background:rgba(0,122,216,0.8);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	color:#fff;
	text-align:center;
}

.sandan-tsuyomi-title h3{
	font-size:24px;
}

.sandan-tsuyomi-title p{
	font-size:14px;
	margin-top:0px;
}

/* テキスト */

.sandan-tsuyomi-text{
	margin-top:10px;
	padding:0 26px;
	text-align:left;
	line-height:1.8;
}

/* タブレット */

@media(max-width:1110px){

.sandan-tsuyomi-box{
	grid-template-columns:repeat(2,1fr);
}

}

/* スマホ */

@media(max-width:768px){

.sandan-tsuyomi-box{
	grid-template-columns:1fr;
	gap:30px;
}

.sandan-tsuyomi-btn{
	height:260px;
}

.sandan-tsuyomi-title{
	height:70px;
}

.sandan-tsuyomi-title h3{
	font-size:20px;
}

}

/* -----------------------
リクルート
ボタン
----------------------- */
.btn-03{
	display:flex;
	align-items:center;
	justify-content:center;
	width:260px;
	height:60px;
	background:#ff6400;
	border-radius:10px;
	color:#fff;
	font-size:18px;
	text-decoration:none;
	transition:.3s;
}

.btn-03,
.btn-03:link,
.btn-03:visited{
	color:#fff;
}

/* hover */

.btn-03:hover{
	background:#ff6400;
	transform:translateY(-3px);
	box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

.btn-03:active{
	transform:translateY(0);
	box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

/* =========================
レスポンシブ
========================= */

@media(max-width:1100px){
	.btn-03{
		margin:0 auto;
	}
}

/* -----------------------
リクルート
二段テキスト
----------------------- */
.top-recruit-text{
	color: #fff;
}
.top-recruit-text h2{
	font-size: 50px;
	color: #fff!important;
}
.top-recruit-text span{
	color: #ffff00;
}
@media(max-width:1400px){
	.br-rec{
		display: none;
	}
}
@media(max-width:1100px){
	.top-recruit-text h2{
		font-size:32px;
	}
}
@media all and (max-width:768px){
	.top-recruit-text h2{
		font-size:26px;
	}
}



/*　サブタイトル
---------------------------------------------------------------------------*/
.sub-title{
	margin: 100px 0 0;
	width:100%;
	height:380px;
	position:relative;
	overflow:hidden;
}

/* 背景画像 */

.sub-title-photo{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}

.sub-title-photo img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* 中央配置 */

.sub-title-inner{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

/* タイトル */

.sub-title-text{
	width:600px;
	height:80px;
	background:rgba(0,122,216,0.7);
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-size:48px;
}
@media(max-width:1100px){
	.sub-title{
		margin-top: 0px;
		height:240px;
	}
	.sub-title-text{
		width:80vw;
		height:60px;
		font-size:28px;
	}
}


/* -----------------------
サブタイトル説明
----------------------- */
.sub-top-text{
	width:100%;
	background:#007ad8;
	border-radius:10px;
	padding:24px;
	display:flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
}

.sub-top-text p{
	color:#fff;
	text-align:left;
	line-height:1.8;
	max-width:900px;
	margin:0;
}
.sub-top-text a{
	color:#ffcd00;
}

@media(max-width:768px){

.sub-top-text{
	padding:20px;
}

.sub-top-text p{
	line-height:1.7;
}

}





/*　選ばれる理由
---------------------------------------------------------------------------*/
.nidangumi-box-reason{
	width:100%;
	display:flex;
	align-items:flex-start;
	margin-bottom: 30px;
}

.nidangumi-box-no{
	font-size:138px;
	font-weight:900;
	color:#b2b2b2;
	margin-right:30px;
	line-height:0.7;
}

.nidangumi-box-reason h2{
	font-size:36px;
	color:#363c71;
	line-height:1.4;
	margin:0;
	padding: 10px 0px 10px 30px;
	border-left:1px solid #b2b2b2;
}
@media(max-width:1200px){
	.nidangumi-box-no{
		font-size:100px;
		margin-right:10px;
		line-height:0.8;
	}
	.nidangumi-box-reason h2{
		font-size:30px;
		padding: 0px 0px 0px 10px;
	}
}

@media(max-width:768px){
	.nidangumi-box-no{
		font-size:70px;
		margin-right:10px;
		line-height:1;
	}
	.nidangumi-box-reason h2{
		font-size:26px;
		padding: 0px 0px 0px 10px;
	}
}

/*　事業内容
---------------------------------------------------------------------------*/
.service-omona {
  width: 100%;
  max-width: 1200px;   /* ← 追加 */
  margin: 100px auto 0; /* ← 中央寄せ */
  border: 1px solid #b2b2b2;
  border-radius: 10px;
  padding: 30px 40px;
  box-sizing: border-box;
}

/* タイトル */
.service-omona h3 {
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 30px;
}

.service-omona h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #007ad8;
}

/* リスト */
.service-omona-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* 2列 */
.service-omona-list li {
  width: calc((100% - 40px) / 2);
  position: relative;
  padding-left: 1em;
  line-height: 1;
  margin-bottom: 0px;
  word-break: break-word;
}

/* 「・」 */
.service-omona-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .service-omona {
    padding: 25px 20px;
  }

  .service-omona-list {
    gap: 15px;
  }

  .service-omona-list li {
    width: 100%;
  }

}

/* -----------------------
   テキストブロック
----------------------- */

.nidangumi-box-text {
  width: 100%;
  box-sizing: border-box;
}

/* 見出し */
.nidangumi-box-text h2 {
  font-size: 36px;
  color: #363c71;
  margin-bottom: 24px;
  line-height: 1.4;
}

/* 本文 */
.nidangumi-box-text p {
  margin-bottom: 24px;
  line-height: 1.6;
}

/* -----------------------
   service-text
----------------------- */

.service-text {
  border: 1px solid #007ad8;
  border-radius: 10px;
  background: #fff;
  padding: 16px 40px;
  text-align: left;
  box-sizing: border-box;
}

/* 小見出し */
.service-text h3 {
  font-size: 22px;
  color: #007ad8;
  margin-bottom: 10px;
  font-weight: 600;
}

/* リスト */
.service-text ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.service-text li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
  line-height: 1.5;
}

/* 「・」 */
.service-text li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* 最後の余白調整 */
.service-text li:last-child {
  margin-bottom: 0;
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .nidangumi-box-text h2 {
    font-size: 28px;
  }

  .service-text {
    padding: 16px 20px;
  }

  .service-text h3 {
    font-size: 18px;
  }
	.service-text li {
	}
}


/* -----------------------
   Q&A
----------------------- */

.qanda-box {
  width: 100%;
}

/* 各アイテム */
.qanda-box-list {
  margin-bottom: 15px;
}

/* 質問 */
.qanda-box-q {
  width: 100%;
  height: 60px;
  background: #007ad8;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  cursor: pointer;
  box-sizing: border-box;
  border-radius: 6px;
  font-weight: 500;
  transition: .3s;
}

.qanda-box-q:hover {
  opacity: 0.9;
}

/* テキスト */
.q-text {
  width: calc(100% - 40px);
}

/* ＋アイコン */
.q-icon {
  position: relative;
  width: 18px;
  height: 18px;
}

.q-icon::before,
.q-icon::after {
  content: "";
  position: absolute;
  background: #fff;
  transition: .3s;
}

/* 横線 */
.q-icon::before {
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* 縦線（＋） */
.q-icon::after {
  width: 2px;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

/* 開いた時（－になる） */
.qanda-box-list.active .q-icon::after {
  transform: translateX(-50%) scaleY(0);
}

/* 回答 */
.qanda-box-a {
  max-height: 0;
  overflow: hidden;
  background: #f9f9f9;
  transition: max-height .4s ease, padding .3s;
  border-radius: 0 0 6px 6px;
}

/* 中身 */
.qanda-box-a p {
  margin: 0;
  line-height: 1.7;
}

/* 開いた状態 */
.qanda-box-list.active .qanda-box-a {
  max-height: 500px;
  padding: 20px;
  border-radius: 6px 6px 0 0;
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .qanda-box-q {
    height: auto;
    padding: 15px;
  }

  .q-text {
    width: calc(100% - 30px);
  }

}


/* -----------------------
   施工の流れ　フロー
----------------------- */

.flow-sekou-box {
  width: 100%;
  max-width: 1000px;
	padding-top: 50px;
  margin: 0 auto;
}

.flow-sekou-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

/* 縦ライン */
.flow-sekou-box ul::before {
  content: "";
  position: absolute;
  left: 25px;
  top: 0;
  width: 2px;
  height: 100%;
  background: #ddd;
}

/* 各ステップ */
.flow-sekou-box li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
  position: relative;

  opacity: 0;
  transform: translateY(20px);
  transition: .6s ease;
}

/* 表示時 */
.flow-sekou-box li.show {
  opacity: 1;
  transform: translateY(0);
}

/* 番号 */
.flow-num {
  width: 50px;
  height: 50px;
  background: #363c71;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 50px;
  font-weight: bold;
  font-size: 18px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

/* コンテンツ */
.flow-content {
  margin-left: 20px;
  background: #fff;
  padding: 20px 25px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  width: 100%;
  box-sizing: border-box;
}

/* タイトル */
.flow-content h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

/* テキスト */
.flow-content p {
  margin: 0;
  line-height: 1.6;
}

/* 最後の余白 */
.flow-sekou-box li:last-child {
  margin-bottom: 0;
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .flow-sekou-box ul::before {
    left: 20px;
  }

  .flow-num {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
  }

  .flow-content {
    margin-left: 15px;
    padding: 15px;
  }

  .flow-content h3 {
    font-size: 18px;
  }

}


/*　会社概要
---------------------------------------------------------------------------*/
/* -----------------------
   代表挨拶
----------------------- */

.company-aisatsu-box {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 90px;
}

/* -----------------------
   写真
----------------------- */

.company-aisatsu-photo {
  width: 340px;
  flex-shrink: 0;
}

.company-aisatsu-photo img {
  width: 340px;
  height: 340px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

/* -----------------------
   テキスト
----------------------- */

.company-aisatsu-text {
  flex: 1;
}

.company-aisatsu-text p {
  line-height: 1.9;
  margin-bottom: 20px;
}

/* 署名 */
.company-aisatsu-daihyo {
  border-top: 1px solid #ddd;
  padding-top: 15px;
  margin-top: 30px;
  line-height: 1.8;
  font-weight: 500;

  margin-left: auto;   /* ← 右側に寄せる */
  text-align: left;    /* ← 中は左揃え */
  display: inline-block; /* ← 幅を内容に合わせる（重要） */
}

.company-aisatsu-daihyo span{
  font-size: 1.2em;
}
/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .company-aisatsu-box {
    flex-direction: column;
    gap: 30px;
    align-items: center;
  }

  .company-aisatsu-photo {
    width: 220px;
  }

  .company-aisatsu-photo img {
    width: 220px;
    height: 220px;
  }

  .company-aisatsu-text {
    width: 100%;
  }
}



/* -----------------------
   会社概要 teble
----------------------- */

.company-table-box {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.company-table-box p{
  margin: 0 auto 50px;
}
/* テーブル全体 */
.company-table-box table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

/* 行 */
.company-table-box tr {
  border-bottom: 1px solid #e5e5e5;
}

/* 見出し */
.company-table-box th {
  width: 28%;
  background: #f1f5fb;
  color: #333;
  text-align: left;
  padding: 18px 20px;
  font-weight: 600;
  vertical-align: top;
  border-right: 1px solid #e5e5e5;
}

/* 内容 */
.company-table-box td {
  width: 72%;
  padding: 18px 20px;
  line-height: 1.7;
}

/* リンク風（URL） */
.company-table-box td a {
  color: #007ad8;
  text-decoration: underline;
}

/* 最後の行 */
.company-table-box tr:last-child {
  border-bottom: none;
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .company-table-box table,
  .company-table-box tbody,
  .company-table-box tr,
  .company-table-box th,
  .company-table-box td {
    display: block;
    width: 100%;
  }

  .company-table-box tr {
    margin-bottom: 15px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
  }

  .company-table-box th {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #e5e5e5;
    background: #f1f5fb;
    padding: 12px 15px;
  }

  .company-table-box td {
    padding: 12px 15px;
  }

}
.acc-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.8;
}

.acc-item i {
  color: #007ad8;
  font-size: 18px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* -----------------------
   アクセス
----------------------- */

.company-acc-box,
.company-acc-text {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* -----------------------
   MAP
----------------------- */

.company-acc-box {
  margin-top: 80px;
}

.company-acc-box iframe {
  width: 100%;
  height: 500px;
  border: 0;
  border-radius: 12px;
  display: block;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* -----------------------
   テキスト
----------------------- */

.company-acc-text {
  margin-top: 30px;
  background: #fff;
  border-radius: 10px;
  padding: 25px 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  position: relative;
}

/* 左アクセントライン */
.company-acc-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 4px;
  height: calc(100% - 40px);
  background: #007ad8;
  border-radius: 2px;
}

/* テキスト */
.company-acc-text p {
  margin: 0;
  line-height: 1.8;
  padding-left: 15px;
}

/* 箇条書き風 */
.company-acc-text p br + text {
  margin-top: 5px;
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .company-acc-box {
    margin-top: 50px;
  }

  .company-acc-box iframe {
    height: 300px;
    border-radius: 8px;
  }

  .company-acc-text {
    padding: 20px;
  }

  .company-acc-text::before {
    top: 15px;
    height: calc(100% - 30px);
  }

}




   
/*　スタッフ一覧
---------------------------------------------------------------------------*/
.staff-box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

/* カード */
.staff-kojin {
  width: calc((100% - 40px) / 2);
  max-width: 520px;
  background: #fff;
  border-radius: 14px;
  padding: 25px 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  transition: .3s;
  text-align: center;
  border: 1px solid #eee;
}

/* ホバー */
.staff-kojin:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 40px rgba(0,0,0,0.1);
}

/* -----------------------
   写真
----------------------- */

.staff-kojin img {
  width: 240px;
  height: 325px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  margin: 0 auto 20px;
  border: 3px solid #f5f7fb;
}

/* -----------------------
   名前
----------------------- */

.staff-kojin > p:first-of-type {
  font-size: 24px;
  font-weight: 600;
  color: #363c71;
  margin-bottom: 15px;
}

/* -----------------------
   見出し
----------------------- */

.staff-kojin h4 {
  font-size: 13px;
  color: #007ad8;
  margin-top: 15px;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
}

/* -----------------------
   テキスト
----------------------- */

.staff-kojin p {
  margin: 0 0 10px;
  line-height: 1.6;
  color: #333;
  font-size: 16px;
}

/* 区切り */
.staff-kojin h4 {
  position: relative;
  padding-top: 10px;
}

.staff-kojin h4::before {
  content: "";
  width: 30px;
  height: 2px;
  background: #ccc;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .staff-box {
    gap: 25px;
  }

  .staff-kojin {
    width: 100%;
    padding: 20px 15px;
  }

  .staff-kojin img {
    width: 200px;
    height: 270px;
  }

}



   
/*　福利厚生・特徴
---------------------------------------------------------------------------*/
.fukuri-box {
  width: 100%;
  margin-top: 30px;
  text-align: center;
}

/* リスト */
.fukuri-box ul {
  display: inline-block;
  text-align: left;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

/* 各項目 */
.fukuri-box li {
  font-size: 28px;
  color: #363c71;
  line-height: 49px;
  position: relative;
  padding-left: 40px;
  letter-spacing: 0.05em;
}

/* チェックアイコン風 */
.fukuri-box li::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #007ad8;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* ワンポイント装飾 */
.fukuri-box li::after {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
}

/* -----------------------
   スマホ
----------------------- */

@media (max-width: 768px) {

  .fukuri-box li {
    font-size: 18px;
    line-height: 32px;
    padding-left: 30px;
  }

  .fukuri-box li::before {
    width: 14px;
    height: 14px;
  }

  .fukuri-box li::after {
    left: 5px;
    width: 5px;
    height: 5px;
  }

}


/* -----------------------
   社員インタビュー
----------------------- */

.work-story-box {
  max-width: 1200px;
  margin: 0 auto 50px;
  display: flex;
  align-items: center;
  gap: 50px;
}

/* -----------------------
   写真
----------------------- */

.work-story-photo {
  flex-shrink: 0;
}

.work-story-photo img {
  width: 260px;
  height: 344px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

/* -----------------------
   テキスト
----------------------- */

.work-story-text {
  flex: 1;
}

/* 名前 */
.work-story-text h3 {
  font-size: 32px;
  font-weight: 700;
  color: #363c71;
  line-height: 1.4;
}

/* 入社年 */
.work-story-text h3 span {
  font-size: 18px;
  font-weight: 400;
  margin-left: 10px;
  color: #666;
}

/* 下線 */
.work-story-text h3::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #333;
  margin-top: 30px;
}

/* 本文 */
.work-story-text p {
  margin-top: 30px;
  line-height: 1.9;
  color: #333;
  font-size: 15px;
}

/* -----------------------
   スマホ最適化（改善版）
----------------------- */

@media (max-width: 768px) {

  .work-story-box {
    display: block;
    margin-bottom: 40px;
  }

  /* 上部：画像＋名前横並び */
  .work-story-text {
    display: block;
  }

  .work-story-photo {
    float: left;
    margin-right: 15px;
  }

  .work-story-photo img {
    width: 140px;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
  }

  /* 名前 */
  .work-story-text h3 {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 10px;
  }

  .work-story-text h3 span {
    display: block;
    font-size: 13px;
    margin-left: 0;
  }

  /* 下線 */
  .work-story-text h3::after {
    margin-top: 10px;
  }

  /* 本文 */
  .work-story-text p {
    clear: both;
    margin-top: 20px;
    font-size: 18px;
    line-height: 1.7;
  }

}


/* -----------------------
   エントリーフォーム
----------------------- */
.form-kome-box{
	color: #bf0039;
	text-align: center;
	margin-top: 20px;
}

/* お問い合わせ
---------------------------------------------------------------------------*/
.pt05-soushin-bo .btn-01{
    display: flex;                  /* フレックス化 */
    justify-content: center;        /* 横中央 */
    align-items: center;            /* 縦中央 */
    width: 100%;                    /* 幅100% */
    max-width: 300px;               /* 最大幅 */
    margin: 20px auto 0;            /* 上20px、左右中央 */
    text-align: center;             /* 念のため中央揃え */
    height: 54px;                   /* 高さを固定すると縦中央が確実 */
}
.hissu-txt{
	color: #bf0039;
}
.contact-tel h4{
	font-size: 52px;
}
.contact-tel span{
	font-size: 34px;
}

@media (max-width: 1200px) {
	.contact-tel h4{
		font-size: 30px;
	}
	.contact-tel span{
		font-size: 20px;
	}
}
@media (max-width:768px){
	.contact-tel h4{
		font-size: 34px;
	}
	.contact-tel span{
		font-size: 22px;
	}
}

.contact-eigyo{
	margin-top: 40px;
}
.sec-box-inner .contact-box .contact-tel .contact-eigyo p{
	padding: 0;
	margin: 0 0 10px;
}
.contact-eigyo span{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  color:#fff;
  background:#1f3a5f;

  padding:4px 12px;
  min-width:80px;

  font-size:14px;
  font-weight:700;
  line-height:1;

  box-sizing:border-box;
	margin-right: 10px;
}

/* --- 全体2カラム --- */
.contact-box{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap:50px;
  box-sizing:border-box;
}
.contact-box h2{
	font-size: 36px;
	text-align: left;
	margin-bottom: 30px;
}
.contact-tel{
  flex:1;
  border:1px solid #cccccc;
  border-radius:10px;
  padding:50px;
  text-align:left;
  box-sizing:border-box;
}
.contact-mail{
  flex:1;
  border:1px solid #cccccc;
  border-radius:10px;
  padding:50px;
  text-align:left;
  box-sizing:border-box;
}
.contact-tel img{
  width:100%;
  height:auto;
  border-radius:10px;
  margin-top:30px;
  display:block;
}
@media (max-width:1400px){
	.contact-box{
	  gap:40px;
	}
	.contact-tel,
	.contact-mail{
	  padding:40px;
	}
}
/* ======================
   SP
====================== */
@media (max-width:1200px){
	.contact-box{
	  flex-direction:column;
	  gap:30px;
	}
	.contact-tel,
	.contact-mail{
	  width:100%;
	  padding:30px 25px;
	}
	.contact-box h2{
		font-size: 30px;
	}
}
@media (max-width:768px){
	.contact-box h2{
		font-size: 24px;
	}
}


/*　youtube02サムネイル
---------------------------------------------------------------------------*/
.video-grid {
  display: flex;
  justify-content: center; /* ← これが中央 */
  gap: 16px;
	margin-top: 50px;
}
.video-card {
  position: relative;
  width: 100%;
  max-width: 320px;
  aspect-ratio: 9 / 16;
  cursor: pointer;
}

.video-thumb {
  width: 100%;
  height: 100%;
  position: relative; /* ← これ追加 */
}

.video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	border-radius: 10px;
}

.video-card iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/* ▶マーク */
.play-btn::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 18px;
  border-style: solid;
  border-width: 12px 0 12px 18px;
  border-color: transparent transparent transparent #fff;
}



/*　プライバシーポリシー
---------------------------------------------------------------------------*/
.privacy-box{
  max-width:1000px;
  margin:0 auto;
  text-align:left;
}

/* 本文段落 */
.privacy-box p{
  margin-bottom:30px;
	max-width:1000px!important;
}
.privacy-box span{
	font-weight: bold;
}

/* 親リスト（番号付き） */
.privacy-box > ul{
  list-style:none;
  padding:0;
  margin:0;
  counter-reset: privacy-number;
}

.privacy-box > ul > li{
  position:relative;
  padding-left:2.2em;
  margin-bottom:28px;
}

/* 数字表示 */
.privacy-box > ul > li::before{
  counter-increment: privacy-number;
  content: counter(privacy-number) ".";
  position:absolute;
  left:0;
  top:0;
  font-weight:bold;
  color:#1f3a5f;
}

/* リスト */
.privacy-box-ten{
  list-style:none;
  padding-left:1em;
  margin-top:10px;
}

.privacy-box-ten li{
  position:relative;
  padding-left:1em;
  margin-bottom:6px;
}

.privacy-box-ten li::before{
  content:"・";
  position:absolute;
  left:0;
}
@media (max-width:768px){

  .privacy-box{
    padding:0 20px;
    font-size:15px;
    line-height:1.8;
  }

  .privacy-box > ul > li{
    padding-left:2em;
  }

}