@charset "UTF-8";
/*--------------------------
リセット
---------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
  overflow-y: scroll;
  font-size: 16px; /* 1rem = 16px */
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

img {
  height: auto;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
	color: #000;
	font-size: clamp(15.0000px, calc(0.2551vw + 14.0434px), 16.0000px);
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
	position:relative;
	overflow:clip;

	text-box-trim: trim-both;
}


a{
	text-decoration:none;
	text-underline-offset: 5px;
}
a:hover{
	text-decoration:underline;
}


/*--------------------------
基本：基本タグ
---------------------------- */
.pcOFF {
  /* ここで必要な基本設定があれば記述 */
}
@media screen and (min-width: 768px) {
  .pcOFF {
    display: none !important;
  }
}

.spOFF {
  /* ここで必要な基本設定があれば記述 */
}
@media screen and (max-width: 767px) {
  .spOFF {
    display: none !important;
  }
}


.titSec{
	margin-bottom:50px;
}
.titSec .en{
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
	font-size: clamp(30.0000px, calc(2.3684vw + 12.4737px), 48.0000px);
	display:block;
	line-height:1;
	color:#003F77;
}
.titSec .ja{
	font-size: clamp(15.0000px, calc(0.1316vw + 14.0263px), 16.0000px);
	display:block;
}


.tit01{
	font-size: clamp(20.0000px, calc(3.9063vw + -10.0000px), 30.0000px);
	font-weight:bold;
	border-bottom:solid 3px #E7E7E7;
	padding-bottom: 25px;
	position:relative;
	margin-bottom: clamp(30.0000px, calc(5.8594vw + -15.0000px), 45.0000px);
}
.tit01:after{
	content:"";
	display:block;

	width:6%;
	height:3px;

	background:#2F509F;

	position:absolute;
	left:0;
	bottom: -3px;

}

.tit02{
	font-size: clamp(17.0000px, calc(1.1719vw + 8.0000px), 20.0000px);
	font-weight:bold;
	border-left:solid 5px #2F509F;
	padding:1px 0 3px ;
	padding-left: 0.5em;
	margin-bottom: clamp(30.0000px, calc(5.8594vw + -15.0000px), 45.0000px);
}


.btn a{
	display:block;
	background:#013F78;
	border-radius:clamp(6.0000px, calc(0.5263vw + 2.1053px), 10.0000px);
	padding:10px 10px 10px 10px;
	color:#fff;
}
.btn a span{
	display:block;
	text-align:center;
	background:no-repeat right 10px center;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAuNSAxTDUuNSA2TDAuNSAxMSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+");
	font-size: clamp(14.0000px, calc(0.2632vw + 12.0526px), 16.0000px);
}

.box{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}

.txt-right{
	text-align:right;
}
.fw{
	font-weight:bold;
}
@media screen and (max-width: 1200px) {
	.box{
		max-width:calc( 100% - 30px);
	}
}
@media screen and (max-width: 767px) {
	.titSec{
		margin-bottom:20px;
	}


	.tit01{
		padding-bottom: 15px;
	}
	.tit01:after{
		bottom: -3px;

	}

}
/* ----------
table
---------- */
.tbl01{
	width:100%;
}
.tbl01 tr{
	border-bottom:solid 1px #CCCCCC;
}
.tbl01 tr:first-child{
	border-top:solid 1px #CCCCCC;
}
.tbl01 tr th{
	background:#E3ECF1;
	padding:25px 15px;
	width:20%;
}
.tbl01 tr td{
	padding:25px 15px;
	width:80%;
}
@media screen and (max-width: 767px) {
	.tbl01 tr th{
		padding:10px 5px;
	}
	.tbl01 tr td{
		padding:10px 5px;
	}
}

/* ----------
pcHeader
---------- */
/* pcHeaer .css 参照*/

/* ----------
wrapper
---------- */
#wrapper{
	margin-top:55px;
}

@media screen and (max-width: 900px) {
	#wrapper{
		margin-top:48px;
	}
}


/* ----------
pageLnk
  ---------- */
.pageLnk {
}
.pageLnk .inner {
	width:100%;
	max-width:1200px;
	margin:0px auto 0;
	margin-top: clamp(70.0000px, calc(11.7188vw + -20.0000px), 100.0000px);
}

/* ---- */
.pageLnk .pageLnkLst {
	display:flex;
	flex-direction:row;
	justify-content:center;
}
.pageLnk .pageLnkLst li {
	width:225px;
	border-left:solid 1px #3F598F;
}
.pageLnk .pageLnkLst li:last-child {
	border-right:solid 1px #3F598F;
}

.pageLnk .pageLnkLst li a {
	display:block;
	text-align:center;
	color:#3F598F;
	position:relative;
	padding:5px 0;
}
.pageLnk .pageLnkLst li a:after{
	content:"";
	display:block;
	width:100%;

	background:url(../img/pageLnkLst_arrow.png) no-repeat center center;

	height:6px;
}
.pageLnk .pageLnkLst li a:hover {
	text-decoration:none;
	color:#000;
}



/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
	.pageLnk .inner {
		width: calc(100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 767px) {
	body.recruit .pageLnk .pageLnkLst li {
		width:25%;
	}
	.pageLnk .pageLnkLst li a {
		font-size:15px;
	}
}



/* ----------
mainContent
---------- */
.mainContent{
	padding-top: clamp(70.0000px, calc(11.7188vw + -20.0000px), 100.0000px);
	padding-bottom: clamp(100.0000px, calc(19.5313vw + -50.0000px), 150.0000px);
}




/* ----------
mainVisual
  ---------- */
.mainVisual {
	margin-bottom:150px;
	background: url(../img/mainVisual01.png) no-repeat right center;
	background-size:cover;

	height:calc( 100vh - 80px);
	position:relative;
}

.mainVisual:before {
	content:"";
	display:block;
	width:48%;
	height:calc( 100vh - 80px);
	clip-path: polygon(0 0, 38% 0, 100% 100%, 0% 100%);
	background:rgba( 1 , 63 , 120 , 0.85);


	position:absolute;
	left:0;
	top:0;

	z-index:1;
}
.mainVisual .inner {
	width:100%;
	max-width:1410px;
	height:calc( 100vh - 80px);
	margin:0 auto;
	position:relative;

	display:flex;
	align-items:flex-end;
	padding-bottom:150px;
}





/* ---- */
.mainVisual .maiinVisual__tit {
	position:relative;
	z-index:10;
	font-weight:normal;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
	width:100%;
	font-weight:300;
}
.mainVisual .maiinVisual__tit .ja {
	display:block;
	width:100%;
	font-size: clamp(30.0000px, calc(16.4063vw + -96.0000px), 72.0000px);
	color:#fff;
	line-height:1.5;
	margin-bottom:20px;
}
.mainVisual .maiinVisual__tit .en {
	display:block;
	width:100%;
	font-size: clamp(18.0000px, calc(5.4688vw + -24.0000px), 32.0000px);
	color:#fff;
	line-height:1.5;
	letter-spacing:1px;
}

/* ---- */

/* Wide Breakpoint */
@media screen and (max-width: 1410px) {
	.mainVisual .inner {
		width: calc(100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 500px) {
	.mainVisual {
		margin-bottom:80px;
		width:100%;
		height:100%;
		background-image: url(../img/sp/mainVisual01.png);
	}

	.mainVisual:before {

		aspect-ratio: 375 / 600;

		width:100%;
		height:100%;
		
		clip-path: polygon(0 0, 100% 0, 100% 80%, 0 15%);

		position:absolute;
		left:0;
		top:0;
	}
	.mainVisual .inner {

		height:100%;

		aspect-ratio: 375 / 600;
		display:flex;
		align-items:flex-start;
		padding-bottom:0;
		padding-top:10%;
	}
	.mainVisual .maiinVisual__tit .ja {
		text-align: justify;
		text-justify: inter-ideograph;
		text-align-last: justify;       /* 最終行も両端揃え（対応ブラウザで有効） */
	}
	.mainVisual .maiinVisual__tit .en {
		text-align:right;
	}
}
@media screen and (max-width: 450px) {
	.mainVisual .maiinVisual__tit .en {
		font-size:14px;
	}
}

/* ----------
greetingSec
  ---------- */
.greetingSec{
	margin-bottom:100px;
	background:#eee url(../img/greeting_bk.png) no-repeat center center;
	background-size:cover;
	padding:50px 0;
}
.greetingSec .inner{
	width:100%;
	max-width:1410px;
	margin:0 auto;

	display:flex;
	flex-wrap:wrap;
	gap:20px 5%;
}

/* ---- */
.greetingSec .pic{
	width:48%;
	position:relative;
	margin-top:-120px;
	z-index:10;
}
.greetingSec .pic img{
	width:100%;
	height:auto;
}

/* ---- */
.greetingSec .greetingCnt{
	width:calc( 100% - ( 48% + 5%) );
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap:15px;

	position:relative;
}
.greetingSec .greetingCnt:before{
	content:"";
	display:block;
	width:200px;
	height:1px;
	background:#000;
	position:absolute;
	left:-210px;
	top:25px;
	z-index:5;
}



.greetingSec .greetingCnt .lbl{
	font-size: clamp(20.0000px, calc(1.5625vw + 8.0000px), 24.0000px);
	position:relative;
}



.greetingSec .greetingCnt .tit{
	font-weight:bold;
	color:#013F78;
	font-size: clamp(22.0000px, calc(2.3438vw + 4.0000px), 28.0000px);
	line-height:1.5;
}
.greetingSec .greetingCnt .txt{
	font-size: clamp(14.0000px, calc(1.5625vw + 2.0000px), 18.0000px);
}
.greetingSec .greetingCnt .btn{
	display:flex;
	justify-content:flex-end;
}
.greetingSec .greetingCnt .btn a{
	width:100%;
	max-width:290px;
}

/* Wide Breakpoint */
@media screen and (max-width: 1410px) {
	.greetingSec .inner{
		width: calc(100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 767px) {

	.greetingSec{
	}
	.greetingSec .inner{
		width:100%;
		max-width:100%;
		margin:0 auto;
	}

	/* ---- */
	.greetingSec .pic{
		width:100%;
		margin-top:-20%;
		margin-left:0;
		z-index:10;
		padding-right:16%;
	}

	/* ---- */
	.greetingSec .greetingCnt{
		width:100%;
		padding:0 15px;
	}


	.greetingSec .greetingCnt .btn{
		display:flex;
		justify-content:center;
	}

}




/* ----------
servicesSec
  ---------- */
.servicesSec {
	margin-bottom:100px;
}
.servicesSec .inner {
	width:100%;
	max-width:1100px;
	margin:0 auto;
}

/* ---- */
.servicesSec .contact-tit {
}
.servicesSec .contact-tit .titSec {
}
.servicesSec .contact-tit .titSec .en {
}
.servicesSec .contact-tit .titSec .ja {
}

/* ---- */
.servicesSec .service-list {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	gap:0
}
.servicesSec .service-list .service-item {
	width:calc( 100% / 4);
}
.servicesSec .service-list .service-item a {
	text-decoration:none;
	color:#000;
	display:block;
}
.servicesSec .service-list .service-item .service-item_inner {
	position: relative;
}
.servicesSec .service-list .service-item .service-item_inner:before{
	content:"";
	display:block;
	background:url(../img/btn_arrow01.png) no-repeat center center;
	background-size:100% auto;
	width:24px;
	height:24px;
	position:absolute;
	right:15px;
	bottom:15px;

	z-index:20;
}

.servicesSec .service-list .service-item .service-item_inner .pic {
	/* ここはそのまま */
	position: relative;
	z-index: 1;
	overflow: hidden;
}

/* 画像 */
.servicesSec .service-list .service-item .service-item_inner .pic img {
	width: 100%;
	height: auto;
	aspect-ratio: 514 / 717;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;   /* ← 変化をアニメ化 */
}

/* ホバー時：トランスフォームで拡大 */
.servicesSec .service-list .service-item a:hover .pic img {
	transform: scale(1.1);           /* 好みで 1.05?1.2 など */
}

.servicesSec .service-list .service-item .service-item_inner .tit {
	position:absolute;
	z-index:10;
	top:70%;
	color:#fff;
	padding:0 15px;
}
.servicesSec .service-list .service-item .service-item_inner .subtitle {
	position:absolute;
	z-index:10;
	top:80%;
	color:#fff;
	padding:0 15px;
}
.servicesSec .service-list .service-item .txt {
	padding:10px;
	font-size:14px;
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
	.servicesSec .inner {
		width: calc(100% - 30px);
	}
}

@media (max-width: 767px) {
  .servicesSec .service-list {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;                 /* ← スクロールバーを出さない */
    gap: 16px;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
  }
  .servicesSec .service-list.is-dragging { cursor: grabbing; }

  .servicesSec .service-list .service-item {
    flex: 0 0 80%;                    /* 1枚＋次がチラ見 */
  }

  /* 画像のネイティブドラッグ・選択抑止（掴みやすく） */
  .servicesSec .service-list img { -webkit-user-drag: none; pointer-events: none; }
  .servicesSec .service-list, 
  .servicesSec .service-list .service-item a { user-select: none; }


	/* 画像 */
	.servicesSec .service-list .service-item .service-item_inner .pic img {
		aspect-ratio: 300 / 240;

	}
}




/* ----------
resultsSec
  ---------- */
.resultsSec{
}
.resultsSec .inner{
	width:100%;
	max-width:1100px;
	margin:0 auto;
	margin-bottom: 150px;
	overflow: visible;

	background:#E3ECF1;
	border-radius:0 10px 0;

	position:relative;
	}
.resultsSec .inner::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -50vw;                  
	pointer-events: none;     
	z-index: 1;             
	background:#E3ECF1;
	width:100%;
}

.resultsSec img{
  display: block;
  width: 100%;
  height: auto;
}


.results-surface{
  position:relative;

  width: 100vw;
  left: 50%; 
  transform: translateX(-50%);

  padding: 0px 26px 34px calc((100vw - 1100px) / 2 + 26px);
  box-sizing: border-box;
  z-index:10;
}


.results-head{
  display:flex; align-items:flex-end; justify-content:space-between;

  gap:16px;
  position:relative;
  z-index:10;
  padding:0px 20px;

  top:-30px;

}
.results-head-left{
}
.results-head-left .titSec{
}

.results-more{
  display:inline-flex; align-items:center; gap:10px;
  margin-top:12px;
  background:#0b4a82; color:#fff; text-decoration:none;
  padding:12px 18px; border-radius:10px;
  font-weight:700; letter-spacing:.03em;
}
.results-more .chev{ font-size:18px; line-height:1; transform:translateY(1px); }
.results-more:hover{ filter:brightness(1.05); }




.results-arrows{
	display:flex;
	gap:0px;
	border:solid 1px #013F78;
	border-radius:100px;
	background:#fff;
}

.rs-btn-pill,
.rs-btn{
	width: 36px;
	height: 36px;

	color: #013F78;

	font-size: 14px;

	cursor: pointer;

	border:none;
	background:#fff;

}
.rs-btn:first-child{
	border-right:solid 1px  #013F78;
	border-radius: 100px 0 0 100px;
}
.rs-btn:last-child{
	border-radius: 0px 100px 100px 0;
}
.rs-btn-pill:disabled,
.rs-btn:disabled{ opacity:.35; pointer-events:none; }


.results-slider{ position:relative; }

.results-track{
  overflow-x: visible;
}

.results-list{
  display:flex; gap:24px;
  padding:6px 8px 10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.results-list::-webkit-scrollbar{ display:none; }


.result-item{
  flex:0 0 calc(100% - 16px);  
  scroll-snap-align:start;
}
.result-item .pic img{
  display:block;
  width:100%;
  height:auto;
  background:#d9dbdf;
}

.result-item .tag{
  display:inline-block;
  margin-top:8px;
  padding:.25em .75em;
  border:1px solid #83bfdc;
  color:#2a8fb8;
  border-radius:999px;
  font-size:12px;
  background:#fff;
}
.result-item .tag-blue{
  border:1px solid #3F598F;
  color:#3F598F;
}
.result-item .tag-green{
  border:1px solid #3F8F8B;
  color:#3F8F8B;
}

.result-item .tit{
  margin: 8px 4px 0;
  font-size: 14px;
  line-height: 1.6;
}


@media screen and (max-width: 1100px) {
  .results-surface{
    width: auto;
    left: auto;
    transform: none;
    padding: 34px 26px;
  }
}


/* PC */
@media (min-width: 1024px){
  .result-item{ flex-basis: calc((100% - 24px*3) / 3.5); }
  .results-list{ padding-right:48px; }
}




/* Tablet */
@media (min-width: 640px){
  .result-item{ flex-basis: calc(25% - 12px); }
}

@media (max-width: 767px){
	.resultsSec{
		margin-right:15px;
	}

	.resultsSec .inner{
		margin-bottom: 50px;
		padding-bottom:50px;
	}
	.resultsSec .inner::after{
		content:none;
	}
	.results-surface{
		padding: 0px 26px 35px;
	}
	.resultsSec .btn{
		position:relative;
		z-index:20;
		max-width:290px;
		margin:0 auto;
	}


	.results-slider{
		  margin-right: calc(50% - 50vw);
	}
	.results-list {
		padding-right:24px;
	}


}

/* ----------
companySec
 ---------- */
.companySec {
	position:relative;
	z-index:50;
}
.companySec .inner {
	width:100%;
	max-width:1100px;
	margin:0 auto;
	width:100%;
	max-width:1100px;
	margin:0 auto 250px;
}

/* ---- */
.companySec .contact-tit {
}
.companySec .contact-tit .titSec {
}
.companySec .contact-tit .titSec .en {
}
.companySec .contact-tit .titSec .ja {
}

/* ---- */
.companySec .company-info {
	margin-bottom:30px;
}
.companySec .company-info .txt {
}
.companySec .company-info .txt a {
	color:#000;
	text-decoration:none;
}

/* ---- */
.companySec .company-info02 {
	margin-bottom:30px;
}
.companySec .company-info02 .txt {
}

/* ---- */
.companySec .btn {
	width:100%;
	max-width:300px;
}


/* ----- */
.company-gallery{
	position:absolute;
	top:0;
	left:60%;
	width:50vw;
	height:50vh;

}
.company-gallery .item{
	position:relative;
	display:block;
}
.company-gallery .item:nth-child(1){
	position:absolute;
	top:35%;
	left:-24%;
	z-index:1;
}
.company-gallery .item:nth-child(2){
	position:absolute;
	top:0;
	left:27%;
	z-index:2;
}
.company-gallery .item img{
	width:100%;
	height:auto;
	vertical-align:bottom;
}
/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
	.companySec .inner {
		width: calc(100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.companySec {
		margin-bottom:20px;
	}
	.companySec .inner {
		margin:0 auto 30px;
	}

	.company-gallery{
		position:relative;
		top:auto;
		left:auto;
		width:100%;
		height:100%;

		aspect-ratio: 375 / 300; 

	}
	.company-gallery .item:nth-child(1){
		width:100%;
		height:auto;

		position:relative;
		top:0%;
		left:auto;
		z-index:2;
		text-align:right;
	}
	.company-gallery .item:nth-child(1) img{
		width:60%;
		border-right:solid 3px #fff;
		border-bottom:solid 3px #fff;
	
	}
	.company-gallery .item:nth-child(2){
		width:44%;
		height:auto;
		position:absolute;
		top:20%;
		left:auto;
		z-index:1;
	}
	.company-gallery .item:nth-child(2) img{
		border-top:solid 3px #fff;
		border-left:solid 3px #fff;
	
	}
	.companySec .btn {
		width:100%;
		max-width:100%;
	}
	.companySec .btn a{
		max-width:290px;
		margin:0 auto;
	}
}


/* ----------
recruitContent{
 ---------- */
.recruitContent{
}


/* ----------
 recruitSec
 ---------- */
body:not(.recruit) .recruitSec {
	background:#E3ECF1;
	width:100%;
	max-width:1300px;
	margin:0 auto;
	padding: clamp(20.0000px, calc(20.4082vw + -56.5306px), 100.0000px);

	border-radius:10px 0 0 0 ;

	position:relative;
	overflow-x;hidden;
}

body:not(.recruit) .recruitSec::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - (300px + 10px)); 
	right: 0;                  
	pointer-events: none;     
	z-index: 1;             
	background:#E3ECF1;
	width:100%;
}



/* ---- */
.recruitSec .inner {
	width:100%;
	position:relative;
	overflow-x;hidden;

	padding-bottom: clamp(20.0000px, calc(20.4082vw + -56.5306px), 100.0000px);
	z-index:10;
}
/* ---- */
.recruitSec .contact-tit {
}
.recruitSec .contact-tit .titSec {
}
.recruitSec .contact-tit .titSec .en {
}
.recruitSec .contact-tit .titSec .ja {
}
/* ---- */
.recruitSec .recruit-cnt {
	display:flex;
	flex-wrap:wrap;
	gap:10px -;
	justify-content:space-between;
}
.recruitSec .recruit-cnt .recruit-text {
	width:75%;
}
.recruitSec .recruit-cnt .recruit-text p {
}
/* ---- */
.recruitSec .recruit-cnt .btn {
	width:calc( 100% - (77% + 0px));
}
.recruitSec .recruit-cnt .btn a{
	display:block;
	background:#013F78;
	color:#fff;
	text-align:center;
	border-radius:5px;
	padding:10px 5px;
	font-size:14px;
}
/* ---- */
.recruitSec .recruit_gallery {
  /* 既存の未使用ルールは残すが、表示用の横並びは下で詳細に指定 */
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;

  /* 中身を横に並べたまま幅を保つ（スクロール領域用） */
  width: max-content;

  /* 高さ周りの安定化 */
  align-items: center;
  gap: 0;
}
.recruitSec .recruit_gallery .item {
  flex: 0 0 auto;
  box-sizing: border-box;
  /* 左右パディングはアイテム間ギャップとして扱う（下の計算で考慮） */
  padding: 0px;
  min-height: 1px;
}
.recruitSec .recruit_gallery .item img {
  display: block;
  width: 100%;
  height: auto;

  /* 画像が巨大表示されるのを防ぐ（必要に応じて調整） */
  max-height: clamp(180px, 28vw, 480px);
  object-fit: cover;
  vertical-align: top;
}

.recruitSec .slider-container {


	z-index:10;
	position: relative;

  width: 100vw;

  margin-left: calc(50% - 50vw);

  overflow-x: hidden;
  overflow-y: visible;

  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;

  --item-gap: 16px; /* item同士の実際の合計ギャップ（左右padding合計） */
}

/* ---- */
/* 明示的に再定義（冗長だが既存構成と干渉しないように） */
.recruit_gallery {
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
  width: max-content;
  align-items: center;
}

/* ---- */
/* item padding は上で指定済み */

/* ---- レスポンシブ：見える枚数をビューポート幅で計算する ----
   計算方法：
     各ブレークポイントで「表示枚数 n」を決め、
     アイテム幅 = (100vw - ( (n - 1) * gap )) / n
   gap はアイテム間の合計（左右合わせて 16px = padding 8px × 2）
*/

/* 4枚表示: 1900px以上 */
@media screen and (min-width: 1900px) {
  .recruit_gallery .item {
    width: calc((100vw - ((4 - 1) * var(--item-gap, 16px))) / 4);
  }
}

/* 3枚表示: 768px以上 ～ 1899px以下 */
@media screen and (min-width: 768px) and (max-width: 1899px) {
  .recruit_gallery .item {
    width: calc((100vw - ((3 - 1) * var(--item-gap, 16px))) / 3);
  }
}

/* 2枚表示: 401px ～ 767px */
@media screen and (min-width: 401px) and (max-width: 767px) {
  .recruit_gallery .item {
    width: calc((100vw - ((2 - 1) * var(--item-gap, 16px))) / 2);
  }
}

/* 1枚表示: 400px以下 */
@media screen and (max-width: 400px) {
  .recruit_gallery .item {
    width: calc(100vw);
    padding: 0; /* 1枚表示時は余白不要ならキャンセル */
  }
}

/* 追加: 画像の縦サイズが急に変わるのを防ぐ（任意で調整） */
.recruit_gallery .item img {
  transition: max-height 0.25s ease;
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}
/* SP */
@media screen and (max-width: 767px) {
	.recruitSec {
		margin-left:15px;
		padding-left: 15px;
		padding-right: 35px;
	}	
	.recruitSec::after{
		content: none;
	}
	.recruitSec .recruit-cnt {
		gap:10px ;
	}
	.recruitSec .recruit-cnt .recruit-text {
		width:100%;
		margin-bottom:30px;
	}
	.recruitSec .recruit-cnt .btn {
		width:100%;
	}
	.recruitSec .recruit-cnt .btn a{
		max-width:290px;
		margin:0 auto;
	}
	.recruitSec .slider-container {
		margin-left: calc(50% - 55vw);
	}
}



/* ----------
contactSec
---------- */
.contactSec{
	background:#00264C url(../img/contact_bk.png) no-repeat center center;
	background-size:cover;
	padding-top: clamp(50.0000px, calc(27.3438vw + -160.0000px), 120.0000px);
	padding-bottom: clamp(50.0000px, calc(27.3438vw + -160.0000px), 120.0000px);
}

.contactSec .inner{
	width:100%;
	max-width:1100px;
	margin:0 auto;

	display:flex;
	flex-wrap:wrap;
	gap:10px;

	position:relative;
	overflow-x;hidden;
}

.contactSec .inner::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - (300px + 10px)); 
	right: 0;                  
	pointer-events: none;     
	z-index: 1;             
	background:#fff;
	width:100%;
}

/* ---- */
.contactSec .contact-tit{
	width:300px;
}
.contactSec .contact-tit .titSec{
	margin-bottom: clamp(15.0000px, calc(3.6058vw + -21.9231px), 30.0000px);
}
.contactSec .contact-tit .titSec .en{
	color:#fff;
}
.contactSec .contact-tit .titSec .ja{
	color:#fff;
}
.contactSec .contact-tit .txt{
	color:#fff;
}

/* ---- */
.contactSec .contact-box{
	width:calc( 100% - (300px + 10px));
	background:#fff;
	border-radius:10px 0 0 10px;
	padding:20px;
	position:relative;
	z-index:10;

	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
}
.contactSec .contact-box .contact-method{
	width:calc( (100% - 10px) / 2 );
	border-left:solid 1px #ccc;
}
.contactSec .contact-box .contact-method:first-child{
	border:none;
}
.contactSec .contact-box .contact-method .tit{
	font-size: clamp(16.0000px, calc(0.5102vw + 14.0867px), 18.0000px);
	text-align:center;
	font-weight:bold;
	margin-bottom:15px;
}

/* ---- */
.contactSec .contact-box .contact-method.form-contact{
}
.contactSec .contact-box .contact-method.form-contact .tit{
	margin-bottom:30px;
}
.contactSec .contact-box .contact-method.form-contact .btn{
	text-align:center;
}
.contactSec .contact-box .contact-method.form-contact .btn a {
	width:100%;
	max-width:300px;
	margin:0 auto;
	background:#333333 !important;
}
.contactSec .contact-box .contact-method.form-contact .btn a span{
	display:inline-block;
	background-image:url(../img/icon_contact_email.png );
	background-position:left center;
	padding-right:0;
	padding-left:30px;
}
.contactSec .contact-box .contact-method.form-contact .btn span{
}

/* ---- */
.contactSec .contact-box .contact-method.tel-contact{
}
.contactSec .contact-box .contact-method.tel-contact .tel{
	text-align:center;
}
.contactSec .contact-box .contact-method.tel-contact .tel a{
	color:#3F598F;
}
.contactSec .contact-box .contact-method.tel-contact .tel a span{
	display:inline-block;
	background:url(../img/icon_contact_tel.png ) no-repeat left center;
	background-position:left center;
	padding-right:0;
	padding-left:50px;
	font-family: "lato", sans-serif;
	font-weight:bold;
	font-size: clamp(25.0000px, calc(2.8061vw + 14.4770px), 36.0000px);
	line-height:1;
}




.contactSec .contact-box .contact-method.tel-contact .hours{
	text-align:center;
}

/* ---- */
/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
	.contactSec .inner{
		width: calc(100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 767px) {

	/* ---- */
	.contactSec .contact-tit{
		width:100%;
		margin-bottom:20px;
	}
	.contactSec .contact-tit{
	}
	/* ---- */
	.contactSec .contact-box{
		width:100%;
		border-radius:10px;
	}
	.contactSec .contact-box .contact-method{
		width:100%;
		border:none;
	}
	.contactSec .contact-box .contact-method:first-child{
		padding-bottom:23px;
		border-bottom:solid 1px #ccc;
	}
	.contactSec .inner::after{
		content: none;
	}
	.contactSec .contact-box .contact-method .tit{
		margin-bottom:15px;
	}

	.contactSec .contact-box .contact-method.form-contact .tit{
		margin-bottom:auto;
	}
	.contactSec .contact-box .contact-method{
	}
}





/* ----------
footer
---------- */
.footer{
	background:#2D2D2D;
	padding-top: clamp(35.0000px, calc(8.4135vw + -51.1538px), 70.0000px);
	padding-bottom: clamp(35.0000px, calc(8.4135vw + -51.1538px), 70.0000px);
}

.footer .inner{
	width:100%;
	max-width:1100px;
	margin:0 auto;
}

/* ---- */
@media screen and (max-width: 1100px) {
	.footer .inner{
		width: calc(100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 767px) {
}

/* ----------
footer-inner
---------- */
.footer .inner .footer-inner{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:space-between;

	margin-bottom:20px;
}


.footer .inner .footer-inner .footer-left{
	width:calc(57% - 10px);
	display:flex;
	flex-wrap:wrap;
	gap:10px;

	border-right: solid 1px #fff;
	padding-right:10px;

}

.footer .inner .footer-inner .footer-left .logo{
	width:210px;
	color:#fff;
}
.footer .inner .footer-inner .footer-left .logo img{
	width:100%;
	max-width:210px;
	height:auto;
	vertical-align:bottom;
}

.footer .inner .footer-inner .footer-left address{
	width:calc( 100% - ( 10px + 210px) );
	color:#fff;
	font-size:14px;
}
.footer .inner .footer-inner .footer-left address p{
}
.footer .inner .footer-inner .footer-left address a{
	color:#fff;
}


.footer .inner .footer-inner .footer-nav{
	width:41%;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

/* ---- */
.footer .inner .footer-inner .footer-nav .footer-section{
	width:calc( (100% - 10px) / 2);
}
.footer .inner .footer-inner .footer-nav .footer-section .footer-section_tit{
	color:#fff;
	margin-bottom:10px;
}
.footer .inner .footer-inner .footer-nav .footer-section ul.footer-section_lst{
	color:#fff;
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap:0px;
}
.footer .inner .footer-inner .footer-nav .footer-section ul.footer-section_lst li{
	color:#fff;
}
.footer .inner .footer-inner .footer-nav .footer-section ul.footer-section_lst li a{
	color:#fff;
}
.footer .inner .footer-inner .footer-nav .footer-section ul.footer-section_lst.lst-service{
	list-style:disc;
	margin-left:1em;
	font-size:14px;
}
.footer .inner .footer-copy{
	color:#fff;
	text-align:center;
	font-size:14px;
	letter-spacing:0.2;
}
.footer .inner .footer-copy small{
}

/* ---- */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	.footer .inner .footer-inner{
		flex-direction:row;
	}
	.footer .inner .footer-inner .footer-left{
		flex-direction:row;
		width:100%;
		border-right: none;
		padding-right:0px;
	}
	.footer .inner .footer-inner .footer-nav{
		width:100%;
	}

	.footer .inner .footer-inner .footer-left .logo{
		width:100%;
		text-align:center;
	}

	.footer .inner .footer-inner .footer-left address{
		width:100%;
	}
	.footer .inner .footer-copy{
		border-top:solid 1px #fff;
		padding-top:20px;
	}

}



/* ----------
.pageTop
   ---------- */
.pageTop{
	display:none;
}
.pageTop a{
}
.pageTop a img{
	width:50px;
}
@media screen and (max-width: 767px) {
	.pageTop a img{
		width:35px;
	}
}

/* ----------
pageHead
  ---------- */
.pageHead {
	background:url(../img/page_header_bk01.png) no-repeat center center;
	background-size: cover;
}

.pageHead .inner {
	height: clamp(170.0000px, calc(101.5625vw + -610.0000px), 430.0000px);
	display:flex;
	align-items:center;
	justify-content:center;
}

.pageHead .inner .pageHeadTxt {
	display:flex;
	flex-direction:column;
	gap:clamp(5.0000px, calc(3.9063vw + -25.0000px), 15.0000px);
}

.pageHead .inner .pageHeadTxt .ja ,
.pageHead .inner .pageHeadTxt .en {
	display:block;
	text-align:center;
	color:#fff;
	line-height:1;

}
.pageHead .inner .pageHeadTxt .ja {
	font-size: clamp(25.0000px, calc(15.6250vw + -95.0000px), 65.0000px);
	font-weight:bold;

	letter-spacing: 10px;
	text-indent: -10px;   /* 末尾の分だけ全体を左に詰める */
	padding-left: 10px;   /* 先頭位置を元に戻す（見た目の左端は変えない） */
}

.pageHead .inner .pageHeadTxt .en {
	font-size: clamp(17.0000px, calc(5.8594vw + -28.0000px), 32.0000px);
	font-family: "futura-pt", sans-serif;

	letter-spacing: 3px;
	text-indent: -3px;   /* 末尾の分だけ全体を左に詰める */
	padding-left: 3px;   /* 先頭位置を元に戻す（見た目の左端は変えない） */
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	.pageHead .inner .pageHeadTxt .ja {
		letter-spacing: 5px;
		text-indent: -5px;   /* 末尾の分だけ全体を左に詰める */
		padding-left: 5px;   /* 先頭位置を元に戻す（見た目の左端は変えない） */
	}
	.pageHead .inner .pageHeadTxt .en {
		letter-spacing: 1px;
		text-indent: -1px;   /* 末尾の分だけ全体を左に詰める */
		padding-left: 1px;   /* 先頭位置を元に戻す（見た目の左端は変えない） */
	}

}

/* ----------
breadcrumb
  ---------- */
.breadcrumb {
  position: relative;
  background:#fff;
}
.breadcrumb::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:50vw;
  background-color:#013F78;
  pointer-events:none;
  z-index:0;
}
.breadcrumb .inner {
  position: relative;
  z-index:1;
  width:100%;
  max-width:1410px;
  margin:0 auto;
}

/* ---- */
.breadcrumb .breadcrumb-list {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:.5em;
  padding:10px 0;
}
.breadcrumb .breadcrumb-list .breadcrumb-item {
  color:#fff;
}
.breadcrumb .breadcrumb-list .breadcrumb-item a {
  color:#fff;
  text-decoration:none;
}
.breadcrumb .breadcrumb-list .breadcrumb-item a:after {
  content:">";
  display:inline-block;
  padding:0 1em;
}

/* Wide Breakpoint */
@media screen and (max-width: 1410px) {
  .breadcrumb .inner {
    width: calc(100% - 30px);
  }
}

/* 1000px以下で帯を全幅に＆横スクロール化 */
@media screen and (max-width: 1000px) {
  .breadcrumb::before{
    width:100vw;
  }

  .breadcrumb {
    overflow:hidden;
  }
  .breadcrumb .breadcrumb-list{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap;
    gap:0;
    column-gap:.25em;
  }
  .breadcrumb .breadcrumb-item{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .breadcrumb .breadcrumb-list{
    scrollbar-width:none;
  }
  .breadcrumb .breadcrumb-list::-webkit-scrollbar{
    display:none;
  }
}

/* ----------
companyMessagSec
  ---------- */
.companyContent{
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap: clamp(80.0000px, calc(27.3438vw + -130.0000px), 150.0000px);
}

/* ----------
companyMessagSec
  ---------- */
.companyMessagSec {
}
.companyMessagSec .inner {
}

/* ---- */
.companyMessagSec .tit01 {
}
.companyMessagSec .cnt {
}
.companyMessagSec .cnt > * + * {
	margin-top: clamp(25.0000px, calc(3.9063vw + -5.0000px), 35.0000px);
}
.companyMessagSec .cnt .txt-right.fw {
  margin-top: 16px; 
}

.companyMessagSec .cnt .txt {
}
.companyMessagSec .cnt .txt-right {
}
.companyMessagSec .cnt .fw {
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
}

/* ----------
companyAccessSec
  ---------- */
.companyAccessSec {
}
.companyAccessSec .inner {
}
.companyAccessSec .tit01 {
}
.companyAccessSec .gmap {
}
.companyAccessSec .gmap iframe {
	display:block;
	width:100%;
	height:600px;
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}


/* SP */
@media screen and (max-width: 767px) {
  .companyAccessSec .gmap {
    aspect-ratio: 1 / 1; /* 親を正方形に */
  }
  .companyAccessSec .gmap iframe {
    width: 100%;
    height: 100%; /* 親にフィット */
  }
}

/* ----------
servicesContent
  ---------- */
.servicesContent{
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap: clamp(80.0000px, calc(27.3438vw + -130.0000px), 150.0000px);
}

/* ----------
serviceLst
  ---------- */
.serviceLst {
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap: clamp(80.0000px, calc(27.3438vw + -130.0000px), 150.0000px);
}
.serviceLst .serviceLst__item {
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap: clamp(25.0000px, calc(9.7656vw + -50.0000px), 50.0000px);
}



.serviceLst .serviceLst__item .tit01 {
}
.serviceLst .serviceLst__item .txt {
}
.serviceLst .serviceLst__item .serviceLst__itemCnt {
	display:flex;
	flex-wrap:wrap;
	gap:20px 4%;
}


.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_left { }
.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_left .pic{ order:1; }
.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_left .cnt{ order:2; }

.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_right { }
.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_right .pic{ order:2; }
.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_right .cnt{ order:1; }


.serviceLst .serviceLst__item .serviceLst__itemCnt .pic {
	width:52%;
}
.serviceLst .serviceLst__item .serviceLst__itemCnt .pic img {
	width:100%;
	height:auto;
	vertical-align:bottom;
}
.serviceLst .serviceLst__item .serviceLst__itemCnt .cnt {
	width:44%;
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	gap: clamp(10.0000px, calc(3.9063vw + -20.0000px), 20.0000px);
}
.serviceLst .serviceLst__item .serviceLst__itemCnt .cnt .tit02 {
	margin-bottom: auto;
}


.serviceLst .serviceLst__item .serviceLst__itemCnt .cnt .serviceLst__itemCnt__lst {
}
.serviceLst .serviceLst__item .serviceLst__itemCnt .cnt .serviceLst__itemCnt__lst li {
	padding:10px;
}
.serviceLst .serviceLst__item .serviceLst__itemCnt .cnt .serviceLst__itemCnt__lst li:nth-child(odd) {
	background:#E3ECF1;
}

/* ---- */
.serviceLst .serviceLst__item.pic_left {
}
.serviceLst .serviceLst__item.pic_right {
}


#sv04.serviceLst__item  .tit02{
	margin-bottom: auto;
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	.serviceLst .serviceLst__item .serviceLst__itemCnt .pic {
		width:100%;
	}
	.serviceLst .serviceLst__item .serviceLst__itemCnt .cnt {
		width:100%;
	}
	.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_left { }
	.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_left .pic{ order:1; }
	.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_left .cnt{ order:2; }

	.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_right { }
	.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_right .pic{ order:1; }
	.serviceLst .serviceLst__item .serviceLst__itemCnt.pic_right .cnt{ order:2; }
}

/* ----------
recruitHeaderSec
  ---------- */
.recruitHeaderSec {
	margin-bottom:100px;
}
.recruitHeaderSec .inner {
}
.recruitHeaderSec .tit01 {
}

/* ---- */
.recruitHeaderSec .tit {
	font-size: clamp(22.0000px, calc(5.0781vw + -17.0000px), 35.0000px);
	font-weight:bold;
	line-height:1.4;
	margin-bottom:25px;
}
.recruitHeaderSec p {
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	.recruitHeaderSec {
		margin-bottom:50px;
	}
}




/* ----------
flowSec
  ---------- */
.flowSec{
	margin-bottom:100px;
}
@media screen and (max-width: 767px) {
	.flowSec{
		margin-bottom:50px;
	}
}
/* ----------
recruitFlow
  ---------- */
.recruitFlow {
  display: flex;
  flex-direction: column;
  gap: 80px; /* 矢印の高さ(30px)に合わせる */
}

.recruitFlow .item {
  background: #EBEDEF;
  border-radius: 10px;

  display: flex;
  align-items: stretch; /* 子要素を等高さに */
  gap: 30px;

  position: relative;   /* 矢印配置用 */
  overflow: visible;    /* 間に出す矢印をクリップしない */
}

/* アイテム間の矢印を“間”に見せる */
.recruitFlow .item + .item::before {
  content: "";
  position: absolute;
  top: -55px; /* 親のgap(30px)の中央に来るよう上に配置 */
  left: 0;

  display: block;
  background: url(../img/recruit/recruitFlow_arrow.png) no-repeat center center;
  background-size:auto 100%;
  width: 100%;
  height: 30px;

  pointer-events: none;
  z-index: 1;
}

/* 既存の.item内側の矢印は使わないのでリセット（万一残っても非表示化） */
.recruitFlow .item::after {
  content: none;
}

.recruitFlow .item .step {
  flex: 0 0 160px;                /* 左カラムの幅（必要に応じて調整） */
  display: flex;
  align-items: center;
  justify-content: center;

  background: #013F78;
  border-radius: 10px 0 0 10px;
  padding:15px 0;
}

.recruitFlow .item .step .tit {
}

.recruitFlow .item .step .tit span{
  color: #fff;
  font-family: "futura-pt", sans-serif;
  display: block;
  text-align: center;
  line-height: 1;
}

.recruitFlow .item .step .tit .eng {
  font-size: clamp(18.0000px, calc(5.4688vw + -24.0000px), 32.0000px);
}

.recruitFlow .item .step .tit .num {
  font-size: clamp(22.0000px, calc(7.0313vw + -32.0000px), 40.0000px);
}

/* ---- */
.recruitFlow .item .cnt {
	flex: 1 1 auto;                 /* 右カラムは余白いっぱいに */

	display: flex;
	flex-direction: row;
	align-items:center;
	gap:10px;

	padding: 10px;
}

.recruitFlow .item .cnt .tit {
	width:300px;
	color: #013F78;
	font-size: clamp(19.0000px, calc(3.5156vw + -8.0000px), 28.0000px);
	font-weight: bold;
}

.recruitFlow .item .cnt .tit .title {
}

.recruitFlow .item .cnt .disc {
	width:calc( 100% - ( 200px + 10px ));
	padding:0 3%;
	border-left:dashed 1px #666666;
}

.recruitFlow .item .cnt .disc p {
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	/* 矢印の高さに合わせてgapは30pxのままにする */
	.recruitFlow {
		gap: 50px;
	}
	.recruitFlow .item {
		flex-direction: column;
		gap:0;
	}

	/* アイテム間の矢印を“間”に見せる */
	.recruitFlow .item + .item::before {
		top: -38px;
		height: 20px;
	}

	.recruitFlow .item .step {
		flex: 0 0 auto;
		width: 100%;
		border-radius: 10px 10px 0 0; /* 縦積み時の角丸 */
		padding:8px 0;
	}

	.recruitFlow .item .step .tit {
		display:flex;
		flex-direction:row;
		gap:10px;
	}
	.recruitFlow .item .step .tit span{
	  display: inline-block;
	}


	.recruitFlow .item .cnt {
		flex-direction: column;
		padding:15px;
	}
	.recruitFlow .item .cnt > *{
		width:100%;
	}
	.recruitFlow .item .cnt .tit {
		width:100%;
	}
	.recruitFlow .item .cnt .disc {
		width:100%;
		border:none;
		padding:0;
	}
}

/* ----------
idealSec
  ---------- */
.idealSec {
	margin-bottom:100px;
}
.idealSec .inner {
	width:100%;
	max-width:1200px;
	margin:0 auto;

	display:flex;
	flex-wrap:wrap;

	position:relative;

}

.idealSec .inner::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(100%); 

	pointer-events: none;     
	z-index: 1;             
	background:#E3ECF1;
	width:100%;
}


.idealSec .tit {
	width:35%;
	background:#E3ECF1;
	border-radius:0 0 30px 0;

	display:flex;
	flex-wrap:wrap;
	align-items:center;

	padding-top:clamp(80.0000px, calc(17.5781vw + -55.0000px), 125.0000px);
	padding-bottom:clamp(80.0000px, calc(17.5781vw + -55.0000px), 125.0000px);


}
.idealSec .tit span {
	display:block;
	width:100%;

	text-align:center;
	font-weight:bold;

	font-size: clamp(20.0000px, calc(5.8594vw + -25.0000px), 35.0000px);
}
/* ---- */
.idealSec .idealLstBox{
	width: calc( 100% - 35%);

	padding-top:clamp(80.0000px, calc(17.5781vw + -55.0000px), 125.0000px);
	padding-bottom:clamp(80.0000px, calc(17.5781vw + -55.0000px), 125.0000px);

	padding-left: clamp(30.0000px, calc(19.5313vw + -120.0000px), 80.0000px);
}
.idealSec .idealLstBox li {
}


/* 先頭0付きの連番 01, 02, ... を表示 */
.idealSec .idealLstBox {
  list-style: none;
  counter-reset: ideal; /* 連番のリセット */

	display:flex;
	flex-wrap:wrap;
	align-items:center;


}

.idealSec .idealLstBox li {
  counter-increment: ideal; /* 各liでカウント+1 */
  position: relative;
  padding-left: 4em; /* 番号ぶんの余白 */
  font-family: "futura-pt", sans-serif;

  font-size: clamp(20.0000px, calc(1.9531vw + 5.0000px), 25.0000px);
}

.idealSec .idealLstBox li::before {
  content: counter(ideal, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 6px;
  font-family: "futura-pt", sans-serif; /* 番号も同フォントで */
  font-variant-numeric: tabular-nums; /* 桁幅を揃える */
  line-height: 1;
  width: 2.5em; /* 配置の安定化（必要に応じて調整） */
  text-align: right;

   font-size: clamp(22.0000px, calc(5.0781vw + -17.0000px), 35.0000px);
   color:#3F598F;
}




/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	.idealSec {
		margin-bottom:50px;
	}
	.idealSec .tit {
		width: 100%;
		border-radius:0;
		padding: 20px 0;
	}
	/* ---- */
	.idealSec .idealLstBox{
		width: 100%;
		padding: 20px 0;
	}

	.idealSec .idealLstBox li {
	  padding-left: 3em;
	  font-size:17px;
	}

	.idealSec .idealLstBox li::before {
	  width: 2em;
	  font-size:17px;
	}


}



/* ----------
requirementsSec
  ---------- */
.requirementsSec{
}
.requirementsSec .tbl01{
	margin-bottom:clamp(80.0000px, calc(39.0625vw + -220.0000px), 180.0000px);clamp(80.0000px, calc(39.0625vw + -220.0000px), 180.0000px);
}
.requirementsSec .btn{
	width:100%;
	max-width:450px;
	margin:0 auto;
}
.requirementsSec .btn a{
	padding-top:30px;
	padding-bottom:30px;
}
@media screen and (max-width: 767px) {
	.requirementsSec .btn a{
		padding-top:15px;
		padding-bottom:15px;
	}
}


/* ----------
プライバシーポリシー枠
  ---------- */

.privacyBox {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 20px;
  background-color: #fff;
  max-height: 260px;      /* スクロールさせたい高さに調整 */
  overflow-y: auto;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.8;

  margin-bottom:40px;
}

/* 中の定義リストの体裁 */
.privacyBox dl {
  margin: 0;
}

.privacyBox dt {
  font-weight: 700;
  margin-top: 1em;
}

.privacyBox dt:first-child {
  margin-top: 0;
}

.privacyBox dd {
  margin: 0.3em 0 0.8em 0;
  padding-left: 1em;
}

/* 必要ならスマホ時に少し低めの高さに調整 */
@media screen and (max-width: 767px) {
  .privacyBox {
    max-height: 200px;
    padding: 15px;
  }
}


/* ----------
Formtable
---------- */
.formTbl{
	width:100%;
	margin-bottom:80px;
}
.formTbl tr{
	border-bottom:solid 1px #CCCCCC;
}
.formTbl tr:first-child{
	border-top:solid 1px #CCCCCC;
}
.formTbl tr th{
	background:#E3ECF1;
	padding:25px 15px;
	width:20%;
}
.formTbl tr td{
	padding:25px 15px;
	width:80%;
}
/* --- */
.formTbl tr th .hissu{
	background:#C81C1C;
	color:#fff;
	border-radius:5px;
	padding:0 1em 3px;
	font-size:14px;
	margin-left:10px;
}

/* --- */
.formTbl td input[type="text"],
.formTbl td input[type="email"]{
	display:block;
	width:100%;
	padding:10px;
	font-size: clamp(14.0000px, calc(1.5625vw + 2.0000px), 18.0000px);
	border:solid 1px #CCCCCC;
	border-radius:5px;
}
.formTbl td textarea{
	display:block;
	width:100%;
	height:100px;
	padding:10px;
	font-size: clamp(14.0000px, calc(1.5625vw + 2.0000px), 18.0000px);
	border:solid 1px #CCCCCC;
	border-radius:5px;
}


.formBtn input[name="submitConfirm"]{
	width:100%;
	max-width:250px;
	border:none;
	display: block;
    background: #013F78;
    border-radius: clamp(6.0000px, calc(0.5263vw + 2.1053px), 10.0000px);
    padding: 20px 10px 20px 10px;
    color: #fff;
	margin:0 auto;
	cursor : pointer;
}

.formBtn input[name="submitConfirm"]:hover{
	background:#000;
}


/* 改行タグが残っている場合は非表示にする（任意） */
.formBtn br {
	display: none;
}

/* ボタンをまとめるラッパー */
.formBtn {
	display: flex;
	flex-direction: column; /* デフォルト：SP想定で縦並び */
	align-items: center;
	gap: 16px;              /* ボタン同士の間隔 */
}

/* 共通ボタンスタイル（confirm ボタンのデザインを流用） */
.formBtn input[name="submitConfirm"],
.formBtn input[name="submitBack"],
.formBtn input[name="submitbutton"] {
	width: 100%;
	max-width: 250px;
	border: none;
	display: block;
	background: #013F78;
	border-radius: clamp(6px, calc(0.5263vw + 2.1053px), 10px);
	padding: 20px 10px;
	color: #fff;
	margin: 0;
	cursor: pointer;
	text-align: center;
}

/* hover */
.formBtn input[name="submitConfirm"]:hover,
.formBtn input[name="submitBack"]:hover,
.formBtn input[name="submitbutton"]:hover {
	background: #02509A; /* お好みで調整 */
}

/* タブレット以上で横並びにする */
@media screen and (min-width: 768px) {
	.formBtn {
		flex-direction: row;      /* 横並び */
		justify-content: center;
	}

	.formBtn input[name="submitConfirm"],
	.formBtn input[name="submitBack"],
	.formBtn input[name="submitbutton"] {
		width: auto;
		min-width: 180px;         /* 横並び時の横幅調整（お好みで） */
	}
}



@media screen and (max-width: 767px) {
	.formTbl tr th{
		padding:10px 5px;
	}
	.formTbl tr th,
	.formTbl tr td{
		display:block;
		width:100%;
	}
}

