@charset "UTF-8";


/*=======================================================*/
/*      		セクション毎のCSS   			  		  */
/*======================================================*/


/*======= 共通 ======*/

/* 親要素からはみ出して画面いっぱいに */
.full {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

/*タイトル(共通)*/
.spot-heading01{
	font-size: clamp(50px,6vw,70px);
	font-style: italic;
	text-align: center;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.spot-heading02{
	font-size: clamp(22px, 2.7vw, 30px);
    line-height: 1em;
    font-weight: 700;
	text-align: center;
	font-family: 'YakuHanJPs','Noto Sans Japanese',sans-serif,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", Arial,Helvetica, Verdana;
}
.spot-heading02+p{
	margin-top: 0.5em;
	margin-bottom: 1em;
	font-size: clamp(17px, 2.7vw, 25px);
	font-weight: bold;
	inline-size: fit-content;
	text-align: center;
	margin-inline: auto;
	font-family: 'YakuHanJPs','Noto Sans Japanese',sans-serif,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", Arial,Helvetica, Verdana;
}
.line{
	width: 1px;
	height: auto;
	padding-top: 5.8%;
	background-color: #2d2d2d;
	margin: 1.9607% auto;
}
.line2{
	width: 1px;
	height: auto;
	padding-top: 5.8%;
	background-color: #FFF;
	margin: 1.9607% auto;
}

  
/* top お知らせ */
.top_news {
	padding: 10px 10px;
	background-color: var(--main-color);
	color: #FFF;
	text-align: center;
	font-size: clamp(16px,2.4vw,20px);

	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}

/*======= TOP ======*/
/*ご挨拶*/
.greeting {
	padding: clamp(40px, 6vw, 90px) 0 var(--v-space) ;
	background-color: var(--base-color);
	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}

.top-card__item{
	display: grid;
	grid-template-columns: 0.59fr 2fr;
	gap:5px;
}
@media (max-width: 568px) {
	.top-card__item{
		display: grid;
		grid-template-columns: 1fr;
		gap:5px;
	}
	.img-width-sp{
		width: 200px;
	}
}
.top-card__item div{
	/*子要素のそれぞれのdivの高さを揃える記述*/
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	/* margin-bottom: 20px; */
	/*ここまで*/

}
.top-card__item p{
	text-align: center;
	font-size: 12px;
}
.top-card__item img{
	margin: 0 auto;
}




/*TELバナー*/
.tel_bnr{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 10px;
	grid-row-gap: 10px;
}
@media (max-width: 568px) {
	.tel_bnr{
		grid-template-columns: repeat(1, 1fr);
	}
}


/*======= 業務案内 ======*/

/*section1*/
.sec1 {
	padding: var(--v-space) 0;
	background-color: #fdf4ed;

	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}

/* 画像とテキスト */
.sec1__imgtext {
	position: relative;
	padding:clamp(15px, 3vw, 30px) ;
	background-color: rgba(255, 255, 255, 0.7);
	/* border: 1px solid var(--main-color); */
	border-radius: 10px;
}

.sec1__imgtext + .sec1__imgtextt {
	padding-top: 0;
}

.sec1__imgtext-container {
	display: flex;
	flex-direction: column;
	/*gap: clamp(45px, 6vw, 80px);*/	/* テンプレ初期値 */
	gap: clamp(25px, 6vw, 35px);
}


@media print, screen and (min-width: 768px) {
	.sec1__imgtext-container {
		flex-direction: row;
		align-items: center;
	}

	.sec1__imgtext-container.reverse {
		flex-direction: row-reverse;
	}

	.sec1__imgtext-container > .sec1__text {
		flex: 1;
		min-width: 17em;		
		padding-top: 5vh;
  	}

	.sec1__imgtext-container > .sec1__img {
		/*flex: 2;*/	/* テンプレ初期値 */
		flex: 1.6;
	}
	.sec1__imgtext-container > .sec1__img2 {
		/*flex: 2;*/	/* テンプレ初期値 */
		flex: 0.8;
	}
}

/*写真横2列並べ*/
.sec1-photo2 {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 10px 10px;
}

.sec1-photo2 img{
	/* aspect-ratio: 4 / 3; */
	object-fit: cover;
	width: 100%;
}

@media print, screen and (min-width: 568px) {
	.sec1-photo2 {
		grid-template-columns: repeat(2, 1fr);
	}
	.sec1-photo2 img{
		/* aspect-ratio: 6 / 2; */
		object-fit: cover;
		width: 100%;
	}
}

/*写真横4列並べ*/
.sec1-photo4 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 10px;
}

.sec1-photo4 img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

@media print, screen and (min-width: 568px) {
	.sec1-photo4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/*写真横5列並べ*/
.sec1-photo5 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 10px;
}

.sec1-photo5 img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

@media print, screen and (min-width: 568px) {
	.sec1-photo5 {
		grid-template-columns: repeat(5, 1fr);
	}
}

/*写真左に大きく、右に小さい写真を並べる*/
.sec1-photo-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
	
.sec1-photo-grid-div1 { grid-area: 1 / 1 / 3 / 3; }
.sec1-photo-grid-div2 { grid-area: 1 / 3 / 2 / 4; }
.sec1-photo-grid-div3 { grid-area: 1 / 4 / 2 / 5; }
.sec1-photo-grid-div4 { grid-area: 1 / 5 / 2 / 6; }
.sec1-photo-grid-div5 { grid-area: 2 / 3 / 3 / 4; }
.sec1-photo-grid-div6 { grid-area: 2 / 4 / 3 / 5; }
.sec1-photo-grid-div7 { grid-area: 2 / 5 / 3 / 6; }

@media only screen and (max-width: 768px) {

	.sec1-photo-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(5, 1fr);
		grid-column-gap: 0px;
		grid-row-gap: 0px;
	}

	.sec1-photo-grid-div1 { grid-area: 1 / 1 / 3 / 3; }
	.sec1-photo-grid-div2 { grid-area: 3 / 1 / 4 / 2; }
	.sec1-photo-grid-div3 { grid-area: 3 / 2 / 4 / 3; }
	.sec1-photo-grid-div4 { grid-area: 4 / 1 / 5 / 2; }
	.sec1-photo-grid-div5 { grid-area: 4 / 2 / 5 / 3; }
	.sec1-photo-grid-div6 { grid-area: 5 / 1 / 6 / 2; }
	.sec1-photo-grid-div7 { grid-area: 5 / 2 / 6 / 3; }

}

.sec1-photo-grid img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

/* PDFアイコン5列並べ */
.sec1-pdf5{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap:10px;
}
@media only screen and (max-width: 768px) {
	.sec1-pdf5{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
}
@media only screen and (max-width: 568px) {
	.sec1-pdf5{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}
.sec1-pdf5 div{
	/*子要素のそれぞれのdivの高さを揃える記述*/
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	/*ここまで*/

	/* padding: 10px;
	border-radius: 15px;
	box-sizing: border-box;
	border: 1px solid var(--txt-color); */

}
.sec1-pdf5 img{
	margin: 0 auto;
	width: 80px;
}
.sec1-pdf5 p{
	display: inline-block;
	font-size: 14px;
	line-height: 1.5;
	margin: 5px 0px;
	text-align: center;
}

.sec1-pdf3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:0px;
}
@media only screen and (max-width: 768px) {
	.sec1-pdf3{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 568px) {
	.sec1-pdf3{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}
}
.sec1-pdf3 div{
	/*子要素のそれぞれのdivの高さを揃える記述*/
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	/*ここまで*/

	/* padding: 10px;
	border-radius: 15px;
	box-sizing: border-box;
	border: 1px solid var(--txt-color); */

}
.sec1-pdf3 img{
	margin: 0 auto;
}
.sec1-pdf3 p{
	display: inline-block;
	font-size: 14px;
	line-height: 1.5;
	margin: 0px 0px;
	text-align: center;
}


/* ご挨拶文 */

.sec1__greeting{
	position: relative;
	padding-top: 25px;
	margin-bottom: 30px;
	max-width: 1000px;
	margin: 0 auto;
}
.sec1__greeting h2{
	color: #ffffff;
	font-size: clamp(20px,2vw,25px);
	font-weight: 700;
	letter-spacing: 3.5px;
	position: relative;
	z-index: 3;
	margin-bottom: 10px;
}
.sec1__greeting h2 .bak{
	background: var(--main-color);
	display: inline-block;
	padding: 10px 30px 10px 20px;
	margin-bottom: 6px;
}
.sec1__greeting h2 .bak span{
	 color: #2c2d48; 
}
.sec1__greeting figure.photo {
	position: absolute;
	top: 0;
	width: 150px;
	right: 0px;
	text-align: center;
}
.sec1__greeting figure.photo span{
	font-size: 13px;
	font-weight: 700;
	display: block;
}
.sec1__greeting p{
	max-width: clamp(400px,45vw,600px);
	font-size: 14px;
	letter-spacing: 0.8px;
}

@media screen and (max-width: 850px) {


	.sec1__greeting h2{
		font-size: 18px;
		color: #ffffff;
		letter-spacing: 0.3vw;
		position: relative;
		z-index: 3;
		margin-bottom: 2.6vw;
	}
	.sec1__greeting h2 .bak{
		background: var(--main-color);
		display: inline-block;
		margin-bottom: 0.8vw;
		padding: 5px 20px 5px 10px;
	}
	.sec1__greeting figure.photo {
		position: relative;
		text-align: center;
		margin-bottom: 3vw;
		right: 0px;
		width: 120px;
	}
	.sec1__greeting figure.photo span{
		font-weight: 700;
		display: block;
		padding-left: 0px;
		text-align: left;
		margin-top: 2vw;
	}
	.sec1__greeting p{
		max-width: 1000px;
		line-height:1.6;
	}
}

/*PCのみ表示*/
@media screen and (max-width: 850px) {
	.sec1-pc{
		display:none;
	}
}
/*スマホのみ表示*/
@media only screen and (min-width: 849px) {
	.sec1-sp {
		display: none;
	}
}
/* 印刷時にPC表示セクションのみ表示 */
@media print {
	.sec1-sp {
		display: none;
	} 
}

/*======= 営業エリア ======*/
/*section4*/
.sec3 {
    padding: var(--v-space) 0;
    background-color: #FFF;

	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}



/*======= FAQ ======*/
.faq_sec1 {
	padding: var(--v-space) 0;
	background-color: #f7f7f7;
	
	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}
div.faq2 p.b {
	font-weight: bold;
	color: #444;
}
div.faq2 p.b::first-letter {
	color: var(--main-color);
	font-size: 130%;
}
div.faq2 p {
	margin-top: 5px;
	line-height: 1.4;
	text-align: left;
	text-indent: -1.4em;
	padding-left: 1.4em;
	display: block;
}
div.faq2 p::first-letter {
	color: var(--accent-color1);
	font-size: 130%;
	font-weight: bold;
}
hr.faqHr{
	height: 0px;
	border: 1px dashed var(--accent-color2);
	margin: 20px auto;
}



/*======= 会社案内ページ ======*/
.info_w-container {
	/* width: min(92%, 1166px);*/ /* テンプレ初期値 */
	width: min(92%, 500px);
	margin: 0 auto;
}
/*会社案内*/
.info_sec1{
	padding: var(--v-space) 0;
	background-color: #FFF;
	background-image: url(../img/bg_01.jpg);
	background-size: cover;
	background-position: left bottom;

	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}

/* 会社案内写真コンテナ */
.info-sec1-container {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 10px 10px;
}

.info-sec1-container img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

@media (min-width: 568px) {
	.info-sec1-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

/*会社案内*/
.info_sec2{
	padding: var(--v-space) 0;
	background-color: #FFF;
	background-image: url(../img/bg_02.jpg);
	background-size: cover;
	background-position: left bottom;

	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}

/* 会社案内写真コンテナ */
.info-sec2-container {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 10px 10px;
}

.info-sec2-container img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

@media (min-width: 568px) {
	.info-sec2-container {
		grid-template-columns: repeat(4, 1fr);
	}
}








/* 概要・アクセス部分のテーブル */
.info1 {
	font-weight: bold;
	border-bottom: 1px dashed #999;
	padding: 5px;
	width: 5.25em;
}
.info2 {
	border-bottom: 1px dashed #999;
	padding: 5px;
	width: 400px;
}
@media screen and (max-width: 568px) {
	.info1 {
		display: block;
		padding: 8px 2px 2px 2px;
		width: 100%;
		border-bottom: 1px solid rgba(255,255,255,0);
	}
	.info2 {
		display: block;
		padding: 2px;
		width: 99%;
	}
}



/*会社概要*/
.bg_b{
	background: rgba(255, 255, 255, 0.9);
	padding:40px;
}
@media screen and (max-width: 568px) {
	.bg_b {
		padding: 20px;
	}
}


.access_sec1{
	padding: var(--v-space) 0;
	background-color: #FFF;
	
	position: relative; /* sectionの位置を相対的にする*/ 
	z-index: 1; /* 背景画像より上に表示 */ 
}






/* 高さをパッとそろえる簡易版 */
.topcard-lockH .img img {
  height: 400px;          /* ←好きな高さに調整（例：400px） */
  width: 100%;
  object-fit: cover;      /* カットしてでも枠に合わせる */
  display: block;
}

/* スマホは縦並びで自動 */
@media (max-width: 568px){
  .topcard-lockH .img img {
    height: auto;
    width: 100%;
    object-fit: contain;
  }
}


/* ===== 見出し ===== */
.staff-title{
  text-align:center;
  font-size:28px; font-weight:700;
  margin:40px 0 16px;
  display:inline-block;
  padding-bottom:6px;
  border-bottom:3px solid #f0a0b0;   /* お好みで色変更OK */
}
.staff-subtitle{
  font-size:20px; font-weight:600;
  margin:28px 0 12px;
  padding-left:10px;
  border-left:5px solid #f0a0b0;     /* お好みで色変更OK */
}
/* ===== 共通スタイル ===== */
.staff-grid {
	display: grid;
	gap: 10px;
}

.staff-grid figure,
.staff-grid a {
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	overflow: hidden;
}

.staff-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.staff-grid img:hover {
	transform: scale(1.05);
}

/* ===== PC/タブレット（上2＋下5） ===== */
@media (min-width: 568px) {
	/* 上2枚 */
	.staff-grid.staff-grid--two {
		grid-template-columns: repeat(5, 1fr); 
	}

	/* 下5枚 */
	.staff-grid.staff-grid--five {
		grid-template-columns: repeat(5, 1fr); /* 1行に5枚 */
	}
}

/* ===== スマホ（2列、最後の1枚中央） ===== */
@media (max-width: 567px) {
	.staff-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* 下5枚の最後だけ中央に */
	.staff-grid.staff-grid--five > article:last-child {
		grid-column: 1 / -1;
		justify-self: left;
		width: 50%;
		max-width: 260px;
	}
}
