@charset "UTF-8";
/*WEBフォントの読み込み*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@600&display=swap');
/*==============================================
/* 1. リセットCSS
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
/* ============================================= */
html{
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
body{
	margin: 0;
	padding: 0;
}
main{
	display: block;
}
h1, h2, h3, h4, h5, h6{
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}
hr{
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre{
	font-family: monospace, monospace;
	font-size: 1em;
}
a{
	background: transparent;
}
abbr[title]{
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
b,
strong{
	font-weight: bold;
}
code,
kbd,
samp{
	font-family: monospace, monospace;
	font-size: 1em;
}
small{
	font-size: 80%;
	line-height: 1.5;
}
sub,
sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub{
	bottom: -0.25em;
}
sup{
	top: -0.5em;
}
img{
	border-style: none;
}
button,
input,
optgroup,
select,
textarea{
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input{
	overflow: visible;
}
button,
select{
	text-transform: none;
}
button{
	background: transparent;
}
button,
[type="button"],
[type="reset"],
[type="submit"]{
	-webkit-appearance: none;
	border: none;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner{
	border-style: none;
	padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring{
	outline: 1px dotted ButtonText;
}
fieldset{
	border: none;
	margin: 0;
	padding: 0;
}
legend{
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress{
	vertical-align: baseline;
}
textarea{
	overflow: auto;
}
[type="checkbox"],
[type="radio"]{
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button{
	height: auto;
}
[type="search"]{
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}
::-webkit-file-upload-button{
	-webkit-appearance: button;
	font: inherit;
}
details{
	display: block;
}
summary{
	display: list-item;
}
template{
	display: none;
}
[hidden]{
	display: none;
}
/*==============================================
/* 2. 要素スタイルの定義
/* ============================================= */
/*----------------------------*/
/*root
/*----------------------------*/
:root{
	/*フォントサイズ*/
	--fs-6: clamp(3rem, 11.125rem + 4vw, 11.125rem);
	--fs-5: clamp(2.5rem, 1rem + 3vw, 3.5rem);
	--fs-4: clamp(1.25rem, 0.5rem + 2.5vw, 2.5rem);
	--fs-3: clamp(1.125rem, 0.5rem + 2vw, 2.125rem);
	--fs-2: clamp(1rem, 0.25rem + 1.5vw, 1.375rem);
	--fs-1: clamp(0.875rem, 0.25rem + 1vw, 1.125rem);
	--fs-mini: clamp(0.75rem, 0.2rem + 1vw, 0.875rem);
	/*色*/
	--color-blue: #0071BD;
	--color-ltBlue: #ECF7FC;
	--color-green: #0AA547;
	--color-navy: #264560;
	--color-red: #DB3218;
	/*グラデーション*/
	--gradation-blue: linear-gradient(-20deg, rgba(1, 137, 165, 1) 0%, rgba(0, 113, 189, 1) 100%);
	--gradation-ltBlue: linear-gradient(-20deg, rgba(236, 247, 252, 1) 0%, rgba(205, 227, 239, 1) 100%);
	--gradation-green: linear-gradient(90deg, rgba(10, 107, 204, 1) 0%, rgba(0, 168, 180, 1) 50%, rgba(48, 177, 33, 1) 100%);
	--gradation-red: linear-gradient(90deg, rgba(201, 31, 31, 1) 0%, rgba(241, 80, 8, 0.8) 36%, rgba(233, 129, 11, 0.5) 56%, rgba(231, 194, 48, 0.46) 70%, rgba(173, 234, 48, 0.23) 80%, rgba(130, 239, 48, 0) 100%);
	/*線*/
	--border-gray: 2px solid #ccc;
}
@media (max-width:812px){
	:root{
		--gradation-red: linear-gradient(80deg, rgba(201, 31, 31, 1) 0%, rgba(241, 80, 8, 0.8) 36%, rgba(233, 129, 11, 0.5) 56%, rgba(231, 194, 48, 0.46) 70%, rgba(173, 234, 48, 0.23) 80%, rgba(130, 239, 48, 0) 100%);
		--border-gray: 1px solid #bbb;
	}
}
@media (max-width:812px){
	:root{
		--fs-2: 0.875rem;
	}
}
/*----------------------------*/
/*全要素
/*----------------------------*/
*{
	box-sizing: border-box;
}
/*----------------------------*/
/*フォントサイズ
/*----------------------------*/
.u-fs--6{
	font-size: var(--fs-6);
	font-weight: bold;
}
.u-fs--5{
	font-size: var(--fs-5);
	font-weight: bold;
}
.u-fs--4{
	font-size: var(--fs-4);
	font-weight: bold;
}
.u-fs--3{
	font-size: var(--fs-3);
	font-weight: bold;
}
.u-fs--2{
	font-size: var(--fs-2);
}
.u-fs--1{
	font-size: var(--fs-1);
}
.u-fs--mini{
	font-size: var(--fs-mini);
}
/*----------------------------*/
/*フォントの太さ
/*----------------------------*/
.u-font--bold{
	font-weight: bold;
}
/*----------------------------*/
/*margin
/*----------------------------*/
/*上*/
.u-marginTop--0-5em {
  margin-top: 0.5em;
}
.u-marginTop--1em {
  margin-top: 1em;
}
.u-marginTop--1-5em {
  margin-top: 1.5em;
}
.u-marginTop--2em {
  margin-top: 2em;
}
.u-marginTop--3em {
  margin-top: 3em;
}
.u-marginTop--4em {
  margin-top: 4em;
}
.u-marginTop--5em {
  margin-top: 5em;
}

/*下*/
.u-marginBottom--0-5em {
  margin-bottom: 0.5em;
}
.u-marginBottom--1em {
  margin-bottom: 1em;
}
.u-marginBottom--1-5em {
  margin-bottom: 1.5em;
}
.u-marginBottom--2em {
  margin-bottom: 2em;
}
.u-marginBottom--3em {
  margin-bottom: 3em;
}
.u-marginBottom--4em {
  margin-bottom: 4em;
}
.u-marginBottom--5em {
  margin-bottom: 5em;
}
/*----------------------------*/
/*色
/*----------------------------*/
.u-color--blue{
	color: var(--color-blue);
}
.u-color--green{
	color: var(--color-green);
}
/*----------------------------*/
/*マーカー
/*----------------------------*/
.u-marker{
	display: inline;
	background: linear-gradient(transparent 60%, #fffb8f 50%);
}
/*----------------------------*/
/*ページ上に表示しない
/*----------------------------*/
.visually-hidden{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
/*----------------------------*/
/*レイアウト
/*----------------------------*/
.l-width--100{
	width: 100%
}
.l-flex__2col{
	display: flex;
	gap: 1em;
}

.l-flex__2col--row{
	display: flex;
	gap: 1em;
	align-items: center;
}
.l-inline-flex__2col{
	display: inline-flex;
	gap: 1em;
	align-items: center;
}

@media (max-width:812px){
	.l-flex__2col{
		flex-direction: column;
	}
}
.l-flex__2col__inner{
	width: 50%;
}
@media (max-width:812px){
	.l-flex__2col__inner{
		width: 100%;
	}
}
.l-center{
	display: flex;
	justify-content: center;
}
.l-right{
	display: flex;
	justify-content: flex-end;
}
/*----------------------------*/
/*構造
/*----------------------------*/
body{
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--fs-1);
	font-weight: 500;
	position: relative;
	line-height: 1.8;
	margin: 0;
	color: #333;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
/*構造化タグのdisplay属性のブロック可*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display: block;
}
/* マーク・強調：figure*/
figure{
	margin: 1em 0;
}
/*----------------------------*/
/*見出し
/*----------------------------*/
/* -- H2 --*/
.c-heading--lv2{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	max-width: 1000px;
	height: auto;
	margin-bottom: 2.5em;
}
.c-heading--lv2[data-h2]::before{
	position: absolute;
	content: "";
	display: inline-block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	max-height: 140px;
}
@media(max-width:812px){
	.c-heading--lv2[data-h2]::before{
		max-height: 100px;
	}
}
.c-heading--top[data-h2="message"]{
	aspect-ratio: 804/127;
}
.c-heading--top[data-h2="message"]::before{
	background: url("./img/heading_bg_message.svg") no-repeat 0 center /contain;
	aspect-ratio: 804/127;
}
.c-heading--top[data-h2="business"]{
	aspect-ratio: 817/127;
}
.c-heading--top[data-h2="business"]::before{
	background: url("./img/heading_bg_business.svg") no-repeat 0 center /contain;
	aspect-ratio: 817/127;
}
.p-business .c-heading--2ndHead{
	background: url("./img/heading_bg_business.svg") no-repeat 0 center /contain;
}
.c-heading--top[data-h2="company"]{
	aspect-ratio: 895/127;
}
.c-heading--top[data-h2="company"]::before{
	background: url("./img/heading_bg_company--blue.svg") no-repeat 0 center /contain;
	aspect-ratio: 895/127;
}
.p-company .c-heading--2ndHead{
	background: url("./img/heading_bg_company--black.svg") no-repeat 0 center /contain;
}
.c-heading--top[data-h2="news"]{
	aspect-ratio: 494/127;
}
.c-heading--top[data-h2="news"]::before{
	background: url("./img/heading_bg_news--blue.svg") no-repeat 0 center /contain;
	aspect-ratio: 494/127;
}
.p-news .c-heading--2ndHead{
	background: url("./img/heading_bg_news--black.svg") no-repeat 0 center /contain;
}
.c-heading--top[data-h2="recruit"]{
	aspect-ratio: 717/127;
}
.c-heading--top[data-h2="recruit"]::before{
	background: url("./img/heading_bg_recruit.svg") no-repeat 0 center /contain;
	aspect-ratio: 717/127;
}
@media(max-width:812px){
	.c-heading--top[data-h2],
	.c-heading--top[data-h2]::before{
		aspect-ratio: 895/127;
	}
}
.p-recruit .c-heading--2ndHead{
	background: url("./img/heading_bg_recruit.svg") no-repeat 0 center /contain;
}
.p-contact .c-heading--2ndHead{
	background: url("./img/heading_bg_contact.svg") no-repeat 0 center /contain;
}
.c-heading__title--lv2{
	width: fit-content;
	font-size: var(--fs-5);
	font-weight: bold;
	line-height: 1;
	z-index: 2;
}
.c-heading__sub{
	position: relative;
	padding-left: 1.2em;
	margin-bottom: 0.3em;
	font-weight: bold;
	font-size: var(--fs-2);
	z-index: 2;
	text-transform: capitalize;
}
.c-heading__sub::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 51%;
	left: 0;
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	background: url("./img/deco_circle01.svg") no-repeat 0 center /cover;
}
/* -- H3 --*/
.c-heading--lv3{
	position: relative;
	display: flex;
	flex-direction: column;
	margin-bottom: 2em;
}
.c-heading__title--lv3{
	width: fit-content;
	font-size: clamp(1.75rem, 0.5rem + 2.5vw, 2.5rem);
	font-weight: bold;
	line-height: 1;
	z-index: 2;
}
/* -- H4 --*/
h4{
	font-size: var(--fs-4);
	font-weight: bold;
}
/* -- H5 --*/
h5{
	font-size: var(--fs-3);
	font-weight: 600;
}
/* -- H6 --*/
h6{
	font-size: var(--fs-2);
}

/* -- 見た目だけの見出し --*/
.c-heading--other{
	position: relative;
	font-weight: bold;
	padding-left: 1em;
}
.c-heading--other::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 0.4em;
	height: 1em;
	background: var(--color-blue);
}
/*----------------------------*/
/*リスト関連（UL/OL/DL）
/*----------------------------*/
/* -- UL：箇条書き --*/
ul{
	margin: 0;
	padding: 0;
	list-style: none;
}
ul li{
	margin-left: 1.5em;
	list-style: disc;
	text-indent: 0px;
}


/* -- OL：番号付きリスト -- */
ol{
	margin: 0;
	padding: 0;
	list-style: none;
}
ol li{
	margin-left: 1.25em;
	list-style: decimal;
	text-indent: 0px;
}


/* -- DL：説明リスト --*/
dl{
	margin: 0;
}
dt{
	font-weight: bold;
}
dd{
	box-sizing: border-box;
	padding-left: 0.8em;
	margin: 0;
}
/*----------------------------*/
/*テーブル・表組（TABEL）
/*----------------------------*/
table{
	border-collapse: collapse;
	border-spacing: 0;
	max-width: 100% !important;
}
table th, table td{
	color: #333;
	border: var(--border-gray);
	vertical-align: middle;
	padding: 8px 16px;
	background: #fff;
}
table th{
	font-weight: bold;
	background: #efefef;
}
table td{
	text-align: left;
}
/*----------------------------*/
/*テキスト・リンク関連
/*----------------------------*/
:focus-visible{
	outline: 3px solid #0bf;
	outline-offset: 3px;
}
.l-section--blue :focus-visible{
	outline-color: #ff0;
}
/* -- a：リンク --*/
a{
	cursor: pointer;
	text-decoration: underline;
	color: var(--color-blue);
}
a:not([class]){
	transition: opacity 0.15s;
}
a:not([class]):hover{
	opacity: 0.5;
}
a:not([href]){
	cursor: text;
}
a[target="_blank"]::after,
a[href$=".pdf"]::after,
a[href$=".xlsx"]::after,
a[href$=".word"]::after{
	position: relative;
	display: inline-block;
	font-size: 0.75em;
	font-weight: 400;
}
a[target="_blank"]::after{
	content: "(外部リンク)";
}
a[href$=".pdf"]::after{
	content: "(pdf)";
}
a[href$=".xlsx"]::after{
	content: "(Excel)";
}
a[href$=".word"]::after{
	content: "(Word)";
}
.js-telLink[href="javascript:void(0);"]{
	text-decoration: none;
	pointer-events: none;
	color: inherit;
}
/* -- p：段落 --*/
p{
	line-height: 1.8;
	margin: 0;
}
/* -- blockquote：引用 --*/
blockquote{
	position: relative;
	background: rgba(0, 0, 0, 0.05);
	padding: 2.5em 1.5em;
	margin: 1em 0;
	border-radius: 6px;
	font-style: italic;
}
blockquote:before{
	content: "“";
	display: inline-block;
	position: absolute;
	left: 0.5em;
	top: 0.5em;
	font-size: 200%;
}
blockquote:after{
	content: "”";
	display: inline-block;
	position: absolute;
	right: 1.0em;
	bottom: 0.5em;
	font-size: 200%;
	line-height: 1;
}
/* -- strong：強調 --*/
strong{
	font-weight: bold;
}
/* -- em：斜体 --*/
em{
	font-style: italic;
}
/* -- 下線 --*/
ins{
	text-decoration: underline;
}
/* -- 削除：del --*/
del{
	text-decoration: line-through double;
}
/* -- 取り消し：s --*/
s{
	text-decoration: line-through;
}
/* -- 水平線：hr --*/
hr{
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	height: 0px;
}
/* マーク・強調：mark*/
mark{
	background: #ff9;
	color: #333;
}
/*----------------------------*/
/*外部ソース読込関連（iframe）
/*----------------------------*/
iframe{
	max-width: 100%;
	border: none;
}
@media (max-width: 812px){
	iframe{
		width: 100%;
	}
}
/*----------------------------*/
/*画像スタイル関連
/*----------------------------*/
img{
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	text-align: center;
	vertical-align: top;
}
/*----------------------------*/
/*動画スタイル関連
/*----------------------------*/
video{
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
/*----------------------------*/
/*ボタン
/*----------------------------*/
/* -- リセット --*/
button{
	line-height: 1.8;
	font-weight: 500;
}
/* -- ボタンの上を空ける --*/
.o-btn__marginTop{
	margin-top: 3em;
}
/* -- ボタンを中央に配置する --*/
.o-btn__center{
	display: flex;
	justify-content: center;
	margin-top: 5em;
}
/* -- ボタン2つを横並びに配置する --*/
.o-btn__pair{
	display: flex;
	justify-content: space-between;
	margin-top: 5em;
}
/* -- ベーシックなボタン --*/
.c-btn{
	position: relative;
	display: inline-block;
	padding: 0.8em 4em;
	margin: 0;
	color: #fff;
	background: linear-gradient(60deg, rgba(48, 177, 33, 1) 0%, rgba(0, 168, 180, 1)25%, rgba(0, 113, 189, 1) 49%, rgba(0, 113, 189, 1) 50%);
	border-radius: 100px;
	text-decoration: none;
	background-position: 100% 50%;
	background-size: 210% auto;
	transition: background-position 0.3s;
}
.c-btn:hover,
.c-btn:focus-visible{
	background-position: 0% 49%;
}
.c-btn::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 1.75em;
	transform: translateY(-50%);
	width: 0.8em;
	height: 0.8em;
	background: url("./img/arrow_wh.svg") no-repeat center/contain;
	transition: right 0.3s;
}
.c-btn:hover::before,
.c-btn:focus-visible::before{
	right: 1.2em;
}
/* -- 白色のボタン --*/
.c-btn--white{
	color: #333;
	background: linear-gradient(60deg, rgba(201, 254, 167, 1) 0%, rgba(255, 246, 173, 1)25%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 50%);
	background-position: 100% 49%;
	background-size: 210% auto;
}
.c-btn--white:hover,
.c-btn--white:focus-visible{
	background-position: 0% 50%;
}
.c-btn--white::before{
	background: url("./img/arrow_bl.svg") no-repeat center/contain;
}
/* -- 戻るボタン --*/
.c-btn--back{
	color: #333;
	background: rgba(0, 113, 189, 0.1);
	transition: background 0.3s;
}
.c-btn--back::before{
	left: 1.75em;
	right: auto;
	transform: translateY(-50%) scale(-1, 1);
	background: url("./img/arrow_bl.svg") no-repeat center/contain;
	transition: left 0.3s;
}
.c-btn--back:hover{
	background: rgba(0, 113, 189, 0.2);
}
.c-btn--back:hover::before,
.c-btn--back:focus-visible::before{
	left: 1.2em;
}
/* -- disabledのスタイル --*/
button:disabled{
	color: #fff;
	background: #ccc;
	pointer-events: none;
}
button:disabled::before{
	content: none;
}
/*----------------------------*/
/*スライダー
/*----------------------------*/
/*ページネーション*/
.c-splide__pagination__wrap{
	display: flex;
	justify-content: flex-end;
}
.c-splide__pagination{
	display: flex;
	position: inherit;
	gap: 12px;
	padding: 0;
	overflow-x: auto;
	flex-wrap: nowrap;
	justify-content: flex-start;
}
.c-splide__pagination li{
	width: fit-content;
	height: fit-content;
	line-height: 0;
	transition: width 0.3s;
}
.c-splide__pagination .splide__pagination__page{
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	margin: 0;
	background: #fff;
	border-radius: 100px;
	opacity: 1;
	transition: width 0.3s, opacity 0.3s;
}
.c-splide__pagination .splide__pagination__page.is-active{
	transform: scale(1);
	background: var(--color-blue);
}
@media (any-hover: hover){
	.c-splide__pagination .splide__pagination__page:hover{
		opacity: 0.5;
	}
}
/*スライドコンテンツ*/
.c-splide__track__wrap{
	position: relative;
	width: 100%;
	margin: 1em auto 0;
}
.c-splide__track__wrap .splide__arrow{
	width: fit-content;
	background: none;
	opacity: 1;
	border-radius: 0;
	transition: opacity 0.3s;
}
@media (any-hover: hover){
	.c-splide__track__wrap .splide__arrow:hover:not(:disabled){
		opacity: 0.5;
	}
}
@media (hover:none){
	.c-splide__track__wrap .splide__arrow:acive:not(:disabled){
		opacity: 0.5;
	}
}
.c-splide__track__wrap .splide__arrow svg{
	fill: var(--color-blue);
}
.c-splide__list>.c-splide__slide,
.c-splide__list>.c-splide__slide:nth-of-type(even){
	background-color: transparent;
	padding: 0;
}
.c-splide__slide{
	height: 100%;
}
.c-splide__slide__inner{
	width: 100%;
	overflow: auto;
	margin: 0 auto;
	color: #333;
	background: #fff;
	height: 100%;
	padding: 3em 5vw;
}
/*自動再生の要素*/
.c-splide__autoplay__toggle{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0.6em;
}
.c-splide__toggle{
	width: 2em;
	height: 2em;
	border-radius: 100%;
	background: #fff url("./img/icon_play.svg") no-repeat center /40%;
}
.c-splide__toggle.is-active{
	background: #fff url("./img/icon_pause.svg") no-repeat center /40%;
}
.c-splide__progress{
	margin-top: 1vh;
	width: 100%;
	height: 2px;
}
.c-splide__progress__bar{
	height: 100%;
	background: #FFF068;
}
/*----------------------------*/
/*私たちの強み
/*----------------------------*/
.c-business__ourValue{
	display: grid;
	gap: 1.5em;
	width: 100%;
}
@media (max-width:812px){
	.c-business__ourValue{
		gap: 1em;
	}
}
@media (max-width:600px){
	.c-business__ourValue{
		gap: 0.5em;
	}
}
.c-business__ourValue__item{
	display: flex;
	align-items: center;
	gap: 1.5em;
	background: rgba(0, 0, 0, 0.2);
	padding: 2em;
}
@media (max-width:812px){
	.c-business__ourValue__item{
		padding: 1.5em 2em;
		gap: 1em;
	}
}
@media (max-width:430px){
	.c-business__ourValue__item{
		padding: 1em;
	}	
}
.c-ourValue__iconWrap{
	width: 100%;
	max-width: 10%;
}
.c-ourValue__itemTitle{
	position: relative;
	font-size: clamp(1.0625rem, 0.375rem + 1.75vw, 1.75rem);
	font-weight: bold;
	margin: 0;
}
.c-ourValue__itemText{
	font-size: clamp(0.8125rem, 0.225rem + 1vw, 1rem);
	margin-top: 0.5em;
}
/*----------------------------*/
/*ページャー
/*----------------------------*/
.c-pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	margin-top: 40px;
}
.c-pager__list {
	display: inline-block;
	width: fit-content;
	min-width: 2.2em;
	height: 2.2em;
	margin-left: 0;
}
.c-pager__list__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 0 0.5em;
	text-decoration: none;
	border-radius: 100px;
	background: #fff;
	color: var(--color-blue);
	transition: color 0.2s, filter 0.2s;
}
.c-pager__arrow{
	position: relative;
	background: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: auto;
	transition: opacity 0.2s;
}
.c-pager__arrow::before{
	content: "";
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 50%;
	width: 0.5em;
	height: 0.5em;
	border-bottom: 2px solid var(--color-blue);
	border-right: 2px solid var(--color-blue);
	transform: translate(-70%,-50%) rotate(-45deg);
}
.c-pager__arrow--prev{
	transform: scale(-1);
}
.c-pager__link--current {
	color: #fff;
	background-color: var(--color-blue);
	cursor: pointer
}
@media (any-hover: hover){
	.c-pager__list__link:hover{
		filter: brightness(0.95);
	}
	.c-pager__arrow:hover{
		opacity: 0.5;
	}
}
/*----------------------------*/
/*レスポンシブ
/*----------------------------*/
@media (max-width: 812px){
	/*スマホでは非表示*/
	.u-hidden-sp{
		display: none;
	}
}
@media (min-width: 813px){
	/*PCでは非表示*/
	.u-hidden-pc{
		display: none;
	}
}
@media (min-width: 481px){
	/*小さいスマホのみ表示*/
	.u-visible-mini{
		display: none;
	}
}
@media (max-width: 480px){
	/*小さいスマホのみ表示*/
	.u-visible-mini{
		display: inherit;
	}
}
/*----------------------------*/
/*js用
/*----------------------------*/
/*ふわっと表示*/
.js-fade{
	opacity: 0;
	visibility: hidden;
	transform: translateY(100px);
	transition: opacity 1s, visibility 1s, transform 1s;
}
.js-fade.is-show{
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
@media (max-width: 812px){
	.js-fade--10{
		opacity: 0;
		visibility: hidden;
		transform: translateY(100px);
		transition: opacity 1s, visibility 1s, transform 1s;
	}
	.js-fade--10.is-show{
		opacity: 1;
		visibility: visible;
		transform: translateY(10%);
	}
}
/*ヘッダー分ずらす*/
.js-anchorFlag{
	margin-top: -96px;
	padding-top: 96px;
}
.js-anchorFlag--hiddeen{
	display: inline-block;
	position: absolute;
	top: -96px;
	left: 0;
}
@media (max-width: 812px){
	.js-anchorFlag{
		margin-top: -64px;
		padding-top: 64px;
	}
	.js-anchorFlag--hiddeen{
		top: -64px;
	}
}
/* ------------------------------------------------------------------------- */
/* l-header
/* ------------------------------------------------------------------------- */
.l-header{
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1920px;
	margin: 0;
	background: #fff;
	z-index: 1000;
}
.l-header__all{
	display: flex;
	width: 100%;
}
.l-header__inner{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1600px;
	height: 96px;
	margin: 0 auto;
	padding: 24px min(24px, 3vw);
}
@media (max-width: 812px){
	.l-header__inner{
		height: 64px
	}
}
.l-header__logo__link{
	display: inline-block;
	transition: opacity 0.3s;
}
.l-header__logo__link:hover{
	opacity: 0.5;
}
.l-header__logo__img{
	max-width: min(380px, 34vw);
	height: auto;
}
@media (max-width: 812px){
	.l-header__logo__img{
		max-width: inherit;
		width: 300px;
	}
}
/*----------------------------------------
/* メニュー（PC・SP共通）
----------------------------------------*/
.l-header__gmenu__item{
	margin: 0;
	list-style: none;
}
.l-header__gmenu__link{
	text-decoration: none;
}
/* ------- オーバーレイ -------*/
.l-header__backdrop{
	visibility: hidden;
	opacity: 0;
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 997;
	transition: visibility .3s, opacity .3s;
}
/*----------------------------------------
/* PCメニュー
----------------------------------------*/
@media (min-width: 813px){
	.l-header__gmenu__items{
		display: flex;
		align-items: center;
		gap: min(40px, 4vw);
	}
	.l-header__gmenu__link{
		position: relative;
		color: #333;
		transition: opacity 0.3s;
	}
	.l-header__gmenu__link:hover{
		opacity: 0.5;
	}
	.l-header__gmenu__link--contact{
		display: block;
		color: #fff;
		padding: 8px 16px;
		text-decoration: none;
		border-radius: 100px;
		background: linear-gradient(60deg, rgba(48, 177, 33, 1) 0%, rgba(0, 168, 180, 1)25%, rgba(0, 113, 189, 1) 49%, rgba(0, 113, 189, 1) 50%);
		background-position: 100% 50%;
		background-size: 210% auto;
		transition: background-position 0.3s;
	}
	.l-header__gmenu__link--contact:hover,
	.l-header__gmenu__link--contact:focus-visible{
		background-position: 0% 49%;
	}
	.p-business .l-header__gmenu__link[data-layer="business"]:before,
	.p-company .l-header__gmenu__link[data-layer*="company"]:before,
	.p-news .l-header__gmenu__link[data-layer="news"]:before,
	.p-recruit .l-header__gmenu__link[data-layer="recruit"]:before{
		position: absolute;
		content: "";
		top: 1em;
		display: block;
		width: 100%;
		height: 8px;
		background: var(--color-blue);
		opacity: 0.15;
	}
}
/*----------------------------------------
/* SPメニュー
----------------------------------------*/
@media (max-width: 812px){
	.l-header__gmenu{
		position: fixed;
		width: 300px;
		height: 100vh;
		top: 64px;
		right: -300px;
		background: var(--gradation-ltBlue);
		z-index: 998;
		overflow-y: auto;
		transition: right 0.5s;
	}
	/* オープン時のメニュー */
	[data-drawer-open="true"] .l-header__gmenu{
		right: 0;
	}
	/* オープン時のbody */
	[data-drawer-open="true"] body{
		overflow: clip;
	}
	.l-header__gmenu__item:not(:last-of-type){
		border-bottom: solid 1px #AACDE5;
	}
	.l-header__gmenu__item>a{
		position: relative;
		display: inline-block;
		width: 100%;
		height: 100%;
		padding: 1.3em;
		font-size: var(--fs-2);
		opacity: 1;
	}
	.l-header__gmenu__item>a::after{
		content: "";
		position: absolute;
		display: inline-block;
		top: 50%;
		right: 36px;
		width: 10px;
		height: 10px;
		border-bottom: 2px solid #AACDE5;
		border-right: 2px solid #AACDE5;
		transform: translateY(-50%) rotate(-45deg);
	}
	.l-header__gmenu__link{
		color: var(--color-navy);
		transition: background 0.3s;
	}
	.l-header__gmenu__link:hover,
	.l-header__gmenu__link:focus-visible{
		background: #EFF8FE;
	}
	.l-header__gmenu__item:has(.l-header__gmenu__link--contact){
		background: linear-gradient(60deg, rgba(48, 177, 33, 1) 0%, rgba(0, 168, 180, 1) 25%, rgba(0, 113, 189, 1) 49%, rgba(0, 113, 189, 1) 50%);
		background-position: 100% 50%;
		background-size: 210% auto;
		transition: background-position 0.3s;
	}
	.l-header__gmenu__item:has(.l-header__gmenu__link--contact:hover, .l-header__gmenu__link--contact:focus-visible){
		background-position: 0% 49%;
	}
	.l-header__gmenu__link--contact{
		display: block;
		color: #fff;
		padding: 8px 16px;
		text-decoration: none;
		background-position: 100% 50%;
		background-size: 210% auto;
		transition: background-position 0.3s;
	}
	/* -- ボタン --*/
	.l-header__spBtn{
		position: fixed;
		top: 12px;
		right: 12px;
		padding: 0;
		z-index: 1000;
	}
	.l-header__spBtn__line,
	.l-header__spBtn__line::before,
	.l-header__spBtn__line::after{
		display: block;
		width: 34px;
		height: 2px;
		transition: transform 0.3s;
		transform-origin: top;
		background: var(--color-blue);
	}
	.l-header__spBtn__line{
		margin: 12px auto;
	}
	.l-header__spBtn__line::before,
	.l-header__spBtn__line::after{
		content: "";
		margin: 0 auto;
	}
	.l-header__spBtn__line::before{
		transform: translateY(-8px);
	}
	.l-header__spBtn__line::after{
		transform: translateY(6px);
	}
	/* オープン時のライン */
	[data-drawer-open="true"] .l-header__spBtn__line{
		background-color: transparent;
	}
	[data-drawer-open="true"] .l-header__spBtn__line::before{
		transform: rotate(45deg);
	}
	[data-drawer-open="true"] .l-header__spBtn__line::after{
		transform: rotate(-45deg) translateY(-2px);
	}
	/* ボタンのラベル */
	.l-header__spBtn__label{
		font-size: var(--fs-mini);
		color: var(--color-blue);
	}
	/* オープン時のオーバーレイ */
	[data-drawer-open="true"] .l-header__backdrop{
		visibility: visible;
		opacity: 1;
	}
}
/* ------------------------------------------------------------------------- */
/* メインビジュアル
/* ------------------------------------------------------------------------- */
.l-mainVisual{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
.l-mainVisual__inner{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	max-width: 1920px;
	height: calc(100vh - 96px);
	margin: 96px 0 auto;
	background: #fff;
}
@media (max-width: 812px){
	.l-mainVisual__inner{
		align-items: flex-start;
		height: auto;
		padding: 3vh 0;
		margin: 64px 0 auto;
	}
}
/* --------------------- スライドショー ---------------------*/
.l-mainVisual__splide{
	position: relative;
}
.l-mainVisual__splide__list{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	background: #fff;
}
.l-mainVisual__splide__list>.splide__slide.l-mainVisual__splide__img01,
.l-mainVisual__splide__list>.splide__slide.l-mainVisual__splide__img02,
.l-mainVisual__splide__list>.splide__slide.l-mainVisual__splide__img03{
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	height: 100vh;
	background-repeat: no-repeat;
	background-position: 10%;
	background-size: cover;
}
.l-mainVisual__splide__list>.splide__slide.l-mainVisual__splide__img01{
	background-image: url("./img/img_mainVisual01.jpg");
}
.l-mainVisual__splide__list>.splide__slide.l-mainVisual__splide__img02{
	background-image: url("./img/img_mainVisual02.jpg");
}
.l-mainVisual__splide__list>.splide__slide.l-mainVisual__splide__img03{
	background-image: url("./img/img_mainVisual03.jpg");
}
.l-mainVisual__splide__img01::before,
.l-mainVisual__splide__img02::before,
.l-mainVisual__splide__img03::before{
	content: "";
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: var(--gradation-red);
}
/* ------------ スライドショーが表示されない時 -----------*/
.l-mainVisual__fallBack{
	position: relative;
}
.l-mainVisual__fallBack__inner{
	position: fixed;
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	height: 100vh;
	top: 0;
	background: var(--gradation-red);
	background-image: url("./img/img_mainVisual01.jpg");
	background-repeat: no-repeat;
	background-position: 10%;
	background-size: cover;
}
.l-mainVisual__fallBack__inner::after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: var(--gradation-red);
}
/* --------------------- 文字 ---------------------*/
.l-mainVisual__text{
	position: relative;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 24px min(24px, 3vw);
}
.l-mainVisual__text__inner{
	position: relative;
}
.l-mainVisual__WeChallenge{
	mix-blend-mode: color-burn;
	isolation: isolate;
	will-change: opacity;
}
.l-mainVisual__catchCopy{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.l-mainVisual__catchCopy__sub{
	width: fit-content;
	color: #fff;
	font-size: clamp(1.5rem, 1rem + 3vw, 3.5rem);
	line-height: 1;
}
	
.l-mainVisual__catchCopy__main__wrap{
	display: flex;
	width: 80%;
	min-width: 0;
	height: auto;
	aspect-ratio: 1500 / 434;
}
@media (max-width: 812px){
	.l-mainVisual__catchCopy__main__wrap{
		width: 100%;
	}
}
.l-mainVisual__catchCopy__img{
	width: 100%;
	height: auto;
	display: block;
}
.l-mainVisual__catchCopy__main__wrap>.l-mainVisual__catchCopy__main:nth-of-type(1)>.l-mainVisual__catchCopy__img{
	animation-delay: 1s;
	transition-delay: 1s;
}
.l-mainVisual__catchCopy__main__wrap>.l-mainVisual__catchCopy__main:nth-of-type(2)>.l-mainVisual__catchCopy__img{
	animation-delay: 1.4s;
	transition-delay: 1.4s;
}
/*拡大して表示*/
.animation--appear{
	animation: appear 0.4s forwards ease-out;
	transform: scale(0);
	transform-origin: center;
}
@keyframes appear{
	0%{
		transform: scale(0);
	}
	40%{
		transform: scale(1.1);
	}
	100%{
		transform: scale(1);
	}
}
/*フェードアップ*/
.animation--fadeUp{
	opacity: 0;
	transform: translateY(60px);
	animation: fadeUp 0.8s ease-out forwards;
}
@keyframes fadeUp{
	to{
		opacity: 1;
		transform: translateY(0);
	}
}

/* --------------------- キャラクター ---------------------*/
.l-mainVisual__character{
	position: absolute;
	bottom: clamp(-90px, -7.2vw, -50px);
	right: min(24px, 3vw);
	width: clamp(200px, 18vw, 340px);
	z-index: 2;
}
@media (max-width: 812px){
	.l-mainVisual__character{
		width: min(180px, 30vw);
		bottom: inherit;
		top: 85%;
	}
}
/* ------------------------------------------------------------------------- */
/* main
/* ------------------------------------------------------------------------- */
.l-main{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	z-index: 1;
}
.l-main__bg--wh{
	background: #fff;
}
.l-section__inner{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: min(90px, 9vw) min(24px, 3vw);
}
.l-section__2col{
	display: flex;
	gap: min(100px, 6vw);
}

@media (max-width: 812px){
	.l-section__2col{
		flex-direction: column;
	}
}
/*----------------------------------------
/* 色別のスタイル
----------------------------------------*/
/* ------- 青背景 -------*/
.l-section--blue{
	color: #fff;
	background: var(--gradation-blue);
}
.l-section--blue .c-heading__sub::before{
	background-image: url("./img/deco_circle02.svg");
}
.l-section--blue .c-heading--lv2::after{
	color: #333;
}
.l-section--blue a:not([class]){
	color: #FFF068;
}
.l-section--blue table a:not([class]){
	color: var(--color-blue);
}
.l-section--blue .c-btn--back{
	color: #fff;
	background: rgba(0, 0, 0, 0.2);
}
.l-section--blue .c-btn--back:hover{
	background: rgba(0, 0, 0, 0.3);
}
.l-section--blue .c-btn--back::before{
	background: url("./img/arrow_wh.svg") no-repeat center/contain;
}
/* ------- 水色背景 -------*/
.l-section--ltBlue{
	color: var(--color-navy);
	background: var(--gradation-ltBlue);
}
.l-section--ltBlue .c-heading__sub::before{
	background-image: url("./img/deco_circle03.svg");
}
.l-section--ltBlue .c-btn--back{
	background: rgba(0, 113, 189, 0.2);
}
.l-section--ltBlue .c-btn--back:hover{
	background: rgba(0, 113, 189, 0.3);
}
/* ------- 赤背景 -------*/
.l-section--red{
	color: #fff;
}
.l-section--red .c-heading__sub::before{
	background-image: url("./img/deco_circle02.svg");
}
.l-section--red .c-heading--lv2::after{
	color: #333;
}
/*----------------------------------------
/* パンくず
----------------------------------------*/
.c-breadline{
	font-size: var(--fs-mini);
}
.c-breadline__inner{
	display: flex;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 min(24px, 3vw) 1.5em;
	flex-wrap: wrap;
}
@media (max-width: 812px){
	.c-breadline__inner{
		padding: 0 min(24px, 3vw) 1em;
	}
}
.c-breadline__item{
	margin-right: 1rem;
}
.c-breadline__item span{
	display: inline-block;
	max-width: 45vw;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: bottom;
}
.c-breadline__item a{
	opacity: 1;
	color: #fff;
}
.c-breadline__item:not(:last-child)::after{
	content: "-";
	margin-left: 1rem;
}
/*----------------------------------------
/* キャッチコピー
----------------------------------------*/
.c-chactCopy{
	display: inline;
	color: #fff;
	font-size: var(--fs-4);
	padding: 0.1em 0.5em;
	font-weight: bold;
	background: var(--gradation-green);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% 100%;
}
.c-chactCopy--white{
	color: #333;
	background: #fff;
}
/* ------------------------------------------------------------------------- */
/* footer
/* ------------------------------------------------------------------------- */
/* contact
----------------------------------------*/
.l-contact{
	position: relative;
	width: 100%;
	max-width: 1920px;
	background: #f5f5f5;
	margin: 0 auto;
	line-height: 1.5;
	z-index: 1;
}
.l-contact__inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: min(64px, 6vw) min(24px, 3vw);
	gap: 1em;
}
@media (max-width: 812px){
	.l-contact__inner{
		flex-direction: column;
	}
}
.c-heading--contact{
	margin-bottom: 1em;
}
.c-heading__title--contact{
	font-size: clamp(1.5rem, 1rem + 3vw, 3.5rem);
} 
.l-contact__text{
	font-size: var(--fs-1);
}
@media (max-width: 430px){
	.l-contact__text{
		font-size: var(--fs-mini);
	}
}
.l-contact__btn__wrap{
	min-width: fit-content;
	display: flex;
	gap: 1em;
}
@media (max-width: 1200px){
	.l-contact__btn__wrap{
		flex-direction: column;
	}
}
@media (max-width: 812px){
	.l-contact__btn__wrap{
		flex-direction: row;
	}
}
@media (max-width: 600px){
	.l-contact__btn__wrap{
		flex-direction: column;
	}
}
.l-contact__btn--form,
.l-contact__btn--tel{
	position: relative;
	display: inline-block;
	border-radius: 100px;
	text-decoration: none;
	opacity: 1;
	font-size: var(--fs-2);
}
.l-contact__btn--form{
	display: flex;
	align-items: center;
	height: 100%;
	padding: 1em 3.5em 1em 2em;
	background: linear-gradient(60deg, rgba(48, 177, 33, 1) 0%, rgba(0, 168, 180, 1)25%, rgba(0, 113, 189, 1) 49%, rgba(0, 113, 189, 1) 50%);
	background-position: 100% 50%;
	background-size: 210% auto;
	transition: background-position 0.3s;
	color: #fff;
}
.l-contact__btn--form:hover,
.l-contact__btn--form:focus-visible{
	background-position: 0% 49%;
}
@media (max-width: 1200px){
	.l-contact__btn--form{
		width: 100%;
	}
}
.l-contact__btn--tel{
	padding: 0.55em 3.5em 0.55em 2em;
	background: #fff;
	color: #333;
	border: 2px solid var(--color-green);
	line-height: 1;
	text-align: center;
	transition: background 0.3s;
}
.l-contact__btn--tel[href="javascript:void(0);"]{
	padding-right: 2em;
}
.l-contact__btn--tel:hover,
.l-contact__btn--tel:focus-visible{
	background: #E5FBDB;
}
.l-contact__btn--form::before,
.l-contact__btn--tel::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 1.75em;
	transform: translateY(-50%);
	width: 0.8em;
	height: 0.8em;
	transition: right 0.3s;
}
.l-contact__btn--form:hover::before,
.l-contact__btn--form:focus-visible::before,
.l-contact__btn--tel:hover::before,
.l-contact__btn--tel:focus-visible::before{
	right: 1.2em;
}
.l-contact__btn--form::before{
	background: url("./img/arrow_wh.svg") no-repeat center/contain;
}
.l-contact__btn--tel::before{
	background: url("./img/arrow_bl.svg") no-repeat center/contain;
}
.l-contact__btn--tel[href="javascript:void(0);"]::before{
	content: none;
}
.l-contact__btn--tel__number{
	position: relative;
	padding-left: 1.5em;
	font-family: "Poppins", sans-serif;
	font-weight: bold;
	font-size: var(--fs-3);
}
.l-contact__btn--tel__number::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: inline-block;
	width: 1.5em;
	aspect-ratio: 262 / 150;
	background: url(img/freediallogoetc.svg) no-repeat center;
}
.l-contact__btn--tel__sup{
	font-size: var(--fs-mini);
}
/*----------------------------------------
/* footer
----------------------------------------*/
.l-footer{
	position: relative;
	width: 100%;
	max-width: 1920px;
	background: #fff;
	margin: 0 auto;
	font-size: var(--fs-mini);
	line-height: 1.5;
	z-index: 1;
}
@media (max-width: 480px){
	.l-footer{
		width: 100%;
		max-width: 1920px;
		background: #fff;
		margin: 0 auto;
		font-size: var(--fs-mini);
		font-size: 0.6rem;
	}
}
.l-footer__inner{
	position: relative;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: min(64px, 6vw) min(24px, 3vw);
	gap: 1.5rem;
}
.l-footer__inner__logo{
	max-width: 400px;
}
@media (max-width: 812px){
	.l-footer__inner__logo{
		max-width: 300px;
	}
}
@media (max-width: 480px){
	.l-footer__inner__logo{
		max-width: 200px;
	}
}
.l-footer__address{
	display: flex;
	flex-direction: column;
	margin-top: 1em;
	font-style: normal;
}
.l-footer__copyright{
	margin-top: 2em;
	color: #aaa;
}
.l-footer__pagetop{
	position: fixed;
	bottom: min(24px, 3vw);
	right: min(24px, 3vw);
	display: block;
	width: 10vw;
	max-width: 60px;
	aspect-ratio: 1/1;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.1);
	z-index: 1000;
}
.l-footer__pagetop::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(270deg);
	width: 30%;
	height: auto;
	aspect-ratio: 17/7;
	background: url("./img/arrow_wh.svg") no-repeat center /cover;
	transition: top 0.3s;
}
@media (any-hover: hover){
	.l-footer__pagetop:hover::before{
		top: 40%;
	}
}
@media (hover:none){
	.l-footer__pagetop:active::before{
		top: 40%;
	}
}
.l-footer__pagetop:focus-visible::before{
	top: 40%;
}
/* ------------------------------------------------------------------------- */
/* background
/* ------------------------------------------------------------------------- */
.l-backGround{
	position: fixed;
	display: flex;
	width: 100%;
	max-width: 1920px;
	justify-content: center;
	top: 0;
	z-index: -1;
}
.l-backGround__inner{
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	height: 100vh;
	background: url("./img/img_mainVisual01.jpg") no-repeat 10%/cover;
}
/* ------------------------------------------------------------------------- 
/* トップページ
/* ------------------------------------------------------------------------- */
/*---------------メッセージ*---------------*/
.p-top__message__inner{
	width: 100%;
	max-width: 1870px;
	margin: 0;
	padding: 12vh min(24px, 3vw) 12vh 0;
}
.p-top__message__text{
	width: 100%;
	min-width: min(660px, 75vw);
	padding-left: min(24px, 3vw);
}
.p-top__message__img{
	width: calc(100% - min(660px, 75vw) - min(100px, 6vw));
	height: auto;
	background: url("./img/img_top_message.jpg") no-repeat top center / cover;
}
@media(max-width:812px){
	.p-top__message__inner{
		padding: 14vh min(24px, 3vw) 0 0;
	}
	.p-top__message__2col{
		flex-direction: column-reverse;
		align-items: center;
	}
	.p-top__message__text{
		min-width: inherit;
	}
	.p-top__message__img{
		width: 100%;
		height: auto;
		aspect-ratio: 5/2;
		background-position-y: 10%;
	}
}
/**---------------事業内容---------------*/
.p-top__business__inner{
	width: 100%;
	max-width: 1870px;
	margin: 0 0 0 auto;
	padding-bottom: min(90px, 9vw);
}
.p-top__business__overview{
	display: flex;
	gap: min(100px, 6vw);
	max-width: 1760px;
	margin: 0 0 12vh auto;
}
.p-top__business__text{
	width: 100%;
	min-width: min(600px, 60vw);
	margin-top: 12vh;
	padding-left: min(24px, 3vw);
}
.p-top__business__img{
	width: calc(100% - min(600px, 60vw) - min(100px, 6vw));
	height: auto;
	background: url("./img/img_top_business.jpg") no-repeat center / cover;
}
@media(max-width:812px){
	.p-top__business__overview{
		flex-direction: column;
		gap: 6vh;
		align-items: flex-end;
		margin: 0 0 0 auto;
	}
	.p-top__business__text{
		width: 100%;
		min-width: min(600px, 60vw);
		margin-top: 8vh;
		padding-right: min(24px, 3vw);
	}
	.p-top__business__img{
		width: 90%;
		height: auto;
		aspect-ratio: 2/1;
		background-position-y: 60%; 
	}
}
/**----サブコンテンツ----*/
.p-top__business__subTitle{
	position: relative;
	display: inline-block;
	padding-right: 2em;
	margin-bottom: 0.5em;
	color: #fff;
	font-size: var(--fs-4);
	font-weight: bold;
	text-decoration: none;
	transition: color 0.3s;
}
.p-top__business__subTitle::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 50%;
	right: 0;
	transform: translateY(-50%) scale(0);
	width: 1.2em;
	height: 1.2em;
	background: #000;
	border-radius: 100px;
	opacity: 0;
	transition: transform 0.3s, opacity 0.3s;
	z-index: 1;
}
.p-top__business__subTitle::after{
	position: absolute;
	content: "";
	display: inline-block;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1.2em;
	height: 1.2em;
	background: rgba(0, 0, 0, 0.2);
	background-image: url("./img/arrow_wh.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40%;
	border-radius: 100px;
	transition: transform 0.2s;
	z-index: 2;
}
.p-top__business__subTitle:hover{
	color: #FFF6AD;
}
.p-top__business__subTitle:hover::before{
	opacity: 0.15;
	transform: translateY(-50%) scale(1.3);
}
/*私たちの強み*/
.p-top__ourValue__padding{
	background: #1a89b9;
}
.p-top__ourValue__wrap{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: min(90px, 9vw) min(24px, 3vw);
}
.p-top__ourValue{
	grid-template-columns: repeat(4, 1fr);
	gap: 1em;
	margin-top: 1em;
}
.p-top__ourValue__item{
	gap: 1em;
	padding: 1.3em;
}
.p-top__ourValue__iconWrap{
	width: 100%;
	max-width: 13%;
}
.p-top__ourValue__itemTitle{
	font-size: var(--fs-2);
	line-height: 1.4;
}
.p-top__ourValue__itemTitle--mini{
	font-size: var(--fs-1);
}
@media(max-width:1500px){
	.p-top__ourValue{
		grid-template-columns: repeat(3, 1fr);
	}
}
@media(max-width:812px){
	.p-top__ourValue{
		grid-template-columns: repeat(2, 1fr);
	}
}
@media(max-width:600px){
	.p-top__ourValue{
		gap: 0.5em;
	}
	.p-top__ourValue__item {
		flex-direction: column;
		justify-content: center;
		gap: 1em;
		padding: 1em;
	}
	.p-top__ourValue__iconWrap{
		max-width: 30%;
	}
	.p-top__ourValue__itemTitle,
	.p-top__ourValue__itemTitle--mini{
		font-size: var(--fs-mini);
	}
	.p-top__ourValue__itemTitle--center{
		text-align: center;
	}
}
/*事業一覧*/
.p-top__businessList{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: min(90px, 9vw) min(24px, 3vw) 0;
}
/*スライダーの独自スタイル .p-top__businessSplide*/
.p-top__businessSplide{
	display: flex;
	align-items: flex-end;
	gap: 1em;
	width: 100%;
	margin-top: 1em;
	padding-top: 2em;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.p-top__businessSplide__main{
	width: 62%;
}
.p-top__businessSplide__main__list{
	align-items: flex-end;
}
.p-top__businessSplide__mainImg{
	width: 100%;
	max-width: 330px;
	margin-left: 2vw;
	float: right;
}

.p-top__businessSplide__sub{
	width: 38%;
}
.p-top__businessSplide__sub__item{
	height: auto;
	aspect-ratio: 3/4;
}

.p-top__businessSplide__prev,
.p-top__businessSplide__next{
	width: fit-content;
	height: auto;
	padding: 4px;
	aspect-ratio:1/1;
	background: rgba(255,255,255,0.7);
	opacity: 1;
	transition: opacity 0.3s;
}
.p-top__businessSplide__prev{
	left: inherit;
	right: 2em;
}
.p-top__businessSplide__next{
	right: inherit;
	left: 1em;
}
.p-top__businessSplide__prev svg,
.p-top__businessSplide__next svg{
	fill: var(--color-blue);
}
.p-top__businessSplide__prev svg{
	transform: scale(1);
}
.p-top__businessSplide__next svg{
	transform: scale(-1);
}

@media(max-width:1000px){
	.p-top__businessList{
		max-width: 800px;
		margin: 0 auto;
	}
	.p-top__businessSplide{
		flex-direction: column;
		align-items: center;
		gap: 2em;
	}
	.p-top__businessSplide__main{
		width: calc(100% - 1em);
		margin-right: 1em;
	}
	.p-top__businessSplide__mainImg{
		width: 100%;
		max-width: 250px;
	}
	.p-top__businessSplide__sub{
		width: 100%;
	}	
	.p-top__businessSplide__sub__item{
		aspect-ratio: 4/3;
		background-position: top center !important;
	}
}
@media(max-width:812px){
	.p-top__businessSplide__mainImg{
		max-width: 200px;
	}
	.p-top__businessSplide__main__list {
		align-items: flex-start;
	}
}
@media(max-width:430px){
	.p-top__businessSplide__mainImg{
		max-width: 130px;
	}
}
/*---------------企業情報*---------------*/
.p-top__company__inner{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 12vh min(24px, 3vw);
}
.p-top__company__text{
	width: 100%;
	min-width: min(900px, 60vw);
}
.p-top__company__img{
	width: 100%;
	max-width: 400px;
	height: auto;
	background: url("./img/img_top_company.jpg") no-repeat center / cover;
}
.p-top__company__link{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1em;
	max-width: 700px;
	margin-top: 1em;
}
.p-top__company__link__item{
	position: relative;
	display: inline-block;
	color: #333;
	text-decoration: none;
	padding: 1em 0;
	border-bottom: 1px solid #333;
}
.p-top__company__link__item::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 1.75em;
	transform: translateY(-50%);
	width: 0.8em;
	height: 0.8em;
	background: url(./img/arrow_bl.svg) no-repeat center / contain;
	transition: right 0.3s;
}
.p-top__company__link__item:hover::before{
	right: 1.2em;
}
.p-top__company__link__item::after{
	content: "";
	position: absolute;
	bottom: -0.2em;
	right: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 0.2em;
	background: linear-gradient(60deg, rgba(201, 254, 167, 1) 0%, rgba(255, 246, 173, 1) 25%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 50%);
	background-position: 100% 49%;
	background-size: 210% auto;
	transition: background-position 0.3s, opacity 0.3s;
	opacity: 0;
}
.p-top__company__link__item:hover::after{
	background-position: 0% 50%;
	opacity: 1;
}
@media(max-width:812px){
	.p-top__company__inner{
		padding: 8vh min(24px, 3vw) 0 0;
	}
	.p-top__company__2col{
		flex-direction: column-reverse;
	}
	.p-top__company__text{
		padding-left: min(24px, 3vw);
	}
	.p-top__company__img{
		width: 100%;
		max-width: inherit;
		height: auto;
		margin-top: 2em;
		aspect-ratio: 5/2;
		background-position-y: top;
	}
}
/**---------------新着情報*---------------*/
.p-top__news__inner{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: min(90px, 9vw) min(24px, 3vw);
}
.p-top__news__2col{
	align-items: center;
}

.p-top__news__text{
	width: 100%;
	max-width: 35%;
}
@media (max-width: 812px){
	.p-top__news__inner{
		padding-top: 17vw;
	}
	.p-top__news__text{
		max-width: inherit;
	}
}
/*ニュースのリスト*/
.c-newsList{
	width: 100%;
}
.c-newsList__item{
	position: relative;
	margin: 0;
	list-style-type: none;
	width: 100%;
}
.c-newsList__item.new .c-newsList__title::after{
	content: "NEW";
	display: inline-block;
	padding: 4px;
	margin-left: 8px;
	background: var(--color-red);
	color: #fff;
	line-height: 1;
	font-size: 0.75em;
}
.c-newsList__item:not(:first-of-type){
	border-top: solid 1px #AACDE5;
}
.c-newsList__item:last-of-type{
	border-bottom: solid 1px #AACDE5;
}
.c-newsList__link{
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0.5em 1em;
	padding: 1.3em 2.5em 1.3em 1.3em;
	text-decoration: none;
	color: var(--color-navy);
	transition: background 0.3s;
}
@media (max-width: 812px){
	.c-newsList__link{
		flex-direction: column;
	}
}
.c-newsList__link:hover,
.c-newsList__link:focus-visible{
	background: #EFF8FE;
}
.c-newsList__link::after{
	content: "";
	position: absolute;
	display: inline-block;
	top: 50%;
	right: 24px;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #AACDE5;
	border-right: 2px solid #AACDE5;
	transform: translateY(-50%) rotate(-45deg);
}
.c-newsList__meta{
	display: flex;
	align-items: center;
	gap: 1em;
}
.c-newsList__date{
	white-space: nowrap;
	flex-shrink: 0
}
.c-newsList__tag{
	display: inline-block;
	height: fit-content;
	padding: 2px 16px;
	background: #fff;
	border: 1px solid;
	border-radius: 100px;
	font-size: var(--fs-mini);
}
.c-newsList__tag[data-tag="物件情報"]{
	color: var(--color-green);
	border-color: var(--color-green);
}
.c-newsList__tag[data-tag="お知らせ"]{
	color: var(--color-blue);
	border-color: var(--color-blue);
}
.c-newsList__title{
	flex: 1;
	word-wrap: break-word;
}
/**---------------採用情報*---------------*/
.p-top__recruit{
	position: relative;
}
.p-top__recruit__inner{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 12vh min(24px, 3vw);
	position: relative;
}
.p-top__recruit__text{
	width: 100%;
	min-width: min(813px, 53vw);
}
.p-top__recruit__img{
	width: 300px;
	height: auto;
}
@media(max-width:812px){
	.p-top__recruit__inner{
		padding: 8vh min(24px, 3vw);
	}
	.p-top__recruit__img{
		height: auto;
		aspect-ratio: 3/2;
	}
}
/* ------------------------------------------------------------------------- */
/* 2階層目共通
/* ------------------------------------------------------------------------- */
.l-2ndHead{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 96px auto 0;
	background: var(--gradation-red);
}
.c-heading--2ndHead{
	margin-bottom: 0;
}
.l-2ndHead .c-heading__title--lv2{
	margin-bottom: 0;
}
@media (max-width:812px){
	.l-2ndHead{
		margin: 64px auto 0;
	}
}
.l-2ndHead__inner{
	max-width: 1600px;
	margin: 0 auto;
	padding: 3em min(24px, 3vw);
}
@media (max-width: 812px){
	.l-2ndHead__inner{
		max-width: 1600px;
		margin: 0 auto;
		padding: 32px min(24px, 3vw);
	}
}
/* ------------------------------------------------------------------------- */
/* 事業内容
/* ------------------------------------------------------------------------- */
/**---------------事業*---------------*/
/*jsが適用されないCMSの編集画面のスタイル*/
.p-business__splide{
	visibility: visible;
}
.p-business__splide:not([class*="is-initialized"]) .c-splide__track{
	overflow: visible;
}
.p-business__splide:not([class*="is-initialized"]) .c-splide__slide{
    width: calc(100% + 0px);
}
.p-business__splide:not([class*="is-initialized"]) .c-splide__list{
    flex-direction: column;
	gap: 24px;
}

@media (max-width: 812px){
	.p-business__splide .c-splide__pagination{
		width: 100%;
	}
}
.p-business__splide .splide__pagination__page{
	width: fit-content;
	height: fit-content;
	padding: 0.6em 1em;
	color: #333;
	font-size: var(--fs-mini);
	font-weight: 500;
	line-height: 1.8;
	opacity: 1;
	transition: width 0.3s, opacity 0.3s;
}
.p-business__splide__pagination .splide__pagination__page.is-active{
	color: #fff;
	background: var(--color-blue);
}
@media (max-width: 480px){
	.p-business__splide__pagination .splide__pagination__page{
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
	}
	.p-business__splide__pagination li:nth-of-type(1) .splide__pagination__page{
		width: 62px;
	}
	.p-business__splide__pagination li:nth-of-type(1) .splide__pagination__page.is-active{
		width: 130px;
	}
	.p-business__splide__pagination li:nth-of-type(2) .splide__pagination__page{
		width: 62px;
	}
	.p-business__splide__pagination li:nth-of-type(2) .splide__pagination__page.is-active{
		width: 80px;
	}
	.p-business__splide__pagination li:nth-of-type(3) .splide__pagination__page{
		width: 62px;
	}
	.p-business__splide__pagination li:nth-of-type(3) .splide__pagination__page.is-active{
		width: 110px;
	}
	.p-business__splide__pagination li:nth-of-type(4) .splide__pagination__page{
		width: 62px;
	}
	.p-business__splide__pagination li:nth-of-type(4) .splide__pagination__page.is-active{
		width: 80px;
	}
}
.p-business__splide .c-splide__slide__inner{
	height: 636px;
}
@media (max-width:812px){
	.p-business__splide .c-splide__slide__inner{
		height: 70vh;
		padding: 1.5em 7vw;
	}
	.p-business__splide .splide__arrow--prev{
		left: 2vw;
	}
	.p-business__splide .splide__arrow--next{
		right: 2vw;
	}
}
/*スライドコンテンツの中身*/
.p-business__splide__imgWrap{
	display: flex;
	gap: 1em;
}
.p-business__splide__imgWrap>div{
		width: calc(50% - 1em);
}
@media (min-width:813px){
	.p-business__splide__imgWrap--steam{
		width: 70%;
	}
}
@media (max-width:812px){
	.p-business__splide__imgWrap{
		flex-wrap: wrap;
	}
}
.p-business__splide__service__group{
	margin-top: 0.5em;
}
.p-business__splide__service__group + .p-business__splide__service__group{
	margin-top: 2em;
}
.p-business__splide__service__groupTitle{
	color: var(--color-blue);
	font-weight: bold;
	font-size: var(--fs-2);
}
.p-business__splide__service{
	margin-top: 0.5em;
}
.p-business__splide__service__item{
	margin: 0;
	padding: 0.8em 0;
	list-style: none;
	border-bottom: 2px solid #ccc;
}
.p-business__splide__service__item:first-child{
	padding-top: 0;
}
.p-business__splide__service__sub{
	font-size: clamp(0.8125rem, 0.225rem + 1vw, 1rem);
}
/**---------------メッセージ---------------*/
.p-business__message__2col{
	align-items: center;
}
.p-business__message__text{
	width: 142em;
}
.p-business__message__text--main{
	font-size: clamp(1.75rem, 0.5rem + 2.5vw, 2.5rem);
	font-weight: bold;
}
.p-business__message__img{
	width: 100%;
	max-width: 400px;
	height: auto;
	aspect-ratio:4/5;
}
@media (max-width:812px){
	.p-business__message__text{
		width: 100%;
	}
	.p-business__message__img{
		max-width: 250px;
		margin: 0 auto;
	}
}
/*私たちの強み*/
.p-business__ourValue{
	grid-template-columns: repeat(2, 1fr);
	margin-top: 4em;
}
@media (max-width:812px){
	.p-business__ourValue{
		grid-template-columns: repeat(1, 1fr);
		margin-top: 2em;
	}
}
/* ------------------------------------------------------------------------- */
/* 企業情報
/* ------------------------------------------------------------------------- */
.p-company__table{
	width: 100%;
}
.p-company__table th{
	min-width: 160px;
}
@media (max-width:812px){
	.p-company__table th{
		min-width: 130px;
	}
}
.p-company__map{
	width: 100%;
	max-width: 600px;
	height: auto;
	aspect-ratio: 5/3;
}
/* ------------------------------------------------------------------------- */
/* 新着情報
/* ------------------------------------------------------------------------- */
/*詳細ページ*/
.p-news__article__meta{
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding-left: 1.2em;
	margin-bottom: 0.6em;
}
.p-news__article__meta::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 51%;
	left: 0;
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	background: url(img/deco_circle03.svg) no-repeat 0 center / cover;
}
.p-news__article__text{
	padding: 1.3em 0;
	border-top: 2px solid #AACDE5;
}
/* ------------------------------------------------------------------------- */
/* 採用情報
/* ------------------------------------------------------------------------- */
.p-recruit__message__text--main{
	font-size: clamp(1.75rem, 0.5rem + 2.5vw, 2.5rem);
	font-weight: bold;
}
.p-recruit__message__img{
	max-width: 400px;
}
@media(max-width:812px){
	.p-recruit__message__img{
		max-width: inherit;
		display: flex;
		justify-content: center;
	}
}
/*当社の魅力*/
.p-recruit__ourStrengths__items{
	display: flex;
	justify-content: space-between;
	gap: 1em;
	width: 100%;
	text-align: center;
	color: #333;
}
@media(max-width:600px){
	.p-recruit__ourStrengths__items{
		flex-direction: column;
	}
}
.p-recruit__ourStrengths__item{
	width: 100%;
	padding: 1em;
	background: #fff;
}
/* スタッフの一日 */
.p-recruit__scheduleWrap{
	border-top: 1px solid #ccc;
	padding: 2em 1em;
	margin-bottom: 2em;
}
.p-recruit__schedule {
	position: relative;
}
.p-recruit__schedule::before {
	position: absolute;
	background: #DBEDF9;
	content: "";
}
.p-recruit__schedule__title{
	position: relative;
	font-size: clamp(1.0625rem, 0.375rem + 1.75vw, 1.75rem);
	font-weight: bold;
	margin-bottom: 1em;
	padding-left: 1em;
}
.p-recruit__schedule__title::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 0.4em;
	height: 1em;
	background: var(--color-blue);
}
.p-recruit__schedule__item {
	position: relative;
	list-style: none;
	margin: 0;
}

.p-recruit__schedule__time {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 5em;
	background: var(--color-blue);
	color: #fff;
	text-align: center;
}

.p-recruit__schedule__time::before {
	position: absolute;
	width: 0.5em;
	height: 0.5em;
	background: var(--color-blue);
	content: "";
}

.p-recruit__schedule__time::after {
	position: absolute;
	width: 0.75em;
	height: 0.75em;
	border: 2px solid #fff;
	border-radius: 50%;
	background-color: var(--color-blue);
	content: "";
}

.p-recruit__schedule__content-title {
	font-weight: bold;
	font-size: var(--fs-2);
}

.p-recruit__scheduleWrap--fulltime .p-recruit__schedule::before{
	background: #DDF3E5;
}
.p-recruit__scheduleWrap--fulltime .p-recruit__schedule__time,
.p-recruit__scheduleWrap--fulltime .p-recruit__schedule__title::before,
.p-recruit__scheduleWrap--fulltime .p-recruit__schedule__time::before,
.p-recruit__scheduleWrap--fulltime .p-recruit__schedule__time:after{
	background: var(--color-green);
}
@media screen and (max-width: 812px) {
	.p-recruit__schedule::before {
		top: 0;
		left: 6.5em;
		width: 6px;
		height: 100%;
	}

	.p-recruit__schedule__item {
		display: flex;
		align-items: center;
		gap: 3em;
		width: 100%;
	}

	.p-recruit__schedule__item + .p-recruit__schedule__item {
		margin-top: 2em;
	}

	.p-recruit__schedule__time::before {
		top: 50%;
		right: 0;
		transform: translateX(50%) translateY(-50%) rotate(45deg);
	}

	.p-recruit__schedule__time::after {
		top: 50%;
		left: 6.2em;
		transform: translateY(-50%);
	}

	.p-recruit__schedule__content {
		margin: 0 0 0 3em;
		width: calc(100% - 10em);
	}
}

@media screen and (min-width: 813px) {
	.p-recruit__schedule::before {
		top: 3.5em;
		left: 0;
		transform: translateY(-50%);
		width: 100%;
		height: 5px;
	}

	.p-recruit__schedule__list {
		display: flex;
		gap: 0.5em;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.p-recruit__schedule__item {
		margin: 0;
		width: calc((100% / 6) - 0.5em);
	}

	.p-recruit__schedule__time {
		margin: 0 auto;
	}

	.p-recruit__schedule__time::before {
		left: 50%;
		bottom: 0;
		transform: translateX(-50%) translateY(50%) rotate(45deg);
	}

	.p-recruit__schedule__time::after {
		top: 3.5em;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
	}

	.p-recruit__schedule__detail {
		margin-top: 3em;
		text-align: center;
	}
}
.p-recruit__schedule__recommend{
	display: flex;
	margin-top: 3em;
	padding: 1em 2em;
	background: var(--color-ltBlue);
}
.p-recruit__schedule__recommendItems{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
}
.p-recruit__schedule__recommendItem{
	display: inline-block;
	margin: 0;
	padding: 0.25em 1em;
	border-radius: 100px;
}

/*よくある質問*/
.p-recruit__question-item {
	margin-bottom: 1em;
}

.p-recruit__question-text{
	padding: 0.5em 1em;
	background: #f5f5f5;
	font-size: var(--fs-2);
	font-weight: bold;
}
.p-recruit__question-text::before{
	content: "Q.";
	margin-right: 0.25em;
	font-size: var(--fs-3);
	font-family: "Poppins", sans-serif;
	line-height: 1;
}
.p-recruit__question-answer {
	padding: 1em;
	background: #fff;
	color: #333;;
}
/* ------------------------------------------------------------------------- */
/* お問い合わせ
/* ------------------------------------------------------------------------- */
.p-contact__form__inner{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: min(90px, 9vw) min(24px, 3vw);
}
/*----------------------------------------
/*フォーム
----------------------------------------*/
/*共通------------------------------------*/
input[type="text"], input[type="email"], input[type="tel"], textarea, select{
	appearance: none;
	display: block;
	width: 100%;
	height: 3rem;
	padding: 12px 20px;
	background-color: #fff;
	border: var(--border-gray);
	border-radius: 4px;
	font-size: clamp(1rem, 0.25rem + 1vw, 1.125rem)
}
input::placeholder, textarea::placeholder{
	color: #aaa;
}
input:disabled, textarea:disabled, select:disabled{
	background: #e3e3e3;
	border-color: #aaa;
}
button{
	cursor: pointer;
}
/*textarea--------------------------------------*/
textarea{
	min-height: 160px;
	resize: vertical;
}
/*select------------------------------------*/
/*疑似要素が使用できないため、divで囲む*/
.c-form__select{
	position: relative;
	width: 100%;
}
.c-form__select::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #aaa;
	border-right: 2px solid #aaa;
	transform: translateY(-50%) rotate(45deg);
}
/*チェックボックス----------------------------*/
.c-checkbox__label{
	cursor: pointer;
}
input[type="checkbox"]{
	appearance: none;
	position: relative;
	width: 24px;
	height: 24px;
	margin-right: 7px;
	background-color: #fff;
	border: var(--border-gray);
	border-radius: 2px;
	cursor: pointer;
}
input[type="checkbox"]:checked{
	background-color: var(--color-blue);
	border: 2px solid var(--color-blue);
}
input[type="checkbox"]:checked::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -60%) rotate(45deg);
	width: 8px;
	height: 16px;
	border-bottom: 3px solid #fff;
	border-right: 3px solid #fff;
}
/*radio--------------------------------------*/
/*ラジオボタンをリストのようなスタイルに調整*/
.c-radio__wrap{
	display: flex;
	border: var(--border-gray);
	border-radius: 4px;
	margin-bottom: 0.75em;
	transition: background 0.2s;
}
.c-radio__label{
	display: flex;
	align-items: center;
	width: 100%;
	padding: 12px 20px;
	cursor: pointer;
}
.c-radio__wrap:hover,
.c-radio__wrap:focus-within {
	background: #F6FDFF;
}
.c-radio__wrap:focus-within {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}
.c-radio__wrap:has(:checked){
	background: #E9F5FF;
}
input[type="radio"]{
	appearance: none;
	position: relative;
	width: 1.4em;
	height: 1.4em;
	margin-right: 7px;
	border: var(--border-gray);
	background-color: #fff;
	border-radius: 50%;
	cursor: pointer;
}
input[type="radio"]:checked::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60%;
	height: 60%;
	background-color: var(--color-blue);
	border-radius: 50%;
}
input[type="radio"]:focus{
	outline: none;
}
/*・必須・任意 -------------------------------------- */
.is-required,
.is-optional {
	margin-left: 8px;
	font-weight: 500;
	font-size: var(--fs-mini);
	color: #fff;
}
/* 必須 */
.is-required {
	color: var(--color-red);
}
/* 任意 */
.is-optional {
	color: #aaa;
}
/*注釈--------------------------------------*/
.inputNote{
	width: fit-content;
	margin-bottom: 10px;
	color: #aaa;
	font-size: var(--fs-mini);
}
/*エラー--------------------------------------*/
.c-errorSummary{
	margin-bottom: 40px;
	padding: 1.3em 2.5em;
	background: #FFEFF2;
	border-radius: 4px;
}
.c-errorSummary__title{
	position: relative;
	margin: 0 0 8px;
	padding-left: 1.2em;
	color: var(--color-red);
	font-size: var(--fs-3);
	font-weight: bold;
}
.c-errorSummary__title::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url("./img/icon_attention.svg") no-repeat center /contain;
}
.c-errorSummary__link{
	display: block;
	width: fit-content;
	color: var(--color-red);
	transition: opacity 0.15s;
}
.c-errorSummary__link:hover{
	opacity: 0.5;
}
.is-error input:not([type="radio"]),
.is-error textarea,
.is-error select{
	color: var(--color-red);
	border-color: var(--color-red);
	background: #FFEFF2;
}
.c-form__select.is-error::after{
	color: var(--color-red);
	border-color: var(--color-red);
}
.c-errorMessage{
	position: relative;
	display: inline-block;
	margin: 0 0 0 16px;
	padding-left: 1.2em;
	color: var(--color-red);
	font-size: var(--fs-mini);
}
.c-errorMessage::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 3px;
	background: url("./img/icon_attention.svg") no-repeat center /contain;
	vertical-align: middle;
}
/*フォームのレイアウト------------------------------------*/
.c-form__label,
.c-form__legend{
	display: inline-block;
	margin-bottom: 4px;
	font-size: var(--fs-2);
	font-weight: bold;
}
@media (max-width:812px){
	.c-form__label{
		justify-content: flex-start;
		gap: 10px;
	}
}
.c-form__label::before,
.c-form__legend::before{
	content: "● ";
	color: var(--color-blue);
	font-size: 0.75em;
}
.c-form__item{
	margin-bottom: 48px;
}
/*fieldset*/
.c-form__fieldset{
	margin-bottom: 24px;
}
.c-form__fieldset .c-form__label{
	font-size: var(--fs-1);
	font-weight: 500;
}
.c-form__fieldset .c-form__label::before{
	content: none;
}
.c-form__fieldset .c-form__item{
	margin-bottom: 24px;
}
/*2カラム*/
.c-form__itemWrap{
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px 16px;
}
.c-form__item--half{
	width: calc(50% - 8px);
}
@media (max-width:812px){
	.c-form__itemWrap{
		flex-direction: column;
		width: 100%;
	}
	.c-form__item--half{
		width: 100%;
	}
}
/*電話番号------------------------------------*/
.c-form--tel__input{
	max-width: 240px;
}
/*住所------------------------------------*/
/*郵便番号*/
.c-form--postalCode__flex{
	width: 100%;
	display: flex;
	gap: 8px;
}
.c-form--postalCode__input{
	max-width: 160px;
}
.c-form--postalCode__btn{
	width: 112px;
	padding: 8px 0;
	color: #fff;
	background: var(--color-blue);
	border: none;
	text-align: center;
	border-radius: 4px;
	transition: opacity 0.3s;
}
.c-form--postalCode__btn:hover{
	opacity: 0.7;
}
/*都道府県*/
.c-form--prefecture__select{
	max-width: 240px;
}
/*同意------------------------------------*/
.c-form__policy{
	margin-top: 5em;
	padding: 2em;
	background: #f5f5f5;
}
.c-form__policy__text{
	width: 100%;
	height: 200px;
	min-height: 200px;
	padding: 12px 20px;
	background-color: #fff;
	border: var(--border-gray);
	border-radius: 4px;
	overflow-y: auto;
	resize: vertical;
}
.c-form__policy__textInner{
	margin-bottom: 1em;
	font-size: var(--fs-mini);
}
.c-form__policy__agree{
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 2em auto 0;
	cursor: pointer;
	transition: background 0.3s;
	padding: 12px 20px;
	border: var(--border-gray);
	border-radius: 4px;
	background: #fff;
}
.c-form__policy__agree:hover,
.c-form__policy__agree:focus-within {
	background: #F6FDFF;
}
.c-form__policy__agree:focus-within {
	outline: 3px solid #0bf;
	outline-offset: 3px;
}
.c-form__policy__agree:has(:checked){
	background: #E9F5FF;
}
.c-form__policy__agree input[type="checkbox"]:focus{
	outline: none;
}
@media (max-width:812px){
	.c-form__policy{
		padding: 20px;
		text-align: inherit;
	}
	.c-form__policy__agree{
		margin-top: 20px;
	}
}
/*確認ページ------------------------------------*/
.c-form__confirm .c-form__item{
	padding-bottom: 20px;
	border-bottom: 2px solid #ddd;
}