@charset "UTF-8"; /* .font-size-SSS { font-size: clamp(1.1rem, calc(0.9rem + 0.625vw), 1.3rem); } .font-size-SS { font-size: clamp(1.4rem,1.6vw, 1.8rem); } .font-size { font-size: clamp(1.6rem,1.8vw, 2rem); } .font-size-S { font-size: clamp(1.8rem,2vw, 2.4rem); } .font-size-M { font-size: clamp(2rem, 2.4vw, 3.2rem); } .font-size-L { font-size: clamp(2.4rem, 3vw, 3.6rem); } .font-size-LL { font-size: clamp(3.2rem, 4vw, 4rem); } .font-size-LLL { font-size: clamp(3.6rem, 5vw, 6rem); } .font-size-max { font-size: clamp(4rem, 7vw, 8rem); } */ @media print, screen and (min-width: 768px) { .sp { display: none !important; } } @media screen and (max-width: 767px) { .pc { display: none !important; } } @media screen and (max-width: 767px) { html { font-family: "Noto Sans JP", sans-serif; } } body { font-family: 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, 'Arial', sans-serif; color: #333; /*font-size: 1.6rem;*/ font-size: clamp(1.6rem,1.8vw, 1.8rem); letter-spacing: 0.05em; line-height: 2; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%; word-wrap: break-word; background: #f3f3f3; } @media screen and (max-width: 767px) { body { font-size: 1.4rem; } } a { color: var(--color-default); text-decoration: none; outline: none; } ul,ol,li{ margin: 0; padding: 0; list-style: none; } img { max-width: 100%; height: auto; vertical-align: top; -webkit-backface-visibility: hidden; } h2 { position: relative; color: #1a005d; color:/*NXネイビーブルー*/rgba(26, 0, 93, 1); text-transform: uppercase; font-weight: 800; line-height: 1.5; font-size: clamp(3.2rem, 4vw, 4rem); letter-spacing: -0.05em; padding: 0 0 5.6rem; } .ub-title { position: relative; padding-bottom: 2rem; font-weight: 800; font-size: clamp(2.8rem, 3vw, 3.2rem); letter-spacing: 0.1em; text-align: center; color: /*NXネイビーブルー*/ rgba(26, 0, 93, 1); } .ub-title:after { content: ""; position: absolute; left: 50%; bottom: 0; display: block; width: 8rem; height: 0.3rem; background: #8ec400; transform: translateX(-50%); } .sd-title{ font-size: clamp(2rem, 2.4vw, 2.6rem); position: relative; text-align: center; margin-bottom: 6.4rem; } .sd-title span { position: relative; padding: 0 1em; background: #fff; } .sd-title:before { position: absolute; top: calc(50% - 1px); left: 0; width: 100%; height: 1px; content: ''; background: /*NXネイビーブルー*/ rgba(26, 0, 93, .5); } h3 { color: #1a005d; position: relative; font-size: clamp(2.4rem, 3vw, 3.6rem); } h4 { color: #1a005d; position: relative; font-size: /*fontsize-M*/ clamp(2rem, 2.4vw, 3.2rem); } p { /*letter-spacing: .05em; font-size: clamp(1.8rem, 2vw, 1.8rem); font-size: clamp(1.6rem,1.8vw, 1.6rem);*/ } @media screen and (max-width:540px) { p { font-size: clamp(1.6rem, 1.8vw, 1.8rem); } } small{ color: #666; } /* ------------------------------------------- */ /* ローディング画面 */ /* ------------------------------------------- */ /*========= LoadingのためのCSS ===============*/ /* Loading背景画面設定 */ #splash { /*fixedで全面に固定*/ position: fixed; width: 100%; height: 100%; z-index: 999; background:#f3f3f3; text-align:center; color:#fff; } /* Loading画像中央配置 */ #splash_logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } /* Loading アイコンの大きさ設定 */ @media screen and (max-width: 540px) { #splash_logo { width:80%;} } /* fadeUpをするアイコンの動き */ .fadeUp{ animation-name: fadeUpAnime; animation-duration:0.5s; animation-fill-mode:forwards; opacity: 0; } @keyframes fadeUpAnime{ from { opacity: 0; transform: translateY(100px); } to { opacity: 1; transform: translateY(0); } } /*割れる画面のアニメーション*/ /*画面遷移アニメーション*/ .splashbg1, .splashbg2{ display: none; } /*bodyにappearクラスがついたら出現*/ body.appear .splashbg1, body.appear .splashbg2{ display:block; } /*上に消えるエリア*/ body.appear .splashbg1{ animation-name:PageAnime; animation-duration:1.4s; animation-timing-function:ease-in-out; animation-fill-mode:forwards; content: ""; position:fixed; z-index: 999; width: 100%; height: 100vh; bottom:50%; left:0; transform: scaleY(1); background-color: #1a005d;/*伸びる背景色の設定*/ } @keyframes PageAnime{ 0% { transform-origin:top; transform:scaleY(1); } 100% { transform-origin:top; transform:scaleY(0); } } /*下に消えるエリア*/ body.appear .splashbg2{ animation-name:PageAnime2; animation-duration:1.4s; animation-timing-function:ease-in-out; animation-fill-mode:forwards; content: ""; position:fixed; z-index: 999; width: 100%; height: 100vh; top: 50%; left:0; transform: scaleY(1); background-color: #1a005d;/*伸びる背景色の設定*/ } @keyframes PageAnime2{ 0% { transform-origin:bottom; transform:scaleY(1); } 100% { transform-origin:bottom; transform:scaleY(0); } } /*画面遷移の後現れるコンテンツ設定*/ #container{ opacity: 0;/*はじめは透過0に*/ } /*bodyにappearクラスがついたら出現*/ body.appear #container{ animation-name:PageAnimeAppear; animation-duration:1s; animation-delay:0.2s; animation-fill-mode:forwards; opacity: 0; } @keyframes PageAnimeAppear{ 0% { opacity: 0; } 100% { opacity: 1; } } /* ------------------------------------------- */ /* herader */ /* ------------------------------------------- */ /*========= ナビゲーションドロップダウンのためのCSS ===============*/ #header{ display: flex; align-items: center; height: 80px;/*Headerの高さ設定*/ background: #fff; position: fixed;/*header固定*/ top: 0; width: 100%; filter: drop-shadow(0px 0px 10px rgba(20, 20, 20, .5)); z-index: 99999; } h1 .nx-logo{ } /*==ナビゲーション全体の設定*/ nav#pc-nav{ width: calc(100% - 340px); text-align: center; margin-right: 80px; } /*ナビゲーションを横並びに*/ nav ul{ list-style: none; display: flex; justify-content: flex-end; text-transform: uppercase; } /*2階層目以降は横並びにしない*/ nav ul ul{ display: block; } /*下の階層のulや矢印の基点にするためliにrelativeを指定*/ nav ul li{ position: relative; /*width: calc(100% / 4);メニュー数で均等割*/ } /*ナビゲーションのリンク設定*/ nav ul li a{ display: block; text-decoration: none; color: #1a005d; padding:20px 35px; transition:all .3s; font-size: 1.3rem; font-weight: 1000; transition:all 0.3s; } nav ul li.current a, nav ul li a:hover{ color:#8ec400; } nav ul li li a{ padding:10px 35px; } nav ul li a:hover{ color:#8ec400; } @media screen and (max-width:768px) { nav ul li a:hover{ color: #8ec400; } nav ul li.current a { color:#8ec400; } } /*==矢印の設定*/ /*2階層目を持つliの矢印の設定*/ nav ul li.has-child::before{ content:''; position: absolute; left:15px; top:26px; width:10px; height:10px; border-top: 2px solid #999; border-right:2px solid #999; transform: rotate(135deg); } /*下の階層を持っているulの指定*/ nav li.has-child ul{ /*絶対配置で位置を指定*/ position: absolute; left:-20%; top:60px; z-index: 4; /*形状を指定*/ background:/*NXネイビーブルー*/ rgba(26, 0, 93, .75); width:240px; /*はじめは非表示*/ visibility: hidden; opacity: 0; /*アニメーション設定*/ transition: all .3s; } /*hoverしたら表示*/ nav li.has-child:hover > ul, nav li.has-child ul li:hover > ul, nav li.has-child:active > ul, nav li.has-child ul li:active > ul{ visibility: visible; opacity: 1; } /*ナビゲーションaタグの形状*/ nav li.has-child ul li a{ color: #fff; /*color: rgba(26, 0, 93, 1);*/ border-bottom:solid 1px rgba(255,255,255,0.25); } nav li.has-child ul li:last-child > a{ border-bottom:none; } nav li.has-child ul li a:hover, nav li.has-child ul li a:active{ background:rgba(26, 0, 93, 1); color: #fff; } /*==1028px以下の形状*/ @media screen and (max-width:1280px){ nav#pc-nav{ display: none; padding: 0; } nav ul{ display: block; } nav li.has-child ul, nav li.has-child ul ul{ position: relative; left:0; top:0; width:100%; visibility:visible;/*JSで制御するため一旦表示*/ opacity:1;/*JSで制御するため一旦表示*/ display: none;/*JSのslidetoggleで表示させるため非表示に*/ transition:none;/*JSで制御するためCSSのアニメーションを切る*/ } nav ul li a{ border-bottom:1px solid #ccc; } nav ul li:last-child a{ border-bottom:none; } /*矢印の位置と向き*/ nav ul li.has-child::before{ left:20px; } nav ul ul li.has-child::before{ transform: rotate(135deg); left:20px; } nav ul li.has-child.active::before{ transform: rotate(-45deg); } } /*==================================================  toggle menu ===================================*/ /*========= ナビゲーションのためのCSS ===============*/ #g-nav{ /*position:fixed;にし、z-indexの数値を大きくして前面へ*/ position:fixed; z-index: 999; /*ナビのスタート位置と形状*/ top:0; right: -120%; width:100%; height: 100vh;/*ナビの高さ*/ background:rgba(255, 255, 255, .95); /*動き*/ transition: all 0.6s; } /*アクティブクラスがついたら位置を0に*/ #g-nav.panelactive{ right: 0; } /*ナビゲーションの縦スクロール*/ #g-nav.panelactive #g-nav-list{ /*ナビの数が増えた場合縦スクロール*/ position: fixed; z-index: 999; width: 100%; height: 100vh;/*表示する高さ*/ overflow: auto; -webkit-overflow-scrolling: touch; } /*ナビゲーション*/ #g-nav ul { /*ナビゲーション天地中央揃え*/ position: absolute; z-index: 999; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; display: inline; } /*リストのレイアウト設定*/ #g-nav li{ list-style: none; text-align: center; } #g-nav li a{ color: rgba(26, 0, 93, 1); text-decoration: none; padding:10px; display: block; text-transform: uppercase; letter-spacing: 0.1em; font-weight: bold; } #g-nav li a:hover, #g-nav li a:active{ background:rgba(26, 0, 93, 1); color: #fff; } /*========= ボタンのためのCSS ===============*/ .openbtn{ position:fixed; z-index: 9999999999;/*ボタンを最前面に*/ right: 2rem; cursor: pointer; width: 50px; height:50px; background: #f3f3f3; border-radius: 4px; } /*×に変化*/ .openbtn span{ display: inline-block; transition: all .4s; position: absolute; left: 14px; height: 2px; border-radius: 2px; background-color: rgba(26, 0, 93, 1); width: 50%; } .openbtn span:nth-of-type(1) { top:15px; } .openbtn span:nth-of-type(2) { top:23px; } .openbtn span:nth-of-type(3) { top:31px; } .openbtn.active span:nth-of-type(1) { top: 18px; left: 18px; transform: translateY(6px) rotate(-45deg); width: 30%; } .openbtn.active span:nth-of-type(2) { opacity: 0; } .openbtn.active span:nth-of-type(3){ top: 30px; left: 18px; transform: translateY(-6px) rotate(45deg); width: 30%; } /*========= head logo ===============*/ h1 { padding: 0px 0 0 30px; flex-basis: 310px; } h1 a { display: flex; gap: 0 14px; } h1 .nx-logo { width: 80px; flex-basis: 80px; } @media screen and (max-width: 540px) { h1 .nx-logo { width: 12.53vw; flex-basis: 12.53vw; } } @media screen and (max-width: 1199px) { h1 .nx-logo { width: 47px; flex-basis: 47px; } } /* min-width: 1200px 1200px 以上 ================== */ @media screen and (min-width:1200px) { h1 .nx-logo { width: 62px; flex-basis: 62px; } } h1 .nx-logo-cl { width: 195px; flex-basis: 195px; } @media screen and (max-width: 540px) { h1 .nx-logo-cl { width: 30.13vw; flex-basis: 30.13vw; } } @media screen and (max-width: 1199px) { h1 .nx-logo-cl { width: 113px; flex-basis: 113px; } } /* min-width: 1200px 1200px 以上 ================== */ @media screen and (min-width:1200px) { h1 .nx-logo-cl { width: 150px; flex-basis: 150px; } } /* ------------------------------------------- */ /* footer */ /* ------------------------------------------- */ #footer { padding: 6.4rem 0; text-align: center; background: #f3f3f3; position: relative; text-transform: uppercase; width: 100%; z-index: 2; } #footer #pc-nav-btm ul { margin: 0; } #footer #pc-nav-btm li a{ color:/*NXネイビーブルー*/ rgba(26, 0, 93, 1); } .footter_sub_link { list-style: none; display: flex; margin-bottom: 30px; justify-content: center; } .footter_sub_link li::after { content: "|"; margin: 0 22px; } .footter_sub_link li:last-child::after { content: none; } .footter_sub_link a { font-size: 1.2rem; } .footter_sub_link a:hover { text-decoration: underline; } #footer small { font-size: 1rem; } #footer .logomark-link { font-size: 1.4rem!important; margin: 4rem 0; } @media screen and (max-width:990px) { #footer .logomark-link { margin: 0 0 4rem;} } #footer .logomark-link a { position: relative; padding-left: 2.4rem; font-weight: normal; letter-spacing: 0.05em; color: #666; } #footer .logomark-link a:hover { text-decoration: underline; } #footer .logomark-link a:after { content: ""; position: absolute; left: 0; top: 0; display: block; width: 1.2rem; height: 1.2rem; background: url(/new-hire/img/icon_blank01.svg) no-repeat center center / 100% auto; } /* ------------------------------------------- */ /* page top btn */ /* ------------------------------------------- */ /*========= ページトップのためのCSS ===============*/ /*リンクの形状*/ #page-top a{ display: flex; justify-content: center; align-items: center; background: /*NXフレッシュグリーン*/ rgba(142, 196, 0, 1); width: 80px; height: 80px; color: #fff; text-align: center; text-transform: uppercase; text-decoration: none; font-size: 1rem; transition: all 0.3s; } #page-top a:hover{ background: #777; } /*リンクを右下に固定*/ #page-top { position: fixed; right: 10px; bottom:10px; z-index: 2; /*はじめは非表示*/ opacity: 0; transform: translateY(100px); } /* 上に上がる動き */ #page-top.UpMove{ animation: UpAnime 0.5s forwards; } @keyframes UpAnime{ from { opacity: 0; transform: translateY(100px); } to { opacity: 1; transform: translateY(0); } } /* 下に下がる動き */ #page-top.DownMove{ animation: DownAnime 0.5s forwards; } @keyframes DownAnime{ from { opacity: 1; transform: translateY(0); } to { opacity: 1; transform: translateY(100px); } } /* ------------------------------------------- */ /* contents */ /* ------------------------------------------- */ main{ padding: 80px 0 0; } section { width: 100%; padding: 0; } .inner { width: 90%; max-width: 1240px; margin: 0 auto; z-index: 1;} /*========= カラム設定 ===============*/ .lay-2col { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; } .lay-2col li { position: relative; width: calc(50% - 4rem); margin-bottom: 4rem; } .lay-2col li:last-child{ margin-left: 0; } @media screen and (max-width: 540px) { .lay-2col li { width: 100%; margin-left: 0; } } @media screen and (max-width: 540px) { .lay-2col { flex-direction: row-reverse;} } .lay-2col .photo-box { width: calc(100% - 45% - 5% ); overflow: hidden; /*padding-bottom: 6.4rem;*/ } .lay-2col figure{ display: flex; justify-content: center; } .lay-2col figure img{ width: 100%; } @media screen and (max-width: 820px) { .lay-2col .photo-box { width: 100%; } } .text-box { width: 45%; margin-right: 5%; /*padding-bottom: 6.4rem;*/ overflow: hidden; } @media screen and (max-width: 820px) { .text-box { width: 100%; margin-right: 0; } } .lay-2col .L-side-box { width: calc(100% - 50% - 5% ); overflow: hidden; } .lay-2col .R-side-box { width: calc(100% - 50% - 5% ); overflow: hidden; } @media screen and (max-width: 820px) { .lay-2col .L-side-box,.lay-2col .R-side-box { width: 100% ;} } .lay-3col { display: flex; flex-wrap: wrap; justify-content: space-evenly; } .lay-3col li { position: relative; width: calc(33.33% - 4rem); margin-right: 4rem; } .lay-3col li:nth-child(3) { margin-right: 0; } .lay-3col li:last-child{ margin-right: 0; } @media screen and (max-width: 1280px) { .lay-3col li { width: calc(50% - 4rem); } .lay-3col li:nth-child(2n) { margin-right: 0; } } @media screen and (max-width: 767px) { .lay-3col li { width: 100%; margin-right: 0!important; } } .lay-3col li:nth-child(3n + 1) { margin-left: 0; } .lay-3col li a { position: relative; /*z-index: 99;*/ } .lay-4col { display: flex; flex-wrap: wrap; justify-content: space-between; } .lay-4col li { position: relative; width: calc(25% - 2rem); margin-bottom: 4rem; } .lay-4col li:last-child{ margin-bottom: 0; } @media screen and (max-width: 1280px) { .lay-4col li { width: calc(50% - 4rem); } } @media screen and (max-width: 540px) { .lay-4col li { width: 100%; margin-left: 0; } } .lay-4col li a { position: relative; z-index: 99; } #fixedbg { position: relative; } #fixedbg .fixedbg-img{ position: relative; background-size:cover; background-attachment:fixed; background-position: center; width:100%; height:30vh; } @media screen and (max-width: 1024px) { #fixedbg .fixedbg-img { background-attachment: scroll; } } /* ------------------------------------------- */ /* entry btn */ /* ------------------------------------------- */ #entry{ overflow: hidden; } #entry .entry-box .title-bloc .title-sub{ font-size: 2.4rem; color: #f3f3f3; margin: 2rem 0 0; } .entry-box h2{color: #f3f3f3; font-size:clamp(3.6rem, 5vw, 6rem); } .entry-btn .scrolldown1{ top:-10vh; } .entry-box { } .entry-box .box-list { display: flex; flex-wrap: wrap; align-items: center; } .entry-box .box-list li { position: relative; width: 50%; } @media screen and (max-width: 1028px) { .entry-box .box-list li { width: 100%;} } .entry-box .box-list li.new { background: /*NXネイビーブルー*/ rgba(26, 0, 93, 1);; } .entry-box .box-list li.career { background: /*NXフレッシュグリーン*/ rgba(142, 196, 0, 1); } @media (hover: hover) and (pointer: fine) { .entry-box .box-list li:after { content: ""; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0); transition: ease 0.25s background-color; pointer-events: none; } .entry-box .box-list li:hover:after { background: rgba(255, 255, 255,.25); } } .entry-box .box-list li a { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; flex-direction: column; text-decoration: none; width: 100%; height: 24rem; } .entry-box .box-list li a:after, .entry-box .box-list li a:before { content: ""; position: absolute; right: 10.7rem; top: 50%; z-index: 1; display: block; width: 6.4rem; height: 6.4rem; transform: translateY(-50%); transition: ease 0.25s transform; } @media screen and (max-width: 767px) { .entry-box .box-list li a:after, .entry-box .box-list li a:before { top: auto; bottom: 2.5rem; right: 50%; width: 3.6rem; height: 3.6rem; transform: translateX(50%); } } .entry-box .box-list li a:before { background: url(/new-hire/img/icon_arrow01w.svg) no-repeat center center / 1.6rem auto; } .entry-box .box-list li a:after { background: url(/new-hire/img/icon_circle02.svg) no-repeat center center / 100% auto; } @media (hover: hover) and (pointer: fine) { .entry-box .box-list li a:hover:after { transform: translateY(-50%) rotate(360deg) scale(0.8); } } .entry-box .box-list .list-title { text-align: center; color: #fff; } .entry-box .box-list .list-title .title-sub { margin-bottom: 2rem; font-family: "Jost", sans-serif; font-weight: normal; font-size: 2.6rem; letter-spacing: 0.05em; } @media screen and (max-width: 1640px) { .entry-box .box-list .list-title .title-sub { margin-bottom: 1.21951vw; font-size: max(1.4rem, 1.58536vw); } } @media screen and (max-width: 767px) { .entry-box .box-list .list-title .title-sub { margin-bottom: 1rem; } } .entry-box .box-list .list-title .title-main { font-weight: bold; font-size: 5rem; letter-spacing: 0.1em; } @media screen and (max-width: 1640px) { .entry-box .box-list .list-title .title-main { font-size: max(2rem, 3.04878vw); } }