@charset "utf-8";

/* A-5 完全アイソレート方針の配下（interview 4ページ専用シート）。
   裸要素セレクタを足す/触るときは必ず「:where(.l-legacy) 要素」で書く
   （素朴な .l-legacy prefix は特異度インフレで legacy クラス規則を壊す）。
   規約のフル解説＝recruit-legacy/css/common.css 冒頭コメント参照。
   編集後は interview 4ページの <link ?v=> を md5 先頭8桁で手動 bump。 */

/*------------------------------*/
/* STYLE */
/*------------------------------*/

html {
	overflow: auto;
}

body {
	overflow-x: hidden;
	min-width: 1180px;
	position: relative;
}

#gHeader {
	background: url(../img/common/h_shadow02.png) repeat-x top left;
}

#gHeader ul li .here {
    padding-right: 0;
}

#main {
	text-align: left;
}

#main #mv {
	width: 100%;
	height: 553px;
	position: relative;
	margin-top: -17px;
}

#main #mv h1 {
	width: 1108px;
    margin: 0px auto;
    letter-spacing: 3.2px;
    font-size: 2.8em;
    font-weight: lighter;
    color: #333333;
    padding-top: 160px;
    line-height: 2.0;	
}

.en #main #mv h1 {
    width: 848px;
    padding-top: 145px;
    padding-right: 250px;
	letter-spacing: 0;
    line-height: 2.0;
}

#main.interview02 #mv h1 {
	padding-top: 192px;
}

#main.interview02 .box04 {
	margin-bottom: 120px;
}

#main.interview03 #mv h1 {
	padding-top: 183px;
}

#main.interview04 #mv h1 {
	padding-top: 183px;
}

#main.interview05 #mv h1 {
	padding-top: 183px;
}

#main.interview06 #mv h1 {
	padding-top: 183px;
}

#main.interview07 #mv h1 {
	padding-top: 183px;
}

#main.interview03 .box04 {
	margin-bottom: 120px;
}

#main.interview04 .box04 {
	margin-bottom: 120px;
}

#main.interview05 .box04 {
	margin-bottom: 120px;
}

#main.interview06 .box04 {
	margin-bottom: 120px;
}

#main.interview07 .box04 {
	margin-bottom: 120px;
}

#main #mv h1 span {
    font-size: 18px;
	display: block;
	padding-top: 52px;
}

#main #mv h1 span .interview-date {
	font-size: 14px;
}

.gray {
	color: #333333;
	font-weight: lighter;
}

#main.interview01 #mv {
	background: url(../img/recruit/interview/interview01_main_pc.jpg) no-repeat top center;
}

#main.interview02 #mv {
	background: url(../img/recruit/interview/interview02_main_pc.jpg) no-repeat top center;
}

#main.interview03 #mv {
	background: url(../img/recruit/interview/interview03_main_pc.jpg) no-repeat top center;
}

#main.interview04 #mv {
	background: url(../img/recruit/interview/interview04_main_pc.jpg) no-repeat top center;
}

#main.interview05 #mv {
	background: url(../img/recruit/interview/interview05_main_pc.jpg) no-repeat top center;
}

#main.interview06 #mv {
	background: url(../img/recruit/interview/interview06_main_pc.jpg) no-repeat top center;
}

#main.interview07 #mv {
	background: url(../img/recruit/interview/interview07_main_pc.jpg) no-repeat top center;
}

#main .cont {
	width: 1108px;
	margin: 0 auto;
}

#main .cont .letter_body {
	color: #31407F;
	font-size: 15px;
	line-height: 1.6;
}

#main .cont .letter_body {
    letter-spacing: -0.01em;
}

#main .cont .letter_body span {
	font-weight: bold;
}

#main .cont .box01 {
	font-size: 16px;
	color: #444444;
	font-weight: bold;
	line-height: 1.7;
	margin: 60px 0 80px;
}

#main .cont .box01 span{
	font-size: 14px;
}

#main .cont .box01 a{
	color: #31407F;
}

#main .cont .left {
	float: left;
}

#main .cont .right {
	float: right;
}

#main .cont .box02 {
	position: relative;
    z-index: 30;
}

.en #main .cont .box02 .text {
	width: 560px;
}

#main .cont .box03 {
    background: #EDF1F5;
    padding: 110px 500% 300px;
    margin-top: -85px;
}

.en #main .cont .box04 .text {
	    width: 590px;
}

#main .cont .box04 {
	padding-top: 70px;
	margin-top: -305px;
}

#main .cont .box05 {
	padding-top: 82px;
}

.en #main .cont .box05 .text {
	width: 580px;
}

#main .cont .box06 {
	background: url(../img/recruit/interview/interview01_img04.jpg) no-repeat bottom center #CBD0CE;
	padding-top: 80px;
    padding-bottom: 66px;
    margin-top: 80px;
}

#main .cont .box06 .letter_body span{
	font-size: 14px;
}

#main .cont .box06 .letter_body a{
	color: #31407F;
}

#main .cont .box07 {
	background: #EDF1F5;
	padding: 70px;
	margin: 80px 0 60px;
}

#main .cont .other li {
	float: left;
	margin-right: 16px;
	margin: 10px 8px 130px;
}

#main .cont .other li:hover {
	background: #EDF1F5;
}

#main .cont .other li:last-child {
	padding-right: 30px;
}

#main .cont .other .text {
	font-size: 18px;
	color: #313F7F;
	font-weight: bold;
	padding: 17px 0 0 13px;
}

.en #main .cont .other .text {
    font-size: 16px;
    letter-spacing: -0.03em;
}

#main .cont .other .text span {
	font-size: 13px;
	display: block;
}

.en #main .cont .other .text span {
    font-size: 11px;
    line-height: 1.0;
    margin-bottom: 6px;
}

.max {
	width: 100%;
	margin: 0 -500%;
	padding: 0 500%;
}

:where(.l-legacy) h3 {
	font-size: 18px;
	color: #444444;
	padding-bottom: 30px;
}

/* 2026-07-07 タイプA: interview01 のはみ出し是正（文言不変・微詰め）。
   ・ヒーロー1行目「…開発者へ」が背景写真の窓に掛かる → 字間/語間を詰めて左へ。
   ・本文 box01 の「…でしょうか。」の「か。」が1行溢れ → 字間を詰めて1行に収める。
   共有ルール(#main #mv h1 / .box01)は他 interview へ波及するため interview01 のみへスコープ。
   モバイル(≤767px)は別の letter-spacing 指定があるため desktop 限定(min-width:768px)。 */
@media (min-width: 768px) {
	#main.interview01 #mv h1 {
		letter-spacing: 0.8px;
		word-spacing: -6px;
	}
	#main.interview01 .cont .box01 {
		letter-spacing: -0.02em;
	}
}


@media screen and (max-width: 1240px) {
	
}


@media all and (min-width: 0) and (max-width: 767px) {
	
	body {
		min-width: auto;
	}
	
	#main #mv {
		height: auto;
	}
	
	#main.interview01 #mv {
		background: url(../img/recruit/interview/interview01_main_sp.jpg) no-repeat center bottom #DDE1E4;
		background-size: 100%;
	}
	
	#main.interview02 #mv {
		background: url(../img/recruit/interview/interview02_main_sp.jpg) no-repeat center bottom #DDE1E4;
		background-size: 100%;
	}
	
	#main.interview03 #mv {
		background: url(../img/recruit/interview/interview03_main_sp.jpg) no-repeat center bottom #ced5db;
		background-size: 100%;
	}
	
	#main.interview04 #mv {
		background: url(../img/recruit/interview/interview04_main_sp.jpg) no-repeat center bottom #ced5db;
		background-size: 100%;
	}
	
	#main.interview05 #mv {
		background: url(../img/recruit/interview/interview05_main_sp.jpg) no-repeat center bottom #d7dce0;
		background-size: 100%;
	}

		#main.interview06 #mv {
		background: url(../img/recruit/interview/interview06_main_sp.jpg) no-repeat center bottom #d7dce0;
		background-size: 100%;
	}

		#main.interview07 #mv {
		background: url(../img/recruit/interview/interview07_main_sp.jpg) no-repeat center bottom #d7dce0;
		background-size: 100%;
	}
	
	#main.interview02 #mv h1 {
		padding-top: 105px;
	}
	
	#main.interview03 #mv h1 {
		padding-top: 114px;
	}
	
	#main.interview04 #mv h1 {
		padding-top: 83px;
	}
	
	#main.interview05 #mv h1 {
		padding-top: 63px;
		letter-spacing: 0.3px;
		line-height: 1.6;
	}

	#main.interview06 #mv h1 {
		padding-top: 83px;
	}

	#main.interview07 #mv h1 {
		padding-top: 83px;
	}
	
	#main #mv {
		margin-top: -19px;
	}
	
	#main #mv h1 {
		width: auto;
		font-size: 1.4em !important;
		line-height: 1.7;
		letter-spacing: 1.8px;
		margin: 0 27px;
		padding: 106px 0 78px;
	}
	
	.en #main #mv h1 {
		width: auto;
		padding-top: 95px;
		padding-right: 20%;
		letter-spacing: -0.02em;
		line-height: 1.5;
	}
	
	#main #mv h1 span {
		font-size: 0.8em !important;
		display: block;
		padding-top: 35px;
	}

	#main #mv h1 span .interview-date {
		font-size: 0.5em !important;
	}
	
	#main .cont {
		width: auto;
		margin: 0 20px;
	}
	
	#main .cont .box01 {
		font-size: 16px; /* 2026-07-07 デザイナー指定: mobile本文の最小をCompany同等16pxへ（旧1.2em=14.4px） */
		margin: 37px 0 40px;
	}

	
	#main .cont .box02 .photo {
		margin: 0 50px 27px -20px;
	}
	
	#main .cont .letter_body {
		font-size: 16px; /* 2026-07-07 デザイナー指定: mobile本文の最小をCompany同等16pxへ（旧1.2em=14.4px） */
		line-height: 1.6;
	}
	
	:where(.l-legacy) h3 {
		font-size: 1.5em;
		padding-bottom: 18px;
	}
	
	.en #main .cont .box02 .text {
			width: auto;
	}
	
	#main .cont .box03 {
		padding: 127px 500% 920px;
	}
	
	#main .cont .box04 {
		padding-top: 42px;
		margin-top: -928px;
	}
	
	#main .cont .box04 .photo {
		margin: 32px -20px 0 40px;
	}
	
	.en #main .cont .box04 .text {
	    width: auto;
	}
	
	#main .cont .box05 {
		padding-top: 52px;
	}
	
	.en #main .cont .box05 .text {
	    width: auto;
	}
	
	#main .cont .box05 .photo {
		margin: 0 -20px 0 -20px;
	}
	
	#main .cont .box05 .text {
		margin-bottom: 50px;
	}
	
	#main .cont .box06 {
		background: url(../img/recruit/interview/interview01_img04_sp.jpg) no-repeat bottom center #CBCFCE;
		padding-top: 40px;
		padding-bottom: 276px;
		margin-top: 0;
		background-size: 13%;
	}
	
	#main .cont .box07 {
		padding: 30px;
		margin: 40px 0 60px;
	}
	
	#main .cont .other li {
		float: none;
		margin-right: 16px;
		margin: 10px 4px 18px;
	}
	
	#main.interview02 .cont .box03 {
		padding: 127px 500% 610px;
	}
	
	#main.interview02 .cont .box04 {
		padding-top: 42px;
		margin-top: -618px;
	}
	
	#main.interview03 .cont .box03 {
		padding: 127px 500% 570px;
	}
	
	#main.interview03 .cont .box04 {
		padding-top: 42px;
		margin-top: -568px;
	}
	
	#main.interview04 .cont .box03 {
		padding: 127px 500% 650px;
	}
	
	#main.interview04 .cont .box04 {
		padding-top: 42px;
		margin-top: -658px;
	}
	
	#main.interview05 .cont .box03 {
		padding: 127px 500% 481px;
	}
	
	#main.interview05 .cont .box04 {
		padding-top: 42px;
		margin-top: -468px;
	}


}

@media all and (min-width: 0) and (max-width: 321px) {
}

/* ===== 追加(移植時): タブレット帯(768〜1107px)の横スクロール是正 =====
   旧デザインは <=767 で流動化／>=1108 で固定1108がフィット。間の 768-1107 は
   #container min-width:1180 と .cont 固定1108 でviewportを超え横スクロールしていた
   （現行サイトも同挙動だが、新サイトは全幅レスポンシブのため是正）。
   この帯だけ .cont を流動化しフロートを縦積み・画像は自然サイズ上限(100%)で非拡大。 */
@media (min-width: 768px) and (max-width: 1107px) {
  html, body { min-width: 0; }
  #container { min-width: 0; }
  #main #mv h1 { width: auto; max-width: 100%; box-sizing: border-box; padding-left: 5%; padding-right: 5%; }
  #main .cont { width: auto; max-width: 1108px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
  #main .cont .box02, #main .cont .box04, #main .cont .box05 { display: block; }
  #main .cont .photo, #main .cont .text { float: none !important; width: auto !important; }
  #main .cont .photo { text-align: center; margin: 24px 0; }
  #main .cont .photo.sp { display: none; }       /* SP専用画像はこの帯では出さない（PC版を使用） */
  #main .cont .photo img { max-width: 100%; height: auto; }
}
