@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-center {
	display: flex;
	justify-content: center;
	/* flex-wrap: wrap; */
}

.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: "kozuka-gothic-pr6n", 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: white;
}

.red {
	color: red;
}

.green {
	color: #00a690;
}

.grey {
	background-color: #F2F2F2;
}

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

/*-----width,size-----*/
.w100 {
	width: 100%;
	margin: 0 auto;
}

.w90 {
	width: 90%;
	margin: 0 auto;
}

.w88 {
	width: 88%;
	margin: 0 auto;
}

.w85 {
	width: 85%;
	margin: 0 auto;
}

.w80 {
	width: 80%;
	margin: 0 auto;
}

.w78 {
	width: 78%;
	margin: 0 auto;
}

.w76 {
	width: 76%;
	margin: 0 auto;
}

.w75 {
	width: 75%;
	margin: 0 auto;
}

.w72 {
	width: 72%;
	margin: 0 auto;
}

.w70 {
	width: 70%;
	margin: 0 auto;
}

.w65 {
	width: 65%;
	margin: 0 auto;
}

.w60 {
	width: 60%;
	margin: 0 auto;
}

.bold {
	font-weight: bold;
}

.f30 {
	font-size: 3rem;
}

.f28 {
	font-size: 2.8rem;
}

.f27 {
	font-size: 2.8rem;
}

.f26 {
	font-size: 2.6rem;
}

.f24 {
	font-size: 2.4rem;
}

.f22 {
	font-size: 2.2rem;
}

.f20 {
	font-size: 2rem;
}

.f18 {
	font-size: 1.8rem;
}

.f16 {
	font-size: 1.6rem
}

.f15 {
	font-size: 1.5rem;
}

.f14 {
	font-size: 1.4rem;
}

.f12 {
	font-size: 1.2rem
}

.f11 {
	font-size: 1.1rem;
}

.f10 {
	font-size: 1rem;
}

.f09 {
	font-size: 0.9rem
}

.f08 {
	font-size: 0.8rem;
}

.f07 {
	font-size: 0.7rem;
}

.f06 {
	font-size: 0.6rem
}

/* #re font width  */
@media only screen and (max-width: 1024px) and (min-width: 768px) {
	.f28 {
		font-size: 2.2rem;
	}

	.f27 {
		font-size: 2.1rem;
	}

	.f26 {
		font-size: 2rem;
	}

	.f24 {
		font-size: 1.9rem;
	}

	.f22 {
		font-size: 1.2rem;
	}

	.f20 {
		font-size: 1.6rem;
	}

	.f18 {
		font-size: 1.6rem;
	}

	.f15 {
		font-size: 1.2rem;
	}

	.f14 {
		font-size: 1.1rem;
	}

	.f12 {
		font-size: 1rem;
	}

	.w76 {
		width: 85%;
	}

}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.f30 {
		font-size: 2.4rem;
	}

	.f28 {
		font-size: 1.7rem;
	}

	.f27 {
		font-size: 1.5rem;
	}

	.f26 {
		font-size: 1.6rem;
	}

	.f24 {
		font-size: 1.8rem;
	}

	.f22 {
		font-size: 1.3rem;
	}

	.f20 {
		font-size: 1.3rem;
	}

	.f18 {
		font-size: 1.2rem;
	}

	.f16 {
		font-size: 1.2rem;
	}

	.f15 {
		font-size: 1rem;
	}

	.f14 {
		font-size: 0.9rem;
	}

	.f13 {
		font-size: 0.9rem;
	}

	.f12 {
		font-size: 0.8rem;
	}

	.f11 {
		font-size: 0.7rem;
	}

	.f10 {
		font-size: 0.7rem;
	}

	.w76 {
		width: 90%;
	}

	.w70 {
		width: 80%;
	}

	.w80 {
		width: 90%;
	}
}

@media only screen and (max-width: 561px) {
	.f30 {
		font-size: 2rem;
	}

	.f28 {
		font-size: 1rem;
	}

	.f27 {
		font-size: 1rem;
	}

	.f26 {
		font-size: 1rem;
	}

	.f24 {
		font-size: 1.2rem;
	}

	.f22 {
		font-size: 1rem;
	}

	.f20 {
		font-size: 1rem;
	}

	.f18 {
		font-size: 1rem;
	}

	.f16 {
		font-size: 0.8rem;
	}

	.f15 {
		font-size: 0.6rem;
	}

	.f14 {
		font-size: 0.7rem;
	}

	.f13 {
		font-size: 0.8rem;
	}

	.f12 {
		font-size: 0.7rem;
	}

	.f11 {
		font-size: 0.6rem;
	}

	.f10 {
		font-size: 0.6rem;
	}

	.f09 {
		font-size: 0.6rem;
	}

	.f08 {
		font-size: 0.5rem;
	}

	.w76 {
		width: 90%;
	}

	.w70 {
		width: 80%;
	}

	.w80 {
		width: 90%;
	}
}

@media only screen and (max-width: 561px) and (min-width: 461px) {
	.f28 {
		font-size: 1.4rem;
	}

	.f26 {
		font-size: 1.2rem;
	}

	.f22 {
		font-size: 0.9rem;
	}
	.w78 {
		width: 90%;
	}
}
@media only screen and (max-width: 461px) {
	.f22 {
		font-size: 0.64rem;
	}
	.f20 {
		font-size: 0.8rem;
	}
	.w80 {
		width: 95% !important;
	}
	.w78 {
		width: 94%;
	}
	.w72 {
		width: 94%;
	}
} 


/*-----ヘッダー-----*/

.myhead {
    display: flex;
    justify-content: flex-start; /* 全ての子要素を左寄せにする */
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 1% 2%;
    gap: 2%; /* 子要素間の間隔 */
}
.headerlogo {
	margin: 2% 1%;
	width: 10%;
	height: auto;
	flex-grow: 1;
	display: flex;
	align-items: center;
}
.header2 {
    margin: 0;
    flex-grow: 1; /* 残りのスペースを埋めるように拡張 */
    padding-left: 0;
}
.Main-heading {
	letter-spacing: -1px;
	line-height: 1.2;
}
.main-heading {
	display: flex;
    align-items: center;
    font-weight: 700;
}
.company-prefix {
	line-height: 1;
    margin-right: 0.5rem; 
}
.head_item {
    display: flex;
    align-items: center;
    gap: 1.5rem; /* 子要素間の均等な隙間 */
}

.logo-on-head {
	min-width: 120px;
	max-width: 120px;
}

@media only screen and (max-width: 768px) and (min-width: 0px) {
	.myhead {
		display: flex;
		justify-content: flex-start; /* 全ての子要素を左寄せにする */
		align-items: center;
		width: 100%;
		box-sizing: border-box;
		padding: 1% 2%;
		gap: 2%; /* 子要素間の間隔 */
	}
	.headerlogo {
		margin: 2% 1%;
		width: 18%;
		height: auto;
	}
	.header2 {
		margin: 0;
		flex-grow: 1; /* 残りのスペースを埋めるように拡張 */
		padding-left: 0;
	}
	.Main-heading {
		letter-spacing: -1px;
		line-height: 1.2;
	}
	.main-heading {
		display: flex;
		align-items: center;
		font-weight: 700;
	}
	.company-prefix {
		line-height: 1;
		margin-right: 0.5rem; 
	}
	.head_item {
		display: flex;
		align-items: center;
		gap: 1.5rem; /* 子要素間の均等な隙間 */
	}	
}



/* ナビゲーションの各アイテムのスタイル */
.head-img,
.head-i,
.head-im {
    display: flex; /* アイコンとテキストを縦に並べるためにFlexboxを使用 */
    flex-direction: column; /* 縦並びにする */
    align-items: center; /* 垂直方向の中央に配置 */
    position: relative; /* 疑似要素の基準にする */
	margin: 0 20px;
}

/* アイコンの画像サイズを調整 */
.head-img img,
.head-i img,
.head-im img {
    width: 50px; /* アイコンのサイズを統一 */
    height: 50px;
	object-fit: contain;
}

/* ナビゲーションの仕切り線を作成 */
.head_item > div:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -2rem; /* gapの半分の値 */
    top: 50%;
    transform: translateY(-50%);
    width: 1.4px;
    height: 30px; /* 仕切り線の高さを調整 */
    background-color: #000000; /* 線の色 */
}



/*-----ハンバーガーメニュー-----*/
.hamburger_menu_btn_wrap {
	display: none;
	margin-right: 1.4%;
	margin-left: auto;
}

.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;
}

.sp-1024 {
	display: none;
}

/* #reヘッダー  */
/* reヘッダー */
@media only screen and (min-width: 1025px) {
	.sp {
		display: none;
	}
}

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

	.sp {
		display: block;
	}

	.sp-1024 {
		display: block;
	}
}

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

	.sp {
		display: block;
	}

	.sankyo_icon {
		width: 40%;
		padding: 2% 3%;
	}

	.sp-1024 {
		display: block;
	}
}

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

	.sp {
		display: block;
	}

	.sankyo_icon {
		width: 55%;
		padding: 2% 3%;
	}

	.sp-1024 {
		display: block;
	}

	.logo-on-head {
		min-width: 80px;
		max-width: 80px;
	}

	.sm-start {
		align-items: flex-start !important;
	}
}

/* #endregion */



/* foot */
.myfoot {
	background-image: url('image/foot.back.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: auto;
	padding-top: 30px;
}

.foot {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.footL {
	background-image: url('image/footer.logo.png');
    background-size: 90% auto; /* 画像が要素に収まるように調整 */
    background-position: right 20px bottom; /* 右下寄せに配置 */
    background-repeat: no-repeat; /* 画像の繰り返しをなしに */
    flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
    height: 420px; /* ★背景画像が見えるように高さを確保 */
}

.company-info-top {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.company-logo img {
    height: 70px;
    width: auto;
    margin-right: 10px;
}
.company-name-section {
    display: flex;
    align-items: center;
}
.company-prefix {
    font-size: 1.2rem;
	font-weight: bold;
    line-height: 1;
    margin-right: 5px;
}
.company-name {
    font-size: 2.4rem;
    font-weight: bold;
}
.company-address {
    line-height: 1.5;
	font-size: 1.2rem;
	font-weight: bold;
	padding-left: 30px;
}

.footR {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
	flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
}

.foot-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}

.nav-links {
    gap: 15px;
	padding-top: 16px;
	line-height: 1.8;
}
.nav-links-top {
	margin-right: 50px;
}
.nav-links a {
	font-size: 1.2rem;
	font-weight: bold;
    text-decoration: none;
    color: #4a4a4a;
}
.contact-button {
    background-color: #c6e2cd;
    color: rgb(0, 0, 0);
    text-decoration: none;
    padding: 20px 80px;
    border-radius: 50px;
	border: 2px solid #71b981;
	font-weight: bold;
}

.access-map iframe {
	width: 600;
	height: 250;
	border: 0;
}	

.copyright-section {
    text-align: center;
    padding: 0 0 30px;
    color: #4a4a4a;
}

@media only screen and (max-width: 1024px) and (min-width: 1020px) {
	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: flex;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 80% auto; /* 画像が要素に収まるように調整 */
		background-position: right 20px bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: center;
	}
	.company-prefix {
		font-size: 1rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 1.8rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1.2rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
	}
	.nav-links-top {
		margin-right: 50px;
	}
	.nav-links a {
		font-size: 1.2rem;
		font-weight: bold;
		text-decoration: none;
		color: #4a4a4a;
	}

	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 15px 40px;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1.2rem;
	}

	.access-map iframe {
		width: 480;
		height: 250;
	}	
}

@media only screen and (max-width: 1020px) and (min-width: 896px) {
	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: inline;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 80% auto; /* 画像が要素に収まるように調整 */
		background-position: right bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: center;
	}
	.company-prefix {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 2rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1.2rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
	}
	.nav-links-top {
		margin-right: 50px;
	}
	.nav-links a {
		font-size: 1.4rem;
		font-weight: bold;
		text-decoration: none;
		color: #4a4a4a;
	}
	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 20px 50px;
		margin-right: 100px;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1.4rem;
	}

	.copyright-section {
		text-align: center;
		padding: 30px 0;
		color: #4a4a4a;
	}	
	.access-map iframe {
		width: 614;
		height: 200;
	}	
}

@media only screen and (max-width: 896px) and (min-width: 768px) {
	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: inline;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 80% auto; /* 画像が要素に収まるように調整 */
		background-position: right bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: center;
	}
	.company-prefix {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 2rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1.4rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
	}
	.nav-links-top {
		margin-right: 50px;
	}
	.nav-links a {
		font-size: 1.4rem;
		font-weight: bold;
		text-decoration: none;
		color: #4a4a4a;
	}
	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 20px 50px;
		margin-right: 10px;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1.4rem;
	}

	.copyright-section {
		text-align: center;
		padding: 30px 0;
		color: #4a4a4a;
	}	
	.access-map iframe {
		width: 614;
		height: 200;
	}	
}

@media only screen and (max-width: 768px) and (min-width: 665px) {
	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: inline;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 90% auto; /* 画像が要素に収まるように調整 */
		background-position: right bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: center;
	}
	.company-prefix {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 2rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1.2rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
	}
	.nav-links-top {
		margin-right: 50px;
	}
	.nav-links a {
		font-size: 1.2rem;
		font-weight: bold;
		text-decoration: none;
		color: #4a4a4a;
	}
	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 15px 40px;
		margin-right: 10px;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1.2rem;
	}

	.copyright-section {
		text-align: center;
		padding: 30px 0;
		color: #4a4a4a;
	}	
	.access-map iframe {
		width: 532;
		height: 200;
	}	
}

@media only screen and (max-width: 665px) and (min-width: 561px) {
	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: inline;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 90% auto; /* 画像が要素に収まるように調整 */
		background-position: right bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: center;
	}
	.company-prefix {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 2rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
	}
	.nav-links-top {
		margin-right: 50px;
	}
	.nav-links a {
		font-size: 1rem;
		font-weight: bold;
		text-decoration: none;
		color: #4a4a4a;
	}
	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 10px 35px;
		margin-right: 10px;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1rem;
	}

	.copyright-section {
		text-align: center;
		padding: 30px 0;
		color: #4a4a4a;
	}	
	.access-map iframe {
		width: 448;
		height: 200;
	}	
}

@media only screen and (max-width: 561px) and (min-width: 425px) {
	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: inline;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 90% auto; /* 画像が要素に収まるように調整 */
		background-position: right bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: center;
	}
	.company-prefix {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 2rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: block;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}

	.foot-cen {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
		width: 350px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
	.kesu {
		display: none;
	}
	.nav-links-top {
		margin-right: 0px;
		padding-bottom: 10px;
	}
	.nav-links a {
		font-size: 1rem;
		font-weight: bold;
		text-decoration: none;
		color: #4a4a4a;
	}
	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 10px 35px;
		margin: 20px auto;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1rem;
		display: flex;
		width: 220px;
		justify-content: center;
	}

	.copyright-section {
		font-size: 1rem;
		text-align: center;
		padding: 30px 0;
		color: #4a4a4a;
	}	
	.access-map iframe {
		width: 340;
		height: 200;
	}	
}

/* front */
.front1 {
	background-image: url('image/top.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: auto;
}
.front1-main {
	padding-top: 30px;
	margin-left: 50px;
	color: #ffffff;
	text-shadow: 
        3px 3px 0 #000,  /* 左上 */
         1px -1px 0 #000,  /* 右上 */
        -1px  1px 0 #000,  /* 左下 */
         1px  1px 0 #000,  /* 右下 */
         0px  0px 10px rgba(0, 0, 0, 0.7);
}
.region {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0px;
	padding-left: 0.3%;
}
.number {
	line-height: 0;
	font-size: 3.5rem;
	font-weight: 600;
	letter-spacing: -5px;
	padding-left: 0.1%;
}
.num {
	font-size: 6rem;
	font-weight: 700;
}
.main-text {
	font-size: 3rem;
	font-weight: 600;
	line-height: 0.7;
}
.achie {
	font-size: 4rem;
	font-weight: 700;
}
.sub-text {
	font-size: 1.6rem;
	font-weight: 600;
	padding-left: 0.3%;
}

.front2_title {
	margin-top: 280px;
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}

.front2 {
	margin: 3% auto;
}

.case_item {
	width: 76%;
	margin: 0 auto;
}

.content {
	border-bottom: 1px solid #71b981;
}

.date {
	width: 20%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.newspace1 {
	width: 7%;
}

.excerpt {
	width: 39%;
	display: flex;
	justify-content: center;
	min-height: 50px;
}

.excerpt p {
	display: flex;
	align-items: center;
	margin: 0 !important;
}

.newspace2 {
	width: 16%;
}

.more {
	width: 18%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #71b981;
	color: #ffffff;
	text-decoration: none;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	margin: 2% 4%;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.front3_title {
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}

/* 全体の背景と余白 */
.front3 {
    background-image: url('image/front.back.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding: 80px 0; /* 上下の余白 */
}

/* 白い背景のメインコンテナ */
.fro3 {
    background-color: #ffffff;
    width: 82%;
    margin: 0 auto; /* 中央寄せ */
    padding: 20px; /* 内側の余白 */
    border-radius: 10px; /* 角丸 */
	border: 8px solid black;
}

/* 左右2カラムレイアウト */
.fro3-inner {
	/* background-image: url('image/front.img.png'); */
	background-size: auto 100%;
    background-position: bottom right;
    background-repeat: no-repeat;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; /* 上揃え */
    flex-wrap: wrap; /* 小さい画面で折り返す */
}

/* 左側コンテナ（項目リスト） */
.front3L {
    flex-basis: 50%; /* 幅の基準 */
    padding-right: 20px;
}

/* 各項目（1, 2, 3の実績）のスタイル */
.fro3-item {
    display: flex;
    align-items: center; /* アイコンとテキストを垂直中央に */
    margin-bottom: 20px;
	margin-top: 30px;
	margin-left: 80px;
}
.fro3-item .item-img {
    flex-shrink: 0; /* アイコンが縮小しないようにする */
    width: 100px; /* アイコンの幅を固定 */
    height: 100px; /* アイコンの高さを固定 */
    margin-right: 15px; /* アイコンとテキストの間隔 */
}
.fro3-item .item-text {
    white-space: nowrap; /* テキストの自動改行を防ぐ */
    overflow: hidden; /* 親要素からはみ出た部分を隠す */
    text-overflow: ellipsis; /* はみ出た部分を省略記号にする（必要であれば） */
}
.fro3-item .item-img img {
    width: 100px;
    height: auto;
    margin-right: 15px;
}
.fro3-item .title {
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.5;
	letter-spacing: -2px;
    margin: 0;
	white-space: nowrap;
}
.fro3-item .sub-title {
    font-size: 1.2rem;
    line-height: 1.2;
	letter-spacing: -2px;
    margin: 0;
	white-space: nowrap;
}

/* 下の3つのアイコン */
.fro3-icons {
    display: flex;
    gap: 15px;
    margin-top: 30px;
	margin-left: 80px;
}
.fro3-icons img {
    width: 150px;
    height: auto;
}

/* 右側コンテナ（人物画像） */
.front3R {
    flex-basis: 50%;
    text-align: right;
}
.front3R img {
    width: 94%;
    height: auto;
}

.fro4-grid {
    display: flex;
    flex-direction: column; /* 縦に並べる */
    gap: 10px; /* アイテム間の縦の隙間 */
    padding: 0 90px; /* 左右の余白 */
    width: 100%;
}

/* 各画像と吹き出しのペア */
.fro4-item {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: space-between; /* 左右に配置 */
    width: 100%;
    position: relative;
}

/* 画像とテキストを重ねるコンテナ */
.image-wrapper,
.balloon-wrapper {
    position: relative; /* 子要素の絶対配置の基準 */
    width: 50%; /* 左右に50%ずつ配置 */
}

/* 左右のアイテムを入れ替える */
.fro4-item .left {
    margin-right: 20px;
}
.fro4-item .right {
    margin-left: 20px;
}
.fro4-item:nth-child(2) .left {
    order: 2;
    margin-right: 0;
    margin-left: 20px;
}
.fro4-item:nth-child(2) .right {
    order: 1;
    margin-left: 0;
    margin-right: 20px;
}

/* 画像のスタイル */
.image-wrapper img,
.balloon-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

.img-border {
	border: 8px solid black;
}

/* 画像上のテキストオーバーレイ */
.overlay-text {
    position: absolute;
    bottom: 5%;
    left: 5%;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 1rem;
    display: flex;
    align-items: center;
}
.overlay-text .number-tag {
    /* imgタグなので、幅と高さを指定 */
    width: 30px; 
    height: auto;
    margin-right: 5px;
}

/* 吹き出しのテキスト */
.balloon-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 80%;
}
.balloon-text p {
    margin: 0;
    font-size: 1.2rem;
    font-weight: bold;
}
.tag-yes,
.tag-good,
.tag-woo {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%) rotate(-10deg);
    font-weight: 800;
    color: green;
}

.front4_title {
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}

.front4 {
	background-image: url('image/fornt.back.town.png');
	background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
    margin: 0 auto;
}
.fro-inner {
    display: block;
    /* align-items: center; */
}

.fro-inners {
	display: flex;
    justify-content: space-between;
}

/* 左側のテキストコンテンツ */
.left-content {
    flex-basis: 46%;
	margin-top: 60px;
	margin-left: 120px;
}
.area-section {
    margin-bottom: 20px;
}
.area-title {
    color: #009245; /* 緑色 */
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 5px;
}
.area-title2 {
    color: #a78920; /* 緑色 */
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 5px;
}
.area-list {
    font-size: 1.8rem;
	font-weight: bold;
    line-height: 1.6;
}
.contact-box {
    font-size: 1.3rem;
    border: 1.4px solid #000000; /* 枠線 */
	border-radius: 10px;
    padding: 18px 14px;
    margin-top: 30px;
}
.kieru-box {
	display: none;
}

/* 右側の地図とキャラクター */
.right-content {
    flex-basis: 54%;
    display: flex;
    /* justify-content: center; */
    /* align-items: center; */
    position: relative;
	margin-top: 60px;
	margin-bottom: 24%;
}
.map-img img {
    width: 80%;
    height: auto;
    display: block;
	margin: 0 auto;
}
.character-img {
    /* position: absolute;
    top: -50px;
    right: 0; */
	margin-top: 100px;
	margin-right: 50px;
}
.character-img img {
    width: 280px;
    height: auto;
}

.front5_title {
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}
.front5 {
    background-image: url('image/front.peo.png'), url('image/front.line.png');
    background-position: right -30px bottom, center center;
    background-size: auto 86%, cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 400px;
}

.recruit-text {
	padding-top: 8%;
	padding-bottom: 1%;
}

.recruit-text h2 {
	padding-left: 15%;
    font-size: 1.8em;
    font-weight: bold;
    letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
    margin: 0 0 10px 0;
    color: black;
    text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
    white-space: nowrap; /* テキストの折り返しを防ぐ */
}

.recruit-button {
    background-color: #71b981;
    color: white;
    text-decoration: none;
    padding: 20px 20px;
    border-radius: 50px;
    font-weight: bold;
    white-space: nowrap;
    margin-top: 10px; /* ★テキストとの間隔を空ける */
	justify-content: center;
	width: 20%;
	margin: 0 auto;
}

.front6 {
	background-image: url('image/front.ude.png');
	background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
	margin: 0 auto;	
    height: 620px; /* 要素の高さを調整 */
    color: white; /* 全体の文字色 */
}

.talk-content {
    display: flex;
    flex-direction: column; /* 要素を縦に並べる */
    align-items: center; /* 子要素を水平方向の中央に揃える */
    gap: 20px; /* 子要素間の間隔 */
}

.talk-img {
	margin-top: 100px;
    width: 500px; /* 画像のサイズを調整 */
    height: auto;
}

.talk-text {
    font-size: 1.4em;
	font-weight: 600;
    line-height: 1.6;
	text-align: center;
	text-shadow: 
	3px 3px 0 #000,  /* 左上 */
		1px -1px 0 #000,  /* 右上 */
	-1px  1px 0 #000,  /* 左下 */
		1px  1px 0 #000,  /* 右下 */
		0px  0px 10px rgba(0, 0, 0, 0.7);
}

.talk-button {
    display: inline-block; /* パディングとボーダーを適用 */
    background-color: #71b981;
    color: white;
    text-decoration: none;
	margin-top: 30px;
    padding: 20px 60px;
    border-radius: 50px;
    font-weight: bold;
    white-space: nowrap;
}

@media only screen and (max-width: 1350px) and (min-width: 1025px) {
	.fro3-item .title {
		font-size: 2.4vw;
	}
}

@media only screen and (max-width: 1024px) and (min-width: 896px) {
	.front1 {
		background-image: url('image/top.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
	}
	.front1-main {
		padding-top: 30px;
		margin-left: 50px;
		color: #ffffff;
		text-shadow: 
			3px 3px 0 #000,  /* 左上 */
			1px -1px 0 #000,  /* 右上 */
			-1px  1px 0 #000,  /* 左下 */
			1px  1px 0 #000,  /* 右下 */
			0px  0px 10px rgba(0, 0, 0, 0.7);
	}
	.region {
		font-size: 1.4rem;
		font-weight: 600;
		letter-spacing: 0px;
		padding-left: 0.3%;
	}
	.number {
		line-height: 0;
		font-size: 3.5rem;
		font-weight: 600;
		letter-spacing: -5px;
		padding-left: 0.1%;
	}
	.num {
		font-size: 6rem;
		font-weight: 700;
	}
	.main-text {
		font-size: 3rem;
		font-weight: 600;
		line-height: 0.7;
	}
	.achie {
		font-size: 4rem;
		font-weight: 700;
	}
	.sub-text {
		font-size: 1.6rem;
		font-weight: 600;
		padding-left: 0.3%;
	}

	.front2_title {
		margin-top: 280px;
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	.front2 {
		margin: 3% auto;
	}

	.content {
		border-bottom: 1px solid #71b981;
	}

	.case_item {
		width: 80%;
		margin: 0 auto;
	}

	.date {
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.newspace1 {
		width: 7%;
	}

	.excerpt {
		width: 39%;
		display: flex;
		justify-content: center;
		min-height: 50px;
	}

	.excerpt p {
		display: flex;
		align-items: center;
		margin: 0 !important;
	}

	.newspace2 {
		width: 12%;
	}

	.more {
		width: 22%;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #71b981;
		color: #ffffff;
		text-decoration: none;
		border-radius: 10px;
		border: none;
		cursor: pointer;
		margin: 2% 0%;
		padding: 1% 3%;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
		transition: background-color 0.3s ease, box-shadow 0.3s ease;
	}

	.front3_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	/* 全体の背景と余白 */
	.front3 {
		background-image: url('image/front.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		padding: 80px 0; /* 上下の余白 */
	}

	/* 白い背景のメインコンテナ */
	.fro3 {
		width: 82%;
		margin: 0 auto; /* 中央寄せ */
		padding: 20px; /* 内側の余白 */
		border-radius: 10px; /* 角丸 */
		border: 8px solid black;
	}

	/* 左右2カラムレイアウト */
	.fro3-inner {
		/* background-image: url('image/front.img.png'); */
		background-size: auto 80%;
		background-position: bottom right;
		background-repeat: no-repeat;
		background-color: #ffffff;
		display: flex;
		justify-content: space-between;
		align-items: flex-start; /* 上揃え */
		flex-wrap: wrap; /* 小さい画面で折り返す */
	}

	/* 左側コンテナ（項目リスト） */
	.front3L {
		flex-basis: 50%; /* 幅の基準 */
		padding-right: 20px;
	}

	/* 各項目（1, 2, 3の実績）のスタイル */
	.fro3-item {
		display: flex;
		align-items: center; /* アイコンとテキストを垂直中央に */
		margin-bottom: 20px;
		margin-top: 0px;
		margin-left: 0px;
	}
	.fro3-item .item-img {
		flex-shrink: 0; /* アイコンが縮小しないようにする */
		width: 100px; /* アイコンの幅を固定 */
		height: 100px; /* アイコンの高さを固定 */
		margin-right: 0px; /* アイコンとテキストの間隔 */
		display: flex;
    	justify-content: center; /* アイコンを水平方向の中央に */
    	align-items: center;
	}
	.fro3-item .item-text {
		white-space: nowrap; /* テキストの自動改行を防ぐ */
		overflow: hidden; /* 親要素からはみ出た部分を隠す */
		text-overflow: ellipsis; /* はみ出た部分を省略記号にする（必要であれば） */
	}
	.fro3-item .item-img img {
		width: 90px;
		height: auto;
		margin-right: 15px;
	}
	.fro3-item .title {
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro3-item .sub-title {
		font-size: 1.2rem;
		line-height: 1.2;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}

	/* 下の3つのアイコン */
	.fro3-icons {
		display: flex;
		gap: 15px;
		margin-top: 30px;
		margin-left: 0px;
	}
	.fro3-icons img {
		width: 115px;
		height: auto;
	}

	/* 右側コンテナ（人物画像） */
	.front3R {
		flex-basis: 50%;
		text-align: right;
	}
	.front3R img {
		width: 94%;
		height: auto;
	}

	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 0 90px; /* 左右の余白 */
		width: 100%;
	}

	/* 各画像と吹き出しのペア */
	.fro4-item {
		display: flex;
		align-items: center; /* 垂直方向の中央揃え */
		justify-content: space-between; /* 左右に配置 */
		width: 100%;
		position: relative;
	}

	/* 画像とテキストを重ねるコンテナ */
	.image-wrapper,
	.balloon-wrapper {
		position: relative; /* 子要素の絶対配置の基準 */
		width: 50%; /* 左右に50%ずつ配置 */
	}

	/* 左右のアイテムを入れ替える */
	.fro4-item .left {
		margin-right: 20px;
	}
	.fro4-item .right {
		margin-left: 20px;
	}
	.fro4-item:nth-child(2) .left {
		order: 2;
		margin-right: 0;
		margin-left: 20px;
	}
	.fro4-item:nth-child(2) .right {
		order: 1;
		margin-left: 0;
		margin-right: 20px;
	}

	/* 画像のスタイル */
	.image-wrapper img,
	.balloon-wrapper img {
		width: 100%;
		height: auto;
		display: block;
	}

	.img-border {
		border: 8px solid black;
	}

	/* 画像上のテキストオーバーレイ */
	.overlay-text {
		position: absolute;
		bottom: 5%;
		left: 5%;
		background-color: rgba(0, 0, 0, 0.5);
		color: white;
		padding: 5px 10px;
		border-radius: 5px;
		font-size: 1rem;
		display: flex;
		align-items: center;
	}
	.overlay-text .number-tag {
		/* imgタグなので、幅と高さを指定 */
		width: 30px; 
		height: auto;
		margin-right: 5px;
	}

	/* 吹き出しのテキスト */
	.balloon-text {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		width: 80%;
	}
	.balloon-text p {
		margin: 0;
		font-size: 1.2rem;
		font-weight: bold;
	}
	.tag-yes,
	.tag-good,
	.tag-woo {
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translateY(-50%) rotate(-10deg);
		font-weight: 800;
		color: green;
	}

	.front4_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	.front4 {
		background-image: url('image/fornt.back.town.png');
		background-size: contain;
		background-position: center bottom;
		background-repeat: no-repeat;
		width: 100%;
		margin: 0 auto;
	}
	.fro-inner {
		display: flex;
		justify-content: space-between;
		/* align-items: center; */
	}

	/* 左側のテキストコンテンツ */
	.left-content {
		flex-basis: 46%;
		margin-top: 60px;
		margin-left: 120px;
		margin-bottom: 200px;
	}
	.area-section {
		margin-bottom: 20px;
	}
	.area-title {
		color: #009245; /* 緑色 */
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.area-title2 {
		color: #a78920; /* 緑色 */
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.area-list {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.6;
	}
	.contact-box {
		font-size: 1.3rem;
		border: 1.4px solid #000000; /* 枠線 */
		border-radius: 10px;
		padding: 18px 14px;
		margin-top: 30px;
	}

	/* 右側の地図とキャラクター */
	.right-content {
		flex-basis: 54%;
		display: flex;
		/* justify-content: center; */
		/* align-items: center; */
		position: relative;
		margin-top: 60px;
		margin-bottom: 24%;
	}
	.map-img img {
		width: 80%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.character-img {
		/* position: absolute;
		top: -50px;
		right: 0; */
		margin-top: 100px;
		margin-right: 50px;
	}
	.character-img img {
		width: 280px;
		height: auto;
	}

	.front5_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}
	.front5 {
		background-image: url('image/front.peo.png'), url('image/front.line.png');
		background-position: right -5px bottom, center center;
		background-size: auto 86%, cover;
		background-repeat: no-repeat;
		width: 100%;
		height: 350px;
	}

	.recruit-text {
		padding-top: 8%;
		padding-bottom: 1%;
	}

	.recruit-text h2 {
		padding-left: 140px;
		font-size: 1.6em;
		font-weight: bold;
		letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
		margin: 0 0 10px 0;
		color: black;
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px  1px 0 #fff,
		1px  1px 0 #fff;
		white-space: nowrap; /* テキストの折り返しを防ぐ */
	}

	.recruit-button {
		background-color: #71b981;
		color: white;
		text-decoration: none;
		padding: 20px 20px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
		margin-top: 10px; /* ★テキストとの間隔を空ける */
		justify-content: center;
		width: 28%;
		margin: 0 auto;
	}

	.front6 {
		background-image: url('image/front.ude.png');
		background-size: cover;
		background-position: center bottom;
		background-repeat: no-repeat;
		width: 100%;
		margin: 0 auto;	
		height: 620px; /* 要素の高さを調整 */
		color: white; /* 全体の文字色 */
	}

	.talk-content {
		display: flex;
		flex-direction: column; /* 要素を縦に並べる */
		align-items: center; /* 子要素を水平方向の中央に揃える */
		gap: 20px; /* 子要素間の間隔 */
	}

	.talk-img {
		margin-top: 100px;
		width: 450px; /* 画像のサイズを調整 */
		height: auto;
	}

	.talk-text {
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 1.6;
		text-align: center;
		text-shadow: 
		3px 3px 0 #000,  /* 左上 */
			1px -1px 0 #000,  /* 右上 */
		-1px  1px 0 #000,  /* 左下 */
			1px  1px 0 #000,  /* 右下 */
			0px  0px 10px rgba(0, 0, 0, 0.7);
	}

	.talk-button {
		display: inline-block; /* パディングとボーダーを適用 */
		background-color: #71b981;
		color: white;
		text-decoration: none;
		margin-top: 60px;
		padding: 15px 50px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
	}
}

@media only screen and (max-width: 896px) and (min-width: 768px) {
	.front1 {
		background-image: url('image/top.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
	}
	.front1-main {
		padding-top: 60px;
		margin-left: 50px;
		color: #ffffff;
		text-shadow: 
			3px 3px 0 #000,  /* 左上 */
			1px -1px 0 #000,  /* 右上 */
			-1px  1px 0 #000,  /* 左下 */
			1px  1px 0 #000,  /* 右下 */
			0px  0px 10px rgba(0, 0, 0, 0.7);
	}
	.region {
		font-size: 1.2rem;
		font-weight: 600;
		letter-spacing: 0px;
		padding-left: 0.3%;
	}
	.number {
		line-height: 0;
		font-size: 3rem;
		font-weight: 600;
		letter-spacing: -5px;
		padding-left: 0.1%;
	}
	.num {
		font-size: 4rem;
		font-weight: 700;
	}
	.main-text {
		font-size: 2rem;
		font-weight: 600;
		line-height: 0.7;
	}
	.achie {
		font-size: 3rem;
		font-weight: 700;
	}
	.sub-text {
		font-size: 1.2rem;
		font-weight: 600;
		padding-left: 0.3%;
	}

	.front2_title {
		margin-top: 280px;
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	.front2 {
		margin: 3% auto;
	}

	.case_item {
		width: 85%;
		margin: 0 auto;
	}

	.content {
		border-bottom: 1px solid #71b981;
	}

	.date {
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.newspace1 {
		width: 9%;
	}

	.excerpt {
		width: 39%;
		display: flex;
		justify-content: center;
		min-height: 50px;
	}

	.excerpt p {
		display: flex;
		align-items: center;
		margin: 0 !important;
	}

	.newspace2 {
		width: 10%;
	}

	.more {
		width: 22%;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #71b981;
		color: #ffffff;
		text-decoration: none;
		border-radius: 10px;
		border: none;
		cursor: pointer;
		margin: 2% 0%;
		padding: 1% 2%;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
		transition: background-color 0.3s ease, box-shadow 0.3s ease;
	}

	.front3_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	/* 全体の背景と余白 */
	.front3 {
		background-image: url('image/front.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		padding: 80px 0; /* 上下の余白 */
	}

	/* 白い背景のメインコンテナ */
	.fro3 {

		width: 82%;
		margin: 0 auto; /* 中央寄せ */
		padding: 0px; /* 内側の余白 */
		border-radius: 10px; /* 角丸 */
		border: 8px solid black;
	}

	/* 左右2カラムレイアウト */
	.fro3-inner {
		/* background-image: url('image/front.img.png'); */
		background-size: auto 80%;
		background-position: bottom right;
		background-repeat: no-repeat;
		background-color: #ffffff;
		display: flex;
		justify-content: space-between;
		align-items: flex-start; /* 上揃え */
		flex-wrap: wrap; /* 小さい画面で折り返す */
	}

	/* 左側コンテナ（項目リスト） */
	.front3L {
		flex-basis: 50%; /* 幅の基準 */
		padding-right: 20px;
	}

	/* 各項目（1, 2, 3の実績）のスタイル */
	.fro3-item {
		display: flex;
		align-items: center; /* アイコンとテキストを垂直中央に */
		margin-bottom: 20px;
		margin-top: 0px;
		margin-left: 0px;
	}
	.fro3-item .item-img {
		flex-shrink: 0; /* アイコンが縮小しないようにする */
		width: 100px; /* アイコンの幅を固定 */
		height: 100px; /* アイコンの高さを固定 */
		margin-right: 0px; /* アイコンとテキストの間隔 */
		display: flex;
    	justify-content: center; /* アイコンを水平方向の中央に */
    	align-items: center;
	}
	.fro3-item .item-text {
		white-space: nowrap; /* テキストの自動改行を防ぐ */
		overflow: hidden; /* 親要素からはみ出た部分を隠す */
		text-overflow: ellipsis; /* はみ出た部分を省略記号にする（必要であれば） */
	}
	.fro3-item .item-img img {
		width: 70px;
		height: auto;
		margin-right: 0px;
	}
	.fro3-item .title {
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro3-item .sub-title {
		font-size: 1rem;
		line-height: 1.2;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}

	/* 下の3つのアイコン */
	.fro3-icons {
		display: flex;
		gap: 15px;
		margin-top: 0px;
		margin-left: 0px;
	}
	.fro3-icons img {
		width: 110px;
		height: auto;
	}

	/* 右側コンテナ（人物画像） */
	.front3R {
		flex-basis: 50%;
		text-align: right;
	}
	.front3R img {
		width: 94%;
		height: auto;
	}

	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 0 90px; /* 左右の余白 */
		width: 100%;
	}

	/* 各画像と吹き出しのペア */
	.fro4-item {
		display: flex;
		align-items: center; /* 垂直方向の中央揃え */
		justify-content: space-between; /* 左右に配置 */
		width: 100%;
		position: relative;
	}

	/* 画像とテキストを重ねるコンテナ */
	.image-wrapper,
	.balloon-wrapper {
		position: relative; /* 子要素の絶対配置の基準 */
		width: 50%; /* 左右に50%ずつ配置 */
	}

	/* 左右のアイテムを入れ替える */
	.fro4-item .left {
		margin-right: 20px;
	}
	.fro4-item .right {
		margin-left: 20px;
	}
	.fro4-item:nth-child(2) .left {
		order: 2;
		margin-right: 0;
		margin-left: 20px;
	}
	.fro4-item:nth-child(2) .right {
		order: 1;
		margin-left: 0;
		margin-right: 20px;
	}

	/* 画像のスタイル */
	.image-wrapper img,
	.balloon-wrapper img {
		width: 100%;
		height: auto;
		display: block;
	}

	.img-border {
		border: 8px solid black;
	}

	/* 画像上のテキストオーバーレイ */
	.overlay-text {
		position: absolute;
		bottom: 5%;
		left: 5%;
		background-color: rgba(0, 0, 0, 0.5);
		color: white;
		padding: 5px 10px;
		border-radius: 5px;
		font-size: 1rem;
		display: flex;
		align-items: center;
	}
	.overlay-text .number-tag {
		/* imgタグなので、幅と高さを指定 */
		width: 30px; 
		height: auto;
		margin-right: 5px;
	}

	/* 吹き出しのテキスト */
	.balloon-text {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		width: 80%;
	}
	.balloon-text p {
		margin: 0;
		font-size: 1.2rem;
		font-weight: bold;
	}
	.tag-yes,
	.tag-good,
	.tag-woo {
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translateY(-50%) rotate(-10deg);
		font-weight: 800;
		color: green;
	}

	.front4_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	.front4 {
		background-image: url('image/fornt.back.town.png');
		background-size: contain;
		background-position: center bottom;
		background-repeat: no-repeat;
		width: 100%;
		margin: 0 auto;
	}
	.fro-inner {
		display: flex;
		justify-content: space-between;
		/* align-items: center; */
	}

	/* 左側のテキストコンテンツ */
	.left-content {
		flex-basis: 50%;
		margin-top: 60px;
		margin-left: 70px;
		margin-bottom: 200px;
	}
	.area-section {
		margin-bottom: 20px;
	}
	.area-title {
		color: #009245; /* 緑色 */
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.area-title2 {
		color: #a78920; /* 緑色 */
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.area-list {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.6;
	}
	.contact-box {
		font-size: 1.3rem;
		border: 1.4px solid #000000; /* 枠線 */
		border-radius: 10px;
		padding: 18px 14px;
		margin-top: 30px;
	}

	/* 右側の地図とキャラクター */
	.right-content {
		flex-basis: 50%;
		display: inline;
		/* justify-content: center; */
		/* align-items: center; */
		position: relative;
		margin-top: 60px;
		margin-bottom: 24%;
	}
	.map-img img {
		width: 70%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.character-img {
		margin: 0 !important;
	}
	.character-img img {
		width: 50%;
		height: auto;
		display: block;
		margin: 0 auto;
		padding-top: 40px;
	}

	.front5_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}
	.front5 {
		background-image: url('image/front.peo.png'), url('image/front.line.png');
		background-position: right 5px bottom, center center;
		background-size: auto 76%, cover;
		background-repeat: no-repeat;
		width: 100%;
		height: 300px;
	}

	.recruit-text {
		padding-top: 6%;
		padding-bottom: 5%;
	}

	.recruit-text h2 {
		padding-left: 84px;
		font-size: 1.4em;
		font-weight: bold;
		letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
		margin: 0 0 10px 0;
		color: black;
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px  1px 0 #fff,
		1px  1px 0 #fff;
		white-space: nowrap; /* テキストの折り返しを防ぐ */
	}

	.recruit-button {
		background-color: #71b981;
		color: white;
		text-decoration: none;
		padding: 15px 15px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
		justify-content: center;
		width: 35%;
		margin: 0 auto;
	}

	.front6 {
		background-image: url('image/front.ude.png');
		background-size: cover;
		background-position: center bottom;
		background-repeat: no-repeat;
		width: 100%;
		margin: 0 auto;	
		height: 620px; /* 要素の高さを調整 */
		color: white; /* 全体の文字色 */
	}

	.talk-content {
		display: flex;
		flex-direction: column; /* 要素を縦に並べる */
		align-items: center; /* 子要素を水平方向の中央に揃える */
		gap: 20px; /* 子要素間の間隔 */
	}

	.talk-img {
		margin-top: 100px;
		width: 450px; /* 画像のサイズを調整 */
		height: auto;
	}

	.talk-text {
		font-size: 1.3rem;
		font-weight: 600;
		line-height: 1.6;
		text-align: center;
		text-shadow: 
		3px 3px 0 #000,  /* 左上 */
			1px -1px 0 #000,  /* 右上 */
		-1px  1px 0 #000,  /* 左下 */
			1px  1px 0 #000,  /* 右下 */
			0px  0px 10px rgba(0, 0, 0, 0.7);
	}

	.talk-button {
		display: inline-block; /* パディングとボーダーを適用 */
		background-color: #71b981;
		color: white;
		text-decoration: none;
		margin-top: 60px;
		padding: 15px 50px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.front1 {
		background-image: url('image/top.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
	}
	.front1-main {
		padding-top: 60px;
		margin-left: 50px;
		color: #ffffff;
		text-shadow: 
			3px 3px 0 #000,  /* 左上 */
			1px -1px 0 #000,  /* 右上 */
			-1px  1px 0 #000,  /* 左下 */
			1px  1px 0 #000,  /* 右下 */
			0px  0px 10px rgba(0, 0, 0, 0.7);
	}
	.region {
		font-size: 1.2rem;
		font-weight: 600;
		letter-spacing: 0px;
		padding-left: 0.3%;
	}
	.number {
		line-height: 0;
		font-size: 2.4rem;
		font-weight: 600;
		letter-spacing: -0px;
		padding-left: 0.1%;
	}
	.num {
		font-size: 3.4rem;
		font-weight: 700;
	}
	.main-text {
		font-size: 1.6rem;
		font-weight: 600;
		line-height: 0.7;
	}
	.achie {
		font-size: 2.4rem;
		font-weight: 700;
	}
	.sub-text {
		font-size: 1.2rem;
		font-weight: 600;
		padding-left: 0.3%;
	}

	.front2_title {
		margin-top: 280px;
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	.front2 {
		margin: 3% auto;
	}

	.case_item {
		width: 85%;
		margin: 0 auto;
	}

	.content {
		border-bottom: 1px solid #71b981;
	}

	.date {
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.newspace1 {
		width: 9%;
	}

	.excerpt {
		width: 39%;
		display: flex;
		justify-content: center;
		min-height: 50px;
	}

	.excerpt p {
		display: flex;
		align-items: center;
		margin: 0 !important;
	}

	.newspace2 {
		width: 10%;
	}

	.more {
		width: 22%;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #71b981;
		color: #ffffff;
		text-decoration: none;
		border-radius: 10px;
		border: none;
		cursor: pointer;
		margin: 2% 0%;
		padding: 1% 2%;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
		transition: background-color 0.3s ease, box-shadow 0.3s ease;
	}

	.front3_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	/* 全体の背景と余白 */
	.front3 {
		background-image: url('image/front.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		padding: 80px 0; /* 上下の余白 */
	}

	/* 白い背景のメインコンテナ */
	.fro3 {
		background-color: #ffffff;
		width: 82%;
		margin: 0 auto; /* 中央寄せ */
		padding: 0px; /* 内側の余白 */
		border-radius: 10px; /* 角丸 */
		border: 8px solid black;
	}

	/* 左右2カラムレイアウト */
	.fro3-inner {
		/* background-image: url('image/front.img.png'); */
		background-size: auto 70%;
		background-position: bottom right;
		background-repeat: no-repeat;
		display: flex;
		justify-content: space-between;
		align-items: flex-start; /* 上揃え */
		flex-wrap: wrap; /* 小さい画面で折り返す */
	}

	/* 左側コンテナ（項目リスト） */
	.front3L {
		flex-basis: 50%; /* 幅の基準 */
		padding-right: 20px;
	}

	/* 各項目（1, 2, 3の実績）のスタイル */
	.fro3-item {
		display: flex;
		align-items: center; /* アイコンとテキストを垂直中央に */
		margin-bottom: 20px;
		margin-top: 0px;
		margin-left: 0px;
	}
	.fro3-item .item-img {
		flex-shrink: 0; /* アイコンが縮小しないようにする */
		width: 100px; /* アイコンの幅を固定 */
		height: 100px; /* アイコンの高さを固定 */
		margin-right: 0px; /* アイコンとテキストの間隔 */
		display: flex;
    	justify-content: center; /* アイコンを水平方向の中央に */
    	align-items: center;
	}
	.fro3-item .item-text {
		white-space: nowrap; /* テキストの自動改行を防ぐ */
		overflow: hidden; /* 親要素からはみ出た部分を隠す */
		text-overflow: ellipsis; /* はみ出た部分を省略記号にする（必要であれば） */
	}
	.fro3-item .item-img img {
		width: 70px;
		height: auto;
		margin-right: 0px;
	}
	.fro3-item .title {
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro3-item .sub-title {
		font-size: 1rem;
		line-height: 1.2;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}

	/* 下の3つのアイコン */
	.fro3-icons {
		display: flex;
		gap: 15px;
		margin-top: 0px;
		margin-left: 0px;
	}
	.fro3-icons img {
		width: 120px;
		height: auto;
	}

	/* 右側コンテナ（人物画像） */
	.front3R {
		flex-basis: 50%;
		text-align: right;
	}
	.front3R img {
		width: 94%;
		height: auto;
	}

	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 0 90px; /* 左右の余白 */
		width: 100%;
	}

	/* 各画像と吹き出しのペア */
	.fro4-item {
		display: flex;
		align-items: center; /* 垂直方向の中央揃え */
		justify-content: space-between; /* 左右に配置 */
		width: 100%;
		position: relative;
	}

	/* 画像とテキストを重ねるコンテナ */
	.image-wrapper,
	.balloon-wrapper {
		position: relative; /* 子要素の絶対配置の基準 */
		width: 50%; /* 左右に50%ずつ配置 */
	}

	/* 左右のアイテムを入れ替える */
	.fro4-item .left {
		margin-right: 20px;
	}
	.fro4-item .right {
		margin-left: 20px;
	}
	.fro4-item:nth-child(2) .left {
		order: 2;
		margin-right: 0;
		margin-left: 20px;
	}
	.fro4-item:nth-child(2) .right {
		order: 1;
		margin-left: 0;
		margin-right: 20px;
	}

	/* 画像のスタイル */
	.image-wrapper img,
	.balloon-wrapper img {
		width: 100%;
		height: auto;
		display: block;
	}

	.img-border {
		border: 8px solid black;
	}

	/* 画像上のテキストオーバーレイ */
	.overlay-text {
		position: absolute;
		bottom: 5%;
		left: 5%;
		background-color: rgba(0, 0, 0, 0.5);
		color: white;
		padding: 5px 10px;
		border-radius: 5px;
		font-size: 1rem;
		display: flex;
		align-items: center;
	}
	.overlay-text .number-tag {
		/* imgタグなので、幅と高さを指定 */
		width: 30px; 
		height: auto;
		margin-right: 5px;
	}

	/* 吹き出しのテキスト */
	.balloon-text {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		width: 80%;
	}
	.balloon-text p {
		margin: 0;
		font-size: 1.2rem;
		font-weight: bold;
	}
	.tag-yes,
	.tag-good,
	.tag-woo {
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translateY(-50%) rotate(-10deg);
		font-weight: 800;
		color: green;
	}

	.front4_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}

	.front4 {
		background-image: url('image/fornt.back.town.png');
		background-size: contain;
		background-position: center bottom;
		background-repeat: no-repeat;
		width: 100%;
		margin: 0 auto;
	}
	.fro-inner {
		display: flex;
		justify-content: space-between;
		/* align-items: center; */
	}

	/* 左側のテキストコンテンツ */
	.left-content {
		flex-basis: 50%;
		margin-top: 60px;
		margin-left: 70px;
		margin-bottom: 200px;
	}
	.area-section {
		margin-bottom: 20px;
	}
	.area-title {
		color: #009245; /* 緑色 */
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.area-title2 {
		color: #a78920; /* 緑色 */
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.area-list {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.6;
	}
	.contact-box {
		font-size: 1.3rem;
		border: 1.4px solid #000000; /* 枠線 */
		border-radius: 10px;
		padding: 18px 14px;
		margin-top: 30px;
	}

	/* 右側の地図とキャラクター */
	.right-content {
		flex-basis: 50%;
		display: inline;
		/* justify-content: center; */
		/* align-items: center; */
		position: relative;
		margin-top: 60px;
		margin-bottom: 24%;
	}
	.map-img img {
		width: 70%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.character-img {
		margin: 0 !important;
	}
	.character-img img {
		width: 50%;
		height: auto;
		display: block;
		margin: 0 auto;
		padding-top: 40px;
	}

	.front5_title {
		padding-top: 1%;
		padding-bottom: 1%;
		background-color: #0a4bc1;
	}
	.front5 {
		background-image: url('image/front.peo.png'), url('image/front.line.png');
		background-position: right 10px bottom, center center;
		background-size: auto 76%, cover;
		background-repeat: no-repeat;
		width: 100%;
		height: 300px;
	}

	.recruit-text {
		padding-top: 6%;
		padding-bottom: 5%;
	}

	.recruit-text h2 {
		padding-left: 84px;
		font-size: 1.4em;
		font-weight: bold;
		letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
		margin: 0 0 10px 0;
		color: black;
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px  1px 0 #fff,
		1px  1px 0 #fff;
		white-space: nowrap; /* テキストの折り返しを防ぐ */
	}

	.recruit-button {
		background-color: #71b981;
		color: white;
		text-decoration: none;
		padding: 15px 15px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
		justify-content: center;
		width: 35%;
		margin: 0 auto;
	}

	.front6 {
		background-image: url('image/front.ude.png');
		background-size: cover;
		background-position: center bottom;
		background-repeat: no-repeat;
		width: 100%;
		margin: 0 auto;	
		height: 620px; /* 要素の高さを調整 */
		color: white; /* 全体の文字色 */
	}

	.talk-content {
		display: flex;
		flex-direction: column; /* 要素を縦に並べる */
		align-items: center; /* 子要素を水平方向の中央に揃える */
		gap: 20px; /* 子要素間の間隔 */
	}

	.talk-img {
		margin-top: 100px;
		width: 350px; /* 画像のサイズを調整 */
		height: auto;
	}

	.talk-text {
		width: 70%;
		margin: 0 auto;
		font-size: 1.3rem;
		font-weight: 600;
		line-height: 1.6;
		text-align: center;
		text-shadow: 
		3px 3px 0 #000,  /* 左上 */
			1px -1px 0 #000,  /* 右上 */
		-1px  1px 0 #000,  /* 左下 */
			1px  1px 0 #000,  /* 右下 */
			0px  0px 10px rgba(0, 0, 0, 0.7);
	}

	.sikiiti {
		display: none;
	}

	.talk-button {
		display: inline-block; /* パディングとボーダーを適用 */
		background-color: #71b981;
		color: white;
		text-decoration: none;
		margin-top: 60px;
		padding: 15px 50px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
	}
}

@media only screen and (max-width: 1000px) and (min-width: 896px){
	.front5 {
		background-image: url('image/front.peo.png'), url('image/front.line.png');
		background-position: right -5px bottom, center center;
		background-size: auto 86%, cover;
		background-repeat: no-repeat;
		width: 100%;
		height: 300px;
	}

	.recruit-text h2 {
		padding-left: 160px;
		font-size: 1.4em;
		font-weight: bold;
		letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
		margin: 0 0 10px 0;
		color: black;
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px  1px 0 #fff,
		1px  1px 0 #fff;
		white-space: nowrap; /* テキストの折り返しを防ぐ */
	}
	.recruit-button {
		background-color: #71b981;
		color: white;
		text-decoration: none;
		padding: 15px 15px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
		justify-content: center;
		width: 30%;
		margin: 0 auto;
	}
} 

@media only screen and (max-width: 896px) and (min-width: 832px){
	.front5 {
		background-image: url('image/front.peo.png'), url('image/front.line.png');
		background-position: right -5px bottom, center center;
		background-size: auto 80%, cover;
		background-repeat: no-repeat;
		width: 100%;
		height: 300px;
	}

	.recruit-text h2 {
		padding-left: 170px;
		font-size: 1.4em;
		font-weight: bold;
		letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
		margin: 0 0 10px 0;
		color: black;
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px  1px 0 #fff,
		1px  1px 0 #fff;
		white-space: nowrap; /* テキストの折り返しを防ぐ */
	}
	.recruit-button {
		background-color: #71b981;
		color: white;
		text-decoration: none;
		padding: 15px 15px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
		justify-content: center;
		width: 30%;
		margin: 0 auto;
	}
} 

@media only screen and (max-width: 832px) and (min-width: 768px) {
	.front5 {
		background-image: url('image/front.peo.png'), url('image/front.line.png');
		background-position: right 5px bottom, center center;
		background-size: auto 82%, cover;
		background-repeat: no-repeat;
		width: 100%;
		height: 300px;
	}

	.recruit-text h2 {
		padding-left: 130px;
		font-size: 1.4em;
		font-weight: bold;
		letter-spacing: -3; /* これは単位がないので注意。pxやemなどが必要 */
		margin: 0 0 10px 0;
		color: black;
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px  1px 0 #fff,
		1px  1px 0 #fff;
		white-space: nowrap; /* テキストの折り返しを防ぐ */
	}
	.recruit-button {
		background-color: #71b981;
		color: white;
		text-decoration: none;
		padding: 15px 15px;
		border-radius: 50px;
		font-weight: bold;
		white-space: nowrap;
		justify-content: center;
		width: 30%;
		margin: 0 auto;
	}
} 


@media only screen and (max-width: 1024px) and (min-width: 960px) {
	.fro3-icons img {
		width: 130px;
		height: auto;
	}
}
@media only screen and (max-width: 896px) and (min-width: 832px) {
	.fro3-icons img {
		width: 115px;
		height: auto;
	}
}
@media only screen and (max-width: 832px) and (min-width: 768px) {
	.fro3-icons img {
		width: 100px;
		height: auto;
	}
	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 10px 65px; /* 左右の余白 */
		width: 100%;
	}
}
@media only screen and (max-width: 768px) and (min-width: 699px) {
	.fro3-icons img {
		width: 95px;
		height: auto;
	}
	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 15px 65px; /* 左右の余白 */
		width: 100%;
	}
}
@media only screen and (max-width: 699px) and (min-width: 630px) {
	.fro3-inner {
		/* background-image: url('image/front.img.png'); */
		background-size: auto 62%;
		background-position: bottom right;
		background-repeat: no-repeat;
		display: flex;
		justify-content: space-between;
		align-items: flex-start; /* 上揃え */
		flex-wrap: wrap; /* 小さい画面で折り返す */
	}
	.fro3-icons img {
		width: 88px;
		height: auto;
	}
	.fro3-item .title {
		font-size: 1.3rem;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro3-item .sub-title {
		font-size: 1rem;
		line-height: 1.2;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 20px 40px; /* 左右の余白 */
		width: 100%;
	}
	.right-content {
		margin-bottom: 0px;
	}
	.left-content {
		margin-bottom: 0px;
	}
	.fro-inner {
		display: block;
	}
	.fro-inners {
		display: flex;
		justify-content: space-between;
	}
	.contact-box {
		display: none;
	}
	.kieru-box {
		width: 80%;
		margin: 20px auto 0;
		display: block;
		font-size: 1.3rem;
		padding-bottom: 250px;
	}
}
@media only screen and (max-width: 630px) and (min-width: 561px) {
	.fro3-inner {
		/* background-image: url('image/front.img.png'); */
		background-size: auto 60%;
		background-position: bottom right;
		background-repeat: no-repeat;
		display: flex;
		justify-content: space-between;
		align-items: flex-start; /* 上揃え */
		flex-wrap: wrap; /* 小さい画面で折り返す */
	}
	.fro3-item .item-img {
		flex-shrink: 0; /* アイコンが縮小しないようにする */
		width: 80px; /* アイコンの幅を固定 */
		height: 100px; /* アイコンの高さを固定 */
		margin-right: 0px; /* アイコンとテキストの間隔 */
		display: flex;
    	justify-content: center; /* アイコンを水平方向の中央に */
    	align-items: center;
	}
	.fro3-item .item-img img {
		width: 60px;
		height: auto;
	}
	.fro3-icons {
		display: flex;
		gap: 5px;
		margin-top: 30px;
		margin-left: 0px;
	}
	.fro3-icons img {
		width: 78px;
		height: auto;
	}
	.fro3-item .title {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro3-item .sub-title {
		font-size: 0.9rem;
		line-height: 1.2;
		letter-spacing: -2px;
		margin: 0;
		white-space: nowrap;
	}
	.fro4-grid {
		display: flex;
		flex-direction: column; /* 縦に並べる */
		gap: 10px; /* アイテム間の縦の隙間 */
		padding: 20px 20px; /* 左右の余白 */
		width: 100%;
	}
	.right-content {
		margin-bottom: 0px;
	}
	.left-content {
		margin-bottom: 0px;
	}
	.fro-inner {
		display: block;
	}
	.fro-inners {
		display: flex;
		justify-content: space-between;
	}
	.contact-box {
		display: none;
	}
	.kieru-box {
		width: 80%;
		margin: 20px auto 0;
		display: block;
		font-size: 1.3rem;
		padding-bottom: 200px;
	}
}

/* company */
.annnai-top {
	background-image: url('image/1x/annnai.top.png');
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
	margin: 0 auto;		
}
.annnai-tex {
	font-size: 3.5rem;
	font-weight: bold;
	padding: 200px ;
	text-shadow: 
	3px 3px 0 #000,  /* 左上 */
		1px -1px 0 #000,  /* 右上 */
	-1px  1px 0 #000,  /* 左下 */
		1px  1px 0 #000,  /* 右下 */
		0px  0px 10px rgba(0, 0, 0, 0.7);
	text-align: center;
}
.annnai_title1 {
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}
.annnai-back {
	background-image: url('image/1x/annnai.back.png');
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding: 60px 0 400px;
    box-sizing: border-box;
}

.info {
  width: 70%;
  margin: 0 auto;
  line-height: 1.6;
}

.info th {
  vertical-align: top;
  padding: 6px 8px;
  white-space: nowrap;
}

.info th h2{
  font-size: 2.4rem !important;
  padding-top: 50px;
}

.info td {
  padding: 6px 8px 6px 40px;
  word-break: break-word;
  font-size: 1.6rem;
  font-weight: bold; 
	text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
}

/* 均等割り付け用 */
.info th {
  width: 6em;
}
.label {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-size: 1.6rem;
  font-weight: bold;
    text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
}
.label span {
  flex: 0 0 auto;
}

.annnai-line {
	width: 100%;
	padding-top: 50px !important;
}

/* セクション見出し（沿革） */
.section-title {
  font-weight: bold;
  margin: 1.5em 0 0.5em;
  border-bottom: 2px solid #333;
  display: inline-block;
  padding-bottom: 0.2em;
}

.annnai_title2 {
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}

.annnai-ais {
	background-image: url('image/1x/annnai.dot.png');
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;	
	margin: 0 auto;
}

.annnai-aisatu {
	width: 70%;
	margin: 0 auto;
	padding: 60px 0 80px 0;
}
.aisatu {
	font-size: 1.6rem;
	font-weight: bold;
}
.daihyou {
	text-align: end;
	font-size: 1.6rem;
	font-weight: bold;
}

.annnai_title3 {
	padding-top: 1%;
	padding-bottom: 1%;
	background-color: #0a4bc1;
}

.access {
	display: flex;
	width: 70%;
	margin: 60px auto;
}
.access-text {
	font-size: 1.6rem;
	font-weight: bold;
}
.access-text img {
	margin-top: 30px;
}


/* 可児追加 */
/* contact */

.pra-poli {
	overflow-y: scroll;
	height: 240px;
	background-color: rgba(252, 252, 252, 0.3);
	border: 2px solid #0A4BC1;
}

.required-srt {
	color: #FF0000;
	border-radius: 5px;
	white-space: nowrap;
	margin-right: 10px;
	padding: 0 2px;
}

.vertical-top {
	vertical-align: top;
}

.wpcf7-form {
	width: 100%;
	margin: auto;
}

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

.cform input {
	width: 60%;
	border: none;
	background-color: #fff;
	box-sizing: inherit;
	padding: 8px 2px;
}

.cform textarea {
	width: 100%;
	border: none;
	background-color: #Fff;
	padding: 0 2px 30px;
}

.cform th, .cform td {
	padding: 1% 2%;
}

.cform th {
	text-align: left;
}

.sending_button {
	text-align: center;
	margin-top: 3%;
}

.btn-flat-border {
	background-color: #0A4BC1;
	color: white;
	border: none !important;
	border-radius: 10px;
	padding: 5px 15px;
}

.wpcf7-spinner {
	display: none;
}

.w-80 {
	width: 80%;
}

.m-4-auto {
	margin: 4% auto;
}

.m-auto {
	margin: auto;
}

/* int */
.pad30 {
	padding: 30px;
}

.pad15 {
	padding: 15px;
}

.m0 {
	margin: 0;
}

.interview-con {
	width: 80%;
	margin: 4% auto;
}

.f-blue {
	color: #296ceb;
}

.int-flex {
	display: flex;
	gap: 20px;
	justify-content: space-between;
}

.int-l {
	width: 60%;
}

.int-r {
	width: 38%;
}

.int-r-re {
	width: 60%;
}

.int-l-re {
	width: 38%;
}

.font20 {
	font-size: 20px;
}

/* service */
.serv-top {
	background: url("./image/service/serv-top.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.bg-dots {
	background: url("./image/service/dots.png");
	padding: 4% 0;
	background-repeat: repeat;
}

.w-48 {
	width: 48%;
}

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

.bg-yellow-con {
	background-color: #FFFF9D;
	border-radius: 12px;
	padding: 15px 30px;
	box-shadow: 4px 4px 2px #000;
}

.bg-concent {
	background: url("./image/service/concent-1.png");
	background-repeat: no-repeat;
	background-position: center;
}

.bg-concent-2 {
	background: url("./image/service/concent-2.png");
	background-repeat: no-repeat;
	background-position: center;
}

.button-poi {
	border: 1px solid #0071bc;
	color: #0071bc;
	padding: 10px 30px;
	background-color: #fff;
	margin: 0;
	border-radius: 36px;
}

.gap20 {
	gap: 20px;
}

.font40 {
	font-size: 40px;
	font-weight: bold;
}

.bg-heart {
	background: url("./image/service/heart.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.w-40 {
	width: 40%;
}

.w-15 {
	width: 15%;
}

.kotei {
	width: 350px;
}

.m-l-15 {
	margin-left: 15%;
	margin-right: 5%;
}

.font24 {
	font-size: 24px;
}

.m-0-4 {
	margin: 0 auto;
}

.border-orange {
	border: 2px solid #ffa41c;
	border-radius: 14px;
}

/* sales */

.bg-sky {
	background: url("./image/sales/bg-sky.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.w-95 {
	width: 95%;
}

/* recruit */

.table-pad {
	padding: 15px 30px;
}

.table-border {
	border: 1px solid #000;
}

.table-b-right {
	border-right: 1px solid #000;
}

.w-100 {
	width: 100%;
}

.table-border th {
	background-color: #fcca88;
}

.table-border td {
	background-color: #fff;
}

.tel-nums {
	color: #F7931E;
	font-weight: bold;
}

/* 追加サムネイル */

.item_img_container{
	display: flex;
	/* margin-right: 30px; */
}

.item_imgs_wrapper{
	width: 100%;
}

.image_main{
	width: 48%;
	padding: 0 10px;
}

.right-50 {
	width: 50%;
}

.item_table{
	margin-top: 40px;
}

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

.item_imgs_cell{
	width: 18%;
	padding-bottom: 15%; /* 正方形の維持 */
	position: relative;
	margin-bottom: 20px;
}

.item_imgs_cell img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画像を要素にフィット */
}

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

.item_imgs_cell_pre{
	width: 32%;
	padding-bottom: 20%; /* 正方形の維持 */
	position: relative;
	margin-bottom: 20px;
}

.item_imgs_cell_pre img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画像を要素にフィット */
}

.item_img{
	width: 100%;
	height: 0;
	padding-bottom: 58%; /* 正方形の維持 */
	position: relative;
	margin-bottom: 25px;
}

.item_img img{
	position: absolute;
	top: 10px;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画像を要素にフィット */
}

.conb img {
	width: 60%;
}

/* respo */
@media only screen and (max-width: 1150px) and (min-width: 769px) {
	.access-text, .map-frame {
		width: 50%;
	}

	.map-frame iframe {
		width: 100%;
		height: 350px;
	}
}

.pc-900 {
	display: block;
}

.sp-900 {
	display: none;
}

.white-nowrap {
	white-space: nowrap;
}

.pc-768 {
	display: block;
}

.sp-768 {
	display: none;
}

.w-85 {
	width: 85%;
	margin: 4% auto;
}

.b-g {
	border: 1px solid #0a4bc1;
	border-radius: 20px;
	padding: 20px 40px;
}

.m0 {
	margin: 0;
}

@media only screen and (max-width: 1000px) {
	.item_img_container {
		display: flex;
		flex-direction: column;
	}

	.image_main {
		width: 100%;
	}

	.right-50 {
		width: 100%;
	}

	.conb-sp {
		width: 80%;
		text-align: center;
		margin: auto;
		display: flex;
		justify-content: center;
	}
}

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

	.pc-900 {
		display: none;
	}

	.sp-900 {
		display: block;
	}
}

@media only screen and (max-width: 768px) {
	.sp-column {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}

	.reverse {
		flex-direction: column-reverse !important;
	}

	.w-35 img, .w-28 img, .img-w {
		width: 60%;
	}

	.b-r-ash {
		border-bottom: 3px solid #808080;
		border-right: none;
	}

	.w-20, .table-pad {
		width: 100%;
	}

	.sp-center {
		text-align: center;
	}

	.sp-none {
		display: none;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none !important;
	}

	.pc-768 {
		display: none !important;
	}

	.sp-768 {
		display: block;
	}

	.sp-b-b-ash {
		border-bottom: 1px solid #808080;
	}

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

	.cform input {
		width: 100%;
	}

	.content-start {
		align-content: flex-start !important;
	}

	.sp-b-bottom {
		border-bottom: 1px solid #666;
		border-right: none;
		padding: 15px 0 !important;
	}

	.gap0 {
		gap: 0;
	}

	.footer-nav {
		justify-content: center;
	}

	.footer-cta {
		justify-content: center;
	}

	.int-l,.int-r,.int-l-re,.int-r-re {
		width: 100%;
	}

	.int-r,.int-l-re {
		text-align: center;
	}

	.int-r img,.int-l-re img {
		width: 70%;
	}

	.bg-boushi {
		background: url("./image/boushi.png");
		background-repeat: no-repeat;
		background-size: 100%;
	}

	.table-b-right {
		border-right: none;
		border-bottom: 1px solid #000;
	}
}

@media only screen and (min-width: 769px) {
	.sp {
		display: none !important;
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.font24 {
		font-size: 20px;
	}

	.font20 {
		font-size: 18px;
	}

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

	.w-48, .w-30, .w-35, .w-62, .w-70, .w-28, .w-45, .w-52, .w-18, .w-40, .w-15 {
		width: 80%;
		margin: auto;
	}

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

	.font40 {
		font-size: 35px;
	}

	.font30 {
		font-size: 28px;
	}

	.info {
		width: 85%;
		margin: auto;
	}

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

	.info th {
		background-color: #0A4BC1;
		color: white;
		font-weight: 400;
	}

	.info td, .info th {
		padding-left: 8px;
		text-align: center;
		margin: auto;
		width: 100%;
	}

	.label {
		display: inline;
		text-shadow: none;
	}

	.his-title {
		text-align: left !important;
		font-size: 2.8rem !important;
		position: relative;
	}

	.his-title::after {
		position: absolute;
		content: '';
		width: 40%;
		height: 4px;
		background-color: #000;
		top: 50%;
		left: 20%;
		border: 1px solid #fff;
	}

	.annnai-back {
		padding: 60px 0;
	}

	.annnai-aisatu {
		width: 85%;
	}

	.aisatu {
		font-size: 1.3rem;
	}

	.annnai-tex {
		padding: 200px 0;
		width: fit-content;
		margin: auto;
	}

	.map-frame {
		width: 100%;
	}

	.map-frame iframe {
		width: 100%;
	}
}

.dahhhh {
	display: none;
}

.text-shadow-white {
	text-shadow: 1px 1px #fff;
}

@media only screen and (max-width: 560px) {
	.font24 {
		font-size: 18px;
	}

	.font40 {
		font-size: 30px;
	}

	.sm-none {
		display: none;
	}

	.font20 {
		font-size: 16px;
	}

	.title, .title-white {
		font-size: 20px;
	}

	.w-48, .w-30, .w-35, .w-62, .w-70, .w-28, .w-45, .w-52, .w-18, .w-80, .w-40, .w-15 {
		width: 90%;
		margin: auto;
	}

	.sm-border {
		border-bottom: 1px solid #e6e6e6;
		padding: 5%;
	}

	.cfrom th, .cform td {
		width: 100%;
	}

	.cform, .w-70 {
		width: 95%;
		margin: auto;
	}

	.btn-flat-border {
		width: 150px;
	}

	.sm-w-100 {
		width: 100%;
	}

	.font30 {
		font-size: 24px;
	}

	.header-hamburger-menu {
		width: 15% !important
	}

	#header-hamburger {
		border-radius: 2.6vw !important
	}

	.sm-column {
		flex-direction: column;
		gap: 20px;
		align-items: center;
		display: flex;
	}

	.sm-column-re {
		flex-direction: column-reverse;
		gap: 20px;
		align-items: center;
		display: flex;
	}

	.fro3 {
		width: 90%;
		padding: 0;
	}

	.fro3-inner {
		background: none;
		justify-content: center;
	}

	.front3L {
		width: 100%;
		padding-right: 0;
		flex-basis: 100%;
	}

	.fro3-item {
		margin: 30px 0 20px;
		padding: 0 20px;
	}

	.fro3-icons {
		margin: 30px;
	}

	.dahhhh {
		display: block;
		margin-bottom: 30px;
	}

	.fro4-grid {
		padding: 0 5%;
	}

	.image-wrapper,
	.balloon-wrapper {
		width: 100%;
		margin: 0;
	}

	.fro4-item .left,
	.fro4-item .right,
	.fro4-item:nth-child(2) .left,
	.fro4-item:nth-child(2) .right {
		margin-left: 0;
		margin-right: 0;
	}

	.left-content {
		margin: 30px 20px 0;
	}

	.fro3-item .title {
		font-size: 1.5em;
	}

	.area-list {
		font-size: 1.3em;
	}

	.fro3-item .title,
	.fro3-item .sub-title {
		white-space: normal;
	}

	.recruit-text {
		width: 80%;
		margin: auto;
	}

	.recruit-text h2 {
		padding-left: 0;
		white-space: normal;
		font-size: 1.2em;
	}

	.trigger-none {
		display: none;
	}

	.front5 {
		background-position: center bottom;
	}

	.recruit-button {
		width: fit-content;
		margin: 100px auto 20px;
	}

	.talk-img {
		margin-top: 40px;
	}

	.talk-text {
		font-size: 1.2em;
	}

	.pad50 {
		padding: 50px;
	}

	.footL {
		width: 90%;
		background-position: center bottom;
	}

	.footR {
		width: 90%;
	}

	.access-map {
		width: 100%;
		text-align: center;
	}

	.nav-links {
		width: fit-content;
		margin: auto;
	}

	.extra {
		display: none !important;
	}

	.myfoot {
		background-image: url('image/foot.back.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-top: 10px;
	}
	.foot {
		display: inline;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footL {
		background-image: url('image/footer.logo.png');
		background-size: 90% auto; /* 画像が要素に収まるように調整 */
		background-position: right bottom; /* 右下寄せに配置 */
		background-repeat: no-repeat; /* 画像の繰り返しをなしに */
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		height: 420px; /* ★背景画像が見えるように高さを確保 */
		width: 80%;
		margin: 0 auto;
	}

	.company-info-top {
		display: flex;
		align-items: center;
		flex-direction: column;
		margin-bottom: 20px;
		padding-top: 16px;
	}
	.company-logo img {
		height: 50px;
		width: auto;
		margin-right: 10px;
	}
	.company-name-section {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}
	.company-prefix {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		margin-right: 5px;
	}
	.company-name {
		font-size: 2rem;
		font-weight: bold;
	}
	.company-address {
		line-height: 1.5;
		font-size: 1rem;
		font-weight: bold;
		padding-left: 0px;
	}

	.footR {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		flex-basis: 50%; /* 親要素の幅の50%を割り当てる */
		width: 80%;
		margin: 0 auto;
	}

	.foot-nav {
		display: block;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}

	.foot-cen {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

	.nav-links {
		gap: 15px;
		padding-top: 16px;
		line-height: 1.8;
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
	.nav-links-top {
		margin-right: 0px;
		padding-bottom: 10px;
	}
	.nav-links a {
		font-size: 0.8em;
	}
	.contact-button {
		background-color: #c6e2cd;
		color: rgb(0, 0, 0);
		text-decoration: none;
		padding: 10px 35px;
		margin: 20px auto;
		border-radius: 50px;
		border: 2px solid #71b981;
		font-weight: bold;
		font-size: 1rem;
		display: flex;
		width: 220px;
		justify-content: center;
	}

	.copyright-section {
		font-size: 1rem;
		text-align: center;
		padding: 30px 0;
		color: #4a4a4a;
	}

	.access-map iframe {
		width: 100%;
		height: auto;
	}

	.front1-main {
		margin: 0 20px;
	}

	.main-text {
		line-height: 1;
		font-size: 1.4em;
	}

	.number {
		font-size: 1.8rem;
	}

	.num {
		font-size: 2.5rem;
	}

	.achie {
		font-size: 1.8rem;
	}

	.sub-text {
		font-size: 1.4em;
	}

	.f20 {
		font-size: 1.5rem;
	}

	.info {
		width: 90%;
		margin: auto;
	}

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

	.info th {
		background-color: #0A4BC1;
		color: white;
		font-weight: 400;
	}

	.info td, .info th {
		padding-left: 8px;
		text-align: center;
		margin: auto;
		width: 100%;
		font-size: 1.1rem;
	}

	.label {
		display: inline;
		text-shadow: none;
		font-size: 1.1rem;
	}

	.his-title {
		text-align: left !important;
		font-size: 2.0rem !important;
		position: relative;
	}

	.his-title::after {
		position: absolute;
		content: '';
		width: 40%;
		height: 4px;
		background-color: #000;
		top: 50%;
		left: 30%;
		border: 1px solid #fff;
	}

	.annnai-back {
		padding: 60px 0;
	}

	.annnai-aisatu {
		width: 90%;
		padding-bottom: 40px;
	}

	.aisatu {
		font-size: 1.0rem;
	}

	.annnai-tex {
		padding: 200px 0;
		width: fit-content;
		margin: auto;
		font-size: 2.7rem;
	}

	.map-frame {
		width: 100%;
	}

	.map-frame iframe {
		width: 100%;
	}

	.daihyou {
		padding-top: 30px;
	}

	.access-text {
		font-size: 1.5rem;
	}

	.sm-gap0 {
		gap: 0;
	}

	.more {
		width: 60%;
		margin: 2% auto;
		padding: 2% 0;
	}

	.m-l-15 {
		margin-left: 0;
	}

	.al-center {
		text-align: center;
	}

	.bg-concent-2,.bg-concent {
		background-size: cover;
	}
}

@media only screen and (min-width: 561px) {
	.sm {
		display: none !important;
	}
}


