@charset "utf-8";
/* xas 採用サイト（header-xas.php を使うページ共通） Bootstrap 3 のグリッドを前提 */
.xas-recruit{
	--xas-green:#8cb90a;
	--xas-gray:#808080;
	--xas-blue:#5f7a94;
	--xas-font-en:'Orbitron','Noto Sans JP',sans-serif;
	font-family:'Noto Sans JP',sans-serif;
}
.xas-page{ margin:0; }
.xas-content{ margin:0; }
.xas-content a{ text-decoration:none; }

/* header */
.xas-header-bar{ background:#fff; height:72px; border-bottom:3px solid #fff; box-sizing:content-box; position:relative; overflow:hidden; }
/* 緑は「画面左端 〜 container右端」。container外の右側は白 */
.xas-header-inner{ position:relative; height:100%; background:var(--xas-green); }
.xas-header-fill{ position:absolute; top:0; bottom:0; right:100%; width:100vw; background:var(--xas-green); }
.xas-logo{ position:absolute; left:15px; top:0; height:72px; width:257px; background:#fff; margin:0; }
.xas-logo a{ display:flex; align-items:center; justify-content:center; height:100%; }
.xas-logo img{ height:48px; width:auto; margin-right:12px; }
.xas-logo span,
.xas-header-label{ color:var(--xas-green); font-weight:700; font-size:12px; }
.xas-header-label{ position:absolute; right:15px; bottom:20px; margin:0; color:#fff; }

/* hero */
.xas-hero{ padding:0; float:none; }
.xas-hero img{ display:block; width:100%; }

/* breadcrumb */
.xas-breadcrumb{ font-size:13px; margin:30px 0 0; }
.xas-breadcrumb a{ color:#333; }

/* section */
.xas-section{ margin-top:80px; }
.xas-hd{ margin:0; line-height:1; font-size:inherit; }
.xas-hd .en{ display:block; font-size:56px; font-weight:900; color:var(--xas-gray); letter-spacing:-1px; line-height:1; }
.xas-hd .en b{ color:var(--xas-green); font-size:70px; font-weight:900; }
.xas-hd .ja{ display:inline-block; color:var(--xas-green); font-size:16px; font-weight:400; margin-top:4px; }
.xas-company .xas-hd{ border-bottom:1px solid var(--xas-green); }
.xas-company .xas-hd .ja{ margin-bottom:2px; }

/* 見出し右へ伸びるライン（Works / Interview） */
.xas-hd-line{ position:relative; }
.xas-hd-line .ja{ position:relative; padding-right:12px; background:#fff; z-index:1; }
.xas-hd-line::after{ content:""; position:absolute; left:0; right:-15px; bottom:10px; border-bottom:1px solid var(--xas-green); }

.xas-lead{ font-size:28px; font-weight:400; margin:30px 0 10px; line-height:1.4; }
.xas-company p{ font-size:16px; line-height:1.7; margin:0; }
.xas-company .xas-more{ margin-top:12px; }
.xas-more a{ color:var(--xas-green); font-size:14px; }

/* Works */
.xas-works{ margin-top:150px; }
.xas-works-item{ display:flex; align-items:flex-end; width:100%; padding:14px 16px; color:#fff; font-size:28px; line-height:1.25; font-weight:300; position:relative; overflow:hidden; }
.xas-works-item::before{ content:""; display:block; padding-top:100%; }
.xas-works-item span{ position:absolute; left:16px; bottom:14px; z-index:1; }
.xas-works-item::after{ content:""; position:absolute; top:0; left:0; right:0; bottom:0; transition:transform .5s ease; }
.xas-works-item:hover{ color:#fff; }
/* クリック時の枠線（outline）を消す。キーボード操作時（:focus-visible）は残す */
.xas-works-item:focus:not(:focus-visible),
.xas-member:focus:not(:focus-visible){ outline:0; }
.xas-works-item:hover::after{ transform:scale(1.08); }
.xas-works-item.xas-green::after{ background:#b9d27c url(../img/xas/hojin.jpg) center/cover no-repeat; }
.xas-works-item.xas-blue::after{ background:var(--xas-blue) url(../img/xas/retail.jpg) center/cover no-repeat; }

/* Interview */
.xas-interview{ padding-bottom:130px; }
.xas-member{ display:block; color:#000; }
.xas-member:hover{ color:#000; }
.xas-member .photo{ margin:0; background:#ddd; overflow:hidden; }
.xas-member .photo img{ display:block; width:100%; transition:transform .5s ease; }
.xas-member:hover .photo img{ transform:scale(1.08); }
.xas-member .dept,
.xas-member .name{ border-left:2px solid var(--xas-green); padding-left:8px; margin:0; }
.xas-member.xas-blue .dept,
.xas-member.xas-blue .name{ border-left-color:var(--xas-blue); }
.xas-member .dept{ font-size:11px; line-height:1.3; padding-top:6px; min-height:5.5em; }
.xas-member .name{ font-size:26px; letter-spacing:.1em; line-height:1.4; white-space:nowrap; }

/* Works / Interview: 見出しをボックス上端から下げて配置（カンプ: ライン位置＝ボックス上端から約146px） */
@media screen and (min-width:992px){
	.xas-works .row > .col-md-6:first-child,
	.xas-interview .row > .col-md-6:first-child{ padding-top:54px; }
}

@media screen and (max-width:991px){
	.xas-works-item{ font-size:20px; }
	.xas-member .name{ font-size:18px; letter-spacing:0; }
}
@media screen and (max-width:767px){
	/* Works 2つ・Interview 3人のボックス間隔を半分に（30px → 15px）。外側の端は変えない */
	.xas-works .col-md-6 > .row,
	.xas-interview .col-md-6 > .row{ margin-left:-7.5px; margin-right:-7.5px; }
	.xas-works .col-md-6 > .row > [class*="col-"],
	.xas-interview .col-md-6 > .row > [class*="col-"]{ padding-left:7.5px; padding-right:7.5px; }
	.xas-header-bar{ height:48px; }
	.xas-logo{ left:15px; height:48px; width:auto; padding:0 14px; }
	.xas-logo img{ height:32px; }
	.xas-header-label{ display:none; }
	.xas-section{ margin-top:50px; }
	.xas-hd .en{ font-size:40px; }
	.xas-hd .en b{ font-size:50px; }
	.xas-hd-line::after{ right:0; }
	.xas-lead{ font-size:20px; }
	.xas-company p{ font-size:14px; }
	.xas-works{ margin-top:60px; }
	.xas-works .xas-hd,
	.xas-interview .xas-hd{ margin-bottom:20px; }
	.xas-works-item{ font-size:15px; }
	.xas-works-item span{ left:10px; bottom:10px; }
	.xas-interview{ padding-bottom:60px; }
	.xas-member .dept{ font-size:9px; }
	.xas-member .name{ font-size:13px; }
}

/* hero（下層ページ：タイトル重ね） */
.xas-hero-sub{ position:relative; }
.xas-hero-caption{ position:absolute; left:0; right:0; bottom:28px; color:#fff; text-shadow:0 0 12px rgba(0,0,0,.45); }
.xas-hero-caption h1{ margin:0; line-height:1.15; color:#fff; font-size:inherit; }
.xas-hero-caption .en{ display:block; font-size:44px; font-weight:900; }
.xas-hero-caption .ja{ display:block; font-size:56px; font-weight:300; }

/* Works 下層：事業部ブロック */
.xas-wk{ margin-top:90px; }
.xas-wk:first-of-type{ margin-top:40px; }
.xas-wk-head{ display:flex; align-items:center; margin-bottom:28px; }
.xas-wk-icon{ display:block; width:131px; height:auto; flex:none; }
.xas-sp{ display:none; }
.xas-wk-title{ margin:12px 0 0 28px; font-size:34px; font-weight:400; line-height:1.3; }
.xas-wk.xas-green .xas-wk-title{ color:var(--xas-green); }
.xas-wk.xas-blue .xas-wk-title{ color:#0b3f7a; }
.xas-wk-text p{ font-size:16px; line-height:1.9; margin:0; }
.xas-wk-photo img{ display:block; width:100%; }
.xas-backtop{ text-align:center; margin:90px 0 0; padding-bottom:80px; }
.xas-backtop a,
.xas-iv-nav .top{ font-family:var(--xas-font-en); color:var(--xas-green); font-size:22px; font-weight:700; letter-spacing:.02em; }
@media screen and (min-width:992px){
	.xas-wk-text{ width:46%; }
	.xas-wk-photo{ width:54%; }
}
@media screen and (max-width:767px){
	.xas-hero-caption{ bottom:12px; }
	.xas-hero-caption .en{ font-size:22px; }
	.xas-hero-caption .ja{ font-size:26px; }
	.xas-wk{ margin-top:50px; }
	.xas-sp{ display:inline; }
	.xas-wk-icon{ width:72px; }
	.xas-wk-title{ font-size:20px; margin-left:16px; }
	.xas-wk-photo{ margin-top:20px; }
	.xas-backtop{ margin-top:50px; padding-bottom:50px; }
}

/* Interview 下層 */
.xas-hero-iv{ overflow:hidden; }
.xas-hero-iv .xas-hero-caption{ bottom:0; text-shadow:0 0 12px rgba(0,0,0,.35); }
.xas-hero-iv .xas-hero-caption .en{ font-size:26px; font-weight:900; }
.xas-hero-iv .xas-hero-caption .ja{ font-size:40px; line-height:1.3; margin-top:6px; }
.xas-iv-profile{ display:block; width:-moz-fit-content; width:fit-content; position:relative; margin:36px 0 0 -15px; padding:14px 60px 24px 15px; background:rgba(0,0,0,.45); text-shadow:none; }
.xas-iv-profile::before{ content:""; position:absolute; top:0; bottom:0; right:100%; width:100vw; background:rgba(0,0,0,.45); }
.xas-iv-profile .dept{ font-size:16px; line-height:1.4; margin:0; }
.xas-iv-profile .name{ font-size:44px; font-weight:300; line-height:1.3; margin:2px 0 0; letter-spacing:.05em; }
.xas-iv-year{ font-size:16px; margin:22px 0 0; }

.xas-iv{ margin-top:40px; }
.xas-iv-row{ margin-bottom:50px; }
.xas-iv-hd{ margin:0 0 10px; font-size:22px; font-weight:400; line-height:1.4; color:#0b3f7a; }
.xas-iv-text p{ font-size:15px; line-height:1.8; margin:0 0 1.8em; }
.xas-iv-text .xas-iv-hd{ margin-top:24px; }
.xas-iv-text > .xas-iv-hd:first-child{ margin-top:0; }
.xas-iv-photo img{ display:block; width:100%; margin-bottom:20px; }
.xas-iv-row-rev .xas-iv-photo{ float:left; }
.xas-iv-row-rev .xas-iv-photo img + img{ margin-top:50px; } /* 写真3-4の間 = 1枚目下の余白（img 20px + row 50px）に合わせる */
.xas-iv-row-rev .xas-iv-text{ float:right; }
@media screen and (min-width:992px){
	.xas-iv-row-rev{ margin-top:90px; }
}

.xas-iv-nav{ display:flex; align-items:center; justify-content:center; margin:60px 0 0; padding-bottom:90px; }
.xas-iv-nav a{ color:#808080; }
.xas-iv-nav .prev,
.xas-iv-nav .next{ display:flex; align-items:center; }
.xas-iv-nav .txt{ display:block; }
.xas-iv-nav .dept{ display:block; font-size:10px; line-height:1.3; }
.xas-iv-nav .name{ display:block; font-size:18px; letter-spacing:.05em; line-height:1.4; }
/* 名前横のライン（外側端にドット） */
.xas-iv-nav .prev::after,
.xas-iv-nav .next::before{ content:""; flex:none; width:60px; height:5px; margin:0 16px; align-self:flex-end; margin-bottom:12px; }
.xas-iv-nav .prev::after{ background:radial-gradient(circle at 2.5px 2.5px,#808080 2.5px,transparent 3px) no-repeat left center, linear-gradient(#808080,#808080) no-repeat left center/100% 1px; }
.xas-iv-nav .next::before{ background:radial-gradient(circle at calc(100% - 2.5px) 2.5px,#808080 2.5px,transparent 3px) no-repeat right center, linear-gradient(#808080,#808080) no-repeat right center/100% 1px; }
.xas-iv-nav .top{ margin:0 10px; }

@media screen and (max-width:991px){
	.xas-iv-row-rev .xas-iv-photo,
	.xas-iv-row-rev .xas-iv-text{ float:none; }
	.xas-iv-photo img{ margin-top:10px; }
}
@media screen and (max-width:767px){
	/* 文字の可読性：画像に暗いグラデーションを重ね、見出しに縁取り影を付ける */
	.xas-hero-iv::before{ content:""; position:absolute; top:0; left:0; right:0; bottom:0; z-index:1; pointer-events:none; background:linear-gradient(to right, rgba(0,0,0,.6) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.1) 100%); }
	.xas-hero-iv .xas-hero-caption{ z-index:2; }
	.xas-hero-iv .xas-hero-caption h1{ text-shadow:0 0 6px rgba(0,0,0,.7), 0 1px 3px rgba(0,0,0,.8); }
	/* 明るい画像（早川）はモバイルのみ、他ページと同じ「暗いグラデーション＋白文字」にする */
	/* ※ PC用の .xas-hero-iv-light 指定がファイル末尾にあるため、詳細度を上げて上書きする */
	.xas-hero-iv.xas-hero-iv-light .xas-hero-caption,
	.xas-hero-iv.xas-hero-iv-light .xas-hero-caption h1{ color:#fff; text-shadow:0 0 6px rgba(0,0,0,.7), 0 1px 3px rgba(0,0,0,.8); }
	.xas-hero-iv.xas-hero-iv-light::before{ background:linear-gradient(to right, rgba(0,0,0,.45) 0%, rgba(0,0,0,.3) 60%, rgba(0,0,0,.08) 100%); }
	/* 画像が縮んで文字が収まらないため、高さを確保して左右をトリミング（被写体は右寄り） */
	.xas-hero-iv > img{ min-height:250px; object-fit:cover; object-position:right center; }
	.xas-hero-iv .xas-hero-caption .en{ font-size:16px; }
	.xas-hero-iv .xas-hero-caption .ja{ font-size:20px; }
	.xas-iv-profile{ margin-top:14px; padding:8px 24px 12px 15px; }
	.xas-iv-profile .name{ font-size:24px; }
	.xas-iv-profile .dept,
	.xas-iv-year{ font-size:12px; }
	.xas-iv-hd{ font-size:18px; }
	.xas-iv-hd .xas-pc{ display:none; } /* 見出しの手動改行はPC幅のみ */
	.xas-iv-nav{ flex-wrap:wrap; }
}

/* Interview 下層：明るいヒーロー画像（文字を濃いグレーにする） */
.xas-hero-iv-light .xas-hero-caption{ color:#666; text-shadow:none; }
.xas-hero-iv-light .xas-hero-caption h1{ color:#666; }
.xas-hero-iv-light .xas-iv-profile,
.xas-hero-iv-light .xas-iv-profile::before{ background:rgba(60,60,60,.85); }
.xas-hero-iv-light .xas-iv-profile{ color:#fff; }
.xas-hero-iv-light .xas-iv-year{ color:#fff; }
