@charset "UTF-8";
/*
Theme Name: MY THEME 
Author: Zenshin
Description: オリジナルテーマ
Version: 1.0
*/
img {
    max-width: 100%;
    height: auto;
	vertical-align: bottom;
}

.img-full img {
	width: 100%;
	height: auto;
	text-align: center;
	vertical-align: bottom;
}


@media screen and (max-width: 780px) {
	.flex_res{
		flex-direction: column;
		align-items: center;
	}
}

.flex_hanyo{
	display: flex;
	justify-content: center;
}

.flex {
	display: flex;
	/* flex-wrap: wrap; */
justify-content: space-between;
}

.flex-center {
	display: flex;
	justify-content: center;
}

.flex-base {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

.alignleft {
	float: left;
	margin-left: 0;
	margin-right: 1em;
}

.alignright {
	float: right;
	margin-left: 1em;
	margin-right: 0;
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
	text-align: center;
}

figure {
	margin-left: 0;
	margin-right: 0;
}

body {
	box-sizing: border-box;
}

body *,
body *::before,
body *::after {
	box-sizing: inherit;
}

ul {
	padding-inline-start: 1rem;
}

pre {
	font-family: unset;
}

/* 変数 */
:root {
	--f1: 2.44em;
	/* 39.04px */
	--f2: 1.95em;
	/* 31.2px */
	--f3: 1.56em;
	/* 24.96px */
	--f4: 1.25em;
	/* 20px */
	--f5: 1em;
	/* 16px */
	--f6: 0.8em;
	/* 12.8px */

	--f7: 0.66em;
	/* 12.8px */

	--basecolor: #63a211;
	/* 基本色 */
	--gradient: linear-gradient(81.7deg, rgba(34, 126, 34, 1) 8.1%, rgba(99, 162, 17, 1) 86.5%);

	--myfont: "Noto Sans JP", sans-serif;
	--myw: 720px;
	/*標準幅*/
}


/* フォント */
body {
	font-family: var(--myfont);
	font-size: 21px;
}

p {
	line-height: 1.8;
	font-size: var(--f5);
}


h1 {
	font-size: var(--f1);
	font-weight: 300;
}

h2 {
	font-size: var(--f3);
	margin-block-start: 0;
}

h3 {
	font-size: var(--f3);
}

h4 {
	font-size: var(--f4);
}

h5 {
	font-size: var(--f5);
}

h6 {
	font-size: var(--f6);
}

.text_item_double_L{
	width: 55%;
	padding: 30px 0;
	margin: 0 auto;
}

.text_item_double_L p{
	font-size: 18px;
}

.text_img_double_R{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45%;
	padding: 30px 0;
	margin-left: 8%;
}

.text_img_double_R img{
	vertical-align: middle;
}
.title_wrapper{
	margin-right: 50%;
}

.title_img{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0;
}

.top_assist_text{
	font-size: 14px;
	/* margin-top: 35px; */
}

@media screen and (max-width: 780px) {
	.text_item_double_L{
		width: 100%;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
		padding: 0;
	}
	.text_img_double_R{
		width: 70%;
		margin-left: 0;
		margin-bottom: 10px;
	}
	.title_img{
		width: 70%;
		margin: 20px 0 30px 0;
	}
	.text_item_double_L p{
		font-size: 14px;
	}
	.title_wrapper{
		width: 100%;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
	}
	.osirase_img{
		width: 50%;
	}
}


/* 横幅 */
body {
	margin: 0;
}


.alignfull {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.alignwide {
	margin-top: 5%;
	padding-left: 25%;
	padding-right: 25%;
}

/*スマホ*/
@media (max-width: 600px) {
	.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (min-width: 1320px) {}


/*配置*/
.center {
	text-align: center;
}

.space-between {
	justify-content: space-between;
}

/* ポジション */
.relative {
	position: relative;
}

.top {
	vertical-align: top;
}

/*リンク*/
a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
	opacity: 0.7;
}

/*色*/
.white {
	color: black;
}

.red {
	color: red;
}

.green {
	color: green;
}

.grey {
	background-color: #F2F2F2;
	padding-bottom: 5%;
}

.white-bg {
	background-color: white;
}

/*スマホ限定/PC限定*/
/*フッターの画像切替のみに使用 bootstrapのxlに対応*/

@media only screen and (max-width:768px) {
	.sp-md {
		display: block;
	}

}

/*-----マージン共通-----*/
.margin_hanyo {
	margin-top: 120px;
}

.margin_hanyo_sub2 {
	margin-top: 100px;
}

.margin_right_pc{
	margin-right: 20px;
}

.margin_hanyo_bottom {
	margin-bottom: 5%;
}

@media screen and (max-width: 780px) {
	.margin_hanyo{
		margin-top: 50px;
	}
	.margin_hanyo_sub {
		margin-top: 10px;
	}
	.margin_hanyo_sub2 {
		margin-top: 50px;
	}
	.margin_top_res{
		margin-top: 15px;
	}
	.margin_right_pc{
		margin-right: 0;
	}
}

/* p {
	font-size: 21px;
} */

@media only screen and (min-width: 769px) {
	.sp {display: none} /* SP表示（769px未満で表示） */
}
@media only screen and (max-width: 768px) {
	.pc {display: none} /* PC表示（768px以上で表示） */
	.sp-column {display: flex;flex-direction: column;align-items: center;}
	.hamburger_menu_btn_wrap.sp {display: block;}
	.sp-w-70 {width: 70%;}
}
@media only screen and (min-width: 561px) {
	.sm {display: none} /* スマホ表示（561px未満で表示） */
}
@media only screen and (max-width: 560px) {
	.extra {display: none} /* それ以外表示（560px以上で表示） */
	.sm-column {display: flex;flex-direction: column;align-items: center;}
	.sm-w-90 {width: 90%;}
}

.top-img {
    position: relative;
}

.top-img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;   /* 境目の影の太さ */
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.4),
        rgba(0,0,0,0)
    );
    pointer-events: none;
}

.hero-container {
    position: relative;
}

.hero-container::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 10px;   /* 境目の影の太さ */
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.4),
        rgba(0,0,0,0)
    );
    pointer-events: none;
}

/* header */

.myhead {
	background-color: rgba(255, 255, 255, 0.1);
}

.border-left {
	position: relative;
	display: inline-block; /* コンテンツの幅に合わせる */
}
  
/* .border-left::before {
	content: '';
	position: absolute;
	width: 1px; /* 線の長さ（左右合計80%） */
	height: 70%; /* 線の太さ */
	background: #4d4d4d; /* 線の色 */
} */
 .hero-container {
  position: relative;
  width: 100%;
}

.hero-image {
  width: 100%;
  height: auto;
  display: block;
}
.hero-container {
  position: relative;
  top: -10px;
}
 
@media screen and (max-width:1180px) {
  .head_item {
    transform: scale(1.00);      /* 好みで 0.85〜0.95 */
    transform-origin: top left; /* 左上基準で縮小 */
  }
	.head_item {
  display: flex;
  flex-wrap: nowrap;
}

.head_item ul {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}

}

/* 文字 */
.hero-text {
  position: absolute;
  top: 25%;
  left: 40%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #0f172a;
  z-index: 2;
  /* text-shadow: 0 2px 6px rgba(0,0,0,0.6); */
}

.catch-main {
  font-size: 70px;
  font-weight: 700;
  margin: 0;
  white-space: nowrap;
}

.catch-sub {
  font-size: 70px;
  font-weight: 800;
  margin-top: -35px;
  white-space: nowrap;
	margin-left: 5%;
}
.catch-sub1 {
  font-size: 40px;
  font-weight: 800;
  margin-top: 50px;
  white-space: nowrap;
	margin-left: -40%;
}
.catch-sub2 {
  font-size: 40px;
  font-weight: 800;
  margin-top: -35px;
  white-space: nowrap;
	margin-left: -25%;
}

.hero-container {
  position: relative;
  width: 100%;
}

/* 背景画像 */
.hero-bg {
  width: 100%;
  height: auto;
  display: block;
}

/* 左下の記念画像 */
.hero-badge {
  position: absolute;
  right: 140px;
  bottom: 140px;
  width: 180px; /* サイズ調整 */
  height: auto;
  z-index: 3;
}

/* 前面テキスト */


.border-left::before {
	left: 0;
	top: 15%;
}

/* .w-50 {
	width: 50%;
} */
.w-50 img {
	width: 100%;
}
.w-20 {
	width: 20%;
}

.w-15 {
	width: 30%;
}
.myhead ul li a {
  white-space: nowrap;
}
.facebook-icon {
  margin-left: 2px;
  margin-right: 2px;
}
.myhead ul {
  gap: 4px; /* アイコン同士の間隔 */
}

.w-30 {
	width: 30%;
}

.flex-end {
	display: flex;
	/* justify-content: flex-end; */
}

.top-button	 {
	gap: 8%;
	padding-right: 3%;
}

.head_item {
	align-items: center;
}

.flex-evenly {
	display: flex;
	justify-content: space-evenly;
}

.respo-font {
	font-size: 1.4vw;
	padding: 0 1%;
}

@media screen and (max-width: 1000px) {
   .respo-font {
	font-size: 1.85vw;
	padding: 0 1%;
}
}


.respo-font-sub {
	font-size: 0.85vw !important;
}

.style-none,
.list-none {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 21px;
}
@media screen and (max-width: 770px) {
  .list-none {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 20px;
} }

.style-none {
	display: none;
}

.hover-item:hover .style-none {
	display: block;
}

.hover-item {
	position: relative;
}

.style-none {
	content: '';
	position: absolute;
	white-space: nowrap;
}

.style-none li {
	background-color: #81041A;
	color: #FFFFFF;
	padding: 10px;
}

.mini-pad li {
	padding: 10px 20px;
}

.inline-block {
	display: inline-block;
}

.facebook-icon img {
	width: 90%;
	margin: 1% 0 1% 5%;
	vertical-align: top;
}

.top-icon img {
	width: 80%;
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.top-icon {
		width: 50% !important;
	}

	.sp-icon {
		margin-right: 30%;
	}

	.sp-icon img {
		width: 30px;
	}
}

@media only screen and (max-width: 560px) {
	.top-icon {
		width: 65% !important;
	}

	.sp-icon {
		margin-right: 25%;
	}

	.sp-icon img {
		width: 30px;
	}
}

@media only screen and (max-width: 380px) {
	.top-icon img {
		width: 100%;
	}
}

/* footer */
@media screen and (max-width: 730px) {

  /* フッター全体 */
  .foot-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* 左右カラムを縦並び */
  .w-50,
  .footer-right {
    /* width: 100%; */
    text-align: center;
  }

  /* ロゴ */
  .foot-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
  }

  /* 住所・TEL */
  .access-tel p {
    text-align: center;
  }

  /* Google map */
  .footmap iframe {
    width: 100%;
    height: 250px;
  }

  /* 右側の横並びを縦に */
  .foot-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  /* メニュー */
  .right-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .right-flex ul {
    padding: 0;
    text-align: center;
  }

  .right-flex li {
    list-style: none;
    margin-bottom: 8px;
  }

  /* 個人情報＋採用ボタン */
  .most-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  /* 下部コピーライト */
  .center {
    text-align: center;
    margin-top: 20px;
  }
}


.foot-icon {
	width: 40%;
}
.foot-icon {
  margin-bottom: 20px;
}


.foot-icon img {
  width: 220px;
  max-width: none; /* ← これが重要 */
  height: auto;
}


.footer-right {
		display: flex;
		/* padding-right: 15%; */
			flex-wrap: nowrap;
width: 140%;
}
@media screen and (max-width: 1200px) {
 .footer-right {
    flex-direction: column;
		/* padding-right: 15%; */
			flex-wrap: nowrap;
width: 140%;
padding-left: 10%;
}
}
@media screen and (max-width: 770px) {
 .footer-right {
    flex-direction: column;
		/* padding-right: 15%; */
			flex-wrap: nowrap;
width: 140%;
padding-left: 0%;
}
}
.footmap iframe {
  width: 600px;   /* ← 小さくする */
  height: 300px;  /* ← 小さくする */
  max-width: 100%;
}
@media screen and (max-width: 1050px) {
 .footmap iframe {
  width: 400px;   /* ← 小さくする */
  height: 200px;  /* ← 小さくする */
  max-width: 100%;
}
}
.most-right {
	padding-left: 5%;
		font-size: 21px;

}
.most-right img {
  margin-top: 30px;
}
li {
  list-style: none;
}

@media screen and (max-width: 1200px) {
 .most-right {
	padding-left: 0%;
		font-size: 21px;

}
}
@media screen and (max-width: 770px) {
 .most-right {
	padding-left: 0%;
		font-size: 20px;

}
}
.right-flex {
		display: flex;

}
@media screen and (max-width: 1200px) {
  .right-flex {
    flex-direction: column;

}
}
.foot-menu {
		display: flex;
padding-left: 15%;
}

@media screen and (max-width: 1350px) {
  .foot-menu {
		display: flex;
padding-left: 5%;
}
}
/* @media screen and (max-width: 770px) {
  .foot-menu {
    flex-direction: column;
padding-left: 5%;
text-align: center;
}
} */
.myfoot {
background-color: #a8dbf4;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 3% 0;
}

.w-90 {
	width: 90%;
	margin: auto;
}

.border-top	 {
	border-top: 1px solid #81041A !important;
}

.margin0 {
	margin: 0;
}

.flex-nowrap {
	display: flex;
	flex-wrap: nowrap;
	gap: 5%;
}

.footer-menu {
	display: flex;
	width: 50%;
	justify-content: center;
}

.bottom10 {
	margin-bottom: 10px;
}

.w-100 {
	width: 100%;
}
@media screen and (max-width: 730px) {

  /* 画面はみ出し防止（最終保険） */
  body {
    overflow-x: hidden;
  }

  /* フッター全体 */
  .foot-menu {
    flex-direction: column;
    align-items: center;
    padding-left: 0 !important;
    width: 100%;
  }

  /* 最大の犯人を殺す */
  .footer-right {
    width: 100% !important;
    padding-left: 0 !important;
  }

  /* 左カラム */
  .w-50 {
    width: 100% !important;
  }

  /* MAP iframe 完全レスポンシブ */
  .footmap iframe {
    width: 100% !important;
    max-width: 100%;
    height: 250px;
    display: block;
  }

  /* ロゴ */
  .foot-icon {
    width: 100%;
    justify-content: center;
  }

  /* 右メニュー */
  .right-flex,
  .most-right {
    align-items: center;
    padding-left: 0;
  }
}

/*-----トップ-----*/
.sky-container {
		background-color: #f0f8ff;
		padding-bottom: 20px;
		}
	
		.sky-text {
			text-align: center;
			padding-top: 3%;
		}

	
@media screen and (max-width: 1000px) {
  .sky-text p.sky-text1 {
    font-size: 28px;
  }
}
@media screen and (max-width: 1000px) {
  .sky-text p.sky-text2 {
    font-size: 40px;
  }
}

@media screen and (max-width: 670px) {
  .sky-text p.sky-text1 {
    font-size: 25px;
  }
}
@media screen and (max-width: 800px) {
  .sky-text p.sky-text2 {
    font-size: 30px;
  }
}
@media screen and (max-width: 574px) {
  .sky-text p.sky-text1 {
    font-size: 4vw;
  }
}
@media screen and (max-width: 574px) {
  .sky-text p.sky-text2 {
    font-size: 4.8vw;
  }
}
		.sky-text1 {
			font-size: 40px;
		}

		.sky-text2 {
						font-size: 50px;
color: #005aaa;
		}
	
@media screen and (max-width: 1250px) {
  .sky-text2 {
						font-size:3vw;
color: #005aaa;
		}
}
@media screen and (max-width: 750px) {
  .sky-text2 {
						font-size:3.5vw;
color: #005aaa;
		}
}
@media screen and (max-width: 560px) {
  .sky-text2 {
						font-size:4.5vw;
color: #005aaa;
		}
}
@media screen and (max-width: 450px) {
  .sky-text2 {
						font-size:5vw;
color: #005aaa;
		}
}
@media screen and (max-width: 450px) {
  .blue-text br {
    display: none;
  }
}
@media screen and (max-width: 350px) {
  .blue-text br {
    display: none;
		font-size:1vw;
  }
}
		.blue-container {
  position: relative;
  width: 100%;
	display: flex
}
.blue-container {
  position: relative;
}

/* 青背景 */
.blue-bg {
  width: 100%;
  display: block;
}

/* 中身を背景の上に */
.blue-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  display: flex;
  gap: 40px;
  padding: 40px;
  box-sizing: border-box;
}
@media screen and (max-width: 1350px) {
  .blue-left img {
  width: 20%;
}
}
@media screen and (max-width: 1350px) {
  .oshirase-text {
	padding-left: 3%;
}
}
@media screen and (max-width: 1150px) {
  .oshirase-text {
font-size: 1.5vw;}
}
/* 1055px以下で縦並び */
/* @media screen and (max-width: 1055px) {
  .blue-inner {
    flex-direction: column;
  }
} */
/* 左右比率 */
/* 通常（PC） */
.blue-right {
  width: 70%;
}

/* 1155px以下で全体縮小 */
@media screen and (max-width: 1155px) {
  .blue-right {
    transform: scale(0.85);       /* 好みで 0.8〜0.9 */
    transform-origin: top left;   /* 左上基準で縮小 */
    white-space: nowrap;          /* 折り返し防止 */
  }
}
@media screen and (max-width: 1155px) {
  .blue-inner {
   width: 130%;
  }
}
.blue-left {
  width: 30%;
}
@media screen and (max-width: 1055px) {
  .blue-left {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .news-group {
    display: flex;
    align-items: center;
    gap: 10px;
  }
}

.blue-right {
  width: 70%;
  overflow-y: auto;
	padding-left: 5%;
}
@media screen and (max-width: 1055px) {
  .blue-right {
padding-left: 0%;  }

  
}
.blue-right th,
.blue-right td {
  border-bottom: 1px solid #fff; /* 白線 */
	padding-bottom: 5%;
	padding-top: 4%;
}
@media screen and (max-width: 1150px) {
  .blue-right {
  width: 50%;
  /* overflow-y: auto;
	padding-left: 5%; */
}
.blue-right th,
.blue-right td {
  /* border-bottom: 1px solid #fff; /* 白線 */
	/* padding-bottom: 5%; */
	/* padding-top: 4%; */ */
}
}
.news-icon {
  margin-left: 400px;   /* ← テキストとの間隔 */
  vertical-align: middle; /* 文字と高さを揃える */
}
@media screen and (max-width: 800px) {

  /* 中身を縦並び */
  .blue-inner {
    /* position: relative; */
    /* flex-direction: column; */
    /* height: auto; */
    padding: 20px;
    gap: 20px;
  }

  /* 左右を100%幅に */
  .blue-left,
  .blue-right {
    /* width: 100%; */
  }

  /* absoluteを解除（重要） */
  .news-front,
  .oshirase,
  .oshirase-text {
    position: static;
    transform: none;
  }

  /* 左ブロックを縦並び */
  .blue-left {
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    gap: 12px;
    text-align: center;
  }

  /* news + テキスト */
  .news-group {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* サイズ調整 */
  .news-front {
    width: 36px;
  }

  .oshirase {
    width: 140px;
  }

  .oshirase-text {
    font-size: 18px;
    padding: 0;
  }
@media screen and (max-width: 670px) {
  .oshirase-text {
    display: none;
  }
}

  /* 右テーブル */
  .blue-right {
    padding-left: 0;
  }

  .blue-right table {
    width: 100%;
    font-size: 14px;
    border-spacing: 10px 8px;
  }

  /* テーブル内を縦寄りに */
  .blue-right tr {
    display: block;
    margin-bottom: 12px;
  }

  .blue-right th,
  .blue-right td {
    display: block;
    width: 100%;
    white-space: normal;
  }

  /* ニュース矢印 */
  .blue-right td {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .news-icon {
    margin-left: auto;
  }

  /* 背景 */
  .blue-bg {
    height: auto;
  }
}


/* 背景画像 */
.blue-bg {
  width: 100%;
  height: auto;
  display: block;
}
.blue-right table,
.blue-right th,
.blue-right td {
  color: #fff;
	font-size: 20px;
}

@media screen and (max-width: 545px) {
 .blue-right td {
	font-size: 3vw;
}
.blue-right th {
	font-size: 3vw;
}
}
.table-margin {
  border-collapse: separate; /* ← これ重要 */
  border-spacing: 20px 10px; /* 横 縦 */
}
@media screen and (max-width: 1055px) {
 .news-group img {
  left: 15%;
}
}
@media screen and (max-width: 1055px) {
 .news-group p {
  left: 20%;
}
}
@media screen and (max-width: 1055px) {
 .blue-left img {
  left: 15%;
}
}
/* 前面の画像 */
.news-front {
  position: absolute;
  top: 20%;
  left: 20%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.oshirase {
	 position: absolute;
  top: 50%;
  left: 20%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.blue-left {
  display: flex;
  align-items: center;
  gap: 20px;
}


.oshirase-text {
	position: absolute;
  top: 30%;
  left: 27%;
  transform: translate(-50%, -50%);
  z-index: 2;
	color: #f0f8ff;
}
.news-container {
		background-color: #a8dbf4;

	border: 2px solid #a8dbf4;
	border-radius: 18px;
	width: 80%;
	margin: 3% auto;
	padding: 1% 2%;
}

.bg-green {
	padding-top: 5%;
background-color: #f0f8ff;}

.radius14 {
	border-radius: 14px;
}

.green-font {
	color: black;
	font-weight: bold !important;
}

.title {
	text-align: center;
	font-weight: bold;
	font-size: 45px;
	margin: 2% 0 3%;
}
.yajirushi {
		padding-left: 45%;
		padding-top: 3%;
		padding-bottom: 5%;

}
.personal-container {
	text-align: center;
padding-bottom: 5%;
padding-top: 5%;
}

@media screen and (max-width: 850px) {
 .personal-container img {
	width: 60%;
		text-align: center;
}
}
.car-text {
	font-size: 18px;
}
.title-mini {
	text-align: center;
	font-weight: bold;
	font-size: 21px;
	margin-left: 5%;
}

.sub-title {
	font-family: "Century Gothic", sans-serif;
	font-size: 16px;
	font-style: italic;
	font-weight: normal;
}

.about-container,
.recruit-container {
	width: 90%;
	margin: auto;
	padding: 2%;
}
.reason {
	color :#005aaa;
	text-align: center;
	font-weight: bold;
	font-size: 40px;
	margin: 2% 0 3%;
}

@media screen and (max-width: 870px) {
  .reason {
    font-size: 4vw;
  }
}
.reason-pic {
	padding-bottom: 5%;
}

.about-pad {
	padding: 2% 2% 0% 2%;
}

.black {
	color: #000000;
}

.item-center {
	align-items: center;
}

.column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.blog-container {
	padding: 3% 2%;
	align-items: center;
	height: 48%;
}

.job-container {
	padding: 1% 15px;
}

.w-53 {
	width: 53%;
}

.area-container {
	width: 80%;
	margin: 2% auto;
}

.w-45 {
	width: 45%;
}

.wrap {
	flex-wrap: wrap;
	white-space: wrap;
}

.font40 {
	font-size: 40px;
}
@media screen and (max-width: 1460px) {
  .font40 {
	font-size: 2.5vw;
}
}
@media screen and (max-width: 850px) {
  .font40 {
	font-size: 3.5vw;
}
}
@media screen and (max-width: 470px) {
  p.font40 {
    font-size: 5.5vw;
  }
}

.bold {
	font-weight: bold;
}


.reason-pic a:nth-child(2) {
  text-align: center;
}



.pad20 {
	padding: 20px 0;
}

.pad3 {
	/* padding: 3% 0; */
}

.pad5 {
	padding: 5% 0;
}

.w-31 {
	width: 31%;
	font-size: 23px;
}

.left {
	text-align: left;
}

.gap0 {
	gap: 0;
}

.pad15 {
	padding: 15px;
}

.button {
	margin: 3% 0;
}

.w-33 {
	width: 33%;
}

.bottom3 {
	margin-bottom: 3%;
}

.font16 {
	font-size: 16px;
}

.font12 {
	font-size: 12px;
	font-weight: 300;
}

.button-image img {
	width: 20%;
}

.news-content {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	border-bottom: 2px solid #e6e6e6;
	margin-bottom: 15px;
}

.news-tag {
	text-align: center;
	padding: 2px 25px;
	border-radius: 25px;
}

.circle {
	padding: 4px 10px;
	border-radius: 25px;
}

@media only screen and (max-width: 600px) {
	.w-40-extra {
		width: 75% !important;
	}

	.news-content {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.circle {
		padding: 4px 9px;
	}
}

@media only screen and (max-width: 1200px) {
	.w-53 {
		width: 100%;
	}
}

@media only screen and (max-width: 950px) and (min-width: 769px) {

	.button-image img {
		width: 30%;
	}
}

@media only screen and (max-width: 768px) {
	.w-50,
	.footer-menu {
		width: 100% !important;
	}

	.sp-center {
		justify-content: center;
		text-align: center !important;
	}
.nonline td {
		justify-content: center;
		text-align: center !important;
	}
	.company-td {
		justify-content: center;
		text-align: center !important;
	}
	.sp-column {
		flex-direction: column;
	}
	
	.job-container {
		padding: 5px;
	}	
}

@media only screen and (max-width: 768px) and (min-width: 561px) {

	.button-image img {
		width: 30%;
	}

	.point-container {
		width: 90%;
	}

	.news-container,
	.area-container {
		width: 90%;
	}
/* .foot-flex {
	  display: flex !important;

}
.foot-icon {
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
} */

/* .map {
	display: flex!important;
} */


.footer-map {
  width: 40%;          /* MAPの横幅 */
}

.footer-flex .flex {
  width: 60%;          /* メニュー側 */
}

	.w-31,
	.sp-w-80,
	.w-48 {
		width: 80% !important;
		margin: 20px auto;
	}

	.blog-container {
		margin: 20px 0;
	}

	.font40 {
		font-size: 32px;
	}
}
@media only screen and (max-width: 560px) {
	
	p {
		font-size: 4vw;
	}
}
@media only screen and (max-width: 560px) {
	.title {
		width: 100%;
	}

	.button-image img {
		width: 55%;
	}

	p {
		font-size: 17px;
	}

	.font40,
	.other-family {
		font-size: 28px;
	}

	.title,
	.title-kakko {
		font-size: 24px;
	}

	.font16,
	.font16 p {
		font-size: 14px;
	}

	.news-container,
	.area-container {
		width: 95%;
	}

	.w-31,
	.sp-w-80,
	.w-48 {
		width: 90% !important;
		margin: 10px auto;
	}

	.blog-container {
		margin: 10px 0;
	}
}
/* company */

.container {
	width: 80%;
	margin: 5% auto;
	max-width: 100% !important;
}

.light-green-font {
	color: #00FF00;
}

.other-family {
	font-family: "Futura Hv BT", sans-serif;
	font-size: 40px;
}

.page-top {
	margin-top: 0 !important;
}

.page-bottom {
	padding-bottom: 2% !important;
}

.pad2-3 {
	padding: 2% 3%;
}

.bottom0 {
	padding-bottom: 0;
}

.before-underline {
	position: relative;
}

.before-underline::before {
	content: '';
	position: absolute;
	left: -2.935vw;
	bottom: -2px;
	width: 1.6vw;
	height: 1px;
	background-color: #55AF79;
}

.table-width {
	width: 80%;
	margin: 3% auto;
}

.weight-normal {
	font-weight: normal;
}

.border-bottom-green {
	font-weight: normal;
	border-bottom: 2px solid #55AF79;
	vertical-align: top;
	padding: 1% 0 1% 2%;
}

.border-bottom-ash {
	border-bottom: 1px solid #e6e6e6;
	padding: 1% 0 1% 2%;
}

.pad-same {
	padding: 1% 0 1% 2%;
}

.table-bottom {
	border-bottom: none;
}

.font24 {
	font-size: 24px;
	font-weight: bold;
}

.w-80 {
	width: 80%;
	margin: 3% auto;
	padding-left: 5%;
}

.transparent {
	color: transparent;
}

/* .bg-ash {
	background-color: #F7F7F7;
} */

.font30 {
	font-size: 30px;
}

.w-40 {
	width: 40%;
}

.w-60 {
	width: 60%;
}

.right {
	text-align: right;
}

.w-70 {
	width: 70%;
}

.w-48 {
	width: 48%;
}

.gap4 {
	gap: 4%;
}

.gap10 {
	gap: 10px;
}

.w-fit {
	width: fit-content;
	min-width: 250px;
}

.nowrap {
	flex-wrap: nowrap;
}

.highlighter {
	background: linear-gradient(transparent 50%, #FCF47B 50%);
	width: fit-content;
}

@media only screen and (max-width: 915px) and (min-width: 561px) {
	.w-fit {
		width: 80%;
		margin: auto;
		min-width: 0;
	}

	.nowrap {
		flex-direction: column;
	}
}

@media only screen and (max-width: 1200px) and (min-width: 769px) {
	.w-60 {
		padding: 0;
		width: 80%;
		margin: auto;
	}

	.w-40 {
		width: 75%;
		margin: auto;
	}
}

@media only screen and (max-width: 1067px) and (min-width: 769px) {
	.font24 {
		font-size: 2.2vw;
	}
}

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

	.border-side {
		position: static;
	}

	.w-60 {
		padding: 0;
		width: 100%;
	}

	.w-40 {
		width: 80%;
		margin: auto;
	}

	.w-40 img {
		width: 100%;
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.container {
		width: 90% !important;
		margin: 2% auto;
	}

	.font24 {
		font-size: 20px;
	}

	.font30 {
		font-size: 24px;
	}

	.left-title {
		font-size: 26px;
	}

	.table-width {
		width: 90%;
		margin: 2% auto;
	}
}

@media only screen and (max-width: 560px) {
	.container {
		width: 96% !important;
		margin: 10px auto;
	}

	.font24 {
		font-size: 18px;
	}

	.font30 {
		font-size: 20px;
	}

	.left-title {
		font-size: 22px;
		margin: 10px 0 50px;
	}

	.sp-100 {
		width: 80% !important;
		margin: auto;
	}

	.sm-column {
		flex-direction: column;
	}

	.gap4 {
		gap: 10px;
	}

	.border-bottom-ash,
	.border-bottom-green {
		padding: 5%;
	}

	.border-bottom-green {
		background-color: #55AF79;
		color: white;
	}

	.table-width {
		width: 95%;
		margin: 1% auto;
	}

	.table-width tbody tr {
		display: flex;
		flex-direction: column;
		text-align: center;
	}

	.sm-margin0 {
		margin: 0;
	}

	.w-fit {
		width: 95%;
		margin: auto;
		min-width: 0;
	}

	.nowrap {
		flex-direction: column;
	}

	.recruit-container {
		width: 95% !important;
	}
}

@media only screen and (max-width: 341px) {
	.highlighter {
		font-size: 5.865vw;
	}
}

/* service */

.w-88 {
	width: 88%;
}

.w-10 {
	width: 10%;
	line-height: 1.0;
	font-family: "Century Gothic", sans-serif;
	font-style: italic;
}

.ex-margin-left {
	width: 88%;
	margin-left: 11%;
}

.flex-start {
	display: flex;
	justify-content: flex-start;
}

.pad-over {
	width: 50%;
	padding: 2% 4%;
	transform: translate(-2.935vw , -5.334vw);
}

.service-margin {
	margin: 8% auto;
}

.w-48-extra {
	width: 48%;
}

.w-48-extra img {
	width: 100%;
}

.pad-over-extra {
	width: 80%;
	padding: 2% 4%;
	transform: translate(-2.935vw , -5.334vw);
}

.w-33 img {
	width: 100%;
}

@media only screen and (max-width: 768px) {
	.pad-over-extra {
		width: 95%;
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.pad-over {
		width: 80%;
	}
}

@media only screen and (max-width: 560px) {
	.ex-margin-left {
		width: 90%;
		margin: auto;
	}

	.pad-over {
		width: 95%;
	}

	.w-33,
	.w-48-extra {
		width: 80%;
		margin: 10px auto;
	}
}

@media only screen and (min-width: 769px) {
	.trigger-point {
		display: none;
	}

	.sp {
		display: none;
	}
}

@media only screen and (max-width: 768px) {
	.sp-none {
		display: none;
	}

	.pc {
		display: none;
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.short input {
		width: 50%;
	}
}

@media only screen and (max-width: 560px) {
	.sm-border {
		border-bottom: 1px solid #e6e6e6;
		padding: 5% !important;
	}

	.cform tr {
		display: flex;
		flex-direction: column;
	}

	.bg-form,.border-form {
		width: 100%;
	}

	.border-form input {
		width: 100%;
	}

	.short input {
		width: 50%;
	}
}

/* contact */

.comment {
	width: 80%;
	margin: auto;
}

/* news */

.w-40-extra {
	width: 40%;
}

.pad5-0-0 {
	padding: 5% 0 0;
}

.w-82 {
	width: 82%;
	margin: 0 auto;
}

.margin-5-a {
	margin: 5% auto;
}

.nav-links {
	width: 100%;
}

#nav-links {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 5%;
}

#nav-links li {
	color: #a8dbf4;
}

#nav-links .current {
	background-color: #a8dbf4;
	color: white;
	padding: 1px 10px;
}

.sumbnail {
	text-align: center;
}

.news_content {
	margin: 20px 0;
}

.news_image_inner img {
	border-radius: 14px;
}

.news_image_inner {
	text-align: center;
}

.border-green {
	border: 1px solid #55af79;
	border-radius: 14px;
	padding: 10px;
}

@media only screen and (min-width: 1001px) {
	.news_image_inner img {
		width: 23vw;
		height: 15vw;
		object-fit: cover;
		overflow: hidden;
	}
}

@media only screen and (max-width: 1000px) and (min-width: 561px) {
	.post-content {
		width: 90%;
	}

	.sp-1000-w-80 {
		width: 80%;
	}

	.news_image_inner {
		text-align: center;
	}

	.border-green {
		padding: 20px;
	}
}

@media only screen and (max-width: 560px) {
	.post-content {
		width: 95%;
	}

	.sp-1000-w-80 {
		width: 90%;
	}

	.border-green {
		padding: 10px;
	}
}

/* blog */
.trigger-tags {
	display: none;
}

@media only screen and (max-width: 1100px) and (min-width: 1001px) {
	.trigger-tags {
		display: block;
	}
}

@media only screen and (max-width: 560px) {
	.trigger-tags {
		display: block;
	}
}

/* 追加・修正 */
.m-b-30 {
	margin-bottom: 30px;
}

/* .w-100-image img {
	width: 100%;
} */

.border-bottom-green-single {
	position: relative;
	display: inline-block;
	text-align: center;
	width: 100%;
	margin: 20px 0;
	font-weight: bold;
}

.border-bottom-green-single::after {
	position: absolute;
	content: '';
	background-color: #55AF79;
	bottom: -25px;
	left: 25%;
	height: 2px;
	width: 25%;
	background-position: bottom center;
	background-size: 50%;
	transform: translateX(50%);
}

.post-content {
	width: 80%;
	margin: 0 auto;
	padding: 5% 0;
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.border-bottom-green-single::after {
		position: absolute;
		content: '';
		background-color: #55AF79;
		bottom: -15px;
		left: 0;
		height: 2px;
		width: 50%;
		background-position: bottom center;
		background-size: 50%;
		transform: translateX(50%);
	}
}

@media only screen and (max-width: 560px) {
	.border-bottom-green-single::after {
		position: absolute;
		content: '';
		background-color: #55AF79;
		bottom: -10px;
		left: -50%;
		height: 2px;
		width: 100%;
		background-position: bottom center;
		background-size: 50%;
		transform: translateX(50%);
	}
}

@media only screen and (max-width: 400px) {
	.trigger-single {
		display: block !important;
	}
}

.trigger-single {
	display: none;
}

.slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.arrow {
	position: absolute;
	top: 50%;
	font-size: 40px; /* 矢印のサイズ */
	color: white;
	opacity: 0.6;
	cursor: pointer;
	z-index: 3;
	transform: translateY(-50%);
}
  
.left-arrow {
	left: 10px;
}
  
.right-arrow {
	right: 10px;
}
  
  /* 半透明の背景とホバー時に色を濃く */
.arrow:hover {
	opacity: 1;
}

/* 
 */

.scroll-button {
	width: 80%;
	margin: auto;
	display: none;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
}

.scroll-button a {
	white-space: nowrap;
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.scroll-button {
		width: 90%;
	}
}

@media only screen and (max-width: 560px) {
	.scroll-button {
		width: 95%;
	}
}

.pad-3-10 {
	padding: 3px 15px;
}

.active {
	display: flex;
}

/* 車両紹介 */
.blue-text {
text-align: center;
			padding-top: 3%;	
		font-size: 40px;	}
		
		.black-text {
			text-align: center;
			padding-top: 3%;	
		}
	
@media only screen and (max-width: 1000px) {
	.black-text {
			font-size: 2vw;
		}
}
@media only screen and (max-width: 650px) {
	.black-text {
			font-size: 2.5vw;
		}
}
.horo {
	padding-top: 7%;
	width: 80%;
	margin: auto;
}
.horocar {
	font-weight: bold;
	font-size: 30px;
}

.horo-top {
	padding-top: 3%;	
	display: flex;
}
@media only screen and (max-width: 1300px) {
.horo-top {
				/* padding-left:35% */


}
}
		@media only screen and (max-width: 1300px) {
    .horo-top {
        display: block;          /* ← flexを解除 */
        padding-left: 0;         /* ← 無効化 */
        padding-top: 0;          /* ← 無効化 */
        text-align: center;
    }

    .horo-text {
        margin: 0 auto;
        font-size: 16px;         /* SP向けに調整 */
        max-width: 90%;
    }
}
.horo-text {
										font-size: 28px;
padding-left: 5%;
						}
@media only screen and (max-width: 1555px) {
	 .horo-text {
										font-size: 1.8vw;
						}
}
@media only screen and (max-width: 1300px) {
	 .horo-text {
padding-top: 3%;	
font-size: 2.5vw;		
padding-left: 0%;		}
}

@media only screen and (max-width: 900px) {
	 .horo-text {
padding-top: 3%;	
font-size: 2.8vw;		
padding-left: 0%;		}
}
@media only screen and (max-width: 700px) {
	 .horo-text {
padding-top: 3%;	
font-size: 3.5vw;		
padding-left: 0%;		}
}
@media only screen and (max-width: 500px) {
    .horo-text {
        font-size: 4.3vw;
    }
}
@media only screen and (max-width: 500px) {
	 .horo-text {
font-size: 5vw;		}
 .horo-text br {
    display: none;
  }
}
.horo-center {
			text-align: center;
			padding-top: 3%;	

						}
						.horo-center-text {
						display: flex;
						text-align: center;
						justify-content: center;
gap: 160px;
font-size: 28px;

}
	@media only screen and (max-width: 1550px) {
	 .horo-center img{
width: 70%;
						}
}
@media only screen and (max-width: 1550px) {
	 .horo-center-text{
font-size: 1.8vw;	
gap: 100px;					}
}
				/* 1000px以下 */
.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media screen and (max-width: 1000px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .horo-sp {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .horo-left,
    .horo-right {
        text-align: center;
    }

    .horo-left img,
    .horo-right img {
        max-width: 100%;
        height: auto;
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 700px) {
	 .horo-text-left
	 .horo-text-right {
padding-top: 3%;	
font-size: 3.5vw;		
padding-left: 0%;		}
}
@media only screen and (max-width: 500px) {
  .horo-text-left,
  .horo-text-right {
    font-size: 5.3vw;
  }
}

@media only screen and (max-width: 500px) {
	
 .horo-text br {
    display: none;
  }
}
@media only screen and (max-width: 750px) {
	 .horo-left img,
    .horo-right img {
      width: 70%;
}}
@media only screen and (max-width: 750px) {
	 .horo-left img,
    .horo-right img {
      width: 70%;
}}
.horo-left {

	padding-top: 10%;
}
.horo-down {
    display: flex;
    justify-content: center; /* 横中央 */
    align-items: center;     /* 縦中央 */
    text-align: center;
    padding-top: 10%;
}
@media only screen and (max-width: 1555px) {
   

    .horo-down img {
        width: 30%;
        /* margin: 0 auto; ← これが重要 */
    }
}

/* 750px以下 */
@media only screen and (max-width: 950px) {
    .horo-down {
        flex-direction: column;
    }

    .horo-down img {
        width: 50%;
        margin: 0 auto; /* ← これが重要 */
    }
}

.horo-down-text {
	font-size: 28px;
padding-left: 10%;
				text-align: center;
font-weight: bold;
padding-top: 3%;
}
@media only screen and (max-width: 500px) {
    .horo-down-text {
	font-size: 5vw;
padding-left: 0%;
}
}
.ban-top {
	padding-top: 3%;	
	display: flex;
	padding-bottom: 3%;
}
@media only screen and (max-width: 1300px) {
    .ban-top {
        display: block;
        padding-left: 0;
        padding-top: 0;
        text-align: center;
    }
		}

		.ban-text {
										font-size: 1.4vw;
padding-left: 5%;
width: 60%;
						}
						@media screen and (max-width: 1555px) {
    .ban-text .ban-br {
        display: none;
    }
}

						@media only screen and (max-width: 1555px) {
    .ban-text {
        font-size: 1.8vw;
    }
}
	/* @media only screen and (max-width: 1300px) {
    .ban-text {
        padding-top: 3%;
        font-size: 2.5vw;
        padding-left: 0%;
    }
} */
 @media only screen and (max-width: 1300px) {
    .ban-text {
        /* width: 100%;          ← これが最重要 */
        padding-left: 0;      /* ← 左ズレ解除 */
        padding-top: 3%;
        font-size: 2.5vw;
        text-align: center;   /* ← 明示的に指定 */
        margin: 0 auto;       /* ← 念押し */
    }
}
@media only screen and (max-width: 900px) {
    .ban-text {
        padding-top: 3%;
        font-size: 2.8vw;
        padding-left: 0%;
    }
}
@media only screen and (max-width: 700px) {
    .ban-text {
        padding-top: 3%;
        font-size: 3.5vw;
        padding-left: 0%;
    }
}
@media only screen and (max-width: 500px) {
    .ban-text, .ban-text {
        font-size: 5.2vw;
    }
}
.ban-center {
    display: flex;
    justify-content: center;
    padding-top: 3%;
}

.ban-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 45%;
}
@media only screen and (max-width: 750px) {
    .ban-item img {
        width: 70%;
    }
}
/* @media only screen and (max-width: 750px) {
    .ban-item p {
font-size: 2.8vw;    }
} */
@media only screen and (max-width: 500px) {
    .ban-item p {
font-size: 5.3vw;    }
}
.ban-item img {
    max-width: 100%;
    height: auto;
    margin-bottom: 15px;
}

/* 1000px以下 */
@media only screen and (max-width: 1000px) {
    .ban-center {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }
}
@media only screen and (max-width: 1555px) {
  .ban-left  {
text-align: center;
}
.ban-left img {
width: 70%;

}
.ban-right  {
text-align: center;
}
.ban-right img {
width: 70%;

}  
}

.ban-center-text {
						display: flex;
						padding-top: 2%;
justify-content: center; /* 横方向の中央寄せ */
gap: 150px;
}
.ban-text-left {
	/* padding-left: 10%; */
	width: 45%;
				/* text-align: center; */
				font-size: 25px;

}
.ban-text-right {
	/* padding-left: 15%; */
				/* text-align: center; */
				font-size: 25px;
width: 45%;
}

/* PC表示：画像を親幅いっぱいに */
.ban-item img {
    width: 100%;
    max-width: none;
}


.ban-down-text {
	font-size: 28px;
padding-right: 25%;
				text-align: center;
font-weight: bold;
}

.ban-down-text2 {
		font-size: 25px;
padding-left: 5%;
width: 70%;
}

.ban-down {
		padding-left: 15%;
			/* padding-top: 3%;	 */
					display: flex;
justify-content: center;
}
.ban-left {width: 30%;}
.ban-left img {width: 100%;}
@media screen and (max-width: 1500px) {
  .ban-left {
    width: 70%;
    height: auto;       /* ← 必須 */
    max-width: 100%;    /* ← 念のため */
  }
}
@media screen and (max-width: 1300px) {
   .ban-down {
		padding-left: 10%;
}
.sp-1300-w-100 {
	width: 100% !important;
}
  }
/* @media only screen and (max-width: 1050px) {
    .ban-down {
        flex-direction: column;
    }
		.ban-down-text {
padding-top: 0%;
padding-left: 0%;
text-align: center;
}

} */
 @media only screen and (max-width: 1050px) {
    .ban-down {
        flex-direction: column;
        align-items: center;     /* ← 横方向の中央 */
        padding-left: 0;         /* ← 左ズレ解除 */
        text-align: center;
    }

    .ban-left {
        width: 50%;              /* SP用サイズ */
        margin: 0 auto 20px;     /* 完全中央 */
    }

    .ban-down-text {
        padding-top: 0;
        padding-right: 0;
        padding-left: 0;
        width: 100%;
        text-align: center;
    }

    .ban-down-text2 {
        padding-left: 0;
        width: 100%;
        text-align: center;
    }
		.ban-downtext {
	width: 80%;
}
}
@media only screen and (max-width: 500px) {
    .ban-down-text {
        font-size: 5vw;
        padding-left: 0%;
    }
}
@media only screen and (max-width: 500px) {
    .ban-down-text2 {
        font-size: 5vw;
        padding-left: 0%;
    }
}
@media screen and (max-width: 650px) {
  .horocar {
    margin-left: 0 !important;   /* ← これが重要 */
    padding-left: 0;
    text-align: center;
  }
}
@media screen and (max-width: 650px) {
  .horocar::before {
    display: none;
  }
}
@media screen and (max-width: 350px) {
  .horocar {
    font-size: 25px;
  }
}



.horocar {
  position: relative;
  padding-left: 40px;
}

.horocar::before {
  content: '■';
  color: #006699;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.sky-text3 {
	padding-bottom: 3%;
	font-size: 50px;
    color: #005aaa;
}
@media screen and (max-width: 1250px) {
    .sky-text3 {
	font-size: 3vw;
}
		
}	
@media screen and (max-width: 750px) {
    .sky-text3 {
	font-size: 3.5vw;
}
		
}	

@media screen and (max-width: 450px) {
    .sky-text3 {
	font-size: 5vw;
}
		
}	
/* 事業案内 */
.bin-white1 {
    background-color: #fff;
    width: 35%;
    padding: 2%;
    margin-left: 15%;
    position: relative; /* ←基準点 */
}
@media screen and (max-width: 850px) {
  .bin-white1 {
    width: 75%;
}  
		
}
.number01 {
    position: absolute;
    top: -20px;      /* 上に少しはみ出す */
    right: 5px;    /* 右に少しはみ出す */
    font-size: 40px;
    /* font-weight: bold; */
    color: #005aaa;  /* ブルー系 */
    line-height: 1;
}

.bin {
	color: #005aaa;
}

.small-text {
    font-size: 0.7em;   /* 親の70% */
    /* font-weight: normal; 太字を外したい場合 */
}
.bin-wrap {
padding-bottom: 3%;
	display: flex;

}
@media screen and (max-width: 850px) {
    .bin-wrap {
    flex-direction: column; /* 縦並び */

}
		
}	
.bin-white2 {
    background-color: #fff;
    width: 35%;
    padding: 2%;
    margin-left: 3%;
    position: relative; /* ←基準点 */
}
@media screen and (max-width: 850px) {
   .bin-white2 {
    width: 75%;
    margin-top: 5%;
		margin-left: 15%;
}
}	
.blue-text2 {
	text-align: center;
    /* padding-top: 3%; */
		/* padding-bottom: 3%; */
    font-size: 40px;
}

/* 会社案内 */
.table-wrap {
	width: 55%;
    margin: auto;
		padding-bottom: 5%;
}
@media screen and (max-width: 1155px) {
   .table-wrap {
    width: 85%;
}
}	
.company-table {
	width: 100%;
    font-size: 20px;
    padding-left: 5%;
}
  @media only screen and (max-width: 750px) {
  .company-table,
  .company-table tbody,
  .company-table tr {
    display: block;
    width: 100%;
  }

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


.company-th {
	position: relative;
    padding-bottom: 4px;
}
.company-th {
    position: relative; /* 擬似要素の基準 */
}

.company-table th {
    position: relative;
}
@media screen and (max-width: 750px) {
   .company-table th {
text-align: center;
padding-top: 3%;}
}	
@media screen and (max-width: 662px) {
   .company-table td {
font-size: 18px;}
}	
.company-table th::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #29abe2;
}
.b-top td {
    position: relative; /* ← これがないと ::after は表示されない */
}

.b-top td::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60%;
    height: 1px;
    background-color: #cccccc;
}
.company-table th,
.company-table td {
    line-height: 1.8; /* 1.6〜2.0 で調整 */
}
.nonline::after {
    display: none !important;
}
@media screen and (max-width: 1800px) {
  .b-top td::after {
    width: 80%; /* ← 好きな長さに調整 */
  }
}
@media screen and (max-width: 768px) {
  .b-top td::after {
    width: 100%; /* ← 好きな長さに調整 */
  }
}
/* 個人情報保護方針 */
.policy-text {
	font-weight: bold;
	font-size: 35px;
}
@media screen and (max-width: 500px) {
  .policy-text {
	font-size: 25px;
}
}
.policy-text1 {
	/* font-weight: bold; */
	font-size: 25px;
}
.policy-wrap {
	padding-left: 10%;
		padding-right: 10%;

}

/* 可児追加分 */
/* width指定 */
.w-10 {width: 10%}
.w-15 {width: 15%}
.w-20 {width: 20%}
.w-25 {width: 25%}
.w-30 {width: 30%}
.w-33 {width: 33%} /* flexの3等分用 */
.w-40 {width: 40%}
.w-45 {width: 45%}
.w-48 {width: 48%} /* flexの2等分用 */
.w-50 {width: 50%}
.w-60 {width: 60%}
.w-65 {width: 65%} /* flexの2:1の比率用 */
.w-70 {width: 70%}
.w-75 {width: 75%}
.w-80 {width: 80%} /* 基本のサイズ */
.w-90 {width: 90%}
.w-95 {width: 95%}
.w-100 {width: 100%}
.w-fit {width: fit-content}
/* 余白 */
.p-10 {padding: 10px}
.p-15 {padding: 15px}
.p-20 {padding: 20px}
.p-30 {padding: 30px}
.p-60 {padding: 60px}
/* flexなど位置系 */
.flex-center {display: flex;justify-content: center;align-items: center;gap: 2%}
.flex-between {display: flex;justify-content: space-between;align-items: center;}
.column {display: flex;flex-direction: column;align-items: center;gap: 2%}
.flex-start {display: flex;justify-content: flex-start;align-items: flex-start;gap: 2%}
.flex-end {display: flex;justify-content: flex-end;align-items: center;gap: 2%}
.right {text-align: right;}
.center {text-align: center;}
.left {text-align: left;}
/* その他汎用 marginやpaddingそのほか */
.style-none {list-style: none;padding: 0;}
.bold {font-weight: bold}
.m-auto {margin: auto}
.m-0 {margin: 0}
.m-l-3 {margin-left: 3%}
.m-l-5 {margin-left: 5%}
.m-t-5 {margin-top: 5%;}
.p-l-8 {padding: 0 0 0 8%;}
.p-l-15px {padding-left: 15px;}
.p-b-5 {padding-bottom: 5px;}
.p-t-5 {padding-top: 5px;}
.vertical-top {vertical-align: top;}
.p-y-10 {padding: 20px 0;}
.align-center {
	align-items: center;
}
.cform {width: 100%}
.cform tbody {width: 100%}
.cform tr {width: 100%;}
.bg-form {background-color: #29abe2;color: #fff;padding: 10px 25px 10px 25px;}
.bg-form p,.border-form p {margin: 0; font-size: 18px;}
.b-b-black {border-bottom: 1px solid #000}
.required-srt {background-color: #c1272d;padding: 2px 15px;border-radius: 12px;font-size: 16px !important;color: #fff !important;}
.border-form input[type="text"],.border-form textarea {width: 90%;margin:10px 0 10px 4%;}
.border-form input[type="tel"],.border-form input[type="email"] {width: 60%;margin:10px 0 10px 4%;}
.zip-code {width:40%}
.short input[type="text"] {width: 80% !important;margin: 10px 0 10px 11%}
.short {display: flex;justify-content: flex-start;gap: 15px;align-items: center;}
.credential {font-size: 14px;margin: 0;}
.a-tag {color: #29abe2}
.a-tag:hover {opacity: 0.6;color: #29abe2;}
.sending-button {background: url('./image/contact/bg-but.png');background-repeat: no-repeat;background-position: center bottom;padding: 40px 0 30px;background-size: 40%;}
.sending-button p {margin: 0;font-size: 24px;text-align: center;}
.sending-button input {color:#fff;background-color: #29abe2;border: none;box-shadow: none;}
.wpcf7-spinner {display: none !important;}
.privacy-area {text-align: center;}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
	.zip-code {width:60%}
	.short input[type="text"] {width: 80% !important;margin: 10px 0 10px 12%}
}
@media only screen and (max-width: 768px) and (min-width: 561px) {
	.sp-w-90 {width: 90%}
	.cform tr {display: flex;flex-direction: column;align-items: center;justify-content: center;}
	.bg-form {width: 100%;}
	.border-form {width: 100%;text-align: center;}
	.border-form input[type="text"],.border-form textarea {width: 90%;margin:10px auto;}
	.border-form input[type="tel"],.border-form input[type="email"] {width: 90%;margin:10px auto;}
	.zip-code {width: 100%}
	.short input[type="text"] {width: 90% !important;margin: 10px auto}
	.short {flex-direction: column;}
	.credential {width: 90%;}
	.blue-left {width: 100% !important;}
	.blue-right {width: 100% !important;}
	.blue-inner {position: static;height: auto;}
}
@media only screen and (max-width: 560px) {
	.sp-w-90 {width: 95%}
	.cform tr {display: flex;flex-direction: column;align-items: center;justify-content: center;}
	.bg-form {width: 100%;}
	.border-form {width: 100%;text-align: center;}
	.border-form input[type="text"],.border-form textarea {width: 90%;margin:10px auto;}
	.border-form input[type="tel"],.border-form input[type="email"] {width: 90%;margin:10px auto;}
	.zip-code {width: 100%}
	.short input[type="text"] {width: 90% !important;margin: 10px auto}
	.short {flex-direction: column;}
	.credential {width: 90%;}
}
.bg-sky {background-color: #f0f8ff}
.bg-blue {background-color: #0071bc}
.bg-white {background-color: #fff}
.font-blue {color: #0071bc}
.arrow-button {background-color: #3a75bb;color: #fff;width: fit-content;padding: 1px 6px;border-radius: 100%;}
.arrow-button-wh {background-color: #fff;color: #3a75bb;width: fit-content;padding: 1px 6px;border-radius: 100%;}
.b-tandb-wh {border-top: 1px solid #fff;border-bottom: 1px solid #fff;}
/* お知らせ欄 */
.l-font {font-size: 120px;font-weight: bold;color: white;text-align: center;margin: 0;line-height: 1.0;}
.s-font {font-size: 18px;color: white;text-align: right;margin-right: 115px;}
@media only screen and (max-width: 900px) {
	.pc-900 {display: none !important;}
	.sp-900-column {flex-direction: column;}
	.sp-900-w-100 {width: 100%;}
	.sp-900-w-90 {width: 90%;}
	.l-font {font-size: 80px;}
	.s-font {text-align: center;margin-right: 0;}
}
@media only screen and (min-width: 901px) {
	.sp-900 {display: none !important;}
}
.white {color: #fff;}
@media only screen and (min-width: 769px) {
	.sp {display: none} /* SP表示（769px未満で表示） */
}
@media only screen and (max-width: 768px) {
	.pc {display: none !important} /* PC表示（768px以上で表示） */
	.sp-column {display: flex;flex-direction: column;align-items: center;}
	.hamburger_menu_btn_wrap.sp {display: block;}
	.sp-w-70 {width: 70%;}
}
@media only screen and (min-width: 561px) {
	.sm {display: none} /* スマホ表示（561px未満で表示） */
}
@media only screen and (max-width: 560px) {
	.extra {display: none} /* それ以外表示（560px以上で表示） */
	.sm-column {display: flex;flex-direction: column;align-items: center;}
	.sm-w-90 {width: 90%;}
}
.news-one {background: linear-gradient(90deg, #0075be, #1e9cd7, #cce0f4);}
.upper {display: flex;flex-direction: column;align-items: center;justify-content: center;}
.lower {width: 100%;}
.send-btn-wrap {
  position: relative;
}

.send-btn-wrap input[type="submit"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 2;
}

.fake-btn {
  display: block;
  padding: 22px 70px 22px 40px;
  border-radius: 999px;
  background: #2da9df;
  color: #fff;
  position: relative;
  width: 25%;
  margin: auto;
  text-align: center;
}

.fake-btn .arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  color: #2da9df;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px;
}
@media only screen and (max-width: 1300px) and (min-width: 1000px) {
	.fake-btn {
		width: 50%;
	}
}
@media only screen and (max-width: 1000px) and (min-width: 700px) {
	.fake-btn {
		width: 60%;
	}
}
@media only screen and (max-width: 700px) and (min-width: 500px) {
	.fake-btn {
		width: 70%;
	}
}
@media only screen and (max-width: 500px) {
	.fake-btn {
		width: 80%;
	}
}
.myhead {padding: 1% 0;box-shadow: 1px 2px 9px rgba(0,0,0,0.4)}
/*-----ハンバーガーメニュー-----*/
.hamburger_menu_btn_wrap {display: none;margin-right: 1.4%;margin-left: auto;position: fixed;right: 0;top: 15%;}
.hamburger_menu_btn {width: 30px;height: 24px;position: relative;cursor: pointer;z-index: 1001;display: flex;flex-direction: column;justify-content: space-between;}
.hamburger_menu_btn span {display: block;width: 100%;height: 3px;background-color: #0a4bc1;border-radius: 2px;transition: all 0.3s ease;}
.hamburger_menu_btn.active span:nth-child(1) {transform: translateY(10.5px) rotate(45deg);}
.hamburger_menu_btn.active span:nth-child(2) {opacity: 0;}
.hamburger_menu_btn.active span:nth-child(3) {transform: translateY(-10.5px) rotate(-45deg);}
.hamburger_window {position: fixed;top: 0;right: -300px;width: 300px;height: 100vh;background-color: rgba(30, 30, 30, 0.95);padding-top: 80px;box-sizing: border-box;transition: right 0.5s ease;z-index: 1000;visibility: hidden;overflow-y: auto;}
.hamburger_window.open {right: 0;visibility: visible;}
.hamburger_list_item {list-style: none;padding: 0;margin: 0;}
.hamburger_list_item li {border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
.hamburger_list_item li:first-child {border-top: 1px solid rgba(255, 255, 255, 0.2);}
.hamburger_list_item li a {display: block;padding: 15px 20px;color: white;text-decoration: none;font-size: 1.1rem;transition: background-color 0.3s ease;}
.hamburger_list_item li a:hover {background-color: rgba(255, 255, 255, 0.1);}
.hamburger_background {position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.5);z-index: 999;opacity: 0;visibility: hidden;transition: opacity 0.5s ease;}
.hamburger_background.open {opacity: 1;visibility: visible;}
/* recruit */
.bef-hash {margin-left: 8%;position: relative;}
.bef-hash::before {width: 3.5vw;height: 2px;background-color: #0071bc;position: absolute;content:'';top: 50%;left: -8.7%;}
.f-ash {color: #999;}
.table-pad {padding-top: 15px;padding-bottom: 15px;}
@media only screen and (max-width: 560px) {
	.sm-bg-ash {background-color: #999;}
	.sm-f-white {color: #fff;}
	.sm-w-100 {width: 100% !important; text-align: center !important;}
}
.font14 {font-size: 14px}
.b-b-ash {border-bottom: 1px solid #ccc}
@media only screen and (max-width: 900px) {
	.ban-item {
        width: 100%;
    }
	.ban-text-left,.ban-text-right {width: 100%;}
}
.m-0 {margin: 0 !important;}
.p-0 {padding: 0 !important;}
@media only screen and (max-width: 1000px) and (min-width: 769px) {
	.facebook-icon img {
		width: 100%;
		margin: 1% 0;
	}
}
.font40 {
	font-size: 30px !important;
}
.font16 {font-size: 16px;}
@media only screen and (max-width: 768px) {
	.font40 {font-size: 24px !important;}
}
@media only screen and (max-width: 560px) {
	.font40 {font-size: 20px !important;}
	.font16 {font-size: 14px;}
}


/* 以下各ページレスポ化処理（金子） */
/* 会社案内 */
.tab-br {
    display: none;
}

.company-profile-main {
    background-color: #f0f7ff; /* 画像の背景色に近い薄い青 */
    color: #333;
}

.container-narrow {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 20px;
}

.info-list {
    background: transparent;
    max-width: 900px;
    margin: 0 auto;
}

.info-item {
    display: flex;
    padding: 0;
    margin-bottom: 0;
}

.info-item dt {
    width: 250px;
    font-weight: 500;
    color: #333;
    font-size: 1.5rem;
    padding: 18px 10px;
    border-bottom: 2px solid #4db9e6; 
    display: flex;
    align-items: center;
}

.info-item dd {
    flex: 1;
    margin: 0;
    padding: 18px 20px;
    color: #000000;
    font-size: 1.5rem;
    border-bottom: 2px solid #d2d4d5; 
    display: flex;
    align-items: center;
}

.cta-section {
    text-align: center;
    padding: 100px 20px;
}

.cta-lead {
    color: #005aaa;
    font-size: 2.8rem;
    line-height: 1.6;
    margin-bottom: 50px;
    font-weight: 800;
    text-align: center;
}

.cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    background-color: #29abe1;
    color: #fff;
    text-decoration: none;
    padding: 20px 25px;
    border-radius: 100vh;
    width: 440px;
    max-width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    transition: transform 0.2s, background-color 0.2s;
}

.cta-button:hover {
    background-color: rgb(52, 178, 220);
    transform: translateY(-2px);
}

.btn-arrow {
    background: #fff;
    color: #3975ba;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}


/* 会社案内レスポ化 */
@media only screen and (max-width: 1024px) {
    .container-narrow { max-width: 1000px; padding: 60px 80px 0; }
    .info-item dt { width: 180px; }
    .cta-lead { font-size: 2.2rem; }
}

@media only screen and (max-width: 895px) {
    .container-narrow { padding: 60px 105px 0; }
    .info-item dt { width: 120px; font-size: 1.2rem; padding: 18px 8px; }
    .info-item dd { font-size: 1.2rem; padding: 18px 10px; }
    .cta-lead { font-size: 1.8rem; }
    .cta-button { padding: 15px 25px; font-size: 1.2rem; }
}

@media only screen and (max-width: 768px) {
    .tab-br { display: inline; }
    .container-narrow { padding: 60px 60px 0; }
    .info-item dt { width: 100px; font-size: 1rem; border-bottom-width: 1.5px; }
    .info-item dd { font-size: 1rem; border-bottom-width: 1.5px; }
    .cta-section { padding: 60px 20px; }
    .cta-lead { font-size: 1.3rem; font-weight: 750; }
    .cta-button { padding: 10px 25px; width: 350px; font-size: 1rem; }
}

@media only screen and (max-width: 498px) {
    .container-narrow { padding: 60px 30px 0; }
    .info-item dt { width: 80px; font-size: 0.8rem; padding: 12px 8px; }
    .info-item dd { padding: 12px 10px; font-size: 0.8rem; }
    .cta-section { padding: 50px 20px; }
    .cta-lead { font-size: 1rem; margin-bottom: 30px; }
    .cta-button { padding: 5px 25px; width: 300px; font-size: 0.9rem; }
}

@media only screen and (max-width: 375px) {
    .container-narrow { padding: 40px 20px 0; }
    .info-item dt { width: 70px; font-size: 0.7rem; }
    .info-item dd { font-size: 0.7rem; }
    .cta-section { padding: 50px 18px; }
    .cta-lead { font-size: 0.85rem; }
    .cta-button { gap: 30px; padding: 6px 25px; width: 250px; font-size: 0.7rem; }
    .btn-arrow { width: 25px; height: 25px; }
}


/* 採用情報レスポ化 */
.kieru_br1, .kieru_br2 { display: none; }

@media (max-width: 1045px) { .kieru_br2 { display: inline; } }
@media (max-width: 955px) { .kieru_br1 { display: inline; } }
@media (max-width: 768px) { .w-80 { padding-left: 0 !important; } }
@media (max-width: 560px) {
    .p-30 { padding: 0 !important; }
    .p-20 { padding: 10px !important; }
    .tel-img { width: 85%; }
}
@media (max-width: 450px) { 
	.p-20 { padding: 0 !important; } 
	.tel-img { padding: 10% 0% ;}
}
@media (max-width: 400px) { .tel-img { width: 75%; } }


/* 事業案内レスポ化  */
.kieru_br3 { display: none; }

@media (max-width: 1024px) {
    .personal-container { padding-top: 3%; }
    .personal-img { width: 55%; }
}
@media (max-width: 850px) { .personal-img { width: 50% !important; } }
@media (max-width: 750px) { 
    .personal-img { width: 55% !important; }
    .sky-font { padding-left: 8%; }
}
@media (max-width: 560px) {
    .personal-container { padding-top: 1%; }
    .sky-font { font-size: 1.2rem !important; }
    .bin-wrap { padding-bottom: 5%; }
}
@media (max-width: 520px) { .personal-img { width: 64% !important; padding-bottom: 6% !important; } }
@media (max-width: 440px) {
    .sky-font { font-size: 1.1rem !important; padding-left: 2%; }
    .personal-img { width: 68% !important; }
    .bin-wrap { padding-bottom: 8%; }
    .personal-container { padding-top: 3%; }
}
@media (max-width: 400px) {
    .kieru_br3 { display: inline; }
    .sky-font { font-size: 1.2rem !important; padding-left: 0; }
    .personal-img { width: 84% !important; padding-bottom: 8% !important; }
}


/* 事業案内レスポ化 */
.kieru_br4, .kieru_br5, .kieru_br6 { display: none; }

@media (max-width: 1024px) { .kieru_br5, .kieru_br6 { display: inline; } }
@media (max-width: 950px) { .horo-down-text { padding-left: 0; } }
@media (max-width: 930px) { .refont { font-size: 27px !important; } }
@media (max-width: 900px) { .w-65 { width: 70%; } .ban-space { gap: 20px; } }
@media (max-width: 836px) { .refont { font-size: 24px !important; } }
@media (max-width: 700px) { .w-65 { width: 86%; } }
@media (max-width: 675px) { .kieru_br4 { display: inline; } }
@media (max-width: 620px) { .refont { font-size: 20px !important; text-wrap: balance; } }
@media (max-width: 500px) { .kieru_br6 { display: none; } }
@media (max-width: 450px) { .kieru_br4 { display: none; } .refont2 { text-wrap: balance; } }
@media (max-width: 400px) { .refont { font-size: 16px !important; text-wrap: balance; } }