@charset "UTF-8";

/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
	user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	line-break: after-white-space;
	-webkit-user-select: auto;
	user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}

/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
}
/* 合成フォント */
@font-face {
	font-family: "MyFont";
	src: local("Outfit"), local("Zen Kaku Gothic New");
	unicode-range: U+0020-007E; /* 英数字範囲 */
}
@font-face {
	font-family: "MyFont";
	src: local("Zen Kaku Gothic New");
	unicode-range: U+3000-9FFF; /* 日本語範囲 */
}
body{
	font-family: YakuHanJP, 'Zen Kaku Gothic New', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-size: 1.5em;
	font-weight: 500;
	font-feature-settings: 'palt';
	overflow-wrap: break-word;
}
@supports (-webkit-touch-callout: none) {
	body {
		-webkit-text-size-adjust: none;
	}
}
p{
	line-height: 1.5;
}
a{
	color: #000;
	text-decoration: none;
	transition: all 0.3s;
}
a:link{
	color: #000;
}
a:visited{
	color: #000;
}
a:hover{
	text-decoration: none;
}
@media (any-hover: hover){
	a:hover {
		text-decoration: none;
	}	
}

/* button初期化 */
button{
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
}
@media (any-hover: hover){
	button:hover{
		cursor: pointer;
	}
}

@media print, screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}

/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}


/*
	common
-----------------------------------------------------------------------------------------------*/
/* 変数 */
:root{
	/* color */
	--colorPrimary:#00367f;
	--colorAccent:#ea4287;
	--colorAccentlight:#f6c9dd;
	--colorAccentDark:#d43b7a;

	--colorPoint01:#0064BF;
	--colorPoint02:#FF8345;
	--colorPoint03:#ccc;

	--colorCategory01:#00aed1;
	--colorCategory02:#1ccfa4;

	--colorSub01:#6EB4E6;
	--colorSub02:#FFDC6E;
	--colorSub03:#AAD2AA;
	--colorSub04:#FF8C84;
	--colorSub05:#78D2C8;
	--colorSub06:#FBBE68;
	--colorSub07:#AA89BD;

	/* gradation */
	--gdRainbow: linear-gradient(
		90deg,
		var(--colorSub01) 0%,   var(--colorSub01) 14.28%,
		var(--colorSub02) 14.28%, var(--colorSub02) 28.56%,
		var(--colorSub03) 28.56%, var(--colorSub03) 42.84%,
		var(--colorSub04) 42.84%, var(--colorSub04) 57.12%,
		var(--colorSub05) 57.12%, var(--colorSub05) 71.4%,
		var(--colorSub06) 71.4%,  var(--colorSub06) 85.68%,
		var(--colorSub07) 85.68%, var(--colorSub07) 100%
	);

	/* background */
	--bgGrey:#f2f2f2;
	--bgCream:#FFF6E5;
	--bgNoise: url("../images/bg_noise.png") repeat top left / 100px auto;

	/* width */
	--widthBase: 1200px;
	--width1000: 1000px;

	/* font-family */
	--ffEn: "Lato", sans-serif;
	--ffEn02: "Outfit", sans-serif;

	/* 角丸 */
	--br50: 50px; /* cmnPageCtsBox */
	--br30: 30px; /* 下層KV写真 */
	--br20: 20px; /* 下層コンテンツ内写真 */
}

/* box
============================== */
/* wrapper */
#wrapper{
	background-color: var(--bgCream);
	position:relative;
}

/* ctsWrapper */
#ctsWrapper{
	padding-bottom: 150px;
}

/* ctsArea */
.ctsArea{
	width: var(--widthBase);
	margin: 0 auto;
	padding-inline: 30px;
	position: relative;
}


/* ボタン
============================== */
.btnArea{
	display: flex;
	align-items: center;
	gap: 15px;
}
a.btnBase,
button.btnBase{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	max-width: 320px;
	min-height: 60px;
	padding-inline: 30px 50px;
	font-weight: 600;
	color: #fff;
	background-color: var(--colorPrimary);
	border-radius: 30px;
	position: relative;
}
a.btnBase::after,
button.btnBase::after{
	content: "";
	display: inline-block;
	width: 26px;
	aspect-ratio: 1/1;
	background: url("../images/ico_arrow_nv.svg") #fff no-repeat center center / 10px auto;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	transition: background-color 0.3s;
}
@media (any-hover: hover){
	a.btnBase:hover,
	button.btnBase:hover{
		background-color: #000;
	}
}
/* アンカーリンク用 */
a.btnBase.anchor::after,
button.btnBase.anchor::after{
	transform: translateY(-50%) rotate(90deg);
}


/* テキスト
============================== */
/* テキストリンク */
a.txtLink{
	color: var(--colorAccent);
	text-decoration: underline;
	transition: all 0.3s;
}
a.txtLink:hover{
	text-decoration: none;
}

/* 注釈 */
.note{
	font-size: 1.0rem;
	font-weight: 500;
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#headerWrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-width: var(--widthBase);
	height: 100px;
	padding-inline: 30px;
	position: fixed;
	pointer-events: none;
	z-index: 1000;
}
.headerLogo,
.headerBtnArea{
	pointer-events: all;
	z-index: 1;
}
.headerLogo{
	display: flex;
	align-items: center;
	gap: 20px;
	transition: opacity 0.3s;
}
.headerLogo .logo{
	padding: 10px;
	background-color: #fff;
	border-radius: 5px;
}
.headerLogo .txt{
	font-weight: 600;
}
/* スクロール後 */
#headerWrapper.jsHeaderScroll .headerLogo{
	opacity: 0;
	pointer-events: none;
}
/* メニュー展開時 */
#headerWrapper:has(.headerMenuWrapper.jsOpen) .headerLogo{
	opacity: 1;
	pointer-events: all;
}

/* ボタンエリア
============================== */
.headerBtnArea{
	display: flex;
	align-items: center;
	gap: 15px;
	position: relative;
	z-index: 1;
}

/* エントリーボタン
============================== */
a.btnEntry{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 50px;
	font-family: var(--ffEn);
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.2rem;
	color: #fff;
	background-color: var(--colorAccent);
	border-radius: 25px;
}
@media (any-hover: hover){
	a.btnEntry:hover{
		background-color: var(--colorAccentDark);
	}
}

/* メニューボタン
============================== */
.btnMenu{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 50px;
	aspect-ratio: 1/1;
	background-color: var(--colorPrimary);
	border-radius: 50%;
	position: relative;
	transition: background-color 0.3s;
}
.btnMenu::before,
.btnMenu::after{
	content: " ";
	display: block;
	width: 16px;
	height: 1px;
	background-color: #fff;
	transition: rotate 0.3s;
}
@media (any-hover: hover){
	.btnMenu:hover{
		background-color: #000;
		cursor: pointer;
	}
}
/* 展開時 */
.btnMenu.jsOpen{
	gap: 0;
}
.btnMenu.jsOpen::before,
.btnMenu.jsOpen::after{
	position: absolute;
	top: 50%;
}
.btnMenu.jsOpen::before{
	rotate: 45deg;
}
.btnMenu.jsOpen::after{
	rotate: -45deg;
}

/* メニューエリア
============================== */
.headerMenuWrapper{
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: rgba(255,246,229, .95);
	padding-top: 150px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	overflow-y: scroll;
	z-index: 0;
	transition: opacity 0.3s;
}
.headerMenuWrapper.jsOpen{
	opacity: 1;
	pointer-events: all;
}
.headerMenuArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px;
	padding-bottom: 60px;
	position: relative;
}
.listHeaderMenu{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 300px;
	gap: 50px;
}
.listHeaderMenu > li{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.listHeaderMenu > li > *{
	line-height: 1.0;
}
/* タイトル */
.titHeaderMenu{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
.titHeaderMenu .en{
	font-family: var(--ffEn);
	font-size: 3.5rem;
	font-weight: 800;
	color: var(--colorPoint01);
}
.titHeaderMenu .jp{
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.1rem;
}
/* ボタン */
.listHeaderMenu > li .btnAreaOut{
	margin-top: 20px;
}
.listHeaderMenu > li .btnArea{
	flex-direction: column;
}
.listHeaderMenu > li a.btnBase{
	max-width: 100%;
	color: #000;
	background-color: #fff;
}
.listHeaderMenu > li a.btnBase::after{
	background: url("../images/ico_arrow_wh.svg") var(--colorPrimary) no-repeat center center / 10px auto;
}
@media (any-hover: hover){
	.listHeaderMenu > li a.btnBase:hover:after{
		background: url("../images/ico_arrow_wh.svg") #000 no-repeat center center / 10px auto;
	}
}
/* toggle */
.jsBtnToggle + *{
	display: none;
}


/*
	下層ページ共通
-----------------------------------------------------------------------------------------------*/
/* 下層ページ_item
============================== */
.cmnPageItemWrapper{
	width: 100%;
	height: 500px;
	overflow: hidden;
}
[class^="cmnPageItem"]{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}
.cmnPageItem01{
	transform: translateX(-50%) translateX(-200px);
	z-index: -1;
}
.cmnPageItem02{
	transform: translateX(-50%) translateX(450px);
	z-index: -2;
}

/* 下層ページ_KVエリア
============================== */
#cmnPageKvWrapper{
	margin-bottom: 50px;
	padding-top: 100px;
	position: relative;
	z-index: 10;
}

/* 下層ページ_タイトルエリア
============================== */
.cmnPageTitArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: var(--widthBase);
	min-height: 280px;
	margin-inline: auto;
	padding-inline: 30px;
}
/* タイトル */
.cmnPageTit{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 50px;
}
.cmnPageTit > *{
	line-height: 1.0;
}
.cmnPageTit .en{
	font-family: var(--ffEn);
	font-size: 9.0rem;
	font-weight: 900;
	color: var(--colorPoint01);
}
.cmnPageTit .jp{
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.2rem;
}
/* 画像 */
.cmnPageImg{
	border-radius: var(--br30);
	overflow: hidden;
}

/* 下層ページ_テキストエリア
============================== */
#cmnPageTxtWrapper{
	margin-bottom: 70px;
}
.cmnPageTxt{
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 2.0;
}

/* 下層ページ_コンテンツエリア
============================== */
.cmnPageCtsArea{
	display: flex;
	flex-direction: column;
	gap: 90px;
	width: 1000px;
	margin: 0 auto;
}
.cmnPageCtsBox{
	padding: 0 100px 100px;
	background-color: #fff;
	border-radius: var(--br50);
	position: relative;
}
/* タイトルエリア */
.cmnPageCtsTitWrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-bottom: 50px;
}
.cmnPageCtsTit{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 320px;
	min-height: 80px;
	margin-top: -20px;
	color: #fff;
	background-color: var(--colorPoint01);
	border-radius: 10px;
	position: relative;
}
.cmnPageCtsTit::after{
	content: "";
	width: 47px;
	height: 13px;
	background: url("../images/item_cmnPageCtsTit.svg") no-repeat center center / cover;
	position: absolute;
	left: 50%;
	bottom: -12px;
	transform: translateX(-50%);
}
.cmnPageCtsTit *{
	line-height: 1.0;
}
.cmnPageCtsTit .jp{
	font-size: 2.6rem;
}
.cmnPageCtsTit .en{
	font-family: var(--ffEn);
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.1rem;
}
.cmnPageCtsTxt{
	font-weight: 600;
	text-align: center;
	line-height: 2.0;
}


/*
	採用情報
-----------------------------------------------------------------------------------------------*/
#recruitInfoWrapper{
	padding-bottom: 80px;
	background: url("../images/bg_top_recruitInfo_pc.png") no-repeat top 80px center / cover;
	position: relative;
}
#recruitInfoWrapper::after{
	content: "";
	width: 100%;
	height: 5px;
	background: var(--gdRainbow);
	position: absolute;
	left: 0;
	bottom: 0;
}
.recruitInfoArea{
	display: flex;
}

/* テキスト周り
============================== */
.recruitInfoArea .txtArea{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	width: calc(100% - 450px);
	padding: 50px 60px;
	background: var(--bgNoise), var(--colorSub07);
	border-radius: 50px 0 0 50px;
	position: relative;
}
.recruitInfoArea .tit .speech{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 35px;
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--colorPrimary);
	background-color: #fff;
	border-radius: 5px;
	position: absolute;
	top: -17.5px;
	left: 60px;
}
.recruitInfoArea .tit .speech::after{
	content: "";
	width: 25px;
	height: 7px;
	background: url("../images/item_speechBtm.svg") no-repeat center center / cover;
	position: absolute;
	left: 50%;
	bottom: -6px;
	transform: translateX(-50%);
}
.recruitInfoArea .tit .en{
	font-family: var(--ffEn);
	font-size: 8.0rem;
	font-weight: 900;
	line-height: 1.0;
	color: #fff;
}
.recruitInfoArea .txt{
	color: #fff;
}

/* 画像
============================== */
.recruitInfoArea .img{
	width: 450px;
	border-radius: 0 50px 50px 0;
	overflow: hidden;
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footerWrapper{
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
	background-color: #fff;
	position: relative;
}
.footerInner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	width: calc(100% - 60px);
	padding-inline: 30px;
}

/* コーポレートサイトリンク
============================== */
a.linkCorporate{
	display: block;
	position: relative;
}
a.linkCorporate::after{
	content: " ";
	display: inline-block;
	width: 13px;
	aspect-ratio: 1/1;
	background: url("../images/ico_window.svg") no-repeat center center / 100%;
	margin-left: 5px;
}
@media (any-hover: hover){
	a.linkCorporate:hover{
		opacity: 0.7;
	}	
}

/* ページトップボタン
============================== */
#pageTop{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	aspect-ratio: 1/1;
	background-color: var(--colorAccent);
	position: relative;
	right: 0;
	bottom: 0;
}
#pageTop::after{
	content: "";
	display: block;
	width: 15px;
	aspect-ratio: 1/1;
	background: url("../images/ico_arrow_wh.svg") no-repeat center center / 100%;
	transform: rotate(-90deg);
}
@media (any-hover: hover){
	#pageTop:hover{
		background-color: var(--colorAccentDark);
	}	
}


@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust: 100%;
		font-size: 1.4rem;
	}
	img{
		width:100%;
	}
	p{
		line-height: 1.8;
	}	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}


	/*
		common
	-----------------------------------------------------------------------------------------------*/
	/* 変数 */
	:root{
		/* width */
		--widthBase: 100%;
		--width1000: 100%;

		/* background */
		--bgNoise: url("../images/bg_noise.png") repeat top left / 50px auto;

		/* 角丸 */
		--br50: 25px; /* cmnPageCtsBox */
		--br30: 15px; /* 下層KV写真 */
		--br20: 15px; /* 下層コンテンツ内写真 */
	}

	/* box
	============================== */
	/* ctsWrapper */
	#ctsWrapper{
		padding-bottom: 80px;
	}

	/* ctsArea */
	.ctsArea{
		width: var(--widthBase);
		max-width: 500px;
		padding-inline: 25px;
	}


	/* ボタン
	============================== */
	.btnArea{
		flex-direction: column;
		gap: 10px;
	}
	a.btnBase{
		max-width: 300px;
		min-height: 50px;
		padding-inline: 25px 50px;
		border-radius: 25px;
	}
	a.btnBase::after{
		width: 20px;
		background: url("../images/ico_arrow_nv.svg") #fff no-repeat center center / 8px auto;
		right: 15px;
	}


	/*
		header
	-----------------------------------------------------------------------------------------------*/
	#headerWrapper{
		min-width: var(--widthBase);
		height: 70px;
		padding-inline: 15px;
	}
	.headerLogo{
		gap: 10px;
	}
	.headerLogo .logo{
		width: 60px;
		padding: 5px;
	}
	.headerLogo .txt{
		font-size: 1.0rem;
	}
	/* メニュー展開時背景スクロール禁止 */
	body.jsScrollLock{
		overflow: hidden;
	}

	/* ボタンエリア
	============================== */
	.headerBtnArea{
		gap: 5px;
	}

	/* エントリーボタン
	============================== */
	a.btnEntry{
		width: 90px;
		height: 35px;
		font-size: 1.3rem;
		letter-spacing: 0.1rem;
		border-radius: 20px;
	}

	/* メニューボタン
	============================== */
	.btnMenu{
		width: 35px;
	}
	.btnMenu::before,
	.btnMenu::after{
		width: 14px;
	}

	/* メニューエリア
	============================== */
	.headerMenuWrapper{
		display: block;
		padding-block: 100px 30px;
	}
	.headerMenuArea{
		gap: 30px;
		padding-bottom: 0;
	}
	.listHeaderMenu{
		width: 100%;
		gap: 30px;
	}
	/* タイトル */
	.titHeaderMenu{
		flex-direction: row;
		gap: 10px;
		position: relative;
	}
	.titHeaderMenu .en{
		font-size: 3.0rem;
	}
	.titHeaderMenu .jp{
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	/* ボタン */
	.listHeaderMenu > li .btnAreaOut{
		margin-top: 15px;
	}
	.listHeaderMenu > li .btnBase{
		border-radius: 5px;
	}
	/* toggle */
	.icoToggle{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 26px;
		aspect-ratio: 1/1;
		border: 1px solid var(--colorPrimary);
		border-radius: 3px;
		opacity: 1;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	.icoToggle::before,
	.icoToggle::after{
		content: " ";
		display: block;
		width: 8px;
		height: 1px;
		background-color: var(--colorPrimary);
		position: absolute;
		transition: all 0.3s;
	}
	.icoToggle::after{
		rotate: 90deg;
	}
	.titHeaderMenu.jsToggleOpen .icoToggle::after{
		rotate: 180deg;
		opacity: 0;
	}


	/*
		下層ページ共通
	-----------------------------------------------------------------------------------------------*/
	/* 下層ページ_item
	============================== */
	.cmnPageItemWrapper{
		height: 240px;
	}
	.cmnPageItem01{
		width: 700px;
		transform: translateX(-50%) translateX(-50px);
	}
	.cmnPageItem02{
		width: 590px;
		transform: translateX(-50%) translateX(200px);
	}

	/* 下層ページ_KVエリア
	============================== */
	#cmnPageKvWrapper{
		margin-bottom: 50px;
		padding-top: 70px;
	}

	/* 下層ページ_タイトルエリア
	============================== */
	.cmnPageTitArea{
		align-items: center;
		width: var(--widthBase);
		max-width: 500px;
		min-height: 100px;
		padding-inline: 25px;
	}
	/* タイトル */
	.cmnPageTit{
		gap: 5px;
		margin-top: 0;
	}
	.cmnPageTit .en{
		font-size: 3.2rem;
	}
	.cmnPageTit .jp{
		font-size: 1.0rem;
	}
	/* 画像 */
	.cmnPageImg{
		width: 150px;
	}

	/* 下層ページ_テキストエリア
	============================== */
	#cmnPageTxtWrapper{
		margin-bottom: 40px;
	}
	.cmnPageTxt{
		font-size: 1.4rem;
	}

	/* 下層ページ_コンテンツエリア
	============================== */
	.cmnPageCtsArea{
		gap: 50px;
		width: var(--width1000);
	}
	.cmnPageCtsBox{
		padding: 0 20px 30px;
	}
	/* タイトルエリア */
	.cmnPageCtsTitWrapper{
		gap: 20px;
		margin-bottom: 30px;
	}
	.cmnPageCtsTit{
		gap: 5px;
		min-width: 140px;
		min-height: 45px;
		margin-top: -10px;
		border-radius: 5px;
	}
	.cmnPageCtsTit::after{
		width: 30px;
		height: 9px;
		bottom: -8px;
	}
	.cmnPageCtsTit .jp{
		font-size: 1.5rem;
	}
	.cmnPageCtsTit .en{
		font-size: 0.8rem;
	}
	.cmnPageCtsTxt{
		text-align: justify;
		line-height: 1.8;
	}


	/*
		採用情報
	-----------------------------------------------------------------------------------------------*/
	#recruitInfoWrapper{
		padding-bottom: 30px;
		background: url("../images/bg_top_recruitInfo_sp.png") var(--bgCream) no-repeat top 50px center / cover;
	}
	.recruitInfoArea{
		flex-direction: column;
	}

	/* テキスト周り
	============================== */
	.recruitInfoArea .txtArea{
		gap: 15px;
		width: 100%;
		padding: 30px 20px;
		border-radius: 20px 20px 0 0;
	}
	.recruitInfoArea .tit .speech{
		width: 100px;
		height: 30px;
		font-size: 1.0rem;
		top: -15px;
		left: 20px;
	}
	.recruitInfoArea .tit .en{
		font-size: 4.0rem;
	}
	.recruitInfoArea .txt{
		text-align: justify;
	}

	/* 画像
	============================== */
	.recruitInfoArea .img{
		width: 100%;
		border-radius: 0 0 20px 20px;
	}


	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footerWrapper{
		height: 50px;
	}
	.footerInner{
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		width: calc(100% - 50px);
		padding-inline: 15px;
		font-size: 1.2rem;
	}

	/* コーポレートサイトリンク
	============================== */
	a.linkCorporate::after{
		width: 11px;
		margin-left: 3px;
	}

	/* ページトップボタン
	============================== */
	#pageTop{
		width: 50px;
	}
	#pageTop::after{
		width: 13px;
	}
}