@charset "UTF-8";
/* CSS Document */

/*
	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%;
}
body{
	color: var(--clrBlack);
	font-size: 1.5em;
	font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-weight: 400;
	letter-spacing: 0.1rem;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
}
p{
	line-height: 180%;
}
a{
	color: var(--clrBlack);
	text-decoration: none;
	transition: all 0.3s;
}
a:link{
	color: var(--clrBlack);
}
a:visited{
	color: var(--clrBlack);
}
a:hover{
	text-decoration: none;
}
@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{
	/* width */
	--wBase: 1200px;
	--w1100: 1100px;
	--w800:  800px;

	/* color */
	--clrCorp:    #084a95;
	--clrBase:    #3250e6;
	--clrBase30:  rgb(50 80 230 / 30%);
	--clrGrn:     #00c3b2;
	--clrPnk:     #f05f96;
	--clrLbl:     #4bc2ec;
	--clrPnk02:   #f95a72;
	--clrGrn02:   #64b543;
	--clrYel:     #f5d237;
	--clrBlack:   #222222;
	--clrWhite:   #fafafa;
	--clrBlack10: rgb(0 0 0 / 10%);
	--clrBlack20: rgb(0 0 0 / 20%);
	--clrBlack30: rgb(0 0 0 / 30%);
	--clrBlack40: rgb(0 0 0 / 40%);
	--clrBlack50: rgb(0 0 0 / 50%);
	--clrBlack60: rgb(0 0 0 / 60%);
	--clrBlack80: rgb(0 0 0 / 80%);
	--clrWhite30: rgb(250 250 250 / 30%);
	--clrWhite40: rgb(250 250 250 / 40%);
	--clrWhite50: rgb(250 250 250 / 50%);
	--clrWhite60: rgb(250 250 250 / 60%);
	--clrWhite70: rgb(250 250 250 / 70%);
	--clrWhite80: rgb(250 250 250 / 80%);
	--clrWhite90: rgb(250 250 250 / 90%);

	/* ボーダー カラーのみ */
	--clrBorder:   #7d7c77;
	/* ボーダー　線もセット */
	--bdBase: 1px solid #7d7c77;

	/* ホバー時のColor */
	--clrCorph:    #001b78;
	--clrBaseh:    #003ae4;

	/* フッター背景 */
	--bgFooter:   linear-gradient(45deg,rgb(60 60 60) 30%, rgb(34 34 34) 100%);

	/* font */
	--fEn: 'Barlow', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	--fEn02: 'Oswald', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	--fEn03: 'Crimson Pro', 'Noto Serif JP', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;

	/* 背景ノイズのみ */
	--bgNoise: url("../images/noise.svg") repeat top left / 300px auto;

	/* 背景グラデのみ */
	--bgGrd01:    var(--bgNoise), linear-gradient(-125deg, var(--clrBase) 10%, var(--clrDBlue) 40%, var(--clrPoint) 90%);
	--bgGrd02:    var(--bgNoise), linear-gradient(-135deg, var(--clrBase) 15%, var(--clrDBlue) 40%, var(--clrPoint) 80%);
	--bgGrd03:    var(--bgNoise), linear-gradient(45deg, var(--clrBase) 0%, var(--clrDBlue) 50%, var(--clrPoint) 100%);

	/* 背景グラデノイズ */
	--bgGrd01: 
	url("../images/noise.svg") repeat top left / 300px auto,
	radial-gradient(at 10% 10%, rgb(210 234 250) 0px, transparent 50%),
	radial-gradient(at 10% 90%, rgb(223 255 191) 0px, transparent 50%),
	radial-gradient(at 90% 90%, rgb(179 222 198) 0px, transparent 50%),
	radial-gradient(at 90% 10%, rgb(250 204 229) 0px, transparent 50%);

	/* 背景グラデノイズ（反転） */
	--bgGrd02: 
	url("../images/noise.svg") repeat top left / 300px auto,
	radial-gradient(at 90% 10%, rgb(210 234 250) 0px, transparent 50%),
	radial-gradient(at 10% 10%, rgb(223 255 191) 0px, transparent 50%),
	radial-gradient(at 10% 90%, rgb(179 222 198) 0px, transparent 50%),
	radial-gradient(at 90% 90%, rgb(250 204 229) 0px, transparent 50%);

	/* シャドウベース */
	--shadow: drop-shadow(2px 2px 10px rgb(0 0 0 / 0.2));
	--shadowtitcmn: drop-shadow(2px 2px 15px rgb(0 0 0 / 0.4));
	--shadowtitcmnEn: drop-shadow(0 0 8px rgb(255 255 255 / 0.6));

	/* 角丸 */
	--brLarge: 10px;
	--brSmall: 5px;
}

/* グラデ背景 */
.grdArea01{
	background: var(--bgGrd01)
}
/* グラデ背景（反転） */
.grdArea02{
	background: var(--bgGrd02)
}

/* box
============================== */
/* wrapper */
#wrapper{
	position: relative;
	overflow: hidden;
}

/* ctsArea */
.ctsArea{
	width: var(--wBase);
	padding: 80px 30px 120px 30px;
	margin: 0 auto;
}

/* font / txt
============================== */
/* 太字 */
.fwB{
	font-weight: bold;
}
/* 色もじ（ベース色） */
.clrBase{
	color: var(--clrBase);
}

/* 上付き */
.sup{
	display: inline-block;
	font-size: 50%;
	line-height: 100%;
	vertical-align: super;
}

/* 注釈 */
.txtNote{
	display: inline-block;
	color: var(--clrTxt);
	font-size: 1.2rem;
	line-height: 140%;
}

/* 英文字キャッチベース
============================== */
/* 基本ボックス（画像左側） */
[class *= "bgCath"]{
	position: relative;
	display: flex;
	align-items: end;
	gap: 60px;
}
[class *= "catchBase"]{
	position: absolute;
	right: 0;
}
[class *= "catchBase"] img{
	display: block;
	width: auto;
	height: 100%;
}
@media screen and (min-width:813px){
.bgCath .txtBox{
		padding-bottom: 30px;
	}
}
.bgCath .imgBox{
	position: relative;
}
/* 画像右側 */
@media print,screen and (min-width:813px){
	.bgCath.phRight{
		flex-direction: row-reverse;
		justify-content: space-between;
	}
}
.bgCath.phRight .catchBase{
	left: 0;
	right: initial;
}
.bgCath.phRight .txtBack{
	right: -30px;
	left: initial;
}

/* 画像中央 */
.bgCath.phCenter{
	justify-content: space-between;
	height: 100%;
	padding: 120px 30px 90px;
}
.bgCath.phCenter .catchBase{
	top: -80px;
}
.bgCath.phCenter .txtBack{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	writing-mode: vertical-rl;
	top: -40px;
	left: 0;
}
.bgCath.phCenter .txtBack span{
	font-size: 3.4rem;
	line-height: 120%;
	padding: 15px 10px;
}
.bgCath.phCenter .txtBox{
	padding-bottom: initial;
}

/* 文字背景帯_黒
============================== */
[class *= "txtBack"]{
	width: fit-content;
	height: fit-content;
}
[class *= "txtBack"] span{
	display: inline;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	background-color: var(--clrBlack);
	color: var(--clrWhite);
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 170%;
	letter-spacing: 0.4rem;
	padding: 6px 12px 8px 12px;
}
[class *= "txtBack"] .name span{
	padding-top: 3px;
}
/* 帯を白に変更 */
[class *= "txtBack"].white span{
	background-color: #ffffff;
	color: var(--clrBlack);
}

/* タイトル_アンダーライン（グレー）
============================== */
[class *= "tit_underline_gray"]{
	width: fit-content;
	font-weight: 700;
	background: linear-gradient(to bottom, transparent 75%, #d2dce1 75%, #d2dce1 92%, transparent 92%);
	padding: 0 2px 0;
}

/* 基本テキストボックス
============================== */
[class *= "txtBox"]{
	display: flex;
	flex-direction: column;
	width: 100%;
}
[class *= "txtBox"] .tit{
	font-weight: 600;
	font-size: 2.8rem;
	letter-spacing: 0.4rem;
}
[class *= "txtBox"] .txt{
	text-align: justify;
}

/* 基本のボタン
============================== */
a.btn{
	display: block;
	width: 100%;
	height: auto;
}
.btnArea{
	display: flex;
	margin-top: 30px;
}
/* ボタンベース */
[class *= "btnBase"]{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	min-height: 50px;
	background-color: var(--clrWhite);
	color: var(--clrBase);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 120%;
	letter-spacing: 0.1rem;
	padding: 10px 20px;
	border: 1px solid var(--clrBase);
	transition: all 0.3s;
}
[class *= "btnBase"].en{
	font-size: 1.2rem;
	font-family: var(--fEn);
	font-weight: 600;
	color: var(--clrBase);
}
[class *= "btnBase"]::before,
[class *= "btnBase"]::after{
	position: absolute;
	content: " ";
	display: block;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	transition: all 0.3s;
}
[class *= "btnBase"]::before{
	background-color: var(--clrBase);
	width: 10px;
	height: 1px;
}
[class *= "btnBase"]::after{
	width: 5px;
	height: 5px;
	border: 1px solid;
	border-color: var(--clrBase) var(--clrBase) transparent transparent;
	transform: rotate(45deg);
}
@media screen and (min-width:813px){
	[class *= "btnBase"]:hover{
		background-color: var(--clrBase);
		color: var(--clrWhite) 
	}
	[class *= "btnBase"]:hover::before,
	[class *= "btnBase"]:hover::after{
		border-color: var(--clrWhite) var(--clrWhite) transparent transparent;
		right: 14px;
	}
	[class *= "btnBase"]:hover::before{
		background-color: var(--clrWhite);
	}
}

/* 役職・名前が入ったボックス
============================== */
[class *= "detail"]{
	display: flex;
	flex-direction: column;
	width: fit-content;
	gap: 10px;
}
/* 名前 */
span[class *= "name"]{
	display: block;
	width: fit-content;
	font-weight: 600;
	font-size: 2.6rem;
	letter-spacing: 0.4rem;
	line-height: 100%;
}
/* イニシャル */
span[class *= "name"].en{
	font-family: var(--fEn);
	font-weight: 100;
	font-size: 3.8rem;
	letter-spacing: 0.2rem;
}
/* ジョブ */
span[class *= "job"]{
	display: block;
	width: fit-content;
	font-weight: 400;
	font-size: 1.3rem;
	letter-spacing: 0.2rem;
	line-height: 100%;
}

/* メッセージ動画のボタン
============================== */
.messageMovieBox{
	position: relative;
	width: 288px;
	height: 512px;
	cursor: pointer;
}
.playMovieBox{
	position: relative;
	overflow: hidden;
	height: 100%;
	border-radius: var(--brSmall);
	filter: var(--shadow);
}
/* ホバー時 */
.playMovieBox::after{
	position: absolute;
	content: " ";
	display: block;
	background: var(--clrBase30);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 21;
	opacity: 0;
	transition: all 0.3s;
}
.playMovieBox:hover::after{
	opacity: 1;
}
/* playMovieBtn */
.playMovieBox .btn{
	position: absolute;
	display: block;
	width: 60px;
	height: 60px;
	color: var(--clrWhite);
	font-size: 1.2rem;
	font-weight: 500;
	border: 1px solid var(--clrWhite);
	border-radius: 50%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	pointer-events: none;
	transition: all 0.3s;
	z-index: 20;
}
/* 三角 */
.playMovieBox .btn::before{
	position: absolute;
	content: " ";
	display: block;
	background: #ffffff;
	width: 20px;
	height: 16px;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	transform: translate(-50%, -50%) rotate(90deg);
	top: 50%;
	left: calc(50% + 3px);
}
/* テキスト */
.playMovieBox .btn .txt{
	position: absolute;
	font-size: 1.1rem;
	font-family: var(--fEn02);
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	bottom: -25px;
}
/* 上の静止画像 */
.playMovieBox .img{
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: 100%;
	object-fit: cover;
	z-index: 10;
	pointer-events: none;
}
/* 下の動画 */
.playMovieBox .movie{
	width: 100%;
	height: auto;
}
/* 動画再生時にポスターを消す */
.playMovieBox:has(video.playing) img,
.playMovieBox:has(video.playing) .btn,
.playMovieBox:has(video.playing)::after{
	display: none;
}
.playMovieBox:has(video.playing.paused)::after{
	display: block;
}

/* テーブルベース
============================== */
.tbl{
	position: relative;
	background-color: #ffffff;
	width: 100%;
	line-height: 170%;
}
.tbl tr:not(:last-of-type){
	border-bottom: var(--bdBase);
}
.tbl th,
.tbl td{
	padding: 25px 35px 30px;
	text-align: justify;
}
.tbl th{
	background: var(--clrWhite);
	width: 190px;
	font-weight: 600;
	text-align: left;
}
/* 見出しのタイトルがある場合 */
.tblBox .tblTit{
	background-color: var(--clrBase);
	color: var(--clrWhite);
	font-size: 1.8rem;
	padding: 20px 30px 20px;
}
.tbl td .link{
	width: fit-content;
	color: var(--clrBase);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 4px;
	transition: all 0.1s;
}
.tbl td .link:hover{
	text-decoration: none;
}

/* ヒストリーエリア
============================== */
#historyArea{
	position: relative;
}
#historyArea .list{
	display: flex;
	flex-direction: column;
	gap:40px
}
#historyArea .list li{
	position: relative;
	display: flex;
	gap:60px
}
/* 線と丸 */
#historyArea .list li::before,
#historyArea .list li::after{
	position: absolute;
	content: "";
	display: block;
	top: 10px;
}
/* 線 */
#historyArea .list li::before{
	background-color: var(--clrBase);
	width: 3px;
	height: calc(100% + 60px);
	left: 92px;
}
#historyArea .list li:last-of-type::before{
	height: 100vh;	
}
/* 丸 */
#historyArea .list li::after{
	background-color: var(--clrWhite);
	width: 17px;
	height: 17px;
	border-radius: 50%;
	border: 2px solid var(--clrBase);
	left: 85px;
}
/* 年 */
#historyArea .list .year{
	color: var(--clrBase);
	font-family: var(--fEn);
	font-weight: 500;
	font-size: 3.4rem;
	line-height: 100%;
}
/* テキスト */
@media print,screen and (min-width:813px){
	#historyArea .list .txt{
		font-size: 1.6rem;
		line-height: 180%;
		padding-top: 2px;
	}
}
#historyArea .list .txt::after{
	position: absolute;
	content: "";
	display: block;
	background-color: var(--clrBlack);
	width: 15px;
	height: 1px;
	top: 19px;
	left: 100px;
}

/* モーダル中身共通部分
============================== */
body.modal-open{
	overflow: hidden;
}
.modal{
	position: fixed;
	display: none;
	background: var(--bgGrd01) rgb(255 255 255 / 0.6);
	width:100%;
	height:100%;
	top:0;
	left:0;
	overflow: scroll;
	z-index: 9999;
}
.modal .inner{
	position: relative;
	justify-content: center;
	align-items: center;
	background: #fff;
	left: 50%;
	border: 2px solid var(--clrBlack);
	box-shadow: 5px 5px;
}
/* 箱の隅にある三角 */
.modal .inner::before,
.modal .inner::after{
	position: absolute;
	content: " ";
	display: block;
}
/* 三角（右上） */
.modal .inner::before{
	top: -2px;
	right: -7px;
	border-bottom: 5px solid var(--clrBlack);
	border-left: 0 solid transparent;
	border-right: 5px solid transparent;
}
/* 三角（左下） */
.modal .inner::after{
	bottom: -7px;
	left: -2px;
	border-top: 5px solid var(--clrBlack);
	border-left: 5px solid transparent;
	border-right: 0 solid transparent;
}
/* クローズボタン */
.modalClose{
	position: absolute;
	display: block;
	width: 40px;
	height: 40px;
	background-color: var(--clrBlack);
	top: 0;
	right: 0;
	left: auto;
	transition: all 0.3s;
	cursor: pointer;
	z-index: 9000;
}
.modalClose::before,
.modalClose::after{
	content: " ";
	display: block;
	width: 18px;
	height: 1px;
	background-color: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	transition: all 0.3s;
}
.modalClose::before{
	transform: translateX(-50%) rotate(45deg);
}
.modalClose::after{
	transform: translateX(-50%) rotate(-45deg);
}

/* 用語集ボタン  モーダルボタン
============================== */
#glossaryBtn{
	position: fixed;
	width: 40px;
	height: 160px;
	background-color: var(--clrBlack);
	top: 0;
	bottom: 0;
	right: 0;
	color: var(--clrWhite);
	font-size: 1.8rem;
	letter-spacing: 0.6rem;
	writing-mode: vertical-rl;
	text-align: center;
	line-height: 40px;
	border-radius: 5px 0 0 5px;
	margin: auto 0;
	padding-top: 20px;
	filter: var(--shadow);
	z-index: 500;
	transition: all 0.3s;
	cursor: pointer;
}
#glossaryBtn::after{
	position: absolute;
	content: "";
	display: block;
	background: url(../images/ico_modal_glossary.svg) no-repeat center center / 100% auto;
	width: 22px;
	height: 13px;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width:813px){
	/* ホバー時 */
	#glossaryBtn:hover{
		background-color: #383838;
		filter: initial;
	}
}

/* 用語集ボタン  モーダル中身
============================== */
#modalGlossary .modal .inner{
	width: calc(100% - 300px);
	max-width: 1140px;
	top: 100px;
	margin-bottom: 300px;
	transform: translateX(-50%);
}
#modalGlossary .tbl{
	width: 100%;
}
#modalGlossary .tbl tbody{
	display: flex;
	flex-wrap:wrap;
}
#modalGlossary .tbl tr{
	display: flex;
	flex-direction: column;
	width: calc(100% / 2);
}
@media screen and (min-width:813px){
	#modalGlossary .tbl tr:nth-of-type(odd){
		border-right: var(--bdBase);
	}
}
#modalGlossary .tbl th,
#modalGlossary .tbl td{
	width: 100%;
}
#modalGlossary .tbl th{
	position: relative;
	color: var(--clrBase);
	font-weight: 700;
	font-size: 1.8rem;
	padding: 20px 25px 15px 55px;
	mix-blend-mode: multiply;
}
#modalGlossary .tbl th::after{
	position: absolute;
	content: "";
	display: block;
	background: url(../images/ico_modal_glossary_check.svg) no-repeat center center / 100% auto;
	width: 20px;
	height: 16px;
	top: 26px;
	left: 25px;
}
#modalGlossary .tbl td{
	font-size: 1.4rem;
	line-height: 170%;
	padding: 15px 25px 25px;
}
/* 見出しのタイトルがある場合 */
#modalGlossary .tblBox .tblTit{
	background-color: var(--clrBlack);
	font-size: 1.6rem;
	padding: 14px 15px;
}
@media screen and (min-width:1400px){
	/* width1400px以上になったら3カラム */
	#modalGlossary .tbl tr{
		width: calc(100% / 3);
	}
	#modalGlossary .tbl tr{
		border-right: var(--bdBase);
	}
	#modalGlossary .tbl tr:nth-of-type(3n){
		border-right: initial;
	}
}

/*
	headerWrapper
-----------------------------------------------------------------------------------------------*/
#headerWrapper{
	position: absolute;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	pointer-events: none;
	z-index: 9999;
}
#headerWrapper > *{
	pointer-events: all;
}

/* ヘッダーロゴ
============================== */
#headerWrapper .logo{
	margin: 15px;
}
#headerWrapper .logo a{
	display: block;
}
#headerWrapper .logo a:hover{
	opacity: 0.7;
}
/* デフォルト状態では白ロゴを非表示 */
.logoWhiteImg{
	display: none;
}
/* 例えば .white クラスが header にあるときだけ白ロゴを表示し、通常ロゴを隠す */
.logoWhite .logoDefault{
	display: none;
}
.logoWhite .logoWhiteImg{
	display: inline;
}

/* ナビゲーション
============================== */
/* リストメニューサブ */
#headerWrapper .listMenuSub{
	display: flex;
	height: 40px;
	font-weight: 400;
	line-height: 40px;
	margin-right: 340px;
	gap: 20px;
}
#headerWrapper .listMenuSub .menuList{
	position: relative;
}
/* リストメニュータイトル */
#headerWrapper .listMenuSub .tit{
	font-size: 1.3rem;;
	color: var(--clrBlack);
	filter: drop-shadow(0 0 4px rgb(255 255 255 / 0.3));
}
/* 白文字にする場合.white */
#headerWrapper.white .listMenuSub .tit{
	color: var(--clrWhite);
	filter: drop-shadow(0 0 4px rgb(0 0 0 / 0.3));
}
#headerWrapper .listMenuSub span.tit{
	cursor: default;
}

/* リストメニューボックス */
#headerWrapper .listMenuSub .menuBox{
	position: absolute;
	background-color: rgb(255 255 255 / 0.85);
	top: 45px;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s;
}
/* ホバー時活性化 */
#headerWrapper .listMenuSub .menuList:hover .menuBox{
	top: 40px;
	opacity: 1;
	pointer-events: initial;
}
#headerWrapper .listMenuSub .menuBox li{
	white-space: nowrap;
	line-height: 100%;
	font-size: 1.2rem;
	border-top: 1px solid var(--clrBlack10);
	transition: all 0.3s;
}
#headerWrapper .listMenuSub .menuBox li a{
	padding: 12px 16px;
}
/* ホバー時 */
#headerWrapper .listMenuSub .menuBox li a:hover{
	color: var(--clrBase);
}
#headerWrapper .listMenuSub .menuBox li:first-of-type{
	border-top: initial;
}

/* インターンシップ エントリーボタン 共通
============================== */
#headerWrapper .listMenuFix{
	position: fixed;
	display: flex;
	height: 40px;
	line-height: 40px;
	top: 0;
	right: 40px;
	z-index: 9999;
}
#headerWrapper .btnIinternship,
#headerWrapper .btnEntry{
	width: 140px;
	color: var(--clrWhite);
	text-align: center;
	margin-right: initial;
	transition: all 0.3s;
}
#headerWrapper .btnIinternship a.btn,
#headerWrapper .btnEntry a.btn{
	color: var(--clrWhite);
}
/* インターンシップ カラー */
#headerWrapper .btnIinternship{
	background-color: var(--clrCorp);
	font-size: 1.2rem;
	right: 180px;
}
/* エントリー カラー */
#headerWrapper .btnEntry{
	background-color: var(--clrBase);
	font-family: var(--fEn);
	font-size: 1.3rem;
	font-weight: 500;
	right: 40px;
}
@media screen and (min-width:813px){
	/* インターンシップ ホバー時 */
	#headerWrapper .btnIinternship:hover{
		background-color: var(--clrCorph);
	}
	/* エントリー ホバー時 */
	#headerWrapper .btnEntry:hover{
		background-color: var(--clrBaseh);
	}
}
@media screen and (max-width:1240px){
	#headerWrapper .listMenuSub .menuList{
		display: none;
	}
}
@media screen and (max-width:812px){
	#headerWrapper .listMenuSub,
	#headerWrapper .listMenuFix{
		display: none;
	}
}

/* ヘッダーのハンバーガーメニュー
============================== */
#headerWrapper .hbgArea{
	position: fixed;
	display: none;
	width: 100%;
	height: 100%;
	background: var(--bgGrd01) rgb(255 255 255 / 0.9);
	top: 0;
	left: 0;
	overflow: auto;
}
#headerWrapper .hbgAreaIn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	min-height: 740px;
	min-width: 1200px;
}
#headerWrapper .hbgAreaIn .logo{
	position: absolute;
	top: 0;
	left: 0;
}
#headerWrapper .listMenuArea{
	width: var(--wBase);
	padding: 0 30px;
	margin: 0 auto;
}
#headerWrapper .listMenuArea .listMenu{
	display: flex;
	justify-content: center;
	gap: 40px;
}
/* タイトル */
#headerWrapper .listMenuArea .listMenu .tit{
	position: relative;
	line-height: 100%;
	font-weight: 500;
	font-size: 1.6rem;
	transition: all 0.3s;
}
/* ホバー時 */
@media screen and (min-width:813px){
	#headerWrapper .listMenuArea .listMenu .tit a:hover{
		color: var(--clrBase);
	}
}
#headerWrapper .listMenuArea .listMenu .tit::after{
	position: absolute;
	content: "";
	display: block;
	background-color: var(--clrBase);
	width: 15px;
	height: 1px;
	bottom: -10px;
}
/* リストメニュー */
#headerWrapper .listMenuArea .listMenu .list{
	display: flex;
	flex-direction: column;
	padding-top: 40px;
	gap: 2px;
}
#headerWrapper .listMenuArea .listMenu .list li{
	background-color: var(--clrWhite80);
}
#headerWrapper .listMenuArea .listMenu .list li a{
	display: block;
	font-weight: 400;
	font-size: 1.4rem;
	padding: 20px 25px;
	transition: all 0.3s;
}
@media screen and (min-width:813px){
	/* ホバー時 */
	#headerWrapper .listMenuArea .listMenu .list li a:hover{
		color: var(--clrBase);
	}
	/* pc時インターンシップとエントリー非表示 */
	#headerWrapper .listMenuArea .btnIinternship,
	#headerWrapper .listMenuArea .btnEntry{
		display: none;
	}
}

/* ハンバーガーメニューのボタン
============================== */
#headerWrapper .btnHbg{
	position: fixed;
	display: block;
	aspect-ratio: 1 / 1;
	width: 40px;
	background-color: var(--clrBlack);
	top: 0;
	right: 0;
	transition: all 0.3s;
	cursor: pointer;
	z-index: 9000;
}
#headerWrapper .btnHbg::before,
#headerWrapper .btnHbg::after{
	content: " ";
	display: block;
	width: 18px;
	height: 1px;
	background-color: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	transition: all 0.3s;
}
#headerWrapper .btnHbg::before{
	margin-top: -4px;
}
#headerWrapper .btnHbg::after{
	margin-top: 2px;
}
/* ホバー時_PCのみ */
@media screen and (min-width:813px){
	#headerWrapper .btnHbg:hover::before,
	#headerWrapper .btnHbg:hover::after{
		width: 25px;
	}
}
/* アクティブ時 */
#headerWrapper .btnHbg.jsActive::before,
#headerWrapper .btnHbg.jsActive::after{
	margin-top: 0;
}
#headerWrapper .btnHbg.jsActive::before{
	transform: translateX(-50%) rotate(45deg);
}
#headerWrapper .btnHbg.jsActive::after{
	transform: translateX(-50%) rotate(-45deg);
}

/*
	footer
-----------------------------------------------------------------------------------------------*/
#footerWrapper{
	background: var(--bgFooter);
	color: var(--clrWhite);
	margin-top: auto;
	padding: 55px 0 30px;
	position: relative;
}
#footerWrapper a{
	color: var(--clrWhite);
}
/* ホバー時 */
@media screen and (min-width:813px){
	#footerWrapper a:hover{
		opacity: 0.8;
	}
}
#footerWrapper .inBox{
	width: var(--wBase);
	padding: 0 30px;
	margin: 0 auto;
}

/* フッターロゴ
============================== */
#footerWrapper .logo{
	display: block;
	width: fit-content;
}
#footerWrapper .logo:hover{
	opacity: 0.7;
}

/* フッターリストメニュー
============================== */
#footerWrapper .listMenuArea{
	width: var(--wBase);
	padding: 0 30px;
	margin: 0 auto;
}
#footerWrapper .listMenu{
	display: flex;
	justify-content: space-between;
	margin: auto;
	padding-top: 50px;
	padding-right: 150px; /* インターンシップ非活性の調整 */
}
#footerWrapper .listMenu .tit{
	line-height: 100%;
}
#footerWrapper .listMenu .list{
	display: flex;
	flex-direction: column;
	font-weight: 300;
	font-size: 85%;
	padding-left: 1.2em;
	padding-top: 15px;
	gap: 6px;
}
/* ホバー時 */
@media screen and (min-width:813px){
	#footerWrapper .listMenu .list a:hover{
		opacity: 0.8;
	}
}

/* フッター下部
============================== */
#footerWrapper .btmArea{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 80px 30px 0;
	padding-top: 15px;
	border-top: 1px solid var(--clrWhite40);
}

/* コピーライト
============================== */
#footerWrapper .copyright{
	font-size: 1.1rem;
	line-height: 100%;
}

/*
	共通kvエリア  commonKvArea
-----------------------------------------------------------------------------------------------*/
#commonKvArea .kvIn {
	height: 21.15vw;
	min-height: 300px;
}

/* タイトルエリア
============================== */
/* タイトル */
#commonKvArea .kvIn .tit{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: var(--clrWhite);
	font-weight: 500;
	font-size: 4.0rem;
	letter-spacing: 0.4rem;
}
#commonKvArea .kvIn .tit .main{
	filter: var(--shadowtitcmn);
}
/* 英字 */
#commonKvArea .kvIn .tit .en{
	position: relative;
	color: var(--clrBase);
	font-family: var(--fEn);
	font-weight: 800;
	font-size: 1.8rem;
	letter-spacing: 0.2rem;
	filter: var(--shadowtitcmnEn);
}
/* 英字の横棒 */
#commonKvArea .kvIn .tit .en::before,
#commonKvArea .kvIn .tit .en::after{
	position: absolute;
	content: "";
	display: block;
	background-color: var(--clrBase);
	width: 15px;
	height: 1px;
	top: 50%;
	transform: translateY(-50%);
	filter: var(--shadowtitcmnEn);
}
#commonKvArea .kvIn .tit .en::before{
	left: -20px;
}
#commonKvArea .kvIn .tit .en::after{
	right: -20px;
}

/* サイズL
============================== */
#commonKvAreaL .kvIn {
	width: var(--w1100);
	height: 47.15vw;
	min-height: 660px;
	margin: 0 auto;
	padding: 0 30px;
}
/* タイトルエリア */
#commonKvAreaL .kvIn .titArea{
	display: flex;
	justify-content: center;
	flex-direction: column;
	height: 100%;
	gap: 30px;
	padding-top: 80px;
}
/* タイトル黒帯文字 */
#commonKvAreaL .kvIn .titArea .txtBack span{
	line-height: 200%;
}

/* パンくず
============================== */
#olistPan{
	position: absolute;
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	line-height: 100%;
	top: 60px;
	right: 30px;
	z-index: 100;
}
#olistPan li{
	position:relative;
	padding:0 20px 0 0;
}
#olistPan li:nth-last-of-type(n+2)::after{
	content:' ';
	display:block;
	width:6px;
	height:6px;
	border-top:1px solid var(--clrBlack60);
	border-right:1px solid var(--clrBlack60);
	position:absolute;
	top:50%;
	right:9px;
	transform:translateY(-50%) rotate(45deg);
}
#olistPan li:last-of-type{
	padding:0;
}
#olistPan li a{
	color:var(--clrBlack80);
}
#olistPan li a:hover{
	color:var(--clrBlack60);
}
#olistPan li:last-of-type a,
#olistPan li.none a{
	text-decoration:none;
	pointer-events:none;
}
/* 白文字にする場合.white */
#olistPan.white li:nth-last-of-type(n+2)::after{
	border-top:1px solid var(--clrWhite60);
	border-right:1px solid var(--clrWhite60);
}
#olistPan.white li a{
	color: var(--clrWhite80);
}
#olistPan.white li a:hover{
	color: var(--clrWhite60);
}

/* リードボックス
============================== */
[class *= "leadTxtBox"]{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-bottom: 100px;
}
[class *= "leadTxtBox"] .tit{
	margin-bottom: 40px;
	filter: drop-shadow(6px 6px 0 rgb(0 0 0 / 0.2));
}
[class *= "leadTxtBox"] .tit span{
	font-size: 3.2rem;
	font-weight: 800;
	line-height: 100%;
}
[class *= "leadTxtBox"] .txt{
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 200%;
	text-align: center;
}

/* ライン付き見出しタイトル
============================== */
[class *= "catchBaseLine"]{
	position: relative;
	font-weight: 700;
	color: var(--clrBase);
	font-size: 3.0rem;
	z-index: 1;
}
/* アンダーライン */
[class *= "catchBaseLine"]::after{
	position: absolute;
	content: "";
	display: block;
	background-color: var(--clrBlack);
	width: 0;
	height: 1px;
	bottom: -7px;
	left: 0;
	transition: all 0.3s;
}
/* アニメーション タイトル */
.titArea.jsAnm.jsAnmStart .tit{
	opacity: 0;
	animation: anmFadeIn 1.8s ease 1.3s forwards;
}
/* アニメーション アンダーライン */
.titArea.jsAnm.jsAnmStart .catchBaseLine::after{
	opacity: 0;
	animation: anmLine100vw 2.0s ease 0.8s forwards;
}

/* 英文字 */
[class *= "catchBaseLine"] .catchBase{
	bottom: -7px;
	right: calc((50% - 50vw) + 20px);
	z-index: -1;
}


/* 扉ページ共通パーツ
============================== */
.indexPage .ctsArea{
	width: var(--w1100);
	padding-top: 220px;
}
.indexPage .titArea{
	margin-bottom: 100px;
}
/* リスト */
.indexPage .list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 70px;
}
.indexPage .list li{
	width: calc((100% - 140px) / 3);
}
.indexPage .catchBaseLine{
	color: var(--clrBlack);
	font-size: 2.2rem;
	text-align: right;
}
.indexPage .catchBaseLine::after{
	background-color: var(--clrBase);
}
.indexPage .catchBaseLine .catchBase{
	bottom: -37px;
	left: 0;
	right: initial;
}
.indexPage .list .img{
	position: relative;
	filter: var(--shadow);
	transition: all 0.3s;
}
/* ホバー時に青色の乗算 */
.indexPage .list .img::after{
	position: absolute;
	content: " ";
	display: block;
	background: var(--clrBase30);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 5;
	opacity: 0;
	transition: all 0.3s;
}
/* ホバー時 */
@media print,screen and (min-width:813px){
	.indexPage .list li:hover .img{
		filter: none;
	}
	.indexPage .list li:hover .img::after{
		opacity: 01;
	}
}
/* タイトル */
.indexPage .list .tit{
	position: absolute;
	bottom: -13px;
	left: -15px;
}
.indexPage .list .tit span{
	position: relative;
	font-size: 1.5rem;
	letter-spacing: 0.3rem;
	z-index: 50;
}
/* 三角 */
.indexPage .list .tit span::after,
.indexPage .list .tit span::before{
	position: absolute;
	content: ' ';
	display: block;
}
.indexPage .list .tit span::after{
	background-color: #646464;
	width: 35px;
	height: 35px;
	bottom: 0;
	right: -35px;
	transition: all 0.3s;
}
/* ホバー時 */
@media print,screen and (min-width:813px){
	.indexPage .list li:hover .tit span::after{
		background-color: var(--clrBase);
	}
}
.indexPage .list .tit span::before{
	width: 8px;
	height: 8px;
	border-top: 1px solid var(--clrBlack);
	border-right: 1px solid var(--clrBlack);
	bottom: 5px;
	right: -25px;
	transform: translateY(-50%) rotate(90deg);
	z-index: 1;
}
.indexPage .list .txt{
	font-weight: 600;
	line-height: 160%;
	margin-top: 30px;
}
.indexPage .list .year{
	display: block;
	font-size: 1.2rem;
	padding-top: 4px;
}
@media print,screen and (min-width:813px){
	/* アニメーション  ずらし */
	.indexPage .list li:nth-of-type(2){
		animation: anmFadeUp 1s ease 0.9s forwards;
	}
	.indexPage .list li:nth-of-type(3){
		animation: anmFadeUp 1s ease 1.1s forwards;
	}
	.indexPage .list li:nth-of-type(4){
		animation: anmFadeUp 1s ease 1.3s forwards;
	}
	.indexPage .list li:nth-of-type(5){
		animation: anmFadeUp 1s ease 1.5s forwards;
	}
	.indexPage .list li:nth-of-type(6){
		animation: anmFadeUp 1s ease 1.7s forwards;
	}
}

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

	/*
		common
	-----------------------------------------------------------------------------------------------*/
	:root{
	/* width */
		--wBase: 100%;
		--w1100: 100%;
		--w800:  100%;
	}

	/* ctsArea */
	.ctsArea{
		max-width: 500px;
		padding: 40px 20px;
	}

	.toptitArea{
		margin-bottom: 30px;
		align-items: initial;
	}
	.toptitArea .tit{
		font-size: 1.8rem;
		text-align: left;
	}
	.toptitArea .titSub {
		font-size: 1.8rem;
		text-align: justify;
		line-height: 160%;
	}
	.toptitArea .txt{
		font-size: 1.5rem;
		text-align: left;
		line-height: 170%;
	}

	/* btn */
	.btnArea{
		margin: 20px auto 0;
	}
	a[class *= btnBase]{
		min-width: initial;
		padding: 15px 50px 15px 40px;
	}

	/* tblBase */
	[class *= "tblBase"] tbody tr > *{
		padding: 20px;
	}
	[class *= "tblBase"] tbody th{
		width: 250px;
	}
	
	/* commonKvWrapper */
	#commonKvWrapper {
		height: 100%;
		margin-bottom: 40px;
		padding: 35px 20px;
	}
	#commonKvWrapper .kvIn{
		height: auto;
		min-height: 120px;
	}
	#commonKvWrapper .kvIn .tit{
		font-size: 2.4rem;
		line-height: 170%;
	}

	/* 英文字キャッチベース
	============================== */
	/* 基本ボックス（画像左側） */
	.bgCath{
		flex-direction: column;
		gap: 20px;
	}
	.catchBase{
		width: fit-content;
		height: 48px;
		top: -80px;
		right: 10px;
	}

	/* 画像右側 */
	.bgCath.phRight .catchBase{
		left: 10px;
	}
	.bgCath.phRight .txtBack{
		right: -20px;
	}

	/* 画像中央 */
	.bgCath.phCenter{
		justify-content: flex-end;
		padding: 80px 30px 60px;
	}
	.bgCath.phCenter .txtBack{
		top: -20px;
		right: 0;
	}
	.bgCath.phCenter .txtBack span{
		font-size: 2.0rem;
		line-height: 80%;
		padding: 10px;
	}
	.bgCath.phCenter .txtBox{
		padding-bottom: initial;
	}

	/* 文字背景帯_黒
	============================== */
	[class *= "txtBack"] span{
		font-size: 1.8rem;
		padding: 5px 8px 5px 8px;
	}
	[class *= "txtBack"] .name span {
		font-size: 2.2rem;
	}
	[class *= "txtBack"] .job span {
		font-size: 1.2rem;
	}

	/* 基本テキストボックス
	============================== */
	[class *= "txtBox"] .tit{
		font-size: 2.0rem;
		letter-spacing: 0.2rem;
	}

	/* 役職・名前が入ったボックス
	============================== */
	/* 名前 */
	span[class *= "name"]{
		font-size: 2.0rem;
	}
	/* イニシャル */
	span[class *= "name"].en{
		font-size: 3.0rem;
	}

	/* メッセージ動画のボタン
	============================== */
	.messageMovieBox{
		width: calc(50% - 15px);
		height: 100%;
	}

	/* commonKVの黒帯付き文字
	============================== */
	#commonKvArea .kvIn {
		height: 13.3vw;
		min-height: 520px;
		padding: 0 20px;
	}
	/* タイトルエリア */
	#commonKvArea .kvIn .titArea{
		gap: 20px;
		padding-top: 40px;
	}
	/* タイトル */
	#commonKvArea .kvIn .titArea .txtBack span{
		font-size: 2.4rem;
	}

	/* テーブルベース
	============================== */
	.tbl th,
	.tbl td{
		display: inline-block;
		padding: 20px;
	}
	.tbl th{
		width: 100%;
	}

	/* ヒストリーエリア
	============================== */
	#historyArea .list{
		gap: 30px;
	}
	#historyArea .list li{
		flex-direction: column;
		gap: 8px;
		padding-left: 50px;
	}
	/* 線と丸 */
	#historyArea .list li::before,
	#historyArea .list li::after{
		top: 8px;
	}
	/* 線 */
	#historyArea .list li::before{
		left: 17px;
	}
	/* 丸 */
	#historyArea .list li::after{
		left: 10px;
	}
	/* 年 */
	#historyArea .list .year{
		font-size: 3.0rem;
	}
	#historyArea .list .txt::after{
		width: 15px;
		top: 17px;
		left: 25px;
	}

	/* 用語集ボタン  モーダルボタン
	============================== */
	#glossaryBtn{
		width: 34px;
		height: 140px;
		font-size: 1.5rem;
		line-height: 34px;
		padding-top: 18px;
	}
	#glossaryBtn::after{
		width: 16px;
		height: 10px;
		top: 25px;
	}
	/* 用語集ボタン  モーダル中身
	============================== */
	#modalGlossary .modal .inner {
		width: calc(100% - 40px);
		max-width: 500px;
		height: auto;
		top: 30px;
		margin-bottom: 200px;
	}
	#modalGlossary .tbl tr{
		width: 100%;
	}
	#modalGlossary .tbl th{
		font-size: 1.8rem;
		padding: 18px 20px 15px 45px;
	}
	#modalGlossary .tbl th::after {
		top: 24px;
		left: 15px;
	}
	#modalGlossary .tbl td{
		font-size: 1.3rem;
		line-height: 150%;
		padding: 10px 15px 18px;
	}

	/*
		headerWrapper
	-----------------------------------------------------------------------------------------------*/
	/* ヘッダーロゴ
	============================== */
	#headerWrapper .logo{
		width: 200px;
	}

	/* ヘッダーのハンバーガーメニュー
	============================== */
	#headerWrapper .hbgArea{
		height: 100%;
	}
	#headerWrapper .hbgAreaIn{
		justify-content: start;
		min-width: initial;
		min-height: initial;
	}
	#headerWrapper .listMenuArea{
		width: 100%;
		max-width: 500px;
		padding: 120px 30px 220px;
	}
	#headerWrapper .listMenuArea .listMenu{
		position: relative;
		flex-direction: column;
	}
	/* タイトル */
	#headerWrapper .listMenuArea .listMenu .tit{
		font-size: 1.8rem;
	}
	/* リストメニュー */
	#headerWrapper .listMenuArea .listMenu .list{
		padding-top: 30px;
	}

	/* ハンバーガーメニューのボタン
	============================== */
	#headerWrapper .btnHbg{
		width: 55px;
	}

	/* インターンシップ エントリーボタン 共通
	============================== */
	#headerWrapper .btnIinternship,
	#headerWrapper .btnEntry{
		position: absolute;
		width: calc(50% + 30px);
		height: 60px;
		line-height: 60px;
		bottom: -100px;
	}
	#headerWrapper .btnIinternship a.btn,
	#headerWrapper .btnEntry a.btn{
		color: var(--clrWhite);
	}
	/* インターンシップ カラー */
	#headerWrapper .btnIinternship{
		left: -30px;
	}
	/* エントリー カラー */
	#headerWrapper .btnEntry{
		right: -30px;
	}

	
	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footerWrapper{
		padding-top: 30px;
	}
	#footerWrapper .topArea{
		width: 100%;
		padding: initial;
	}
	/* listMenu */
	#footerWrapper .listMenu{
		display: none;
	}
	/* フッターロゴ
	============================== */
	#footerWrapper .logo{
		width: 45%;
		max-width: 200px;
		margin: 0 auto;
	}

	/* フッター下部
	============================== */
	#footerWrapper .btmArea{
		flex-direction: column;
		gap: 10px;
		margin: 30px 10px 0;
		padding-top: 20px;
	}

	/* コピーライト
	============================== */
	#footerWrapper .copyright{
		text-align: center;
		line-height: 160%;
	}

	/* リードボックス
	============================== */
	.leadTxtBox{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: var(--w800);
		text-align: justify;
		font-size: 1.6rem;
		margin: 0 auto;
		padding: 40px 0 60px;
	}

	/* ライン付き見出しタイトル
	============================== */
	[class *= "catchBaseLine"]{
		font-size: 2.2rem;
	}
	/* アンダーライン */
	[class *= "catchBaseLine"]::after{
		width: calc(100vw + 100px);
		min-width: initial;
		bottom: -7px;
	}
	/* 英文字 */
	[class *= "catchBaseLine"] .catchBase{
		bottom: -7px;
		right: calc((50% - 50vw) + 20px);
		z-index: -1;
	}


	/*
		共通kvエリア  commonKvArea
	-----------------------------------------------------------------------------------------------*/
	#commonKvArea .kvIn {
		height: 51.28vw;
		min-height: 200px;
	}
	/* タイトル */
	#commonKvArea .kvIn .tit{
		font-size: 2.6rem;
		padding-top: 15vw;
	}
	/* 英字 */
	#commonKvArea .kvIn .tit .en{
		font-size: 1.4rem;
	}
	/* パンくず
	============================== */
	#olistPan{
		display: none;
	}
	/* リードボックス
	============================== */
	[class *= "leadTxtBox"]{
		width: 100%;
		padding: 0 0 40px;
	}
	[class *= "leadTxtBox"] .tit{
		margin-bottom: 20px;
	}
	[class *= "leadTxtBox"] .tit span{
		font-size: 2.0rem;
	}
	[class *= "leadTxtBox"] .txt{
		font-size: 1.5rem;
		line-height: 170%;
		text-align: justify;
	}
	/* サイズL
	============================== */
	#commonKvAreaL .kvIn{
		height: 87.18vw;
		min-height: 340px;
		padding: 0 20px;
	}
	/* タイトルエリア */
	#commonKvAreaL .kvIn .titArea{
		gap: 20px;
		padding-top: 40px;
	}
	/* タイトル黒帯文字 */
	#commonKvAreaL .kvIn .txtBack span{
		font-size: 2.4rem;
	}
	@media screen and (orientation: landscape) and (max-width: 768px){
		/* スマホ横向きだけに適用されるCSS */
		#commonKvAreaL .kvIn .txtBack br.sp{
			display: none;
		}
	}
	/* 扉ページ共通パーツ
	============================== */
	.indexPage .ctsArea{
		padding-top: 160px;
	}
	.indexPage .titArea{
		margin-bottom: 40px;
	}
	/* リスト */
	.indexPage .list{
		gap: 40px 0;
	}
	.indexPage .list li{
		width: 100%;
	}
	.indexPage .catchBaseLine{
		font-size: 1.8rem;
		text-align: right;
	}
	.indexPage .catchBaseLine::after{
		bottom: 35px;
	}
	.indexPage .catchBaseLine .catchBase{
		width: fit-content;
		height: 65px;
		bottom: 20px;
		left: 0;
		right: initial;
		top: initial;
	}
	.indexPage .list .tit span{
		left: -5px;
	}
	.indexPage .list .tit span::after{
		width: 30px;
		height: 30px;
		bottom: 0;
		right: -30px;
	}
	.indexPage .list .tit span::before{
		width: 5px;
		height: 5px;
		bottom: 4px;
		right: -24px;
	}
}

/* 一時的にリンクボタンを押せなくしてます */
.listMenu li:nth-of-type(1) .tit,
.listMenu li:nth-of-type(3) .tit,
.listMenu li:nth-of-type(4) .tit,
.listMenuSub li:nth-of-type(1) .tit,
.listMenuSub li:nth-of-type(3) .tit,
.listMenuSub li:nth-of-type(4) .tit,
.personalityPage #olistPan li:nth-of-type(2) a,
.guidelinePage #olistPan li:nth-of-type(2) a,
.faqPage #olistPan li:nth-of-type(2) a,
.workstylePage #olistPan li:nth-of-type(2) a,
.education_benefitsPage #olistPan li:nth-of-type(2) a,
.top_messagePage #olistPan li:nth-of-type(2) a,
.outlinePage #olistPan li:nth-of-type(2) a,
.businessPage #olistPan li:nth-of-type(2) a{
	pointer-events: none;
}