@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);
  }
}