@charset "UTF-8";
/* Reset Style
 * --------------------------------------- */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre,
form, fieldset, input, textarea, p, blockquote, th, td {
  padding: 0;
  margin: 0; }

a {
  text-decoration: none; }

table {
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-weight: normal;
  font-style: normal; }

strong {
  font-weight: bold; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
  margin: 0;
  padding: 0;
  color: #444; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0; }

/* ////////////////////////////////////////////////
  Font Style
//////////////////////////////////////////////// */
html {
  font-size: 100%; }

body {
  /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  font-family: "Helvetica Neue", Verdana, "Noto Sans Mono CJK JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;*/
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  font-feature-settings: "palt";
  margin: 0;
  padding: 0;
  position: relative; }

/* text size sample *8-40 number is pixel number */
.text8 {
  font-size: .5rem; }

.text9 {
  font-size: .5625rem; }

.text10 {
  font-size: .625rem; }

.text11 {
  font-size: .6875rem; }

.text12 {
  font-size: .75rem; }

.text13 {
  font-size: .8125rem; }

.text14 {
  font-size: .875rem; }

.text15 {
  font-size: .9375rem; }

.text16 {
  font-size: 1rem; }

.text17 {
  font-size: 1.0625rem; }

.text18 {
  font-size: 1.125rem; }

.text19 {
  font-size: 1.1875rem; }

.text20 {
  font-size: 1.25rem; }

.text21 {
  font-size: 1.3125rem; }

.text22 {
  font-size: 1.375rem; }

.text23 {
  font-size: 1.4375rem; }

.text24 {
  font-size: 1.5rem; }

.text25 {
  font-size: 1.5625rem; }

.text26 {
  font-size: 1.625rem; }

.text27 {
  font-size: 1.6875rem; }

.text28 {
  font-size: 1.75rem; }

.text29 {
  font-size: 1.8125rem; }

.text30 {
  font-size: 1.875rem; }

.text31 {
  font-size: 1.9375rem; }

.text32 {
  font-size: 2rem; }

.text33 {
  font-size: 2.0625rem; }

.text34 {
  font-size: 2.125rem; }

.text35 {
  font-size: 2.1875rem; }

.text36 {
  font-size: 2.25rem; }

.text37 {
  font-size: 2.3125rem; }

.text38 {
  font-size: 2.375rem; }

.text39 {
  font-size: 2.4375rem; }

.text40 {
  font-size: 2.5rem; }

/*
Font-size list (base: 16px)
 8px = 50%
 9px = 56.25%
10px = 62.5%
11px = 68.75%
12px = 75%
13px = 81.25%
14px = 87.5%
15px = 93.75%
16px = 100%
17px = 106.25%
18px = 112.5%
19px = 118.75%
20px = 125%
21px = 131.25%
22px = 137.5%
23px = 143.75%
24px = 150%
25px = 156.25%
26px = 162.5%
27px = 168.75%
28px = 175%
29px = 181.25%
30px = 187.5%
31px = 193.75%
32px = 200%
33px = 206.25%
34px = 212.5%
35px = 218.75%
36px = 225%
37px = 231.25%
38px = 237.5%
39px = 243.75%
40px = 250%
*/
/* base 13px */
/* text size sample *10-26 number is pixel number */
/*
.text8 { font-size: 62%; }
.text9 { font-size: 70%; }
.text10 { font-size: 77%; }
.text11 { font-size: 85%; }
.text12 { font-size: 93%; }
.text13 { font-size: 100%; }
.text14 { font-size: 108%; }
.text15 { font-size: 116%; }
.text16 { font-size: 124%; }
.text17 { font-size: 131%; }
.text18 { font-size: 139%; }
.text19 { font-size: 147%; }
.text20 { font-size: 154%; }
.text21 { font-size: 162%; }
.text22 { font-size: 170%; }
.text23 { font-size: 177%; }
.text24 { font-size: 185%; }
.text25 { font-size: 193%; }
.text26 { font-size: 200%; }
.text27 { font-size: 208%; }
.text28 { font-size: 216%; }
.text29 { font-size: 224%; }
.text30 { font-size: 231%; }
.text31 { font-size: 239%; }
.text32 { font-size: 247%; }
.text33 { font-size: 254%; }
.text34 { font-size: 262%; }
.text35 { font-size: 270%; }
.text36 { font-size: 277%; }
.text37 { font-size: 285%; }
.text38 { font-size: 293%; }
.text39 { font-size: 300%; }
.text40 { font-size: 308%; }
*/
/*
Font-size list (base: 13px)
 62% =  8px
 70% =  9px
 77% = 10px
 85% = 11px        162% = 21px        239% = 31px
 93% = 12px        170% = 22px        247% = 32px
100% = 13px        177% = 23px        254% = 33px
108% = 14px        185% = 24px        262% = 34px
116% = 15px        193% = 25px        270% = 35px
124% = 16px        200% = 26px        277% = 36px
131% = 17px        208% = 27px        285% = 37px
139% = 18px        216% = 28px        293% = 38px
147% = 19px        224% = 29px        300% = 39px
154% = 20px        231% = 30px        308% = 40px
*/
/* Base Style
* --------------------------------------- */
a:link {
  color: #333; }

a:visited {
  color: #333; }

a:hover {
  color: #333; }

a:active {
  color: #333; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type="number"] {
  -moz-appearance: textfield; }

.hover:hover {
  opacity: 0.8; }

img {
  max-width: 100%; }

br.SP {
  display: none; }
  @media screen and (max-width: 768px) {
    br.SP {
      display: block; } }

br.PC {
  display: block; }
  @media screen and (max-width: 768px) {
    br.PC {
      display: none; } }

h1,
h2 {
  margin: 0; }

ul,
ol {
  list-style-type: none; }

dd {
  margin: 0; }

/*
 * css starts
 */
body {
  color: #333;
  position: relative; }

/*
  * header
  */
#header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1280px;
  padding: 25px 35px;
  position: relative; }
  @media screen and (max-width: 768px) {
    #header {
      background-color: rgba(255, 255, 255, 0.9);
      box-sizing: border-box;
      padding: 7.2vw 4.67vw;
      position: fixed;
      width: 100%;
      z-index: 100; } }

#logo {
  max-width: 22.265625%; }
  #logo a {
    display: block; }
  #logo img {
    display: block; }
  @media screen and (max-width: 768px) {
    #logo {
      max-width: none; }
      #logo img {
        height: 4.36vw; } }

#nav_trigger,
#nav_trigger span {
  display: none; }
  @media screen and (max-width: 768px) {
    #nav_trigger,
    #nav_trigger span {
      display: inline-block;
      transition: all 200ms;
      box-sizing: border-box; } }

#nav_trigger {
  position: relative;
  width: 8vw;
  height: 6vw; }
  #nav_trigger span {
    background-color: #333;
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.69vw; }
    #nav_trigger span:nth-of-type(1) {
      top: 0; }
    #nav_trigger span:nth-of-type(2) {
      top: 45%; }
    #nav_trigger span:nth-of-type(3) {
      bottom: 0; }
  #nav_trigger.active span:nth-of-type(1) {
    transform: translateY(2.655vw) rotate(-45deg); }
  #nav_trigger.active span:nth-of-type(2) {
    opacity: 0; }
  #nav_trigger.active span:nth-of-type(3) {
    transform: translateY(-2.655vw) rotate(45deg); }

#header_nav {
  display: flex;
  flex-direction: column-reverse; }
  @media screen and (max-width: 768px) {
    #header_nav {
      flex-direction: column;
      transition: all 200ms;
      position: fixed;
      top: 18.76vw;
      left: 0;
      transform: translateX(100vw);
      width: 100vw;
      height: 100vh;
      z-index: 100; }
      #header_nav.active {
        transform: translateX(0); } }

#main_nav {
  display: flex; }
  #main_nav > li {
    font-size: 0.9375rem; }
    #main_nav > li > a {
      padding: 0 2em;
      position: relative; }
      #main_nav > li > a:hover span::after {
        display: block; }
      #main_nav > li > a span {
        padding: 1.46em 0;
        position: relative; }
        #main_nav > li > a span::after {
          background-color: #e60012;
          content: "";
          display: none;
          height: 2px;
          margin-left: -50%;
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 100%; }
  #main_nav .child {
    background-color: rgba(255, 255, 255, 0.97);
    display: none;
    justify-content: center;
    margin-left: -50vw;
    position: absolute;
    left: 50%;
    top: 100%;
    width: 100vw;
    z-index: 10; }
    #main_nav .child.active {
      display: flex; }
    #main_nav .child li {
      font-size: 0.8125rem;
      padding: 3.1em 2em; }
    #main_nav .child a {
      display: block;
      padding: 0 0 0.5em;
      position: relative; }
      #main_nav .child a:hover::after {
        background-color: #e60012;
        content: "";
        display: block;
        height: 2px;
        margin-left: -50%;
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 100%; }
  @media screen and (max-width: 768px) {
    #main_nav {
      flex-direction: column; }
      #main_nav > li {
        font-size: 4vw; }
        #main_nav > li > a {
          background-color: rgba(255, 255, 255, 0.9);
          background-image: url(/static/img/ic_plus.svg);
          background-position: 92% center;
          background-repeat: no-repeat;
          background-size: 5vw auto;
          display: block;
          line-height: 6;
          padding: 0 0 0 5.86vw; }
          #main_nav > li > a:last-child {
            background-image: url(/static/img/ar_r_red.svg);
            background-size: 2.4vw auto; }
          #main_nav > li > a.open {
            background-image: url(/static/img/ic_minus.svg); }
          #main_nav > li > a span::after {
            content: none; }
      #main_nav .child {
        background-color: rgba(244, 244, 244, 0.9);
        display: none;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-left: 0;
        position: static;
        left: 0;
        top: 100%; }
        #main_nav .child.open {
          display: flex; }
        #main_nav .child li {
          font-size: 3.47vw;
          padding: 0;
          width: 50%; }
        #main_nav .child a {
          background-image: url(/static/img/ar_r_red.svg);
          background-position: 85% center;
          background-repeat: no-repeat;
          background-size: 1.5vw auto;
          line-height: 5.77;
          padding: 0 5.87vw; }
          #main_nav .child a.plural {
            line-height: 1.625;
            padding-top: 1.26em;
            padding-bottom: 1.26em; } }

#sub_nav {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 30px;
  margin-right: 30px; }
  #sub_nav li {
    font-size: 0.8125rem;
    margin-left: 3em; }
  #sub_nav .ic {
    display: inline-block;
    margin-right: 0.5em;
    vertical-align: middle;
    width: 21px; }
  @media screen and (max-width: 768px) {
    #sub_nav {
      background-color: rgba(255, 255, 255, 0.9);
      justify-content: center;
      margin-right: 0;
      padding-top: 15vw;
      padding-bottom: 15vw; }
      #sub_nav li {
        font-size: 3.73vw;
        margin: 0;
        text-align: center;
        width: 50%; }
        #sub_nav li:first-child {
          border-right-color: #e0e0e0;
          border-right-style: solid;
          border-right-width: 1px; } }

/*
  * footer
  */
#footer_nav {
  background-color: #f4f4f4; }

#footer_main_nav {
  display: flex;
  margin: 0 auto;
  max-width: 1000px;
  padding: 70px 0; }
  #footer_main_nav a:hover {
    position: relative; }
    #footer_main_nav a:hover::after {
      background-color: #e60012;
      content: "";
      margin-left: -47.5%;
      position: absolute;
      bottom: -0.5em;
      left: 50%;
      width: 95%;
      height: 1px; }
  /*#footer_main_nav > li {
    border-left-color: #ededed;
    border-left-style: solid;
    border-left-width: 1px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    padding: 0 2% 0 3%;
    width: 25%; }*/
    /* #footer_main_nav > li {
    border-left-color: #ededed;
    border-left-style: solid;
    border-left-width: 1px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    padding: 0 2% 0 2.5%;
    width: 24%; } */
    #footer_main_nav > li {
      border-left-color: #ededed;
      border-left-style: solid;
      border-left-width: 1px;
      box-sizing: border-box;
      padding: 0 2% 0 2.5%;
      width: 24%;
     }
    #footer_main_nav .parent_child {
      display: flex;
      align-items: flex-start;
    }
    #footer_main_nav > li:first-child {
      border-left: none; }

    /*#footer_main_nav > li:nth-child(3) {
      width: 28%; }*/

    #footer_main_nav > li > a {
      background-image: url(/static/img/ar_r_red.svg);
      background-position: left center;
      background-repeat: no-repeat;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      line-height: 1;
      margin-top: 0.2em;
      margin-bottom: 3em;
      padding-left: 1em; }
    /* #footer_main_nav > li.nochild {
      display: block; } */
      #footer_main_nav .nochild {
        display: block; }
  #footer_main_nav .child {
    padding-left: 1rem; }
    #footer_main_nav .child li {
      font-size: 0.75rem;
      margin-bottom: 1em; }
    @media screen and (max-width: 768px) {
      #footer_main_nav {
        flex-direction: column;
        padding: 0; }
      #footer_main_nav a:hover::after {
        content: none; }
      #footer_main_nav > li {
        border-left: none;
        padding: 0;
        width: auto; }
      #footer_main_nav .parent_child {
        display: block;
      }
      #footer_main_nav > li:nth-child(3) {
        width: auto;
      }
      #footer_main_nav > li > a {
        background-image: url(/static/img/ar_r_red.svg);
        background-position: 95% center;
        background-size: 1.9vw auto;
        border-bottom-color: #e0e0e0;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        font-size: 3.4vw;
        line-height: 5.46;
        margin-top: 0;
        margin-bottom: 0;
        padding-left: 8.67vw; }
      #footer_main_nav > li > a:only-of-type {
        background-image: url(/static/img/ic_plus.svg);
        background-size: 3.6vw auto; }
      #footer_main_nav > li > a.open {
        background-image: url(/static/img/ic_minus.svg); }
      #footer_main_nav .child {
        border-bottom-color: #e0e0e0;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        display: none;
        flex-wrap: wrap;
        padding: 0; }
        #footer_main_nav .child.open {
          display: flex; }
        #footer_main_nav .child li {
          font-size: 3.2vw;
          margin-bottom: 0;
          width: 50%; }
        /*#footer_main_nav .child a {
          background-image: url(/static/img/ar_r_red.svg);
          background-position: 85% center;
          background-repeat: no-repeat;
          background-size: 1.5vw auto;
          display: block;
          line-height: 6.25;
          padding: 0 0 0 9vw; }*/
          #footer_main_nav .child a {
          background-image: url(/static/img/ar_r_red.svg);
          background-position: 88% center;
          background-repeat: no-repeat;
          background-size: 1.5vw auto;
          display: block;
          line-height: 6.25;
          padding: 0 0 0 9vw; }
          #footer_main_nav .child a.plural {
            line-height: 1.625;
            padding-top: 1.5em;
            padding-bottom: 1.5em; } }

/*#footer_below {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    #footer_below {
      flex-direction: column;
      align-items: center;
      padding: 10vw 0; } }*/

#footer_below {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    #footer_below {
      flex-direction: column;
      padding: 10vw 0; } }

#footer_sub_nav {
  display: flex;
  justify-content: flex-end;
}
  @media screen and (max-width: 768px) {
    #footer_sub_nav {
      justify-content: center;
    }
    #footer_sub_nav p {
      font-size: 3.73vw;
    }
  }

#footer_sub_nav .ic {
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: middle;
  width: 32px;
}
  @media screen and (max-width: 768px) {
    #footer_sub_nav .ic {
      width: 8.53vw;
    }
  }

#footer_logo {
  width: 31.5%; }
  #footer_logo img {
    display: block;
    width: 100%; }
  #footer_logo strong {
    display: block;
    font-size: 0.75rem;
    line-height: 1;
    margin-top: 1em; }
  @media screen and (max-width: 768px) {
    #footer_logo {
      margin-bottom: 13vw;
      width: 64.1vw; }
      #footer_logo strong {
        font-size: 3vw;
        text-align: center; } }

#copyright {
  font-size: 0.75rem; }
  @media screen and (max-width: 768px) {
    #copyright {
      font-size: 2.67vw; } }

/*
 * main
 */
#main {
  margin: 0 auto; }
  #main a.imgwrap {
    display: block;
    overflow: hidden; }
    #main a.imgwrap img {
      display: block;
      transition: all 250ms ease-out; }
    #main a.imgwrap .PCimg {
      display: block; }
    #main a.imgwrap .SPimg {
      display: none; }
    @media screen and (max-width: 768px) {
      #main a.imgwrap {
        padding-top: 18.76vw; }
        #main a.imgwrap .PCimg {
          display: none; }
        #main a.imgwrap .SPimg {
          display: block; } }
    #main a.imgwrap:hover img {
      transform: scale(1.3); }

#kv {
  background-image: url(/static/img/top/kv_bg@2x.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 200px;
  overflow: hidden;
  padding-bottom: 51.171875%;
  position: relative; }
  #kv::before {
    background-image: url(/static/img/top/kv_logo_A.svg);
    background-size: 103.125% auto;
    background-position: center center;
    background-repeat: no-repeat;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%; }
  #kv::after {
    background-image: url(/static/img/top/kv_logo_circle.svg);
    background-size: 11.71875% auto;
    background-position: 3.75% 84.5%;
    background-repeat: no-repeat;
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    width: 50%;
    height: 100%; }
  @media screen and (max-width: 768px) {
    #kv {
      background-image: url(/static/img/top/sp/kv_bg@2x.png);
      background-size: cover;
      margin-bottom: 13vw;
      padding-bottom: 73%; }
      #kv::before {
        background-size: 126% auto; }
      #kv::after {
        background-size: 15.46% auto;
        background-position: 6% 80%; } }
#kvRight {
  height: 100%;
  width: 50%;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0; }
  #kvRight .img {
    background-size: auto 100%;
    height: 100%;
    width: 50vw;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: transform 12000ms linear; }
  #kvRight .kvwrap {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: all 200ms ease-out;
    z-index:1;
  }
  #kvRight .kvwrap.swipeLeft {
    width: 0;
  }
  #kvRight .kvwrap.swipeTop {
    height: 0;
  }
  #kvRight .kvwrap.under {
    z-index: 0;
  }
  #kvRight .kvwrap.notanimated .img {
    transition: all 50ms linear;
  }
#kv1 .img {
  background-image: url(/static/img/top/kv_right_bg1.png);
  background-position: center center;
}
#kv1 .img.exp {
transform: scale(1.5);
}

/*船の動き調整前*/
/*#kv2 .img {
  background-image: url(/static/img/top/kv_right_bg2.png);
  background-position: center center;
  height: 51.27vw;
  width: 55vw;
}*/

#kv2 .img {
  background-image: url(/static/img/top/kv_right_bg2.png);
  background-position: 32% center;
  height: 51.27vw;
  width: 66vw;
}

/*船の動き調整前*/
/*#kv2 .img.exp {
transform: translateX(5vw);
}*/

#kv2 .img.exp {
transform: translateX(30vw);
}

#kv_text {
  margin-left: -50.390625%;
  position: absolute;
  top: 20px;
  left: 50%;
  width: 100.78125%;
  z-index: 10; }
  #kv_text img {
    width: 100%; }

.content {
  margin-bottom: 200px; }
  .content h2 {
    font-size: 1.625rem;
    line-height: 1.8;
    margin-bottom: 2.3em;
    text-align: center; }
    .content h2 strong {
      border-bottom-color: #dc000c;
      border-bottom-style: solid;
      border-bottom-width: 4px;
      display: inline-block;
      padding: 0 0.1em; }
  @media screen and (max-width: 768px) {
    .content {
      margin-bottom: 12.4vw; }
      .content h2 {
        font-size: 5.8vw; }
        .content h2 strong {
          padding: 0; } }

#top_recruit {
  margin-bottom: 0; }

.content_list {
  display: flex;
  flex-wrap: wrap; }
  .content_list li {
    position: relative;
    width: 50%; }
  .content_list a {
    display: block; }
  .content_list strong {
    color: #fff;
    display: block;
    font-size: 1.875rem;
    font-weight: normal;
    letter-spacing: 0.1em;
    margin-top: -1em;
    position: absolute;
    top: 50%;
    text-align: center;
    width: 100%;
    z-index: 1; }
    .content_list strong span {
      border-bottom-color: #fff;
      border-bottom-style: solid;
      border-bottom-width: 4px;
      display: inline-block;
      line-height: 1;
      padding: 0 0.1em 0.3em; }
  .content_list.profile {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%; }
    .content_list.profile strong {
      box-sizing: border-box;
      font-size: 1.5625rem;
      letter-spacing: 0.1em;
      margin-top: 0;
      padding: 0.8em;
      top: 0;
      text-align: left; }
      .content_list.profile strong span {
        border-bottom-width: 0;
        padding: 0; }
    .content_list.profile .SPimg {
      display: none; }
    @media screen and (max-width: 768px) {
      .content_list.profile {
        flex-direction: column; }
        .content_list.profile li {
          width: auto; }
        .content_list.profile strong {
          font-size: 5.3vw;
          padding: 5.2vw; } }
  @media screen and (max-width: 768px) {
    .content_list strong {
      font-size: 5.3vw; }
      .content_list strong span {
        border-bottom-width: 0.8vw;
        line-height: 1.5;
        padding: 0;
        text-align: left; } }

.tab_wrap::after {
  border-bottom-color: #e0e0e0;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  content: "";
  display: block; }

@media screen and (max-width: 768px) {
  .tab_wrap {
    overflow-x: scroll; }
    .tab_wrap::after {
      width: 133vw; } }

.tab_list {
  display: flex;
  padding-bottom: 1.3125rem;
  position: relative;
  margin: 0 auto;
  max-width: 1000px; }
  .tab_list li {
    border-right-color: #e0e0e0;
    border-right-style: solid;
    border-right-width: 1px;
    cursor: pointer;
    font-size: 0.875rem;
    text-align: center;
    width: 25%; }
    .tab_list li:first-child {
      border-left-color: #e0e0e0;
      border-left-style: solid;
      border-left-width: 1px; }
    .tab_list li.current::after {
      background-color: #dc000c;
      content: "";
      display: block;
      position: absolute;
      top: 100%;
      width: 25%;
      height: 1px;
      z-index: 1; }

  #nr_ir {
    display: none; }

  /* @media screen and (max-width: 768px) {
    .tab_list {
      width: 133vw; }
    .tab_list li {
      display: inline-block;
      width: 26.6vw; }
  } */

  @media screen and (max-width: 768px) {
    .tab_list {
      width: 100vw; }
    .tab_list li {
      display: inline-block;
      width: 26.6vw; }
  }

.news_area {
  border-bottom-color: #e0e0e0;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    .news_area {
      padding: 8.2vw 0; } }

.news_list {
  display: none;
  margin: 0 auto;
  max-width: 1000px; }
  .news_list.active {
    display: block; }
  .news_list li { display: flex; align-items: flex-start; justify-content: flex-start;
    font-size: 0.875rem;
    margin-bottom: 1.2em; }
  .news_list .date {
    color: #e60012;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    vertical-align: top; }
  .news_list .tag {
    background-color: #676767;
    color: #fff;
    display: inline-block;
    font-size: 0.75rem;
    font-style: normal;
    margin-left: 1.5em;
    margin-right: 1.2em;
    text-align: center;
    vertical-align: top;
    width: 6em; }
  .news_list a {
    display: inline-block;
    letter-spacing: 0.15em;
    /*overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;*/
    vertical-align: top;
    width: 80%; }
    @media screen and (max-width: 768px) {
      .news_list a {
        white-space: normal;
        width: auto; } }
  .news_list .more { justify-content: flex-end;
    margin-bottom: 0;
    text-align: right; }
    .news_list .more a {
      background-image: url(../../static/img/ar_link.svg);
      background-position: left center;
      background-repeat: no-repeat;
      padding-left: 1em;
      width: auto; }
  @media screen and (max-width: 768px) {
    .news_list {
      width: 84vw; }
      .news_list li {
        margin-bottom: 1.8em; }
      .news_list .more {
        margin-top: 1em; } }
