@charset "UTF-8";
@import "https://fonts.googleapis.com/css?family=Playfair+Display:400,400i,700,700i|Ubuntu:300,400,500|Poppins:500|Cinzel";
@import "https://fonts.googleapis.com/earlyaccess/notosansjp.css";
@import url(myfont.css);
.icon:before {
  display: inline-block;
  font-family: "myfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

:root {
  --themecolor: #bb1b1b;
}

body {
  position: relative;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  background: #3b3b3b; }
  .device-mobile body {
    color: #404040;
    font-size: 12px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto; }
  .device-desktop body {
    color: #404040;
    font-size: 14px;
    min-width: 960px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

a img {
  pointer-events: none; }

li {
  list-style-type: none; }

img {
  max-width: 100%;
  vertical-align: bottom; }
  @media screen and (orientation: landscape) and (max-width: 670px) {
    img {
      max-width: auto; }}

main {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

.device-mobile .only-desktop {
  display: none !important; }

.device-desktop .only-mobile {
  display: none !important; }

.device-desktop header .facebook-icon, .device-desktop footer .facebook-icon,
.device-desktop header .instagram-icon, .device-desktop footer .instagram-icon {
  width: 16px;
  height: 16px;
  display: block;
  position: relative;
  margin: 0 auto; }
  .device-desktop header .facebook-icon:before, .device-desktop header .facebook-icon:after, .device-desktop footer .facebook-icon:before, .device-desktop footer .facebook-icon:after,
  .device-desktop header .instagram-icon:before, .device-desktop header .instagram-icon:after, .device-desktop footer .instagram-icon:before, .device-desktop footer .instagram-icon:after {
    content: '';
    width: 16px;
    height: 16px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .3s; }
  .device-desktop header .facebook-icon:before, .device-desktop footer .facebook-icon:before {
    opacity: 1;
    background: url("/recruit/common/img/pc/layout/icn-facebook.png") repeat-x 0 0;
    background-size: 16px 16px; }
  .device-desktop header .facebook-icon:after, .device-desktop footer .facebook-icon:after {
    opacity: 0;
    background: url("/recruit/common/img/pc/layout/icn-facebook-hover.png") repeat-x 0 0;
    background-size: 16px 16px; }
  .device-desktop header .instagram-icon:before, .device-desktop footer .instagram-icon:before {
    opacity: 1;
    background: url("/recruit/common/img/pc/layout/icn-instagram.png") repeat-x 0 0;
    background-size: 16px 16px; }
  .device-desktop header .instagram-icon:after, .device-desktop footer .instagram-icon:after {
    opacity: 0;
    background: url("/recruit/common/img/pc/layout/icn-instagram-hover.png") repeat-x 0 0;
    background-size: 16px 16px; }
header a:hover .facebook-icon:before, footer a:hover .facebook-icon:before {
  opacity: 0; }
header a:hover .facebook-icon:after, footer a:hover .facebook-icon:after {
  opacity: 1; }
header a:hover .instagram-icon:before, footer a:hover .instagram-icon:before {
  opacity: 0; }
header a:hover .instagram-icon:after, footer a:hover .instagram-icon:after {
  opacity: 1; }

header.static-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100; }
  .device-mobile header.static-header {
    transition: background .3s; }
    .device-mobile header.static-header:after {
      content: '';
      background: url("/recruit/common/img/sp/layout/bg-header.png") repeat-x 0 0;
      background-size: 10px 67px;
      width: 100%;
      height: 67px;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 1;
      transition: opacity .3s; }
    .device-mobile header.static-header.open {
      background: rgba(16, 16, 16, 0.9);
      overflow-y: auto; }
    .device-mobile header.static-header .logo {
      width: 224px;
      margin: 0 auto;
      padding: 8px 0;
      position: relative;
      z-index: 800;
      transition: padding .3s; }
      .device-mobile header.static-header .logo a {
        display: block;
        position: relative; }
        .device-mobile header.static-header .logo a img {
          position: relative;
          z-index: 10;
          opacity: 1;
          transition: opacity .3s; }
        .device-mobile header.static-header .logo a:after {
          content: '';
          background: url("/recruit/common/img/sp/layout/txt-logo-fixed.png") no-repeat 0 0;
          width: 240px;
          height: 27px;
          background-size: 240px 27px;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0;
          transition: opacity .3s; }
    .device-mobile header.static-header .menu {
      width: 18px;
      height: 18px;
      position: absolute;
      top: 22px;
      right: 5%;
      cursor: pointer;
      box-sizing: border-box;
      z-index: 200;
      transition: top .3s; }
      .device-mobile header.static-header .menu .border {
        position: relative;
        width: 18px;
        height: 18px; }
        .device-mobile header.static-header .menu .border span {
          display: block;
          width: 100%;
          height: 2px;
          background: #fff;
          position: absolute;
          top: 50%;
          left: 0; }
          .device-mobile header.static-header .menu .border span.border-1 {
            margin-top: -9px;
            transform: translateX(0);
            -webkit-transform: translateX(0);
            transition: top 0.18s cubic-bezier(0.455, 0.03, 0.515, 0.955), margin 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
            -webkit-transition: top 0.18s cubic-bezier(0.455, 0.03, 0.515, 0.955), margin 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0s; }
          .device-mobile header.static-header .menu .border span.border-2 {
            opacity: 1;
            margin-top: -1px;
            transition: opacity 0.1s cubic-bezier(0.47, 0, 0.745, 0.715);
            -webkit-transition: opacity 0.1s cubic-bezier(0.47, 0, 0.745, 0.715); }
          .device-mobile header.static-header .menu .border span.border-3 {
            margin-top: 7px;
            transform: translateX(0);
            -webkit-transform: translateX(0);
            transition: top 0.18s cubic-bezier(0.455, 0.03, 0.515, 0.955), margin 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
            -webkit-transition: top 0.18s cubic-bezier(0.455, 0.03, 0.515, 0.955), margin 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0s; }
    .device-mobile header.static-header.open .menu .border span.border-1 {
      top: 50%;
      margin-top: 0;
      transform: rotateZ(45deg);
      -webkit-transform: rotateZ(45deg);
      transition: margin 0.24s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
      -webkit-transition: margin 0.24s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s; }
    .device-mobile header.static-header.open .menu .border span.border-2 {
      opacity: 0; }
    .device-mobile header.static-header.open .menu .border span.border-3 {
      top: 50%;
      margin-top: 0;
      transform: rotateZ(-45deg);
      -webkit-transform: rotateZ(-45deg);
      transition: margin 0.24s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s;
      -webkit-transition: margin 0.24s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s; }
    .device-mobile header.static-header.is-fixed {
      background: rgba(255, 255, 255, 0.5); }
      .device-mobile header.static-header.is-fixed:after {
        opacity: 0; }
      .device-mobile header.static-header.is-fixed .logo {
        padding: 18px 0; }
        .device-mobile header.static-header.is-fixed .logo a img {
          opacity: 0; }
        .device-mobile header.static-header.is-fixed .logo a:after {
          opacity: 1; }
      .device-mobile header.static-header.is-fixed .menu {
        top: 22px; }
        .device-mobile header.static-header.is-fixed .menu .border span {
          background: #101010; }
    .device-mobile header.static-header .global-nav {
      display: none;
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 100; }
      .device-mobile header.static-header .global-nav ul {
        padding-top: 60px; }
      .device-mobile header.static-header .global-nav li, .device-mobile header.static-header .global-nav .menu-facebook,
      .device-mobile header.static-header .global-nav li, .device-mobile header.static-header .global-nav .menu-link {
        border-top: solid 1px #666; }
        .device-mobile header.static-header .global-nav li a, .device-mobile header.static-header .global-nav .menu-facebook a,
        .device-mobile header.static-header .global-nav li a, .device-mobile header.static-header .global-nav .menu-link a {
          color: #fff;
          text-decoration: none;
          font-size: 14px;
          font-weight: 400;
          display: block;
          text-align: center;
          letter-spacing: 0.12em;
          padding: 21px 0; }
      .device-mobile header.static-header .global-nav .menu-facebook .en,
      .device-mobile header.static-header .global-nav .menu-link .en {
        font-family: 'Ubuntu', sans-serif;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 400; }
      .device-mobile header.static-header .global-nav .btn-entry a {
        display: block;
        position: relative;
        height: 56px;
        line-height: 56px;
        overflow: hidden;
        background: rgba(244, 0, 0, 0.5);
        color: #fff;
        text-decoration: none; }
        .device-mobile header.static-header .global-nav .btn-entry a span {
          display: block;
          text-align: center;
          font-family: 'Ubuntu', sans-serif;
          font-weight: 400;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.14em; }
          .device-mobile header.static-header .global-nav .btn-entry a span + span {
            display: none; }
    .device-mobile header.static-header.open .global-nav {
      display: block; }
  .device-desktop header.static-header {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-width: 960px;
    height: 135px;
    z-index: 100;
    overflow: hidden;
    background: url("/recruit/common/img/pc/layout/bg-header.png") repeat-x 0 0; }
    .device-desktop header.static-header .logo {
      position: absolute;
      top: 22px;
      left: 50%;
      margin-left: -142px;
      z-index: 10; }
      .device-desktop header.static-header .logo a {
        display: block;
        text-decoration: none; }
        .device-desktop header.static-header .logo a img {
          display: block;
          margin: 0 auto;
          width: 264px; }
        .device-desktop header.static-header .logo a span {
          display: block;
          margin-top: 12px;
          font-family: 'Poppins', sans-serif;
          font-weight: 500;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          color: #fff;
          font-size: 18px;
          text-align: center;
          letter-spacing: 0.04em;
          position: relative;
          top: -1px;
          right: -1px; }
    .device-desktop header.static-header:before, .device-desktop header.static-header:after {
      content: '';
      display: block;
      width: 50%;
      height: 1px;
      background: rgba(255, 255, 255, 0.3);
      speak: none;
      position: absolute;
      bottom: 62px; }
    .device-desktop header.static-header:before {
      right: 50%;
      margin-right: 105px; }
    .device-desktop header.static-header:after {
      left: 50%;
      margin-left: 95px; }
    .device-desktop header.static-header .global-nav {
      display: table;
      width: 100%;
      min-width: 960px;
      max-width: 100%;
      margin: 0 auto;
      position: relative; }
      .device-desktop header.static-header .global-nav ul {
        text-align: center;
        letter-spacing: -.4em;
        margin-left: -142px; }
        .device-desktop header.static-header .global-nav ul li {
          letter-spacing: normal;
          display: inline-block;
          margin-right: 20px; }
          .device-desktop header.static-header .global-nav ul li span {
            letter-spacing: -.05em;
          }
          .device-desktop header.static-header .global-nav ul li a {
            display: block;
            color: #fff;
            text-decoration: none;
            font-size: 14px;
            letter-spacing: 0.14em;
            font-weight: bold;
            padding-top: 29px;
            padding-bottom: 29px;
            position: relative; }
            .device-desktop header.static-header .global-nav ul li a:after {
              content: '';
              background: var(--themecolor);
              width: 0px;
              height: 4px;
              display: block;
              position: absolute;
              bottom: 0;
              left: 50%;
              transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1); }
            .device-desktop header.static-header .global-nav ul li a:hover:after {
              left: 0;
              width: 100%; }
          .device-desktop header.static-header .global-nav ul li.current a:after {
            left: 0;
            width: 100%; }
          .device-desktop header.static-header .global-nav ul li.menu-support {
            margin-right: 320px; }
            .device-desktop header.static-header .global-nav ul li.menu-about i {
              font-weight: normal;
              font-size: 8px;
              transform: scale(0.7, 0.7);
              position: relative;
              top: -1px; }
          .device-desktop header.static-header .global-nav ul li:last-child {
            margin-right: 0; }
      .device-desktop header.static-header .global-nav .menu-facebook {
        position: absolute;
        top: 28px;
        right: 152px; }
      .device-desktop header.static-header .global-nav .menu-instagram {
        position: absolute;
        top: 28px;
        right: 178px; }
      .device-desktop header.static-header .global-nav .btn-entry {
        position: absolute;
        top: 0;
        right: 0;
        width: 138px; }
        .device-desktop header.static-header .global-nav .btn-entry a {
          display: block;
          position: relative;
          transition: background .5s;
          height: 72px;
          overflow: hidden;
          background: var(--themecolor);
          color: #fff;
          text-decoration: none; }
          .device-desktop header.static-header .global-nav .btn-entry a span {
            display: block;
            height: 72px;
            line-height: 72px;
            text-align: center;
            transform: translateY(0);
            transition: all .46s;
            position: relative;
            z-index: 3;
            font-family: 'Ubuntu', sans-serif;
            font-weight: 400;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.14em; }
          .device-desktop header.static-header .global-nav .btn-entry a:after, .device-desktop header.static-header .global-nav .btn-entry a:before {
            display: block;
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            transform: translateY(100%);
            transition: transform .2s; }
          .device-desktop header.static-header .global-nav .btn-entry a:before {
            z-index: 1;
            background-color: #2f2f2f; }
          .device-desktop header.static-header .global-nav .btn-entry a:after {
            z-index: 2;
            background-color: #101010;
            transition-delay: .1s; }
          .device-desktop header.static-header .global-nav .btn-entry a:hover span {
            transform: translateY(-100%); }
          .device-desktop header.static-header .global-nav .btn-entry a:hover:after, .device-desktop header.static-header .global-nav .btn-entry a:hover:before {
            transform: translateY(0); }
    @media screen and (max-width: 1279px) {
      .device-desktop header.static-header:before, .device-desktop header.static-header:after {
        bottom: 73px; }
      .device-desktop header.static-header:before{
        margin-right: 85px;
      }
      .device-desktop header.static-header:after{
        margin-left: 85px;
      }
      .device-desktop header.static-header .logo {
        width: 226px;
        margin-left: -104px;
        top: 20px; }
        .device-desktop header.static-header .logo a span {
          top: 0;
          font-size: 16px; }
      .device-desktop header.static-header .global-nav {
        margin: 0;
        width: 100%; }
        .device-desktop header.static-header .global-nav ul {
          margin-left: -94px; }
          .device-desktop header.static-header .global-nav ul li {
            margin-right: 10px; }
            .device-desktop header.static-header .global-nav ul li a {
              font-size: 12px;
              letter-spacing: .04em;
              padding-top: 24px;
              padding-bottom: 27px; }
            .device-desktop header.static-header .global-nav ul li.menu-support {
              margin-right: 240px; }
        .device-desktop header.static-header .global-nav .menu-facebook {
          right: 103px;
          top: 23px; }
        .device-desktop header.static-header .global-nav .menu-instagram {
          right: 128px;
          top: 23px; }
        .device-desktop header.static-header .global-nav .btn-entry {
          right: 0;
          width: 88px; }
          .device-desktop header.static-header .global-nav .btn-entry a {
            height: 63px; }
            .device-desktop header.static-header .global-nav .btn-entry a span {
              height: 63px;
              line-height: 63px; }}
  .os-windows header.static-header .global-nav ul li a {
    padding-top: 28px;
    padding-bottom: 30px; }
  @media screen and (max-width: 1279px) {
    .os-windows header.static-header .global-nav ul li a {
      padding-top: 27px;
      padding-bottom: 23px; }}

.device-mobile header.fixed-header {
  display: none; }
.device-desktop header.fixed-header {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: fixed;
  top: -160px;
  left: 0;
  width: 100%;
  z-index: 100;
  opacity: 0;
  display: none;
  pointer-events: none; }
.device-desktop header.fixed-header.active{
  pointer-events: auto; }
  .device-desktop header.fixed-header .menu .menu-inner {
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.24s cubic-bezier(1, 0, 0, 1) 0.05s; }
  .device-desktop header.fixed-header .menu.active .menu-inner {
    opacity: 1;
    transform: translateX(0); }
  @media screen and (max-width: 959px) {
    .device-desktop header.fixed-header .global-nav .menu, .device-desktop header.fixed-header .facebook-bar,
    .device-desktop header.fixed-header .global-nav .menu, .device-desktop header.fixed-header .instagram-bar {
      position: fixed !important; }}
  .device-desktop header.fixed-header .global-nav .wrapper {
    display: none;
    opacity: 0;
    width: 100%;
    min-width: 960px;
    max-width: 100%;
    margin: 0 auto;
    height: 80px;
    line-height: 80px;
    position: relative;
    background: #212121;
    transition: all 0.24s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    overflow: hidden; }
    .device-desktop header.fixed-header .global-nav .wrapper .inner {
      transform: translateX(60%);
      transition: all 0.24s cubic-bezier(1, 0, 0, 1) 0.05s; }
  .device-desktop header.fixed-header .global-nav .menu {
    background: #212121;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    padding: 0 30px;
    box-sizing: border-box;
    z-index: 120; }
    .device-desktop header.fixed-header .global-nav .menu .border {
      width: 20px;
      height: 20px;
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -10px;
      margin-left: -10px; }
      .device-desktop header.fixed-header .global-nav .menu .border span {
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 0; }
        .device-desktop header.fixed-header .global-nav .menu .border span.border-1 {
          margin-top: -8px;
          transform: translateX(0);
          transition: top 0.18s cubic-bezier(0.455, 0.03, 0.515, 0.955), margin 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0s; }
        .device-desktop header.fixed-header .global-nav .menu .border span.border-2 {
          opacity: 1;
          transition: all 0.1s cubic-bezier(0.47, 0, 0.745, 0.715); }
        .device-desktop header.fixed-header .global-nav .menu .border span.border-3 {
          margin-top: 8px;
          transform: translateX(0);
          transition: top 0.18s cubic-bezier(0.455, 0.03, 0.515, 0.955), margin 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0s; }
    .device-desktop header.fixed-header .global-nav .menu:hover .border span.border-1 {
      top: 25%; }
    .device-desktop header.fixed-header .global-nav .menu:hover .border span.border-3 {
      top: 75%; }
    .device-desktop header.fixed-header .global-nav .menu.open .border span.border-1 {
      top: 50%;
      margin-top: 0;
      transform: rotateZ(45deg);
      transition: margin 0.24s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s; }
    .device-desktop header.fixed-header .global-nav .menu.open .border span.border-2 {
      opacity: 0; }
    .device-desktop header.fixed-header .global-nav .menu.open .border span.border-3 {
      top: 50%;
      margin-top: 0;
      transform: rotateZ(-45deg);
      transition: margin 0.24s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, transform 0.25s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s; }
  .device-desktop header.fixed-header .global-nav .logo {
    margin: 0 48px;
    float: left;
    position: relative;
    position: absolute;
    top: -2px;
    left: 0; }
    .device-desktop header.fixed-header .global-nav .logo img {
      vertical-align: middle;
      width: 264px; }
    .device-desktop header.fixed-header .global-nav .logo a {
      display: block; }
  .device-desktop header.fixed-header .global-nav ul {
    float: left;
    letter-spacing: -.4em;
    width: 100%;
    display: table;
    padding-left: 332px;
    padding-right: 80px;
    box-sizing: border-box; }
    .device-desktop header.fixed-header .global-nav ul li {
      letter-spacing: normal;
      display: table-cell; }
      .device-desktop header.fixed-header .global-nav ul li a {
        text-align: center;
        display: block;
        color: #fff;
        text-decoration: none;
        font-size: 13px;
        letter-spacing: 0.16em;
        font-weight: bold;
        padding: 1px 8px 0;
        position: relative;
        transition: background 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
        .device-desktop header.fixed-header .global-nav ul li a span {
          letter-spacing: 0.08em; }
        .device-desktop header.fixed-header .global-nav ul li a i {
          position: relative;
          top: 1px;
          font-size: 18px;
          transition: color 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
      .device-desktop header.fixed-header .global-nav ul li.current a, .device-desktop header.fixed-header .global-nav ul li a:hover {
        background: var(--themecolor); }
        .device-desktop header.fixed-header .global-nav ul li.current a i, .device-desktop header.fixed-header .global-nav ul li a:hover i {
          color: var(--themecolor); }
      .device-desktop header.fixed-header .global-nav ul li.menu-facebook,
      .device-desktop header.fixed-header .global-nav ul li.menu-instagram {
        position: relative;
        top: 3px;
        padding-right: 13px; }
      .device-desktop header.fixed-header .global-nav ul li.menu-instagram{
        padding-right: 9px;
        padding-left: 9px; }
        .device-desktop header.fixed-header .global-nav ul li.menu-facebook a,
        .device-desktop header.fixed-header .global-nav ul li.menu-instagram a {
          padding: 0;
          background: transparent; }
  .device-desktop header.fixed-header .global-nav .btn-entry {
    width: 14%; }
    .device-desktop header.fixed-header .global-nav .btn-entry a {
      display: block;
      position: relative;
      transition: background .5s;
      height: 80px;
      overflow: hidden;
      background: var(--themecolor);
      color: #fff;
      text-decoration: none; }
      .device-desktop header.fixed-header .global-nav .btn-entry a span {
        display: block;
        height: 80px;
        line-height: 80px;
        text-align: center;
        transition: all .46s;
        position: relative;
        top: 0;
        z-index: 3;
        font-family: 'Ubuntu', sans-serif;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.14em; }
      .device-desktop header.fixed-header .global-nav .btn-entry a:after, .device-desktop header.fixed-header .global-nav .btn-entry a:before {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        top: 80px;
        transition: top .2s; }
      .device-desktop header.fixed-header .global-nav .btn-entry a:before {
        z-index: 1;
        background-color: #2f2f2f; }
      .device-desktop header.fixed-header .global-nav .btn-entry a:after {
        z-index: 2;
        background-color: #101010;
        transition-delay: .1s; }
      .device-desktop header.fixed-header .global-nav .btn-entry a:hover span {
        top: -80px; }
      .device-desktop header.fixed-header .global-nav .btn-entry a:hover:after, .device-desktop header.fixed-header .global-nav .btn-entry a:hover:before {
        top: 0; }
  .device-desktop header.fixed-header .global-nav.nav-open .wrapper {
    opacity: 1; }
    .device-desktop header.fixed-header .global-nav.nav-open .wrapper .inner {
      transform: translateX(0%); }
  @media screen and (max-width: 1279px) {
    .device-desktop header.fixed-header .global-nav .logo {
      margin: 0 16px; }
      .device-desktop header.fixed-header .global-nav .logo img {
        width: 170px;
        position: relative;
        top: 2px; }
    .device-desktop header.fixed-header .global-nav ul {
      padding-left: 202px; }
      .device-desktop header.fixed-header .global-nav ul li a {
        font-size: 11px;
        padding: 0 5px;
        letter-spacing: 0.12em; }
        .device-desktop header.fixed-header .global-nav ul li a span {
          letter-spacing: 0; }
    .device-desktop header.fixed-header .global-nav .btn-entry {
      width: 12%; }}
  .device-desktop header.fixed-header .facebook-bar,
  .device-desktop header.fixed-header .instagram-bar {
    position: absolute;
    top: 80px;
    right: 0;
    width: 214px;
    height: 80px;
    overflow: hidden;
    transform: translateX(134px);
    background: #666;
    transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1), background 0.45s cubic-bezier(0.55, 0.085, 0.68, 0.53); }
  .device-desktop header.fixed-header .instagram-bar {
    top: 160px;
    background: #424242; }
    .device-desktop header.fixed-header .instagram-bar:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: url("/recruit/common/img/pc/layout/bg-instagram-bar.png") no-repeat 0 0;
      background-size: 214px 80px;
      transition: opacity 0.45s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      opacity: 0;}
    .device-desktop header.fixed-header .facebook-bar .menu,
    .device-desktop header.fixed-header .instagram-bar .menu {
      cursor: pointer;
      position: absolute;
      top: 0;
      right: 0;
      width: 239px;
      height: 80px; }
      .device-desktop header.fixed-header .facebook-bar .menu a,
      .device-desktop header.fixed-header .instagram-bar .menu a {
        display: block;
        line-height: 78px;
        text-decoration: none; }
        .device-desktop header.fixed-header .facebook-bar .menu a .menu-inner,
        .device-desktop header.fixed-header .instagram-bar .menu a .menu-inner  {
          display: block;
          padding-left: 53px; }
          .device-desktop header.fixed-header .facebook-bar .menu a .menu-inner:before,
          .device-desktop header.fixed-header .instagram-bar .menu a .menu-inner:before {
            line-height: 1;
            content: "\f082";
            font-size: 29px;
            font-family: 'FontAwesome', 'myfont', sans-serif;
            font-weight: normal;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            color: #fff;
            padding-right: 18px;
            position: relative;
            top: 6px; }
          .device-desktop header.fixed-header .instagram-bar .menu a .menu-inner:before{
            content: "\f16d"; }
          .device-desktop header.fixed-header .facebook-bar .menu a .menu-inner > span,
          .device-desktop header.fixed-header .instagram-bar .menu a .menu-inner > span {
            display: inline-block;
            transform: translateX(180px);
            opacity: 0;
            transition: transform 0.23s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.45s cubic-bezier(0.55, 0.085, 0.68, 0.53);
            color: #fff;
            font-size: 14px;
            font-weight: 700;
            line-height: 1.285714286;
            letter-spacing: 0.14em;
            position: relative;
            top: 10px; }
            .device-desktop header.fixed-header .facebook-bar .menu a .menu-inner > span .en,
            .device-desktop header.fixed-header .instagram-bar .menu a .menu-inner > span .en {
              font-family: 'Ubuntu', sans-serif;
              font-weight: 400;
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              font-weight: 500; }
    .device-desktop header.fixed-header .facebook-bar:hover {
      transform: translateX(0);
      background: #3b5998; }
    .device-desktop header.fixed-header .instagram-bar:hover{
      transform: translateX(0); }
      .device-desktop header.fixed-header .instagram-bar:hover:before{
        opacity: 1;}
      .device-desktop header.fixed-header .facebook-bar:hover .menu a .menu-inner > span,
      .device-desktop header.fixed-header .instagram-bar:hover .menu a .menu-inner > span {
        opacity: 1;
        transform: translateX(0); }

main.content, .lead-content {
  background: #fff; }
  .device-desktop main.content, .device-desktop .lead-content {
    width: 100%;
    min-width: 960px;
    max-width: 100%;
    margin: 0 auto; }

.device-mobile footer {
  background: #212121; }
  .device-mobile footer .page-top a {
    background: #666;
    display: block;
    height: 50px;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    overflow: hidden; }
    .device-mobile footer .page-top a span {
      height: 35px;
      line-height: 35px;
      display: inline-block;
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.14em;
      position: relative;
      padding-left: 24px; }
      .device-mobile footer .page-top a span:before {
        line-height: 1;
        content: "";
        font-size: 26px;
        font-family: 'FontAwesome', 'myfont', sans-serif;
        font-weight: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -13px;
        transform: scaleX(0.88); }
  .device-mobile footer .head .global-nav li {
    border-bottom: solid 1px #666; }
    .device-mobile footer .head .global-nav li a {
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      font-weight: 400;
      display: block;
      text-align: center;
      letter-spacing: 0.12em;
      padding: 22px 0; }
    .device-mobile footer .head .global-nav li.menu-facebook a .en {
      font-family: 'Ubuntu', sans-serif;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-weight: 400; }
  .device-mobile footer .head .btn-entry {
    border-bottom: solid 1px #666; }
    .device-mobile footer .head .btn-entry a {
      display: block;
      position: relative;
      height: 59px;
      line-height: 59px;
      overflow: hidden;
      background: var(--themecolor);
      color: #fff;
      text-decoration: none; }
      .device-mobile footer .head .btn-entry a span {
        display: block;
        text-align: center;
        font-family: 'Ubuntu', sans-serif;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.14em; }
        .device-mobile footer .head .btn-entry a span + span {
          display: none; }
  .device-mobile footer .foot ul li + li {
    border-top: solid 1px #666; }
  .device-mobile footer .foot ul li a {
    color: #cecece;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    display: block;
    text-align: center;
    letter-spacing: 0.12em;
    padding: 22px 0; }
  .device-mobile footer .foot .copyright {
    background: #101010;
    color: #cecece;
    font-size: 9px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.04em;
    padding: 17px 0; }
.device-desktop footer {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  min-width: 960px;
  max-width: 100%;
  margin: 0 auto;
  background: #212121; }
  .device-desktop footer .page-top a {
    background: #666;
    display: block;
    height: 35px;
    line-height: 35px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    overflow: hidden; }
    .device-desktop footer .page-top a span {
      height: 35px;
      line-height: 35px;
      display: inline-block;
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      color: #fff;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      position: relative;
      padding-left: 22px; }
      .device-desktop footer .page-top a span:before, .device-desktop footer .page-top a span:after {
        line-height: 1;
        content: "";
        font-size: 11px;
        font-family: 'FontAwesome', 'myfont', sans-serif;
        font-weight: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 400;
        font-style: normal;
        padding-right: 10px;
        position: absolute;
        top: 0;
        left: 0;
        transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
        height: 35px;
        line-height: 35px; }
      .device-desktop footer .page-top a span:before {
        top: 0; }
      .device-desktop footer .page-top a span:after {
        top: 35px; }
    .device-desktop footer .page-top a:hover span:before {
      top: -35px; }
    .device-desktop footer .page-top a:hover span:after {
      top: 0; }
  .device-desktop footer .head {
    height: 72px;
    line-height: 72px; }
    .device-desktop footer .head:after {
      content: "";
      display: block;
      clear: both; }
    .device-desktop footer .head .logo {
      float: left;
      padding-left: 40px; }
      .device-desktop footer .head .logo a {
        display: block; }
      .device-desktop footer .head .logo svg {
        vertical-align: middle;
        width: 226px;
        fill: white; }
    .device-desktop footer .head .global-nav {
      float: right;
      display: table;
      margin: 0 auto;
      position: relative; }
      .device-desktop footer .head .global-nav ul {
        text-align: center;
        letter-spacing: -.4em;
        padding-right: 200px;
        padding-top: 2px; }
        .device-desktop footer .head .global-nav ul li {
          letter-spacing: normal;
          display: inline-block;
          margin-right: 15px; }
          .device-desktop footer .head .global-nav ul li a {
            line-height: 1;
            display: block;
            color: #fff;
            text-decoration: none;
            font-size: 14px;
            letter-spacing: 0.14em;
            font-weight: bold;
            padding: 3px 0;
            position: relative;
            transition: color .3s; }
            .device-desktop footer .head .global-nav ul li a i {
              font-size: 17px; }
            .device-desktop footer .head .global-nav ul li a:after {
              content: '';
              background: var(--themecolor);
              width: 0px;
              height: 1px;
              display: block;
              position: absolute;
              bottom: 0;
              left: 0;
              transition: width .3s; }
            .device-desktop footer .head .global-nav ul li a:hover {
              color: var(--themecolor); }
              .device-desktop footer .head .global-nav ul li a:hover:after {
                width: 100%; }
          .device-desktop footer .head .global-nav ul li.menu-facebook,
          .device-desktop footer .head .global-nav ul li.menu-instagram {
            position: relative;
            top: 3px;
            margin-right: 0; }
          .device-desktop footer .head .global-nav ul li.menu-instagram {
            margin-right: 12px;
          }
            .device-desktop footer .head .global-nav ul li.menu-facebook a,
            .device-desktop footer .head .global-nav ul li.menu-instagram a  {
              padding-bottom: 0;
              text-decoration: none; }
              .device-desktop footer .head .global-nav ul li.menu-facebook a:after,
              .device-desktop footer .head .global-nav ul li.menu-instagram a:after {
                content: none; }
      .device-desktop footer .head .global-nav .btn-entry {
        position: absolute;
        top: 0;
        right: 0; }
        .device-desktop footer .head .global-nav .btn-entry a {
          display: block;
          position: relative;
          transition: background .5s;
          height: 72px;
          overflow: hidden;
          background: var(--themecolor);
          color: #fff;
          text-decoration: none; }
          .device-desktop footer .head .global-nav .btn-entry a span {
            display: block;
            width: 160px;
            height: 72px;
            line-height: 72px;
            text-align: center;
            transition: all .46s;
            position: relative;
            top: 0;
            z-index: 3;
            font-family: 'Ubuntu', sans-serif;
            font-weight: 400;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.14em; }
          .device-desktop footer .head .global-nav .btn-entry a:after, .device-desktop footer .head .global-nav .btn-entry a:before {
            display: block;
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            top: 72px;
            transition: top .2s; }
          .device-desktop footer .head .global-nav .btn-entry a:before {
            z-index: 1;
            background-color: #2f2f2f; }
          .device-desktop footer .head .global-nav .btn-entry a:after {
            z-index: 2;
            background-color: #101010;
            transition-delay: .1s; }
          .device-desktop footer .head .global-nav .btn-entry a:hover span {
            top: -72px; }
          .device-desktop footer .head .global-nav .btn-entry a:hover:after, .device-desktop footer .head .global-nav .btn-entry a:hover:before {
            top: 0; }
  @media screen and (max-width: 1279px) {
    .device-desktop footer .head .logo {
      width: 216px; }
    .device-desktop footer .head .global-nav ul {
      position: relative;
      top: -2px;
      padding-right: 178px; }
      .device-desktop footer .head .global-nav ul li {
        margin-right: 10px; }
        .device-desktop footer .head .global-nav ul li a {
          font-size: 11px; }
        .device-desktop footer .head .global-nav ul li.menu-facebook,
        .device-desktop footer .head .global-nav ul li.menu-instagram {
          top: 4px; }}
  .device-desktop footer .foot {
    background: #101010;
    padding: 10px 40px 7px; }
    .device-desktop footer .foot:after {
      content: "";
      display: block;
      clear: both; }
    .device-desktop footer .foot ul {
      float: left; }
      .device-desktop footer .foot ul li {
        display: inline-block;
        margin-right: 24px; }
        .device-desktop footer .foot ul li a {
          font-size: 11px;
          letter-spacing: 0.1em;
          color: #999;
          text-decoration: none;
          position: relative;
          transition: color .3s; }
          .device-desktop footer .foot ul li a:hover {
            color: #666; }
    .device-desktop footer .foot .copyright {
      float: right;
      padding-top: 2px;
      font-size: 8px;
      letter-spacing: 0.16em;
      color: #999; }

/*-------------------------*/
/* margin / padding        */
/*-------------------------*/
/* margin */
.mt-0 {
  margin-top: 0px !important; }

.mt-10 {
  margin-top: 10px !important; }

.mt-20 {
  margin-top: 20px !important; }

.mt-30 {
  margin-top: 30px !important; }

.mt-40 {
  margin-top: 40px !important; }

.mt-60 {
  margin-top: 60px !important; }

.mt-80 {
  margin-top: 80px !important; }

.mt-90 {
  margin-top: 90px !important; }

.mt-100 {
  margin-top: 100px !important; }

.mr-0 {
  margin-right: 0px !important; }

.mr-10 {
  margin-right: 10px !important; }

.mr-20 {
  margin-right: 20px !important; }

.mr-30 {
  margin-right: 30px !important; }

.mr-40 {
  margin-right: 40px !important; }

.mr-60 {
  margin-right: 60px !important; }

.mr-80 {
  margin-right: 80px !important; }

.mr-90 {
  margin-right: 90px !important; }

.mr-100 {
  margin-right: 100px !important; }

.mb-0 {
  margin-bottom: 0px !important; }

.mb-10 {
  margin-bottom: 10px !important; }

.mb-20 {
  margin-bottom: 20px !important; }

.mb-30 {
  margin-bottom: 30px !important; }

.mb-40 {
  margin-bottom: 40px !important; }

.mb-60 {
  margin-bottom: 60px !important; }

.mb-80 {
  margin-bottom: 80px !important; }

.mb-90 {
  margin-bottom: 90px !important; }

.mb-100 {
  margin-bottom: 100px !important; }

.ml-0 {
  margin-left: 0px !important; }

.ml-10 {
  margin-left: 10px !important; }

.ml-20 {
  margin-left: 20px !important; }

.ml-30 {
  margin-left: 30px !important; }

.ml-40 {
  margin-left: 40px !important; }

.ml-60 {
  margin-left: 60px !important; }

.ml-80 {
  margin-left: 80px !important; }

.ml-90 {
  margin-left: 90px !important; }

.ml-100 {
  margin-left: 100px !important; }

/* padding */
.pt-0 {
  padding-top: 0px !important; }

.pt-10 {
  padding-top: 10px !important; }

.pt-20 {
  padding-top: 20px !important; }

.pt-30 {
  padding-top: 30px !important; }

.pt-40 {
  padding-top: 40px !important; }

.pt-60 {
  padding-top: 60px !important; }

.pt-80 {
  padding-top: 80px !important; }

.pt-90 {
  padding-top: 90px !important; }

.pt-100 {
  padding-top: 100px !important; }

.pr-0 {
  padding-right: 0px !important; }

.pr-10 {
  padding-right: 10px !important; }

.pr-20 {
  padding-right: 20px !important; }

.pr-30 {
  padding-right: 30px !important; }

.pr-40 {
  padding-right: 40px !important; }

.pr-60 {
  padding-right: 60px !important; }

.pr-80 {
  padding-right: 80px !important; }

.pr-90 {
  padding-right: 90px !important; }

.pr-100 {
  padding-right: 100px !important; }

.pb-0 {
  padding-bottom: 0px !important; }

.pb-10 {
  padding-bottom: 10px !important; }

.pb-20 {
  padding-bottom: 20px !important; }

.pb-30 {
  padding-bottom: 30px !important; }

.pb-40 {
  padding-bottom: 40px !important; }

.pb-60 {
  padding-bottom: 60px !important; }

.pb-80 {
  padding-bottom: 80px !important; }

.pb-90 {
  padding-bottom: 90px !important; }

.pb-100 {
  padding-bottom: 100px !important; }

.pl-0 {
  padding-left: 0px !important; }

.pl-10 {
  padding-left: 10px !important; }

.pl-20 {
  padding-left: 20px !important; }

.pl-30 {
  padding-left: 30px !important; }

.pl-40 {
  padding-left: 40px !important; }

.pl-60 {
  padding-left: 60px !important; }

.pl-80 {
  padding-left: 80px !important; }

.pl-90 {
  padding-left: 90px !important; }

.pl-100 {
  padding-left: 100px !important; }

/*-------------------------*/
/* common element          */
/*-------------------------*/
/* -- headline -- */
.device-mobile .elm-headline {
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 24px;
  line-height: 1.3;
  margin-bottom: 16.4px;
  margin-top: -3.6px;
  font-weight: 700;
  color: #404040; }
.os-android .elm-headline {
  font-weight: 500; }
.device-desktop .elm-headline {
  letter-spacing: 0.12em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 30px;
  line-height: 1.3;
  margin-bottom: 43.5px;
  margin-top: -4.5px; }
  .device-desktop .elm-headline span {
    letter-spacing: -0.02em; }
  .device-desktop .elm-headline span.kerning {
    letter-spacing: -0.25em; }
.os-windows .elm-headline span {
  letter-spacing: 0; }

.device-mobile .elm-sub-headline {
  text-align: center;
  letter-spacing: 0.025em;
  font-size: 15px;
  line-height: 1.3;
  margin-bottom: 17.75px;
  margin-top: 5.75px;
  font-weight: 700;
  color: #404040; }
.os-android .elm-sub-headline {
  font-weight: 500; }
.device-desktop .elm-sub-headline {
  letter-spacing: 0.12em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 26px;
  margin-top: -6px; }

.device-mobile .elm-sub-headline-2 {
  font-size: 15px;
  font-weight: 700;
  padding-bottom: 7px;
  margin-bottom: 20px;
  border-bottom: solid 2px var(--themecolor);
  display: inline-block;
  letter-spacing: 0.09em; }
.os-android .elm-sub-headline-2 {
  font-weight: 500; }
.device-desktop .elm-sub-headline-2 {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 8px;
  margin-bottom: 24px;
  border-bottom: solid 2px var(--themecolor);
  display: inline-block;
  letter-spacing: 0.12em; }

/* -- paragraph -- */
.device-mobile .elm-lead {
  font-size: 13px;
  line-height: 1.62;
  margin-bottom: 23.97px;
  margin-top: -4.03px;
  font-weight: 300;
  letter-spacing: 0.01em; }
.device-desktop .elm-lead {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 17px;
  line-height: 1.59;
  margin-bottom: 42.985px;
  margin-top: -5.015px; }

.device-mobile .elm-paragraph p {
  font-size: 13px;
  line-height: 1.62;
  margin-bottom: -4.03px;
  margin-top: -4.03px; }
  .device-mobile .elm-paragraph p + p {
    font-size: 13px;
    line-height: 1.62;
    margin-bottom: -4.03px;
    margin-top: 23.97px; }
.device-desktop .elm-paragraph p {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 17px;
  line-height: 1.59;
  margin-bottom: -5.015px;
  margin-top: -5.015px; }
  .device-desktop .elm-paragraph p + p {
    font-size: 17px;
    line-height: 1.59;
    margin-bottom: -5.015px;
    margin-top: 26.985px; }

/* -- btn -- */
.device-mobile .elm-btn {
  display: block;
  text-decoration: none;
  height: 45px;
  line-height: 45px;
  font-size: 14px;
  letter-spacing: 0.06em;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  text-align: center; }
  .device-mobile .elm-btn span + span {
    display: none; }
  .device-mobile .elm-btn.external span:after {
    line-height: 1;
    content: "";
    font-size: 15px;
    font-family: 'FontAwesome', 'myfont', sans-serif;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-left: 8px;
    position: relative;
    top: 1px; }
  .device-mobile .elm-btn.elm-btn-strong {
    background: var(--themecolor);
    color: #fff;
    height: 52px;
    line-height: 52px; }
  .device-mobile .elm-btn.elm-btn-normal {
    background: #2f2f2f;
    color: #fff;
    letter-spacing: 0.2em; }
.device-desktop .elm-btn {
  display: inline-block;
  text-decoration: none;
  width: 532px;
  height: 72px;
  line-height: 74px;
  font-size: 18px;
  font-weight: bold;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .device-desktop .elm-btn.external span:after {
    line-height: 1;
    content: "";
    font-size: 17px;
    font-family: 'FontAwesome', 'myfont', sans-serif;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-left: 10px;
    position: relative;
    top: 1px; }
  .device-desktop .elm-btn.elm-btn-strong {
    margin: 0 auto;
    display: block;
    position: relative;
    transition: background .5s;
    height: 72px;
    overflow: hidden;
    background: var(--themecolor); }
    .device-desktop .elm-btn.elm-btn-strong span {
      color: #fff;
      display: block;
      height: 72px;
      line-height: 74px;
      text-align: center;
      transition: all .46s;
      position: relative;
      top: 0;
      z-index: 3; }
      .device-desktop .elm-btn.elm-btn-strong span img {
        vertical-align: middle; }
    .device-desktop .elm-btn.elm-btn-strong:after, .device-desktop .elm-btn.elm-btn-strong:before {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      top: 72px;
      transition: top .2s; }
    .device-desktop .elm-btn.elm-btn-strong:before {
      z-index: 1;
      background: #2f2f2f; }
    .device-desktop .elm-btn.elm-btn-strong:after {
      z-index: 2;
      background-color: #101010;
      transition-delay: .1s; }
    .device-desktop .elm-btn.elm-btn-strong:hover span {
      top: -72px; }
    .device-desktop .elm-btn.elm-btn-strong:hover:after, .device-desktop .elm-btn.elm-btn-strong:hover:before {
      top: 0; }
  .device-desktop .elm-btn.elm-btn-normal {
    margin: 0 auto;
    display: block;
    position: relative;
    transition: background .5s;
    width: 264px;
    height: 72px;
    overflow: hidden;
    background: #2f2f2f;
    color: #fff; }
    .device-desktop .elm-btn.elm-btn-normal:hover {
      background-color: #101010; }
.os-windows .elm-btn {
  line-height: 81px; }
  .os-windows .elm-btn.elm-btn-strong span {
    line-height: 80px; }

/*-------------------------*/
/* common module           */
/*-------------------------*/
/* -- btn-list -- */
.device-mobile .mod-btn-list li + li {
  margin-top: 8px; }
.device-desktop .mod-btn-list {
  letter-spacing: -.4em; }
  .device-desktop .mod-btn-list li {
    letter-spacing: normal;
    display: inline-block; }
    .device-desktop .mod-btn-list li .elm-btn {
      width: 264px; }
    .device-desktop .mod-btn-list li + li {
      margin-left: 4px; }

/* -- document-block -- */
.device-mobile .mod-document-block {
  padding: 52px 6.25%; }
  .device-mobile .mod-document-block .lead {
    font-size: 13px;
    line-height: 1.62;
    margin-bottom: -4.03px;
    margin-top: -4.03px;
    font-weight: 300;
    letter-spacing: 0.025em; }
.device-desktop .mod-document-block {
  padding: 120px 0 104px;
  text-align: center; }
  .device-desktop .mod-document-block .lead {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 17px;
    line-height: 1.59;
    margin-bottom: 42.985px;
    margin-top: -5.015px; }
  .device-desktop .mod-document-block.compact-block {
    width: 864px;
    margin: 0 auto; }

.device-mobile .mod-tab-navigation + .mod-document-block {
  padding-top: 48px; }
.device-desktop .mod-tab-navigation + .mod-document-block {
  padding-top: 92px; }

/* -- mod-tab-navigation -- */
.device-mobile .mod-tab-navigation {
  padding-top: 36px; }
  .device-mobile .mod-tab-navigation ul {
    text-align: center;
    letter-spacing: -.4em;
    border-bottom: solid 1px #cecece; }
    .device-mobile .mod-tab-navigation ul li {
      letter-spacing: normal;
      display: inline-block; }
      .device-mobile .mod-tab-navigation ul li + li {
        margin-left: 16px; }
      .device-mobile .mod-tab-navigation ul li a, .device-mobile .mod-tab-navigation ul li span.current {
        display: block;
        padding-bottom: 11px;
        font-size: 14px;
        font-weight: 700;
        position: relative; }
        .device-mobile .mod-tab-navigation ul li a:after, .device-mobile .mod-tab-navigation ul li span.current:after {
          content: '';
          background: var(--themecolor);
          width: 0px;
          height: 3px;
          display: block;
          position: absolute;
          bottom: 0;
          left: 50%;
          transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1); }
      .device-mobile .mod-tab-navigation ul li a {
        text-decoration: none;
        color: #404040; }
      .device-mobile .mod-tab-navigation ul li span.current:after {
        left: 0;
        width: 100%; }
  .device-mobile .mod-tab-navigation.mb-anchor ul li a:before {
    line-height: 1;
    content: "";
    font-size: 16px;
    font-family: 'FontAwesome', 'myfont', sans-serif;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--themecolor);
    padding-right: 4px; }
.os-android .mod-tab-navigation ul li a, .os-android .mod-tab-navigation ul li span.current {
  font-weight: 500; }
.device-desktop .mod-tab-navigation {
  padding-top: 64px; }
  .device-desktop .mod-tab-navigation ul {
    border-bottom: solid 1px #cecece;
    text-align: center;
    letter-spacing: -.4em; }
    .device-desktop .mod-tab-navigation ul li {
      letter-spacing: normal;
      display: inline-block; }
      .device-desktop .mod-tab-navigation ul li + li {
        margin-left: 32px; }
      .device-desktop .mod-tab-navigation ul li a, .device-desktop .mod-tab-navigation ul li span.current {
        display: block;
        padding-bottom: 10px;
        font-size: 15px;
        font-weight: 700;
        font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: relative; }
        .device-desktop .mod-tab-navigation ul li a:after, .device-desktop .mod-tab-navigation ul li span.current:after {
          content: '';
          background: var(--themecolor);
          width: 0px;
          height: 4px;
          display: block;
          position: absolute;
          bottom: 0;
          left: 50%;
          transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1); }
      .device-desktop .mod-tab-navigation ul li a {
        text-decoration: none;
        color: #404040; }
        .device-desktop .mod-tab-navigation ul li a:hover:after {
          left: 0;
          width: 100%; }
      .device-desktop .mod-tab-navigation ul li span.current:after {
        left: 0;
        width: 100%; }
.mod-tab-navigation.dark {
  background: #101010; }
  .mod-tab-navigation.dark ul {
    border-bottom: solid 1px #666; }
    .mod-tab-navigation.dark ul li a {
      color: #fff; }

/* -- photolink-block -- */
.mod-photolink-block {
  overflow: hidden; }
  .device-mobile .mod-photolink-block li a {
    position: relative;
    display: block;
    color: #fff;
    text-decoration: none; }
    .device-mobile .mod-photolink-block li a:after {
      line-height: 1;
      content: "";
      font-size: 28px;
      font-family: 'FontAwesome', 'myfont', sans-serif;
      font-weight: normal;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 50%;
      right: 5.94%;
      margin-top: -15px;
      text-shadow: 0.5px 1px 2px rgba(0, 0, 0, 0.3);
      -webkit-font-smoothing: subpixel-antialiased;
      -moz-osx-font-smoothing: auto; }
    .device-mobile .mod-photolink-block li a figure {
      overflow: hidden; }
      .device-mobile .mod-photolink-block li a figure img {
        width: 100%;
        margin: -1px 0; }
    .device-mobile .mod-photolink-block li a .text {
      color: #fff;
      position: absolute;
      top: 50%;
      left: 0; }
      .device-mobile .mod-photolink-block li a .text h3 .en {
        font-family: 'Playfair Display', serif;
        font-style: italic;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: block;
        color: #fff;
        font-size: 7px;
        font-weight: 700;
        padding-bottom: 6px;
        letter-spacing: 0.14em; }
    .device-mobile .mod-photolink-block li a .lead {
      color: #fff;
      font-size: 11px;
      line-height: 1.59;
      margin-bottom: -3.245px;
      margin-top: -3.245px; }
  .device-mobile .mod-photolink-block.col2 li + li {
    margin-top: 1px; }
  .device-mobile .mod-photolink-block.col2 li a:after {
    right: 4.67%; }
  .device-mobile .mod-photolink-block.col2 li a .text {
    margin-top: -28px;
    text-align: center;
    width: 100%;
    margin-top: -22px; }
    .device-mobile .mod-photolink-block.col2 li a .text:after {
      content: "";
      display: block;
      clear: both; }
    .device-mobile .mod-photolink-block.col2 li a .text h3 {
      position: relative; }
      .device-mobile .mod-photolink-block.col2 li a .text h3 .en {
        display: none; }
      .device-mobile .mod-photolink-block.col2 li a .text h3 img {
        width: 129px; }
    .device-mobile .mod-photolink-block.col2 li a .text .lead {
      display: none; }
  .device-mobile .mod-photolink-block.col4 li + li {
    margin-top: 1px; }
  .device-mobile .mod-photolink-block.col4 li a:after {
    right: 4.67%; }
  .device-mobile .mod-photolink-block.col4 li a .text {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    margin-top: -24px; }
    .device-mobile .mod-photolink-block.col4 li a .text h3 {
      position: relative; }
      .device-mobile .mod-photolink-block.col4 li a .text h3 .en {
        display: none; }
      .device-mobile .mod-photolink-block.col4 li a .text h3 img {
        width: 77px; }
    .device-mobile .mod-photolink-block.col4 li a .text .lead {
      display: none; }
  .device-desktop .mod-photolink-block {
    letter-spacing: -.4em;
    font-size: 0; }
    .device-desktop .mod-photolink-block.col4 li {
      width: 25%; }
    .device-desktop .mod-photolink-block.col2 li {
      width: 50%; }
    .device-desktop .mod-photolink-block li {
      letter-spacing: normal;
      display: inline-block; }
      .device-desktop .mod-photolink-block li img {
        width: 100%; }
      .device-desktop .mod-photolink-block li a {
        position: relative;
        text-decoration: none;
        width: 100%;
        display: block; }
        .device-desktop .mod-photolink-block li a:after {
          content: '';
          background: rgba(112, 0, 0, 0);
          position: absolute;
          top: 0;
          left: 0;
          z-index: 10;
          width: 100%;
          height: 100%;
          display: block;
          transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1); }
        .device-desktop .mod-photolink-block li a .text {
          box-sizing: border-box;
          position: absolute;
          top: 0;
          left: 0;
          z-index: 20;
          width: 100%;
          height: 100%;
          display: block;
          vertical-align: middle;
          text-align: center; }
          .device-desktop .mod-photolink-block li a .text h3 {
            text-align: center;
            position: absolute;
            top: 50%;
            left: 0;
            margin-top: -10px;
            width: 100%;
            transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
            .device-desktop .mod-photolink-block li a .text h3 .en {
              font-family: 'Playfair Display', serif;
              font-style: italic;
              font-weight: 400;
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              display: block;
              color: #fff;
              font-size: 12px;
              font-weight: 700;
              padding-bottom: 8px;
              letter-spacing: 0.14em;
              text-shadow: 0 0 20px rgba(0, 0, 0, 0.4), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 0.4px rgba(0, 0, 0, 0.4); }
            .device-desktop .mod-photolink-block li a .text h3 .ja {
              display: block;
              color: #fff;
              font-size: 28px;
              font-weight: bold;
              letter-spacing: 0.04em;
              text-shadow: 0 0 20px rgba(0, 0, 0, 0.4), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 0.4px rgba(0, 0, 0, 0.4); }
              .device-desktop .mod-photolink-block li a .text h3 .ja span {
                letter-spacing: -.15em; }
          .device-desktop .mod-photolink-block li a .text .lead {
            font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-size: 17px;
            line-height: 1.59;
            margin-bottom: -5.015px;
            margin-top: -5.015px;
            color: #fff;
            opacity: 0;
            width: 60%;
            margin: 0 auto;
            text-align: justify;
            position: absolute;
            top: 50%;
            left: 20%;
            margin-top: -43px;
            padding-bottom: 26px;
            letter-spacing: 0.02em;
            transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
            .device-desktop .mod-photolink-block li a .text .lead:after {
              font-weight: bold;
              color: #fff;
              line-height: 1;
              content: "";
              font-size: 22px;
              font-family: 'FontAwesome', 'myfont', sans-serif;
              font-weight: normal;
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              display: inline-block;
              position: absolute;
              bottom: -8px;
              left: 30%;
              margin-left: -3px;
              transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .device-desktop .mod-photolink-block li a:hover:after {
          background: rgba(112, 0, 0, 0.7);
          top: 20px;
          left: 20px;
          width: 86%;
          height: 86%;
          width: -webkit-calc(100% - 40px);
          height: -webkit-calc(100% - 40px);
          width: calc(100% - 40px);
          height: calc(100% - 40px); }
        .device-desktop .mod-photolink-block li a:hover .text h3 {
          margin-top: -72px; }
          .device-desktop .mod-photolink-block li a:hover .text h3 .ja {
            text-shadow: none !important; }
        .device-desktop .mod-photolink-block li a:hover .text .lead {
          opacity: 1;
          margin-top: -33px; }
          .device-desktop .mod-photolink-block li a:hover .text .lead:after {
            bottom: 0;
            left: 50%; }
        @media screen and (max-width: 1279px) {
          .device-desktop .mod-photolink-block li a .text .lead {
            width: auto;
            left: 0;
            padding: 0 30px;
            font-size: 16px;
            line-height: 1.58;
            margin-bottom: -4.64px;
            margin-top: -4.64px;
            margin-top: -38px; }
            .device-desktop .mod-photolink-block li a .text .lead:after {
              display: none; }
          .device-desktop .mod-photolink-block li a:hover:after {
            background: rgba(112, 0, 0, 0.7);
            top: 15px;
            left: 15px;
            width: 86%;
            height: 86%;
            width: -webkit-calc(100% - 30px);
            height: -webkit-calc(100% - 30px);
            width: calc(100% - 30px);
            height: calc(100% - 30px); }
          .device-desktop .mod-photolink-block li a:hover .text h3 {
            margin-top: -68px; }
          .device-desktop .mod-photolink-block li a:hover .text .lead {
            margin-top: -28px; }
            .device-desktop .mod-photolink-block li a:hover .text .lead:after {
              display: none; }}
    .device-desktop .mod-photolink-block.col4 li a .text h3 .en {
      -webkit-font-smoothing: subpixel-antialiased;
      -moz-osx-font-smoothing: auto;
      font-weight: 700; }
    .device-desktop .mod-photolink-block.col4 li a .text h3 .ja {
      text-shadow: 0 0 20px rgba(0, 0, 0, 0.4), 0 0 60px rgba(0, 0, 0, 0.4), 0 0 80px rgba(0, 0, 0, 0.4), 0 0 100px rgba(0, 0, 0, 0.8), 0 0 120px rgba(0, 0, 0, 0.8), 0 0 140px black, 0 0 0.4px rgba(0, 0, 0, 0.4); }
    .device-desktop .mod-photolink-block.col2 li a .text h3 .en {
      -webkit-font-smoothing: subpixel-antialiased;
      -moz-osx-font-smoothing: auto;
      font-weight: 700; }
    .device-desktop .mod-photolink-block.col2 li a .text .lead {
      width: 60%;
      left: 20%;
      margin-top: -28px; }
      .device-desktop .mod-photolink-block.col2 li a .text .lead:after {
        bottom: -10px; }
    .device-desktop .mod-photolink-block.col2 li a:hover .text h3 {
      margin-top: -62px; }
    .device-desktop .mod-photolink-block.col2 li a:hover .text .lead {
      margin-top: -18px; }
      .device-desktop .mod-photolink-block.col2 li a:hover .text .lead:after {
        bottom: 0px; }
    @media screen and (max-width: 1279px) {
      .device-desktop .mod-photolink-block.col2 li a .text .lead {
        padding: 0 72px;
        width: auto;
        margin-top: -23px;
        left: 0; }
      .device-desktop .mod-photolink-block.col2 li a:hover .text h3 {
        margin-top: -54px; }
      .device-desktop .mod-photolink-block.col2 li a:hover .text .lead {
        margin-top: -13px; }}
  .os-windows .mod-photolink-block li a .text h3 .ja span {
    letter-spacing: 0.01em; }
  .os-windows .mod-photolink-block li a:hover:after {
    top: 7%;
    left: 7%;
    width: 86%;
    height: 86%; }
  .os-windows .mod-photolink-block.col2 li a:hover:after {
    top: 7%;
    left: 4%;
    width: 92%;
    height: 86%; }

/* -- photolink -- */
.mod-photolink li {
  overflow: hidden; }
.device-mobile .mod-photolink.company li a.external .text h3 .en {
  display: none; }
.device-mobile .mod-photolink.company li a.external .text h3 .ja img {
  width: 115px; }
.device-mobile .mod-photolink.company li a.external .text h3 .ja:after {
  content: none; }
.device-mobile .mod-photolink.col3 li + li {
  margin-top: 6px; }
.device-mobile .mod-photolink.col3 li a:after {
  right: 5%; }
.device-mobile .mod-photolink.col3 li .text h3 .en {
  padding-bottom: 0; }
.device-mobile .mod-photolink.col3 li .text h3 .ja {
  display: block;
  margin-top: -4px; }
.device-mobile .mod-photolink.col2 {
  margin: 0 1.88%; }
  .device-mobile .mod-photolink.col2 li + li {
    margin-top: 6px; }
.device-mobile .mod-photolink li {
  overflow: hidden; }
  .device-mobile .mod-photolink li + li {
    margin-top: 1px; }
  .device-mobile .mod-photolink li a {
    position: relative;
    display: block;
    color: #fff;
    text-decoration: none; }
    .device-mobile .mod-photolink li a:after {
      line-height: 1;
      content: "";
      font-size: 28px;
      font-family: 'FontAwesome', 'myfont', sans-serif;
      font-weight: normal;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 50%;
      right: 5.94%;
      margin-top: -14px;
      text-shadow: 0.5px 1px 2px rgba(0, 0, 0, 0.3);
      -webkit-font-smoothing: subpixel-antialiased;
      -moz-osx-font-smoothing: auto; }
    .device-mobile .mod-photolink li a figure img {
      width: 100%; }
    .device-mobile .mod-photolink li a .text {
      color: #fff;
      position: absolute;
      top: 50%;
      left: 0;
      text-align: center;
      width: 100%;
      padding: 0;
      margin-top: -22px; }
      .device-mobile .mod-photolink li a .text h3 .en {
        font-family: 'Playfair Display', serif;
        font-style: italic;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: block;
        color: #fff;
        font-size: 7px;
        font-weight: 700;
        padding-bottom: 6px;
        letter-spacing: 0.14em; }
    .device-mobile .mod-photolink li a.external .text h3 .ja:after {
      line-height: 1;
      content: "";
      font-size: 14px;
      font-family: 'FontAwesome', 'myfont', sans-serif;
      font-weight: normal;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      padding-left: 6px;
      position: relative;
      top: -3px; }
.device-desktop .mod-photolink.col2 {
  letter-spacing: -.4em; }
  .device-desktop .mod-photolink.col2:after {
    content: "";
    display: block;
    clear: both; }
  .device-desktop .mod-photolink.col2 li {
    letter-spacing: normal;
    float: left;
    width: 50%; }
    .device-desktop .mod-photolink.col2 li a .text h3 {
      margin-top: -10px; }
      .device-desktop .mod-photolink.col2 li a .text h3 .en {
        font-size: 12px;
        padding-bottom: 8px; }
      .device-desktop .mod-photolink.col2 li a .text h3 .ja {
        font-size: 30px;
        letter-spacing: 0.04em;
        text-shadow: 0 0 20px rgba(0, 0, 0, 0.4), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 0.4px rgba(0, 0, 0, 0.4); }
    .device-desktop .mod-photolink.col2 li a:hover:after {
      border: solid 12px rgba(112, 0, 0, 0.7); }
.device-desktop .mod-photolink.col3 {
  letter-spacing: -.4em;
  padding: 0 80px; }
  .device-desktop .mod-photolink.col3:after {
    content: "";
    display: block;
    clear: both; }
  .device-desktop .mod-photolink.col3 li {
    letter-spacing: normal;
    float: left;
    width: 33.333%; }
    .device-desktop .mod-photolink.col3 li a .text h3 {
      margin-top: -10px; }
      .device-desktop .mod-photolink.col3 li a .text h3 .en {
        font-size: 12px;
        padding-bottom: 8px; }
      .device-desktop .mod-photolink.col3 li a .text h3 .ja {
        font-size: 28px;
        letter-spacing: 0.02em; }
        .device-desktop .mod-photolink.col3 li a .text h3 .ja span {
          letter-spacing: -.1em; }
  @media screen and (max-width: 1279px) {
    .device-desktop .mod-photolink.col3 {
      padding: 0 60px; }}
.device-desktop .mod-photolink li a {
  position: relative;
  text-decoration: none;
  width: 100%;
  display: block; }
  .device-desktop .mod-photolink li a:after {
    content: '';
    border: solid 1px rgba(112, 0, 0, 0);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: block;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .device-desktop .mod-photolink li a figure {
    width: 100%;
    height: 100%;
    overflow: hidden; }
    .device-desktop .mod-photolink li a figure img {
      display: inline-block;
      width: 100%;
      vertical-align: bottom;
      margin: -1px 0; }
  .device-desktop .mod-photolink li a .text {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%;
    display: block;
    text-align: center; }
    .device-desktop .mod-photolink li a .text h3 {
      text-align: center;
      position: absolute;
      top: 50%;
      left: 0;
      margin-top: -10px;
      width: 100%;
      transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
      .device-desktop .mod-photolink li a .text h3 .en {
        font-family: 'Playfair Display', serif;
        font-style: italic;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: block;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        padding-bottom: 6px;
        letter-spacing: 0.14em;
        text-shadow: 0 0 20px rgba(0, 0, 0, 0.4), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 0.4px rgba(0, 0, 0, 0.4); }
      .device-desktop .mod-photolink li a .text h3 .ja {
        display: block;
        color: #fff;
        font-size: 28px;
        font-weight: bold;
        letter-spacing: 0.04em;
        text-shadow: 0 0 20px rgba(0, 0, 0, 0.4), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 80px rgba(0, 0, 0, 0.6), 0 0 0.4px rgba(0, 0, 0, 0.4); }
  .device-desktop .mod-photolink li a:hover:after {
    border: solid 9px rgba(112, 0, 0, 0.7); }
  .device-desktop .mod-photolink li a.external .text h3 .ja:after {
    line-height: 1;
    content: "";
    font-size: 15px;
    font-family: 'FontAwesome', 'myfont', sans-serif;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-left: 6px;
    position: relative;
    top: -4px; }
.os-windows .mod-photolink.col2 li a .text h3, .os-windows .mod-photolink.col3 li a .text h3 {
  margin-top: -6px; }
  .os-windows .mod-photolink.col2 li a .text h3 .ja span, .os-windows .mod-photolink.col3 li a .text h3 .ja span {
    letter-spacing: 0; }
.os-windows .mod-photolink li a .text h3 {
  margin-top: -6px; }

/*-------------------------*/
/* layout module           */
/*-------------------------*/
/* -- key-head -- */
.device-mobile .mod-key-head {
  height: 146px;
  text-align: center; }
  .device-mobile .mod-key-head .title {
    padding-top: 64px; }
    .device-mobile .mod-key-head .title .en {
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: block;
      color: #fff;
      font-size: 9.5px;
      font-weight: 700;
      padding-bottom: 10px;
      letter-spacing: 0.2em; }
.device-desktop .mod-key-head {
  width: 100%;
  min-width: 960px;
  max-width: 100%;
  margin: 0 auto;
  height: 290px;
  text-align: center; }
  .device-desktop .mod-key-head .title {
    padding-top: 138px; }
    .device-desktop .mod-key-head .title .en {
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: block;
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      padding-bottom: 24px;
      letter-spacing: 0.2em; }

/* -- lead-content-- */
.device-mobile .mod-lead-content h2 {
  padding: 36px 0;
  background: url("/recruit/common/img/sp/lead-content/bg-lead-content-1.jpg");
  background-size: cover;
  text-align: center; }
  .device-mobile .mod-lead-content h2 img {
    width: 206px;
    vertical-align: middle; }
.device-mobile .mod-lead-content .mod-photolink {
  background: url("/recruit/common/img/sp/lead-content/bg-lead-content-2.jpg");
  background-size: cover;
  padding: 28px 1.88%; }
.device-desktop .mod-lead-content {
  background: url("/recruit/common/img/pc/lead-content/bg-lead-content.jpg");
  background-size: cover;
  padding: 80px 0; }
  .device-desktop .mod-lead-content h2 {
    text-align: center;
    margin-bottom: 48px; }
    .device-desktop .mod-lead-content h2 img {
      width: 297px; }
  @media screen and (max-width: 1279px) {
    .device-desktop .mod-lead-content {
      padding: 60px 0; }}

/* -- lead-important-- */
.device-mobile .mod-lead-important {
  background: url("/recruit/common/img/sp/lead-important/bg-lead-important.png") repeat-y 0 45px;
  background-size: 100% auto;
  position: relative;
  padding: 30px 0 40px; }
  .device-mobile .mod-lead-important .text h2 {
    background: url("/recruit/common/img/sp/lead-important/img-lead-important.jpg") no-repeat 50% 0;
    text-align: center;
    background-size: 100% auto;
    padding: 15% 0; }
    .device-mobile .mod-lead-important .text h2 img {
      width: 217px;
      vertical-align: middle; }
  .device-mobile .mod-lead-important .text .lead, .device-mobile .mod-lead-important .text .btn {
    margin: 0 6.25%; }
  .device-mobile .mod-lead-important .text .lead {
    color: #fff;
    font-size: 11px;
    line-height: 1.55;
    margin-bottom: 16.975px;
    margin-top: 20.975px;
    letter-spacing: 0.02em;
    text-align: left; }
  .device-mobile .mod-lead-important .text .btn .elm-btn {
    height: 53px;
    line-height: 53px; }
  .device-mobile .mod-lead-important .bg {
    display: none; }
.device-desktop .mod-lead-important {
  background: url("/recruit/common/img/pc/lead-important/bg-lead-important.png") repeat-y 0 45px;
  background-size: 100% auto;
  position: relative;
  padding: 80px; }
  @media screen and (max-width: 1279px) {
    .device-desktop .mod-lead-important {
      padding: 60px; }}
  .device-desktop .mod-lead-important .text {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -116px;
    margin-left: -340px;
    width: 680px;
    z-index: 10; }
    .device-desktop .mod-lead-important .text h2 {
      margin-top: -22px;
      text-align: center; }
      .device-desktop .mod-lead-important .text h2 img {
        width: 458px; }
    .device-desktop .mod-lead-important .text .lead {
      color: #fff;
      font-weight: bold;
      text-shadow: 0 0 25px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 0, 0, 0.4), 0 0 0.4px rgba(0, 0, 0, 0.4);
      font-size: 18px;
      line-height: 1.68;
      margin-bottom: 33.88px;
      margin-top: -4.12px;
      letter-spacing: 0.02em;
      text-align: center; }
    .device-desktop .mod-lead-important .text .elm-btn {
      width: 264px;
      font-size: 16px; }
  .device-desktop .mod-lead-important .bg {
    position: relative;
    top: 0;
    width: 100%;
    height: 530px;
    letter-spacing: -.4em;
    text-align: center; }
    @media screen and (min-width: 1600px) {
      .device-desktop .mod-lead-important .bg {
        height: 740px; }}
    .device-desktop .mod-lead-important .bg span {
      width: 16.666666667%;
      height: 100%;
      display: inline-block;
      overflow: hidden;
      text-align: center;
      background-repeat: no-repeat;
      background-position: 50%  0;
      background-size: cover; }
      .device-desktop .mod-lead-important .bg span:nth-child(1) {
        background-image: url("/recruit/common/img/pc/lead-important/img-1.jpg"); }
      .device-desktop .mod-lead-important .bg span:nth-child(2) {
        background-image: url("/recruit/common/img/pc/lead-important/img-2.jpg"); }
      .device-desktop .mod-lead-important .bg span:nth-child(3) {
        background-image: url("/recruit/common/img/pc/lead-important/img-3.jpg"); }
      .device-desktop .mod-lead-important .bg span:nth-child(4) {
        background-image: url("/recruit/common/img/pc/lead-important/img-4.jpg"); }
      .device-desktop .mod-lead-important .bg span:nth-child(5) {
        background-image: url("/recruit/common/img/pc/lead-important/img-5.jpg"); }
      .device-desktop .mod-lead-important .bg span:nth-child(6) {
        background-image: url("/recruit/common/img/pc/lead-important/img-6.jpg"); }
.os-windows .mod-lead-important .text .lead {
  letter-spacing: 0.1em; }


/**
 * header 2023
 * -------------------------------------------------------------------------------- */
.device-desktop header.static-header {
	height: auto;
	overflow: visible;
	background: white;
}
.device-desktop header.static-header::before,
.device-desktop header.static-header::after {
	display: none;
}
.device-desktop .mod-key-head,
.device-mobile .mod-key-head {
	display: grid;
	place-content: center;
	margin-top: 71px;
}
.device-desktop .mod-key-head .title,
.device-mobile .mod-key-head .title {
	padding: 0;
}

/* :::::: menu :::::: */
.device-desktop header.static-header .global-nav {
	display: flex;
	justify-content: center;
}
.device-desktop header.static-header .global-nav .header_menu {
	display: flex;
	justify-content: center;
	column-gap: 8px;
	height: 71px;
	margin-inline: auto;
	padding-left: 56px;
	white-space: nowrap;
}
.device-desktop header.static-header .global-nav .header_menu li {
	margin: 0;
}
.device-desktop header.static-header .global-nav li:nth-child(-n+5) {
	order: -1;
}
.device-desktop header.static-header .global-nav li:nth-child(n+6) {
	order: 1;
}
.device-desktop header.static-header .global-nav .header_menu .logo {
	order: 0;
	position: static;
	margin: 0 8px;
}
.device-desktop header.static-header .global-nav .header_menu .logo .main svg {
	width: 100%;
	height: auto;
}
.device-desktop header.static-header .global-nav .header_menu li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 0;
	color: black;
}
.device-desktop header.static-header .global-nav .header_menu li a[aria-current]:after {
	left: 0;
	width: 100%;
}
.device-desktop header.static-header .global-nav .header_menu .logo a {
	display: grid;
	align-content: center;
	row-gap: 4px;
}
.device-desktop header.static-header .global-nav .header_menu .logo a::after {
	display: none;
}
.device-desktop header.static-header .global-nav .logo .main,
.device-desktop header.static-header .global-nav .logo .sub {
	margin: 0;
}
.device-desktop header.static-header .global-nav .logo .sub {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	column-gap: 12px;
}
.device-desktop header.static-header .global-nav .logo .sub::before,
.device-desktop header.static-header .global-nav .logo .sub::after {
	content: "";
	border-top: 1px solid black;
}
.device-desktop header.static-header .global-nav .logo svg {
	fill: black;
	transition: fill .3s;
}
@media screen and (min-width: 1280px) {
	.device-desktop header.static-header .global-nav .header_menu {
		column-gap: 20px;
		padding-left: 80px;
	}
	.device-desktop header.static-header .global-nav .header_menu .logo {
		width: 229px;
		margin: 0 16px;
	}
}

/* :::::: sns :::::: */
.device-desktop header.static-header .global-nav .menu-facebook {
	margin-right: 112px;
}
.device-desktop header.static-header .global-nav .menu-instagram,
.device-desktop header.static-header .global-nav .menu-facebook {
	display: grid;
	place-content: center;
	position: static;
	height: 71px;
	margin-left: 8px;
	line-height: 0;
}
@media screen and (min-width: 1280px) {
	.device-desktop header.static-header .global-nav .menu-facebook {
		margin-right: 160px;
	}
	.device-desktop header.static-header .global-nav .menu-instagram,
	.device-desktop header.static-header .global-nav .menu-facebook {
		margin-left: 16px;
	}
}

/* :::::: entry :::::: */
.device-desktop header.static-header .global-nav .btn-entry {
	width: 96px;
}
.device-desktop header.static-header .global-nav .btn-entry a {
	height: 71px;
}
.device-mobile header.static-header .global-nav .btn-entry a {
  background: #bb1b1b;
}
.device-desktop header.static-header .global-nav .btn-entry a span {
	display: grid;
	place-content: center;
	height: 100%;
	line-height: auto;
}
@media screen and (min-width: 1280px) {
	.device-desktop header.static-header .global-nav .btn-entry {
		width: 140px;
	}
}

/* :::::: mobile :::::: */
.device-mobile header.static-header {
	min-height: 61px;
	background: white;
}
.device-mobile header.static-header:after {
	display: none;
}
.device-mobile header.static-header.is-fixed .logo {
  padding: 8px 0;
}
.device-mobile .mod-key-head {
	margin-top: 61px;
}

/* :::::: logo :::::: */
.device-mobile header.static-header .logo.only-mobile {
	border: 0;
}
.device-mobile header.static-header .logo.only-mobile a:after {
	display: none;
}
.device-mobile header.static-header:not(.open) .logo.only-mobile svg {
	fill: #231815;
}
.device-mobile header.static-header.open {
  background: rgba(156, 156, 156, 0.9);
}

/* :::::: ≡ :::::: */
.device-mobile header.static-header .menu {
	z-index: 101;
	padding: 0;
	border: 0;
	background: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.device-mobile header.static-header .menu .border span {
	background: black;
}

/* :::::: fixed header :::::: */
.device-desktop header.fixed-header .global-nav .logo {
	top: 0;
}
.device-desktop header.fixed-header .global-nav .logo a {
	display: grid;
	place-content: center;
	width: 170px;
	height: 80px;
}
.device-desktop header.fixed-header .global-nav .logo svg {
	width: 100%;
	fill: white;
}
.device-mobile header.static-header .global-nav li,
.device-mobile header.static-header .global-nav .menu-facebook,
.device-mobile header.static-header .global-nav li,
.device-mobile header.static-header .global-nav .menu-link {
  border-color: #fff4;
}
.device-mobile header.static-header .global-nav ul {
  padding-top: 0;
}
.device-mobile header.static-header .global-nav ul::before {
  content: "";
  display: block;
  height: 60px;
  background: white;
}

/* :::::: footer :::::: */
.device-desktop footer .head {
  background: #a8a8a8;
}


/**
 * 事業と文化バナー
 * -------------------------------------------------------------------------------- */
.device-desktop .mod-lead-important,
.device-mobile .mod-lead-important {
	background: url(../img/bnr_culture_bg.png) center / 49px 64px;
}
.device-desktop .mod-lead-important .text .title,
.device-desktop .mod-lead-important .text .lead,
.device-mobile .mod-lead-important .text .title {
	filter: drop-shadow(0 0 4px rgba(0,0,0,.3)) drop-shadow(0 0 2px rgba(0,0,0,.3));
}
.device-desktop .mod-lead-important .text .title {
	margin: 0;
}
.device-desktop .mod-lead-important .text .lead {
	margin-top: 16px;
	text-shadow: none;
}
.device-desktop .mod-lead-important .bg,
.device-desktop .mod-lead-important .bg img,
.device-mobile .mod-lead-important .bg img {
	height: auto;
}
.device-mobile .mod-lead-important .text .title {
	display: grid;
	place-content: center;
	z-index: 1;
	position: relative;
	padding: 0;
	aspect-ratio: 75 / 29;
	background: none;
}
.device-mobile .mod-lead-important .text .title img {
	width: 184px;
}
.device-mobile .mod-lead-important .bg {
	display: block;
	position: absolute;
	top: 30px;
	right: 0;
	left: 0;
}

/* ボーダー色変更 */
.device-desktop .mod-photolink-block li a:after {
  background: rgba(255, 111, 65, 0);
}
.device-desktop .mod-photolink-block li a:hover:after {
  background: rgba(255, 111, 65, .8);
}
.device-desktop .mod-photolink li a:after {
  border: solid 1px rgba(255, 111, 65, 0);
}
.device-desktop .mod-photolink li a:hover:after {
  border: solid 9px rgba(255, 111, 65, .8);
}

/**
 * コンポーネント
 * -------------------------------------------------------------------------------- */
/* :::::: キャッチコピー :::::: */
.c-catchcopy {
  margin-left: .5em;
  color: white;
  font-size: 24px;
  line-height: 2;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: .05em;
  text-decoration: underline;
  text-decoration-color: var(--themecolor);
  text-decoration-thickness: 1.7em;
  text-underline-offset: -1.2em;
  text-decoration-skip-ink: none;
  filter: drop-shadow(-.5em 0 0 var(--themecolor)) drop-shadow(.5em 0 0 var(--themecolor));
}

/* :::::: メンバーデータ :::::: */
.c-data {
  font-size: 11px;
  font-family: "Noto Sans JP", sans-serif;
}
.c-data .part {
  padding: .2em .5em;
  padding-right: .3em;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .15em;
  background: #d9d9d9;
}
.-m3 .c-data .part {
  letter-spacing: .3em;
}
.c-data .name {
  color: #404040;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
}
.c-data .join {
  color: #959494;
}

/* :::::: ボタン :::::: */
.c-button {
  display: grid;
  place-content: center;
  width: fit-content;
  height: 76px;
  margin-inline: auto;
  padding-inline: 80px;
  border: 1px solid currentcolor;
  color: #404040;
  font-size: 16px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  font-feature-settings: "palt";
}
@media (hover: hover) {
  .c-button[data-text] {
    position: relative;
    overflow: hidden;
  }
  .c-button[data-text] span,
  .c-button[data-text]::before,
  .c-button[data-text]::after {
    transition: transform .4s;
  }
  .c-button[data-text]::before,
  .c-button[data-text]::after {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: inherit;
  }
  .c-button[data-text]::before {
    content: "";
    background: #404040;
    transition-duration: .2s;
  }
  .c-button[data-text]::after {
    content: attr(data-text);
    display: inherit;
    place-content: inherit;
    color: white;
    background: #101010;
    transition-duration: .4s;
    transition-delay: .04s;
  }
  .c-button[data-text]:hover span {
    transform: translateY(-52px);
  }
  .c-button[data-text]:hover::before,
  .c-button[data-text]:hover::after {
    transform: translateY(-100%);
  }
}
@media screen and (max-width: 670px) {
  .c-button {
    height: 50px;
    padding-inline: 48px;
    font-size: 15px;
  }
}
@media screen and (max-width: 480px) {
  .c-button {
    padding-inline: 24px;
  }
}

/* :::::: 他のキャリア/タイプを見る :::::: */
.c-memberlist {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(auto-fit, 224px);
  gap: 20px;
  padding-inline: 24px;
  text-align: left;
}
.c-memberlist .item a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.c-memberlist .image {
  order: -1;
  position: relative;
}
.c-memberlist .image img {
  aspect-ratio: 6 / 7;
  height: auto;
  object-fit: cover;
  object-position: left top;
}
.c-memberlist .c-catchcopy {
  position: absolute;
  left: 1em;
  bottom: -1em;
  font-size: 12px;
  white-space: nowrap;
}
.c-memberlist .item.-m1 .c-catchcopy {
  --themecolor: #82b9eb;
}
.c-memberlist .item.-m2 .c-catchcopy {
  --themecolor: #f0af00;
}
.c-memberlist .item.-m3 .c-catchcopy {
  --themecolor: #9bc300;
}
.c-memberlist .item.-m4 .c-catchcopy {
  --themecolor: #af9be6;
}
.c-memberlist .item.-m5 .c-catchcopy {
  --themecolor: #f0a0a0;
}
.c-memberlist .item.-m6 .c-catchcopy {
  --themecolor: #7dd7a5;
}
@media (hover: hover) {
  .c-memberlist .image::before {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    border: 0 solid rgba(255, 111, 65, 0);
    transition: border .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .c-memberlist a:hover .image::before {
    border: 8px solid rgba(255, 111, 65, .8);
  }
}
@media screen and (max-width: 670px) {
  .c-memberlist {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding-inline: 20px;
  }
  .c-memberlist .c-catchcopy {
    bottom: -.7em;
    left: .5em;
    font-size: calc(22vw / 6.7);
    transform-origin: left bottom;
    transform: scale(.7);
  }
}
.c-memberlist .text {
  padding: 24px 12px 16px;
}
.c-memberlist .category {
  flex-basis: 100%;
}
.c-memberlist .category img {
  width: auto;
  height: 28px;
}
@media screen and (min-width: 671px) {
  .c-memberlist .text {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
  }
}
@media screen and (max-width: 670px) {
  .c-memberlist .text {
    padding: 16px 0;
    padding-top: calc(26vw / 6.7);
  }
  .c-memberlist .text > * {
    font-size: calc(14vw / 6.7);
  }
  .c-memberlist .text > * {
    display: inline-block;
    vertical-align: middle;
  }
  .c-memberlist .text .part {
    display: block;
    width: fit-content;
    margin-top: .8em;
    margin-bottom: .4em;
  }
  .c-memberlist .text .join {
    margin-left: 1em;
  }
  .c-memberlist .category img {
    height: min(40vw / 6.7, 28px);
  }
}
/* inview effect */
.c-memberlist.js-inview:not(.is-inview) {
  opacity: inherit;
  transform: none;
}
.c-memberlist.js-inview.is-anim {
  transition: none;
}
.c-memberlist.js-inview:not(.is-anim) .item {
  opacity: 0;
  transform: translateY(24px);
}
.c-memberlist.js-inview.is-anim .item {
  transition: opacity 1s, transform 1s cubic-bezier(.3,1,.7,1);
}
.c-memberlist.js-inview.is-anim .item:nth-child(2) { transition-delay: .1s; }
.c-memberlist.js-inview.is-anim .item:nth-child(3) { transition-delay: .2s; }
.c-memberlist.js-inview.is-anim .item:nth-child(4) { transition-delay: .3s; }
.c-memberlist.js-inview.is-anim .item:nth-child(5) { transition-delay: .4s; }
.c-memberlist.js-inview.is-anim .item:nth-child(6) { transition-delay: .5s; }
.c-memberlist.js-inview.is-anim .item:nth-child(7) { transition-delay: .6s; }
.c-memberlist.js-inview.is-anim .item:nth-child(8) { transition-delay: .7s; }

/* :::::: area-company photolink :::::: */
.mod-photolink li a figure img {
  width: 100%;
  height: auto;
  min-height: 79px;
  object-fit: cover;
}

/* :::::: inview effect :::::: */
.js-inview:not(.is-anim) {
  opacity: 0;
  transform: translateY(24px);
}
.js-inview.is-anim {
  transition: opacity 1s, transform 1s cubic-bezier(.3,1,.7,1);
}

/* :::::: visuallyhidden :::::: */
.u-visuallyhidden {
	position: absolute;
	top: 0;
	left: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
}